182 lines
3.1 KiB
C
182 lines
3.1 KiB
C
|
|
||
|
/*++
|
||
|
|
||
|
Copyright (c) 1999 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
sfc.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Header file for public SFC interfaces.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Wesley Witt (wesw) 2-Feb-1999
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#ifndef _SFC_
|
||
|
#define _SFC_
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
|
||
|
#endif
|
||
|
#define SFC_DISABLE_NORMAL 0
|
||
|
#define SFC_DISABLE_ASK 1
|
||
|
#define SFC_DISABLE_ONCE 2
|
||
|
#define SFC_DISABLE_SETUP 3
|
||
|
#define SFC_DISABLE_NOPOPUPS 4
|
||
|
|
||
|
#define SFC_SCAN_NORMAL 0
|
||
|
#define SFC_SCAN_ALWAYS 1
|
||
|
#define SFC_SCAN_ONCE 2
|
||
|
#define SFC_SCAN_IMMEDIATE 3
|
||
|
|
||
|
#define SFC_QUOTA_DEFAULT 50
|
||
|
#define SFC_QUOTA_ALL_FILES ((ULONG)-1)
|
||
|
|
||
|
#define SFC_IDLE_TRIGGER L"WFP_IDLE_TRIGGER"
|
||
|
|
||
|
typedef struct _PROTECTED_FILE_DATA {
|
||
|
WCHAR FileName[MAX_PATH];
|
||
|
DWORD FileNumber;
|
||
|
} PROTECTED_FILE_DATA, *PPROTECTED_FILE_DATA;
|
||
|
|
||
|
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
SfcGetNextProtectedFile(
|
||
|
IN HANDLE RpcHandle, // must be NULL
|
||
|
IN PPROTECTED_FILE_DATA ProtFileData
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
SfcIsFileProtected(
|
||
|
IN HANDLE RpcHandle, // must be NULL
|
||
|
IN LPCWSTR ProtFileName
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// new APIs which are not currently supported, but are stubbed out
|
||
|
//
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
SfpVerifyFile(
|
||
|
IN LPCSTR pszFileName,
|
||
|
IN LPSTR pszError,
|
||
|
IN DWORD dwErrSize
|
||
|
);
|
||
|
|
||
|
#define SFC_REGISTRY_DEFAULT 0
|
||
|
#define SFC_REGISTRY_OVERRIDE 1
|
||
|
|
||
|
HANDLE
|
||
|
WINAPI
|
||
|
SfcConnectToServer(
|
||
|
IN LPCWSTR ServerName
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SfcClose(
|
||
|
IN HANDLE RpcHandle
|
||
|
);
|
||
|
|
||
|
|
||
|
#define SFC_ACTION_ADDED 0x00000001
|
||
|
#define SFC_ACTION_REMOVED 0x00000002
|
||
|
#define SFC_ACTION_MODIFIED 0x00000004
|
||
|
#define SFC_ACTION_RENAMED_OLD_NAME 0x00000008
|
||
|
#define SFC_ACTION_RENAMED_NEW_NAME 0x00000010
|
||
|
|
||
|
|
||
|
DWORD
|
||
|
WINAPI
|
||
|
SfcFileException(
|
||
|
IN HANDLE RpcHandle,
|
||
|
IN PCWSTR FileName,
|
||
|
IN DWORD ExpectedChangeType
|
||
|
);
|
||
|
|
||
|
DWORD
|
||
|
WINAPI
|
||
|
SfcInitiateScan(
|
||
|
IN HANDLE RpcHandle,
|
||
|
IN DWORD ScanWhen
|
||
|
);
|
||
|
|
||
|
ULONG
|
||
|
SfcInitProt(
|
||
|
IN ULONG OverrideRegistry,
|
||
|
IN ULONG ReqDisable,
|
||
|
IN ULONG ReqScan,
|
||
|
IN ULONG ReqQuota,
|
||
|
IN HWND ProgressWindow, OPTIONAL
|
||
|
IN PCWSTR SourcePath, OPTIONAL
|
||
|
IN PCWSTR IgnoreFiles OPTIONAL
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SfcTerminateWatcherThread(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
#define WM_SFC_NOTIFY (WM_USER+601)
|
||
|
|
||
|
typedef struct _FILEINSTALL_STATUS {
|
||
|
PCWSTR FileName;
|
||
|
DWORDLONG Version;
|
||
|
ULONG Win32Error;
|
||
|
} FILEINSTALL_STATUS, *PFILEINSTALL_STATUS;
|
||
|
|
||
|
typedef BOOL
|
||
|
(CALLBACK *PSFCNOTIFICATIONCALLBACK) (
|
||
|
IN PFILEINSTALL_STATUS FileInstallStatus,
|
||
|
IN DWORD_PTR Context
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
WINAPI
|
||
|
SfcInstallProtectedFiles(
|
||
|
IN HANDLE RpcHandle,
|
||
|
IN PCWSTR FileNames,
|
||
|
IN BOOL AllowUI,
|
||
|
IN PCWSTR ClassName,
|
||
|
IN PCWSTR WindowName,
|
||
|
IN PSFCNOTIFICATIONCALLBACK SfcNotificationCallback,
|
||
|
IN DWORD_PTR Context
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// new APIs which are not currently supported, but are stubbed out
|
||
|
//
|
||
|
|
||
|
DWORD
|
||
|
WINAPI
|
||
|
SfpInstallCatalog(
|
||
|
IN LPCSTR pszCatName,
|
||
|
IN LPCSTR pszCatDependency,
|
||
|
IN PVOID Reserved
|
||
|
);
|
||
|
|
||
|
|
||
|
DWORD
|
||
|
WINAPI
|
||
|
SfpDeleteCatalog(
|
||
|
IN LPCSTR pszCatName,
|
||
|
IN PVOID Reserved
|
||
|
);
|
||
|
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif // _SFC_
|