windows-nt/Source/XPSP1/NT/ds/security/services/scerpc/escprov/extension.mof

124 lines
3.8 KiB
Plaintext
Raw Normal View History

2020-09-26 03:20:57 -05:00
// 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);
};
*/