Leaked source code of windows server 2003
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.
 
 
 
 
 
 

168 lines
3.7 KiB

/*++
Copyright (c) 2001 Microsoft Corporation
Module Name:
catalog.hxx
Abstract:
This module provides all the public exported APIs relating to the
catalog-based Spooler Apis for the Local Print Providor
AddDriverCatalog
Author:
Larry Zhu (LZhu) 30-Mar-2001 Created
Revision History:
--*/
#ifndef _CATALOG_HXX_
#define _CATALOG_HXX_
#ifdef __cplusplus
BOOL
SplAddDriverCatalog(
IN HANDLE hPrinter,
IN DWORD dwLevel,
IN VOID *pvDriverInfCatInfo,
IN DWORD dwCatalogCopyFlags
);
HRESULT
CatalogAppendUniqueTag(
IN UINT cchBuffer,
IN OUT PWSTR pszBuffer
);
HRESULT
CatalogGetScratchDirectory(
IN HANDLE hPrinter,
IN UINT cchBuffer,
OUT PWSTR pszCatalogDir
);
HRESULT
CatalogCopyFile(
IN PCWSTR pszSourcePath,
IN PCWSTR pszDestDirOrPath,
IN PCWSTR pszFileName
);
HRESULT
CatalogCreateScratchDirectory(
IN PCWSTR pszScratchDir
);
HRESULT
CatalogCleanUpScratchDirectory(
IN PCWSTR pszScratchDir
);
CatalogCopyFileToDir(
IN PCWSTR pszPath,
IN PCWSTR pszDir
);
HRESULT
CatalogCopyFilesByLevel(
IN DWORD dwLevel,
IN VOID *pvDriverInfCatInfo,
IN PCWSTR pszScratchDirectory
);
HRESULT
CatalogInstallLevel1(
IN DRIVER_INFCAT_INFO_1 *pDriverInfCatInfo1,
IN BOOL bUseOriginalCatName,
IN PCWSTR pszCatalogScratchDirectory
);
HRESULT
CatalogInstallLevel2(
IN DRIVER_INFCAT_INFO_2 *pDriverInfCatInfo2,
IN PCWSTR pszCatalogScratchDirectory
);
HRESULT
CatalogInstallByLevel(
IN DWORD dwLevel,
IN VOID *pvDriverInfCatInfo,
IN DWORD dwCatalogCopyFlags,
IN PCWSTR pszCatalogScratchDirectory
);
HRESULT
CatalogInstall(
IN DWORD dwLevel,
IN VOID *pvDriverInfCatInfo,
IN DWORD dwCatalogCopyFlags,
IN PCWSTR pszScratchDirectory
);
BOOL
InternalAddDriverCatalog(
IN HANDLE hPrinter,
IN DWORD dwLevel,
IN VOID *pvDriverInfCatInfo,
IN DWORD dwCatalogCopyFlags
);
HRESULT
CatalogCopyOEMInf(
IN PCWSTR pszInfPath,
IN PCWSTR pszSrcLoc, OPTIONAL
IN DWORD dwMediaType,
IN DWORD dwCopyStyle);
typedef BOOL
(* PFuncSetupCopyOEMInfW)(
IN PCWSTR pszSourceInfFileName,
IN PCWSTR pszOEMSourceMediaLocation,
IN DWORD pszOEMSourceMediaType,
IN DWORD dwCopyStyle,
OUT PWSTR pszDestinationInfFileName,
IN DWORD dwDestinationInfFileNameSize,
OUT PDWORD pdwRequiredSize,
OUT PWSTR *ppszDestinationInfFileNameComponent
);
typedef VOID
(* PFuncpSetupModifyGlobalFlags)(
IN DWORD Flags,
IN DWORD Value
);
extern "C"
{
#endif // __cplus_plus
BOOL
LocalAddDriverCatalog(
IN HANDLE hPrinter,
IN DWORD dwLevel,
IN VOID *pvDriverInfCatInfo,
IN DWORD dwCatalogCopyFlags
);
BOOL
SplAddDriverCatalog(
IN HANDLE hPrinter,
IN DWORD dwLevel,
IN VOID *pvDriverInfCatInfo,
IN DWORD dwCatalogCopyFlags
);
#ifdef __cplusplus
}
#endif // __cplusplus
#endif // _CATALOG_HXX_