Condividi tramite


Funzione ConnectServerWmi

Crea una connessione tramite DCOM a uno spazio dei nomi WMI in un computer specifico.

Nota

Questa API è solo per uso interno. Non è destinata all'uso dal codice dello sviluppatore.

Sintassi

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
);

Parametri

strNetworkResource
[in] Puntatore a un valore valido BSTR che contiene il percorso dell'oggetto dello spazio dei nomi WMI corretto. Per altre informazioni, vedere la sezione Osservazioni .

strUser
[in] Puntatore a un valore valido BSTR contenente il nome utente. Un null valore indica il contesto di sicurezza corrente. Se l'utente proviene da un dominio diverso rispetto a quello corrente, strUser può contenere anche il dominio e il nome utente separati da una barra rovesciata. strUser può anche essere in formato UPN (User Principal Name), ad esempio userName@domainName. Per altre informazioni, vedere la sezione Osservazioni .

strPassword
[in] Puntatore a un valore valido BSTR che contiene la password. Indica null il contesto di sicurezza corrente. Una stringa vuota ("") indica una password di lunghezza zero valida.

strLocale
[in] Puntatore a un valore valido BSTR che indica le impostazioni locali corrette per il recupero delle informazioni. Per gli identificatori delle impostazioni locali Microsoft, il formato della stringa è "MS_xxx", dove xxx è una stringa in formato esadecimale che indica l'identificatore delle impostazioni locali (LCID). Se vengono specificate impostazioni locali non valide, il metodo restituisce WBEM_E_INVALID_PARAMETER tranne in Windows 7, dove vengono usate invece le impostazioni locali predefinite del server. Se 'null1, vengono usate le impostazioni locali correnti.

lSecurityFlags
[in] Flag da passare al ConnectServerWmi metodo. Un valore pari a zero (0) per questo parametro genera la chiamata alla ConnectServerWmi restituzione solo dopo che viene stabilita una connessione al server. Ciò potrebbe comportare una risposta indefinita di un'applicazione se il server è interrotto. Gli altri valori validi sono:

Costante Valore Descrizione
CONNECT_REPOSITORY_ONLY 0x40 Riservato per utilizzo interno. Non usare.
WBEM_FLAG_CONNECT_USE_MAX_WAIT 0x80 ConnectServerWmi restituisce in due minuti o meno.

strAuthority
[in] Nome di dominio dell'utente. I valori possibili sono i seguenti:

Valore Descrizione
vuoto Viene usata l'autenticazione NTLM e viene usato il dominio NTLM dell'utente corrente. Se strUser specifica il dominio (posizione consigliata), non deve essere specificato qui. La funzione restituisce WBEM_E_INVALID_PARAMETER se si specifica il dominio in entrambi i parametri.
Nome Kerberos:principal L'autenticazione Kerberos viene usata e questo parametro contiene un nome dell'entità Kerberos.
NTLMDOMAIN:domain name Viene usata l'autenticazione di NT LAN Manager e questo parametro contiene un nome di dominio NTLM.

pCtx
[in] In genere, questo parametro è null. In caso contrario, è un puntatore a un oggetto IWbemContext richiesto da uno o più provider di classi dinamiche.

ppNamespace
[out] Quando la funzione restituisce, riceve un puntatore a un oggetto IWbemServices associato allo spazio dei nomi specificato. È impostato su null quando si verifica un errore.

impLevel
[in] Livello di rappresentazione.

authLevel
[in] Livello di autorizzazione.

Valore restituito

I valori seguenti restituiti da questa funzione sono definiti nel file di intestazione WbemCli.h oppure è possibile definirli come costanti nel codice:

Costante Valore Descrizione
WBEM_E_FAILED 0x80041001 Si è verificato un errore generale.
WBEM_E_INVALID_PARAMETER 0x80041008 Un parametro non è valido.
WBEM_E_OUT_OF_MEMORY 0x80041006 Memoria insufficiente per completare l’operazione.
WBEM_S_NO_ERROR 0 La chiamata alla funzione ha avuto esito positivo.

Commenti

Questa funzione esegue il wrapping di una chiamata al metodo IWbemLocator::ConnectServer .

Per l'accesso locale allo spazio dei nomi predefinito, strNetworkResource può essere un percorso di oggetto semplice: "root\default" o "\.\root\default". Per l'accesso allo spazio dei nomi predefinito in un computer remoto usando la rete compatibile con COM o Microsoft, includere il nome del computer: "\myserver\root\default". Il nome del computer può anche essere un nome DNS o un indirizzo IP. La ConnectServerWmi funzione può anche connettersi con i computer che eseguono IPv6 usando un indirizzo IPv6.

strUser non può essere una stringa vuota. Se il dominio è specificato in , non deve essere incluso anche in strAuthoritystrUseroppure la funzione restituisce WBEM_E_INVALID_PARAMETER.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: WMINet_Utils.idl

Versioni di .NET Framework: Disponibile da 4.7.2

Vedi anche