Compartir a través de


Función ConnectServerWmi

Crea una conexión a un espacio de nombres de WMI a través de DCOM en un equipo especificado.

Nota

Esta API es solo para uso interno. No está pensada para usarla desde código del desarrollador.

Sintaxis

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] Puntero a un elemento BSTR válido que contiene la ruta de acceso del objeto del espacio de nombres WMI correcto. Vea la sección Comentarios para obtener más información.

strUser
[in] Puntero a un elemento BSTR válido que contiene el nombre de usuario. Un valor null indica el contexto de seguridad actual. Si el usuario es de un dominio diferente al actual, strUser también puede contener el dominio y el nombre de usuario separados por una barra diagonal inversa. strUser también puede estar en formato de nombre principal de usuario (UPN), como userName@domainName. Vea la sección Comentarios para obtener más información.

strPassword
[in] Puntero a un elemento BSTR válido que contiene la contraseña. Un valor null indica el contexto de seguridad actual. Una cadena vacía ("") indica una contraseña válida de longitud cero.

strLocale
[in] Puntero a un elemento BSTRválido que indica la configuración regional correcta para la recuperación de información. Para los identificadores de configuración regional de Microsoft, el formato de la cadena es "MS_xxx", donde xxx es una cadena en formato hexadecimal que indica el identificador de configuración regional (LCID). Si se especifica una configuración regional no válida, el método devuelve WBEM_E_INVALID_PARAMETER excepto en Windows 7, donde se usa en su lugar la configuración regional predeterminada del servidor. Si es 'null1, se usa la configuración regional actual.

lSecurityFlags
[in] Marcas que se van a pasar al método ConnectServerWmi. Un valor de cero (0) para este parámetro da como resultado la devolución de la llamada a ConnectServerWmi solo después de establecer una conexión con el servidor. Esto podría dar lugar a que una aplicación no responda indefinidamente si el servidor está roto. Los otros valores válidos son los siguientes:

Constante Value Descripción
CONNECT_REPOSITORY_ONLY 0x40 Reservado para uso interno. No debe usarse.
WBEM_FLAG_CONNECT_USE_MAX_WAIT 0x80 ConnectServerWmi se devuelve en dos minutos como máximo.

strAuthority
[in] Nombre de dominio del usuario. Puede presentar los siguientes valores:

Valor Descripción
en blanco Se usan la autenticación NTLM y el dominio NTLM del usuario actual. Si strUser especifica el dominio (la ubicación recomendada), no debe especificarse aquí. La función devuelve WBEM_E_INVALID_PARAMETER si especifica el dominio en ambos parámetros.
Kerberos:nombre principal Se usa la autenticación Kerberos y este parámetro contiene un nombre principal de Kerberos.
NTLMDOMAIN:nombre de dominio Se usa la autenticación NT LAN Manager y este parámetro contiene un nombre de dominio NTLM.

pCtx
[in] Normalmente, este parámetro es null. De lo contrario, es un puntero a un objeto IWbemContext que requiere uno o varios proveedores de clases dinámicas.

ppNamespace
[out] Cuando se devuelve la función, recibe un puntero a un objeto IWbemServices enlazado al espacio de nombres especificado. Se establece para que apunte a null cuando se produce un error.

impLevel
[in] Nivel de suplantación.

authLevel
[in] El valor de este parámetro se corresponde con el nivel de autorización.

Valor devuelto

Los siguientes valores que devuelve esta función se definen en el archivo de encabezado WbemCli.h, aunque también puede definirlos como constantes en el código. Puede consultarlos a continuación:

Constante Value Descripción
WBEM_E_FAILED 0x80041001 Si se devuelve este valor, significará que se ha producido un error general.
WBEM_E_INVALID_PARAMETER 0x80041008 Un parámetro no es válido.
WBEM_E_OUT_OF_MEMORY 0x80041006 Memoria insuficiente para completar la operación.
WBEM_S_NO_ERROR 0 Si se devuelve este valor, significará que la llamada a la función se realizó correctamente.

Comentarios

Esta función encapsula una llamada al método IWbemLocator::ConnectServer.

Para el acceso local al espacio de nombres predeterminado, strNetworkResource puede ser una ruta de acceso de objeto simple: "root\default" o "\.\root\default". Para obtener acceso al espacio de nombres predeterminado en un equipo remoto mediante redes COM o compatibles con Microsoft, incluya el nombre de equipo: "\myserver\root\default". El nombre de equipo también puede ser un nombre DNS o una dirección IP. La función ConnectServerWmi también puede conectarse con equipos que ejecutan IPv6 mediante una dirección IPv6.

strUser no puede ser una cadena vacía. Si el dominio se especifica en strAuthority, no debe incluirse tampoco en strUser o la función devolverá WBEM_E_INVALID_PARAMETER.

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: WMINet_Utils.idl

Versiones de .NET Framework: está disponible desde la versión 4.7.2

Consulte también