Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*****************************************************************************\
* MODULE: gencdf.h * * This is the main header for the CDF generation module. * * Copyright (C) 1996-1997 Microsoft Corporation * Copyright (C) 1996-1997 Hewlett Packard * * History: * 22-Nov-1996 HWP-Guys Created. * \*****************************************************************************/
#define STD_CDF_BUFFER 256
#define MIN_CDF_BUFFER 16
#define CDF_SECTION_BLOCK 4096
#define CDF_SRCFILE_BLOCK 1024
#define CDF_SECTION_LIMIT 8
// Source-Files Structure. This is used to track files
// by section.
//
typedef struct _SRCFILES {
LPTSTR lpszPath; LPTSTR lpszFiles; DWORD cbMax; DWORD cbSize; struct _SRCFILES *pNext;
} SRCFILES; typedef SRCFILES *PSRCFILES; typedef SRCFILES NEAR *NPSRCFILES; typedef SRCFILES FAR *LPSRCFILES;
// Element-Array idenifiers for FILEITEM
//
#define FI_MAX_ITEMS 2
#define FI_COL_FILENAME 0
#define FI_COL_PATH 1
#define FI_COL_LAST 1
// File-Item Structure.
//
typedef struct _FILEITEM {
LPTSTR aszCols[FI_MAX_ITEMS]; // Filename and Path.
FILETIME ftLastModify; // Filetime stamp.
struct _FILEITEM *pNext; // Pointer to next File-Item.
} FILEITEM; typedef FILEITEM *PFILEITEM; typedef FILEITEM NEAR *NPFILEITEM; typedef FILEITEM FAR *LPFILEITEM;
// CDF Object Structure.
//
typedef struct _CDFINFO {
HANDLE hInf; // Handle to current inf object
DWORD dwError; // Error if CDF processing fails
LPTSTR lpszCdfFile; // Full path-name to cdf-file.
PFILEITEM pTop; // List of files to include in the .cdf
HCATADMIN hCatAdmin; // Context handle for catalog admin APIs
BOOL bSecure;
} CDFINFO; typedef CDFINFO *PCDFINFO; typedef CDFINFO NEAR *NPCDFINFO; typedef CDFINFO FAR *LPCDFINFO;
// Interface Objects to CDF.
//
HANDLE cdfCreate( HANDLE hinf, BOOL bSecure);
VOID cdfCleanUpSourceFiles( HANDLE hInf);
BOOL cdfProcess( HANDLE hcdf);
BOOL cdfDestroy( HANDLE hcdf);
LPCTSTR cdfGetName( HANDLE hcdf);
BOOL cdfGetModTime( HANDLE hcdf, LPFILETIME lpftMod);
/***************************************\
* cdfGetError \***************************************/ __inline DWORD cdfGetError( HANDLE hsed) { return (hsed ? (DWORD)((PCDFINFO)hsed)->dwError : ERROR_SUCCESS); }
/***************************************\
* cdfSetError \***************************************/ __inline VOID cdfSetError( PCDFINFO hsed, DWORD dwError ) { hsed->dwError = dwError; }
|