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

  1. /*++
  2. Copyright (c) 2001 Microsoft Corporation
  3. Module Name:
  4. catalog.hxx
  5. Abstract:
  6. This module provides all the public exported APIs relating to the
  7. catalog-based Spooler Apis for the Local Print Providor
  8. AddDriverCatalog
  9. Author:
  10. Larry Zhu (LZhu) 30-Mar-2001 Created
  11. Revision History:
  12. --*/
  13. #ifndef _CATALOG_HXX_
  14. #define _CATALOG_HXX_
  15. #ifdef __cplusplus
  16. BOOL
  17. SplAddDriverCatalog(
  18. IN HANDLE hPrinter,
  19. IN DWORD dwLevel,
  20. IN VOID *pvDriverInfCatInfo,
  21. IN DWORD dwCatalogCopyFlags
  22. );
  23. HRESULT
  24. CatalogAppendUniqueTag(
  25. IN UINT cchBuffer,
  26. IN OUT PWSTR pszBuffer
  27. );
  28. HRESULT
  29. CatalogGetScratchDirectory(
  30. IN HANDLE hPrinter,
  31. IN UINT cchBuffer,
  32. OUT PWSTR pszCatalogDir
  33. );
  34. HRESULT
  35. CatalogCopyFile(
  36. IN PCWSTR pszSourcePath,
  37. IN PCWSTR pszDestDirOrPath,
  38. IN PCWSTR pszFileName
  39. );
  40. HRESULT
  41. CatalogCreateScratchDirectory(
  42. IN PCWSTR pszScratchDir
  43. );
  44. HRESULT
  45. CatalogCleanUpScratchDirectory(
  46. IN PCWSTR pszScratchDir
  47. );
  48. CatalogCopyFileToDir(
  49. IN PCWSTR pszPath,
  50. IN PCWSTR pszDir
  51. );
  52. HRESULT
  53. CatalogCopyFilesByLevel(
  54. IN DWORD dwLevel,
  55. IN VOID *pvDriverInfCatInfo,
  56. IN PCWSTR pszScratchDirectory
  57. );
  58. HRESULT
  59. CatalogInstallLevel1(
  60. IN DRIVER_INFCAT_INFO_1 *pDriverInfCatInfo1,
  61. IN BOOL bUseOriginalCatName,
  62. IN PCWSTR pszCatalogScratchDirectory
  63. );
  64. HRESULT
  65. CatalogInstallLevel2(
  66. IN DRIVER_INFCAT_INFO_2 *pDriverInfCatInfo2,
  67. IN PCWSTR pszCatalogScratchDirectory
  68. );
  69. HRESULT
  70. CatalogInstallByLevel(
  71. IN DWORD dwLevel,
  72. IN VOID *pvDriverInfCatInfo,
  73. IN DWORD dwCatalogCopyFlags,
  74. IN PCWSTR pszCatalogScratchDirectory
  75. );
  76. HRESULT
  77. CatalogInstall(
  78. IN DWORD dwLevel,
  79. IN VOID *pvDriverInfCatInfo,
  80. IN DWORD dwCatalogCopyFlags,
  81. IN PCWSTR pszScratchDirectory
  82. );
  83. BOOL
  84. InternalAddDriverCatalog(
  85. IN HANDLE hPrinter,
  86. IN DWORD dwLevel,
  87. IN VOID *pvDriverInfCatInfo,
  88. IN DWORD dwCatalogCopyFlags
  89. );
  90. HRESULT
  91. CatalogCopyOEMInf(
  92. IN PCWSTR pszInfPath,
  93. IN PCWSTR pszSrcLoc, OPTIONAL
  94. IN DWORD dwMediaType,
  95. IN DWORD dwCopyStyle);
  96. typedef BOOL
  97. (* PFuncSetupCopyOEMInfW)(
  98. IN PCWSTR pszSourceInfFileName,
  99. IN PCWSTR pszOEMSourceMediaLocation,
  100. IN DWORD pszOEMSourceMediaType,
  101. IN DWORD dwCopyStyle,
  102. OUT PWSTR pszDestinationInfFileName,
  103. IN DWORD dwDestinationInfFileNameSize,
  104. OUT PDWORD pdwRequiredSize,
  105. OUT PWSTR *ppszDestinationInfFileNameComponent
  106. );
  107. typedef VOID
  108. (* PFuncpSetupModifyGlobalFlags)(
  109. IN DWORD Flags,
  110. IN DWORD Value
  111. );
  112. extern "C"
  113. {
  114. #endif // __cplus_plus
  115. BOOL
  116. LocalAddDriverCatalog(
  117. IN HANDLE hPrinter,
  118. IN DWORD dwLevel,
  119. IN VOID *pvDriverInfCatInfo,
  120. IN DWORD dwCatalogCopyFlags
  121. );
  122. BOOL
  123. SplAddDriverCatalog(
  124. IN HANDLE hPrinter,
  125. IN DWORD dwLevel,
  126. IN VOID *pvDriverInfCatInfo,
  127. IN DWORD dwCatalogCopyFlags
  128. );
  129. #ifdef __cplusplus
  130. }
  131. #endif // __cplusplus
  132. #endif // _CATALOG_HXX_