124 lines
3.8 KiB
Plaintext
124 lines
3.8 KiB
Plaintext
// 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);
|
|
};
|
|
|
|
*/
|
|
|