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 BSTR
vá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