Classe __Win32Provider
A classe do sistema __Win32Provider registra informações sobre a implementação física de um provedor no WMI. Os provedores que não definem a propriedade HostingModel são carregados, por padrão, para serem executados em um processo Wmiprvse.exe como NetworkServiceHostOrSelfHost.
A sintaxe a seguir é simplificada do código MOF (Managed Object Format) e inclui todas as propriedades herdadas. As propriedades são listadas em ordem alfabética e não na ordem do MOF.
Sintaxe
class __Win32Provider : __Provider
{
string ClientLoadableCLSID;
string CLSID;
sint32 Concurrency;
string DefaultMachineName;
boolean Enabled;
string HostingModel;
sint32 ImpersonationLevel = 0;
sint32 InitializationReentrancy;
datetime InitializationTimeoutInterval;
boolean InitializeAsAdminFirst;
string Name;
datetime OperationTimeoutInterval;
boolean PerLocaleInitialization = FALSE;
boolean PerUserInitialization = FALSE;
boolean Pure = TRUE;
string SecurityDescriptor;
boolean SupportsExplicitShutdown;
boolean SupportsExtendedStatus;
boolean SupportsQuotas;
boolean SupportsSendStatus;
boolean SupportsShutdown;
boolean SupportsThrottling;
datetime UnloadTimeout;
uint32 Version;
};
Membros
A classe __Win32Provider tem estes tipos de membros:
Propriedades
A classe __Win32Provider tem estas propriedades.
-
ClientLoadableCLSID
-
-
Tipo de dados: string
-
Tipo de acesso: leitura/gravação
Identificador de classe que o WMI usa para determinar se um provedor de alto desempenho deve ou não ser carregado no processo do cliente ou no processo do WMI. Se o provedor e o cliente estiverem no mesmo computador, o WMI carregará o provedor em processo no cliente usando ClientLoadableCLSID como o identificador de classe. Quando o provedor e o cliente estiverem em computadores diferentes, o WMI carregará o provedor em processo no próprio WMI. O WMI também usa ClientLoadableCLSID para dar suporte a operações de atualização.
Para obter mais informações, consulte Registrar um provedor de alto desempenho.
-
-
CLSID
-
-
Tipo de dados: string
-
Tipo de acesso: leitura/gravação
GUID que representa o CLSID (identificador de classe) do objeto COM do provedor. Esse objeto COM deve conter uma implementação da interface IWbemProviderInit.
-
-
Simultaneidade
-
-
Tipo de dados: sint32
-
Tipo de acesso: leitura/gravação
Não usado.
-
-
DefaultMachineName
-
-
Tipo de dados: string
-
Tipo de acesso: leitura/gravação
Identifica o computador no qual iniciar o provedor. Se o provedor for executado no computador local, ele será NULL.
-
-
Enabled
-
-
Tipo de dados: boolean
-
Tipo de acesso: leitura/gravação
Se for TRUE, essa instância será habilitada e poderá ser usada para concluir solicitações de cliente.
-
-
HostingModel
-
-
Tipo de dados: string
-
Tipo de acesso: leitura/gravação
Essa propriedade é composta de valores das propriedades MSFT_ProvidersHostingGroup e HostingSpecification. O valor dessa propriedade especifica como o WMI carrega o provedor e a conta de segurança em que ele é executado. Para obter mais informações sobre como definir a propriedade HostingModel, confira Hospedagem e segurança do provedor e Registrar um provedor.
-
-
ImpersonationLevel
-
-
Tipo de dados: sint32
-
Tipo de acesso: leitura/gravação
Reservado. O valor padrão é zero (0).
-
-
InitializationReentrancy
-
-
Tipo de dados: sint32
-
Tipo de acesso: leitura/gravação
Conjunto de sinalizadores que fornecem informações sobre serialização. O valor padrão é zero (0).
-
-
0
-
Toda a inicialização desse provedor deve ser serializada.
-
1
-
Todas as inicializações desse provedor no mesmo namespace devem ser serializadas.
-
2
-
Nenhuma serialização de inicialização é necessária.
InitializationTimeoutInterval
-
Tipo de dados: datetime
-
Tipo de acesso: leitura/gravação
Não usado.
InitializeAsAdminFirst
-
Tipo de dados: boolean
-
Tipo de acesso: leitura/gravação
TBD
Nome
-
Tipo de dados: string
-
Tipo de acesso: leitura/gravação
-
Qualificadores: Key
O nome do provedor.
OperationTimeoutInterval
-
Tipo de dados: datetime
-
Tipo de acesso: leitura/gravação
Não usado.
PerLocaleInitialization
-
Tipo de dados: boolean
-
Tipo de acesso: leitura/gravação
Se for TRUE, o provedor será inicializado para cada localidade quando um usuário se conectar ao mesmo namespace mais de uma vez usando localidades diferentes. O valor padrão é FALSE.
PerUserInitialization
-
Tipo de dados: boolean
-
Tipo de acesso: leitura/gravação
Se for TRUE, o provedor será inicializado uma vez para cada usuário do NTLM (NT LAN Manager) que faz solicitações ao provedor. Se for FALSE (padrão), o provedor será inicializado uma vez para todos os usuários.
Pura
-
Tipo de dados: boolean
-
Tipo de acesso: leitura/gravação
Se for TRUE, o provedor concordará em se preparar para descarregar chamando IUnknown::Release em todos os pontos de interface pendentes quando o WMI chamar o método Release de sua interface primária. Os provedores que devem permanecer clientes do WMI depois de não funcionarem como provedores devem definir Pure como FALSE. A configuração padrão é TRUE. Para obter mais informações, confira a seção Comentários desse tópico.
SecurityDescriptor
-
Tipo de dados: string
-
Tipo de acesso: leitura/gravação
SD (descritor de segurança) na SDDL (Linguagem de Definição do Descritor de Segurança) que determina o conjunto de usuários que pode chamar IWbemDecoupledRegistrar:Register com êxito para o provedor separado. Para obter mais informações, consulte o tópico Linguagem de Definição do Descritor de Segurança na seção Segurança do SDK do Windows. Esse descritor de segurança é usado apenas para provedores separados e não afeta outros provedores. Para obter mais informações, consulte Incorporar um provedor em um aplicativo.
O WMI executa verificações de acesso para provedores separados que usam as interfaces IWbemProviderInit e IWbemObjectSink. Se o descritor de segurança for NULL, somente aplicativos ou serviços executados nas contas LocalSystem, NetworkService e LocalService poderão executar um provedor separado.
A cadeia de caracteres a seguir mostra um provedor separado a ser executado somente por administradores internos."O:BAG:BAD:(A;;0x1;;;BA)"
Para obter mais informações sobre como definir a propriedade SecurityDescriptor, consulte Manutenção da segurança do WMI.
SupportsExplicitShutdown
-
Tipo de dados: boolean
-
Tipo de acesso: leitura/gravação
Não usado.
SupportsExtendedStatus
-
Tipo de dados: boolean
-
Tipo de acesso: leitura/gravação
Não usado.
SupportsQuotas
-
Tipo de dados: boolean
-
Tipo de acesso: leitura/gravação
Não usado.
SupportsSendStatus
-
Tipo de dados: boolean
-
Tipo de acesso: leitura/gravação
Não usado.
SupportsShutdown
-
Tipo de dados: boolean
-
Tipo de acesso: leitura/gravação
Não usado.
SupportsThrottling
-
Tipo de dados: boolean
-
Tipo de acesso: leitura/gravação
Não usado.
UnloadTimeout
-
Tipo de dados: datetime
-
Tipo de acesso: leitura/gravação
Formato de data e hora que especifica por quanto tempo o WMI permite que o provedor permaneça ocioso antes de ser descarregado. Normalmente, os provedores solicitam que o WMI não aguarde mais do que cinco minutos.
Na versão atual do WMI, o valor dessa propriedade é ignorado. O WMI descarrega o provedor com base no valor de tempo limite em uma classe interna no namespace \root. É recomendável que os provedores definam UnloadTimeout. Para obter mais informações, confira Descarregar um provedor.
Versão
-
Tipo de dados: uint32
-
Tipo de acesso: leitura/gravação
Versão do provedor. As versões compatíveis são 1 e 2. A versão 2 reforça as verificações de validade para todos os registros de propriedade associados, especificamente a propriedade ImpersonationLevel.
Comentários
A classe __Win32Provider é derivada de __Provider.
A maioria dos provedores pode aceitar os valores padrão para a propriedade InitializationReentrancy. No entanto, caso um provedor dê suporte à inicialização simultânea para usuários separados, essa propriedade pode ser definida como 1 (um). Se a inicialização serializada for necessária, InitializationReentrancy permanecerá 0 (zero). Em ambas as instâncias, PerUserInitialization é definido como TRUE.
Um provedor puro ou um provedor que define a propriedade Pure como TRUE existe apenas para solicitações de serviço de aplicativos e do WMI. A maioria dos provedores são provedores puros. Um provedor que não é puro é a exceção. Os provedores que não são puros fazem a transição para a função do cliente depois de concluírem as solicitações de manutenção.
Um exemplo de um provedor não puro é um provedor de push que começa a emitir consultas e faz solicitações do WMI após concluir a inicialização. Um provedor de push não tem responsabilidades, exceto para atualizar o repositório CIM com dados no momento da inicialização. Depois de atualizar o repositório, um provedor de push pode aguardar para ser descarregado ou fazer a transição para a função do cliente. O provedor de push que espera para ser descarregado é um provedor puro. O provedor de push que participa das atividades do cliente não é puro.
O WMI deve ser capaz de distinguir provedores puros de provedores não puros para que possa determinar quando é seguro desligar. O WMI deve aguardar a conclusão de todas as operações que envolvem provedores não puros antes de ser desligado com segurança.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows Vista |
Servidor mínimo com suporte |
Windows Server 2008 |
Namespace |
Todos os namespaces do WMI |