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.
|
|
// Copyright (c) 2000-2004 Microsoft Corporation // WMI Class Definitions for the Security Configuration Engine // Version 1.0
// this file is reserved for embedding foreign classes into SCE namespace // It should and should only contain the registration information of the following classes: // (1) Subclasses of Sce_EmbedFO. That is how embedding is accomplished. // (2) Instances of Sce_Sequence. That is how we control the order of classes in method execution.
#pragma autorecover #pragma classflags("forceupdate")
#pragma namespace("\\\\.\\root")
instance of __Namespace { Name = "Security"; };
#pragma namespace("\\\\.\\root\\Security")
instance of __Namespace { Name = "SCE"; };
#pragma namespace("\\\\.\\root\\Security\\SCE")
//************************************************************************** //* Declare an instance of the __Win32Provider so as to "register" the //* SCE provider. //**************************************************************************
instance of __Win32Provider as $P { Name = "SCEProvider|1.0" ; ClsId = "{bd7570f7-9f0e-4c6b-b525-e078691b6d0e}" ; ImpersonationLevel = 1; PerUserInitialization = TRUE; HostingModel = "NetworkServiceHost"; };
instance of __InstanceProviderRegistration { Provider = $P; SupportsPut = TRUE; SupportsGet = TRUE; SupportsDelete = TRUE; SupportsEnumeration = TRUE; QuerySupportLevels = {"WQL:UnarySelect"};
};
instance of __MethodProviderRegistration { Provider = $P; };
// ************************************************************************** // The following is a sample of instance registration of Sce_Sequence class so that // Sce knows that when executing the "Configure" method, it should access the embedding // classes in the following order: // (1) Sce_EmbedIPSecRollback, // (2) Sce_EmbedIISRollback, // (3) Sce_EmbedSQLServerRollback, // (4) Sce_EmbedMMAuth, // (5) Sce_EmbedQMPolicy, // (6) Sce_EmbedTransportFilter // **************************************************************************
/* instance of Sce_Sequence { Method = "Configure"; Priority = 0; Order = "Sce_EmbedIPSecRollback:Sce_EmbedIISRollback:Sce_EmbedSQLServerRollback"; };
instance of Sce_Sequence { Method = "Configure"; Priority = 1; Order = "Sce_EmbedMMAuth:Sce_EmbedQMPolicy:Sce_EmbedTransportFilter"; };
*/
// ************************************************************************** // the following is a sample of embedding a foreign class into SCE namespace so that // SCE can persist information regarding a foreign class and use it in its flexible way. // Any embedding class must have the following critical information: // (1) Foreign namespace, (should be static because they don't change across instances) // (2) Foreign class name, (should be static because they don't change across instances) // (3) SceStorePath as key property // (4) [Implemented] uint32 Configure([in] string LogFilePath); // **************************************************************************
/* // the following is to embed the IPSec classes [dynamic, provider("SCEProvider|1.0")] class Sce_EmbedBlockAllFilter : Sce_EmbedFO { [key] string SceStorePath; [key] string FilterName; // foreign class's key
[static] string ForeignNamespace = "\\\\.\\root\\Security\\NetSecProv"; [static] string ForeignClassName = "Nsp_TransportFilterSettings";
string SrcAddr = "IP_ADDRESS_ME"; string DestAddr = "SUBNET_ADDRESS_ANY";
uint32 InboundFilterFlag = 2; //PASS_THRU = 1, BLOCKING = 2, NEGOTIATE_SECURITY = 3, uint32 OutboundFilterFlag = 2; //PASS_THRU = 1, BLOCKING = 2, NEGOTIATE_SECURITY = 3,
[Implemented] uint32 Configure([in] string LogFilePath); };
*/
|