|
|
/*++
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_
|