2025-04-27 07:49:33 -04:00

87 lines
2.8 KiB
Plaintext

[!if CLASS_SPECIFIED]
#pragma namespace ("\\\\.\\[!output ESCAPED_NAMESPACE]")
[!else]
#pragma namespace ("\\\\.\\root\\default")
[!endif]
instance of __Win32Provider as $[!output SHORT_NAME]
{
Name = "[!output SHORT_NAME]" ; //Name is the key property for __Provider objects.
//vendor|provider|version is the suggested format
//to prevent name collisions.
ClsId = "{[!output CLSID_REGISTRY_FORMAT]}" ; //provider GUID
DefaultMachineName = NULL; //NULL for local machine
ClientLoadableCLSID = NULL; //reserved
ImpersonationLevel = 0; //reserved
InitializationReentrancy = 0; //Set of flags that provide information about serialization:
//0 = all initialization of this provider must be serialized
//1 = all initializations of this provider in the same namespace must be serialized
//2 = no initialization serialization is necessary
InitializeAsAdminFirst = FALSE; //Request to be fully initialized as "Admin" before
//initializations begin for users
PerLocaleInitialization = FALSE; //Indicates whether the provider is initialized for each
//locale if a user connects to the same namespace more
//than once using different locales.
PerUserInitialization = FALSE; //Indicates whether the provider is initialized once for each actual
//Windows NT/Windows 2000 NTLM user making requests of the provider.
//If set to FALSE, the provider is initialized once for all users
Pure = TRUE; //A pure provider exists only to service requests from
//applications and WMI. Most providers are pure providers
//Non-pure providers transition to the role of client after they have
//finished servicing requests.
UnloadTimeout = NULL; //Currently ignored
//Use __CacheControl class in the root namespace to control provider unloading
//A string in the DMTF date/time format that specifies how long WMI
//allows the provider to remain idle before it is unloaded.
} ;
instance of __InstanceProviderRegistration
{
Provider = $[!output SHORT_NAME];
[!if SUPPORT_PUT]
SupportsPut = "TRUE";
[!else]
SupportsPut = "FALSE";
[!endif]
[!if SUPPORT_GET]
SupportsGet = "TRUE";
[!else]
SupportsGet = "FALSE";
[!endif]
[!if SUPPORT_DELETE]
SupportsDelete = "TRUE";
[!else]
SupportsDelete = "FALSE";
[!endif]
[!if SUPPORT_ENUMERATE]
SupportsEnumeration = "TRUE";
[!else]
SupportsEnumeration = "FALSE";
[!endif]
};
[!if PROVIDE_METHODS]
instance of __MethodProviderRegistration
{
Provider = $[!output SHORT_NAME];
};
[!endif]