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.

197 lines
3.3 KiB

  1. ;begin_both
  2. /*++
  3. Copyright (c) 1999 Microsoft Corporation
  4. Module Name:
  5. sfc.h
  6. Abstract:
  7. Header file for public SFC interfaces.
  8. Author:
  9. Wesley Witt (wesw) 2-Feb-1999
  10. Revision History:
  11. --*/
  12. ;end_both
  13. ;begin_both
  14. #ifndef _SFC_
  15. #define _SFC_
  16. ;end_both
  17. ;begin_both
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. ;end_both
  22. ;begin_both
  23. #define SFC_DISABLE_NORMAL 0
  24. #define SFC_DISABLE_ASK 1
  25. #define SFC_DISABLE_ONCE 2
  26. #define SFC_DISABLE_SETUP 3
  27. #define SFC_DISABLE_NOPOPUPS 4
  28. #define SFC_SCAN_NORMAL 0
  29. #define SFC_SCAN_ALWAYS 1
  30. #define SFC_SCAN_ONCE 2
  31. #define SFC_SCAN_IMMEDIATE 3
  32. #define SFC_QUOTA_DEFAULT 50
  33. #define SFC_QUOTA_ALL_FILES ((ULONG)-1)
  34. #define SFC_IDLE_TRIGGER L"WFP_IDLE_TRIGGER"
  35. typedef struct _PROTECTED_FILE_DATA {
  36. WCHAR FileName[MAX_PATH];
  37. DWORD FileNumber;
  38. } PROTECTED_FILE_DATA, *PPROTECTED_FILE_DATA;
  39. BOOL
  40. WINAPI
  41. SfcGetNextProtectedFile(
  42. IN HANDLE RpcHandle, // must be NULL
  43. IN PPROTECTED_FILE_DATA ProtFileData
  44. );
  45. BOOL
  46. WINAPI
  47. SfcIsFileProtected(
  48. IN HANDLE RpcHandle, // must be NULL
  49. IN LPCWSTR ProtFileName
  50. );
  51. //
  52. // new APIs which are not currently supported, but are stubbed out
  53. //
  54. BOOL
  55. WINAPI
  56. SfpVerifyFile(
  57. IN LPCTSTR pszFileName,
  58. IN LPTSTR pszError,
  59. IN DWORD dwErrSize
  60. );
  61. ;end_both
  62. ;begin_internal
  63. #define SFC_REGISTRY_DEFAULT 0
  64. #define SFC_REGISTRY_OVERRIDE 1
  65. HANDLE
  66. WINAPI
  67. SfcConnectToServer(
  68. IN LPCWSTR ServerName
  69. );
  70. VOID
  71. SfcClose(
  72. IN HANDLE RpcHandle
  73. );
  74. #define SFC_ACTION_ADDED 0x00000001
  75. #define SFC_ACTION_REMOVED 0x00000002
  76. #define SFC_ACTION_MODIFIED 0x00000004
  77. #define SFC_ACTION_RENAMED_OLD_NAME 0x00000008
  78. #define SFC_ACTION_RENAMED_NEW_NAME 0x00000010
  79. DWORD
  80. WINAPI
  81. SfcFileException(
  82. IN HANDLE RpcHandle,
  83. IN PCWSTR FileName,
  84. IN DWORD ExpectedChangeType
  85. );
  86. DWORD
  87. WINAPI
  88. SfcInitiateScan(
  89. IN HANDLE RpcHandle,
  90. IN DWORD ScanWhen
  91. );
  92. ULONG
  93. SfcInitProt(
  94. IN ULONG OverrideRegistry,
  95. IN ULONG ReqDisable,
  96. IN ULONG ReqScan,
  97. IN ULONG ReqQuota,
  98. IN HWND ProgressWindow, OPTIONAL
  99. IN PCWSTR SourcePath, OPTIONAL
  100. IN PCWSTR IgnoreFiles OPTIONAL
  101. );
  102. VOID
  103. SfcTerminateWatcherThread(
  104. VOID
  105. );
  106. #define WM_SFC_NOTIFY (WM_USER+601)
  107. typedef struct _FILEINSTALL_STATUS {
  108. PCWSTR FileName;
  109. DWORDLONG Version;
  110. ULONG Win32Error;
  111. } FILEINSTALL_STATUS, *PFILEINSTALL_STATUS;
  112. typedef BOOL
  113. (CALLBACK *PSFCNOTIFICATIONCALLBACK) (
  114. IN PFILEINSTALL_STATUS FileInstallStatus,
  115. IN DWORD_PTR Context
  116. );
  117. BOOL
  118. WINAPI
  119. SfcInstallProtectedFiles(
  120. IN HANDLE RpcHandle,
  121. IN PCWSTR FileNames,
  122. IN BOOL AllowUI,
  123. IN PCWSTR ClassName,
  124. IN PCWSTR WindowName,
  125. IN PSFCNOTIFICATIONCALLBACK SfcNotificationCallback,
  126. IN DWORD_PTR Context
  127. );
  128. //
  129. // new APIs which are not currently supported, but are stubbed out
  130. //
  131. DWORD
  132. WINAPI
  133. SfpInstallCatalog(
  134. IN LPCTSTR pszCatName,
  135. IN LPCTSTR pszCatDependency,
  136. IN PVOID Reserved
  137. );
  138. DWORD
  139. WINAPI
  140. SfpDeleteCatalog(
  141. IN LPCTSTR pszCatName,
  142. IN PVOID Reserved
  143. );
  144. ;end_internal
  145. ;begin_both
  146. #ifdef __cplusplus
  147. }
  148. #endif
  149. #endif // _SFC_
  150. ;end_both