Função ConnectServerWmi
Cria uma conexão por meio do DCOM para um namespace do WMI em um computador especificado.
Observação
Esta API é somente para uso interno. Ela não é destinada ao uso do código do desenvolvedor.
Sintaxe
HRESULT ConnectServerWmi (
[in] BSTR strNetworkResource,
[in] BSTR strUser,
[in] BSTR strPassword,
[in] BSTR strLocale,
[in] long lSecurityFlags,
[in] BSTR strAuthority,
[in] IWbemContext* pCtx,
[out] IWbemServices** ppNamespace,
[in] DWORD impLevel,
[in] DWORD authLevel
);
Parâmetros
strNetworkResource
[in] Ponteiro para um BSTR
válido que contém o caminho do objeto do namespace WMI correto. Consulte a seção Comentários para obter mais informações.
strUser
[in] Um ponteiro para um BSTR
válido que contém o nome de usuário. Um valor null
indica o contexto de segurança atual. Se o usuário for de um domínio diferente do atual, strUser
também poderá conter o domínio e o nome de usuário separados por uma barra invertida. strUser
também pode estar no formato UPN (nome da entidade de segurança de usuário), como userName@domainName
. Consulte a seção Comentários para obter mais informações.
strPassword
[in] Um ponteiro para um BSTR
válido que contém a senha. Um null
indica o contexto de segurança atual. Uma cadeia de caracteres vazia ("") indica uma senha válida de comprimento zero.
strLocale
[in] Um ponteiro para um BSTR
válido que indica a localidade correta para recuperação de informações. Para identificadores de localidade da Microsoft, o formato da cadeia de caracteres é "MS_xxx", em que xxx é uma cadeia de caracteres em forma hexadecimal que indica o identificador de localidade (LCID). Se for especificada uma localidade inválida, o método retornará WBEM_E_INVALID_PARAMETER
, exceto no Windows 7, em que é usada a localidade padrão do servidor. Se 'null1, a localidade atual será usada.
lSecurityFlags
[in] Sinalizadores a serem passados para o método ConnectServerWmi
. Um valor zero (0) para esse parâmetro resulta que a chamada de ConnectServerWmi
retorne somente depois que uma conexão com o servidor é estabelecida. Isso pode resultar em um aplicativo que não responde indefinidamente se o servidor estiver quebrado. Outros valores válidos são:
Constante | Valor | Descrição |
---|---|---|
CONNECT_REPOSITORY_ONLY |
0x40 | Reservado para uso interno. Não use. |
WBEM_FLAG_CONNECT_USE_MAX_WAIT |
0x80 | ConnectServerWmi retorna em dois minutos ou menos. |
strAuthority
[in] O nome de domínio do usuário. Pode ter um dos valores a seguir:
Valor | Descrição |
---|---|
blank | A autenticação NTLM é usada e o domínio NTLM do usuário atual é usado. Se strUser especificar o domínio (o local recomendado), ele não deverá ser especificado aqui. A função retornará WBEM_E_INVALID_PARAMETER se você especificar o domínio em ambos os parâmetros. |
Kerberos:nome da entidade de segurança | A autenticação Kerberos é usada e esse parâmetro contém um nome de entidade de segurança Kerberos. |
NTLMDOMAIN:nome do Domínio | A autenticação do NT LAN Manager é usada e esse parâmetro contém um nome de domínio NTLM. |
pCtx
[in] Normalmente, esse parâmetro é null
. Caso contrário, ele é um ponteiro para um objeto IWbemContext exigido por um ou mais provedores de classe dinâmica.
ppNamespace
[out] Quando a função retorna, recebe um ponteiro para um objeto IWbemServices associado ao namespace especificado. Ele é definido como apontar para null
quando há um erro.
impLevel
[in] O nível de representação.
authLevel
[in] O nível de autorização.
Valor retornado
Os seguintes valores retornados por essa função são definidos no arquivo de cabeçalho WbemCli.h, ou você pode defini-los como constantes em seu código:
Constante | Valor | Descrição |
---|---|---|
WBEM_E_FAILED |
0x80041001 | Houve uma falha geral. |
WBEM_E_INVALID_PARAMETER |
0x80041008 | Um parâmetro não é válido. |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | Não há memória disponível suficiente para concluir a operação. |
WBEM_S_NO_ERROR |
0 | A chamada de função foi bem-sucedida. |
Comentários
Essa função encapsula uma chamada para o método IWbemLocator::ConnectServer.
Para acesso local ao namespace padrão, strNetworkResource
pode ser um caminho de objeto simples: "root\default" ou "\.\root\default". Para acessar o namespace padrão em um computador remoto usando COM ou rede compatível com a Microsoft, inclua o nome do computador: "\myserver\root\default". O nome do computador também pode ser um nome DNS ou endereço IP. A ConnectServerWmi
função também pode se conectar com computadores que executam IPv6 usando um endereço IPv6.
strUser
não pode ser uma cadeia de caracteres vazia. Se o domínio for especificado em strAuthority
, ele também não deverá ser incluído em strUser
ou a função retornará WBEM_E_INVALID_PARAMETER
.
Requisitos
Plataformas: confira Requisitos do sistema.
Header: WMINet_Utils.idl
Versões do .NET Framework: Disponível desde 4.7.2