/*++ Copyright (c) 1996 Microsoft Corporation Module Name: scesetup.h Abstract: This module defines the exported data structures for system setup and network/oem/component setup Author: Jin Huang (jinhuang) 21-Aug-1997 Revision History: --*/ #ifndef _scesetup_ #define _scesetup_ #ifdef __cplusplus extern "C"{ #endif #include "setupapi.h" #ifndef SCE_AREA_DEFINED #define SCE_AREA_DEFINED typedef DWORD AREA_INFORMATION; #define AREA_SECURITY_POLICY 0x0001L #define AREA_USER_SETTINGS 0x0002L #define AREA_GROUP_MEMBERSHIP 0x0004L #define AREA_PRIVILEGES 0x0008L #define AREA_DS_OBJECTS 0x0010L #define AREA_REGISTRY_SECURITY 0x0020L #define AREA_FILE_SECURITY 0x0040L #define AREA_SYSTEM_SERVICE 0x0080L #define AREA_ATTACHMENTS 0x8000L #define AREA_ALL 0xFFFFL #endif typedef BOOL(CALLBACK *PSCE_NOTIFICATION_CALLBACK_ROUTINE)( IN HANDLE NotificationHandle, IN UINT NotificationCode, IN UINT NotificationSpecificValue, IN LPARAM lParam ); #define SCESETUP_CONFIGURE_SECURITY 0x0 #define SCESETUP_UPGRADE_SYSTEM 0x1 #define SCESETUP_UPDATE_FILE_KEY 0x2 #define SCESETUP_QUERY_TICKS 0x4 #define SCESETUP_RECONFIG_SECURITY 0x8 #define SCESETUP_BIND_NO_AUTH 0x80 #define SCESETUP_NOTIFICATION_TICKS 1 DWORD WINAPI SceSetupSystemByInfName( IN PWSTR InfFullName, IN PCWSTR LogFileName OPTIONAL, IN AREA_INFORMATION Area, IN UINT nFlag, IN PSCE_NOTIFICATION_CALLBACK_ROUTINE pSceNotificationCallBack OPTIONAL, IN OUT PVOID pValue OPTIONAL ); DWORD WINAPI SceSetupUpdateSecurityFile( IN PWSTR FileFullName, IN UINT nFlag, IN PWSTR SDText ); DWORD WINAPI SceSetupMoveSecurityFile( IN PWSTR FileToSetSecurity, IN PWSTR FileToSaveInDB OPTIONAL, IN PWSTR SDText OPTIONAL ); DWORD WINAPI SceSetupUnwindSecurityFile( IN PWSTR FileFullName, IN PSECURITY_DESCRIPTOR pSDBackup ); DWORD WINAPI SceSetupUpdateSecurityKey( IN HKEY hKeyRoot, IN PWSTR KeyPath, IN UINT nFlag, IN PWSTR SDText ); DWORD WINAPI SceSetupUpdateSecurityService( IN PWSTR ServiceName, IN DWORD StartType, IN PWSTR SDText ); DWORD WINAPI SceSetupBackupSecurity( IN LPTSTR LogFileName OPTIONAL // default to %windir%\security\logs\backup.log ); DWORD WINAPI SceSetupConfigureServices( IN UINT SetupProductType ); typedef DWORD(CALLBACK *PSCE_PROMOTE_CALLBACK_ROUTINE)( IN PWSTR StringUpdate ); #define SCE_DCPROMO_LOG_PATH TEXT("%windir%\\security\\logs\\scedcpro.log") #define SCE_PROMOTE_FLAG_UPGRADE 0x01L #define SCE_PROMOTE_FLAG_REPLICA 0x02L #define SCE_PROMOTE_FLAG_DEMOTE 0x04L DWORD WINAPI SceDcPromoteSecurity( IN DWORD dwPromoteOptions, IN PSCE_PROMOTE_CALLBACK_ROUTINE pScePromoteCallBack OPTIONAL ); DWORD WINAPI SceDcPromoteSecurityEx( IN HANDLE ClientToken, IN DWORD dwPromoteOptions, IN PSCE_PROMOTE_CALLBACK_ROUTINE pScePromoteCallBack OPTIONAL ); #define STR_DEFAULT_DOMAIN_GPO_GUID TEXT("31B2F340-016D-11D2-945F-00C04FB984F9") #define STR_DEFAULT_DOMAIN_CONTROLLER_GPO_GUID TEXT("6AC1786C-016F-11D2-945F-00C04fB984F9") DWORD WINAPI SceDcPromoCreateGPOsInSysvol( IN LPTSTR DomainDnsName, IN LPTSTR SysvolRoot, IN DWORD dwPromoteOptions, IN PSCE_PROMOTE_CALLBACK_ROUTINE pScePromoteCallBack OPTIONAL ); DWORD WINAPI SceDcPromoCreateGPOsInSysvolEx( IN HANDLE ClientToken, IN LPTSTR DomainDnsName, IN LPTSTR SysvolRoot, IN DWORD dwPromoteOptions, IN PSCE_PROMOTE_CALLBACK_ROUTINE pScePromoteCallBack OPTIONAL ); DWORD WINAPI SceSetupRootSecurity(); DWORD WINAPI SceEnforceSecurityPolicyPropagation(); /* NTSTATUS WINAPI SceNotifyPolicyDelta ( IN SECURITY_DB_TYPE DbType, IN LARGE_INTEGER SerialNumber, IN SECURITY_DB_DELTA_TYPE DeltaType, IN SECURITY_DB_OBJECT_TYPE ObjectType, IN ULONG ObjectRid, IN PSID ObjectSid, IN PUNICODE_STRING ObjectName, IN DWORD ReplicateImmediately, IN PSAM_DELTA_DATA MemberId ); */ #ifdef __cplusplus } #endif #endif