Método IWbemServices::OpenNamespace (wbemcli.h)

El método IWbemServices::OpenNamespace proporciona al autor de la llamada un nuevo puntero IWbemServices que tiene el espacio de nombres secundario especificado como contexto operativo. Todas las operaciones a través del nuevo puntero, como la creación de clases o instancias, solo afectan a ese espacio de nombres. El espacio de nombres debe ser un espacio de nombres secundario del objeto actual mediante el que se llama a este método.

Sintaxis

HRESULT OpenNamespace(
  [in]  const BSTR      strNamespace,
  [in]  long            lFlags,
  [in]  IWbemContext    *pCtx,
  [out] IWbemServices   **ppWorkingNamespace,
  [out] IWbemCallResult **ppResult
);

Parámetros

[in] strNamespace

Ruta de acceso al espacio de nombres de destino. Para obtener más información, vea Crear jerarquías en WMI. Este espacio de nombres solo puede ser relativo al espacio de nombres actual asociado al puntero de interfaz IWbemServices . Este parámetro no puede ser una ruta de acceso absoluta o NULL.

[in] lFlags

Este parámetro se puede establecer en 0 para que esta sea una llamada sincrónica. Para realizar esta llamada semiincrónica, establezca lFlags en WBEM_FLAG_RETURN_IMMEDIATELY, proporcione un puntero válido para el parámetro ppResult y esta llamada se devolverá inmediatamente. Para más información, vea Llamada a un método.

[in] pCtx

Reservado. Este parámetro debe ser NULL.

[out] ppWorkingNamespace

Recibe el objeto que representa el nuevo contexto de espacio de nombres. El puntero devuelto tiene un recuento de referencias positivo. El autor de la llamada debe llamar a Release en este puntero cuando ya no sea necesario. Este puntero se establece en NULL cuando hay errores. Si se especifica este parámetro, ppResult debe ser NULL.

[out] ppResult

Normalmente NULL. Si no es NULL, ppWorkingNamespace debe ser NULL. En este caso, el parámetro recibe un puntero a un nuevo objeto IWbemCallResult . Si el parámetro lFlags se establece en WBEM_FLAG_RETURN_IMMEDIATELY esta llamada devuelve inmediatamente. A continuación, el autor de la llamada puede sondear periódicamente el método IWbemCallResult::GetResultServices hasta que el puntero del espacio de nombres solicitado esté disponible. Este parámetro se establece para que apunte a NULL cuando se produce un error y no se devuelve un nuevo objeto.

Nota Es importante tener en cuenta que, al usar este parámetro, debe establecer ppResult para que apunte a NULL antes de llamar al método . Se trata de una regla COM.
 

Valor devuelto

Este método devuelve un valor HRESULT que indica el estado de la llamada al método. En la lista siguiente se muestra el valor contenido en un HRESULT.

Si se produce un error, puede obtener cualquier información disponible de la función COM GetErrorInfo.

También se pueden devolver códigos de error específicos de COM si los problemas de red hacen que pierdas la conexión remota a la administración de Windows.

Comentarios

El método IWbemLocator::ConnectServer también se puede usar para abrir el mismo espacio de nombres. La única diferencia es que el método OpenNamespace permite colocar rutas de acceso de objeto relativas en el parámetro Namespace para abrir espacios de nombres secundarios de forma recursiva; IWbemLocator::ConnectServer requiere una ruta de acceso de objeto completa. Para obtener más información, vea Descripción de una ruta de acceso del objeto de espacio de nombres WMI.

Por ejemplo, si el espacio de nombres actual asociado al puntero de interfaz IWbemServices es raíz, el uso de Default en el parámetro Namespace produce un nuevo puntero enlazado al espacio de nombres root\default.

El espacio de nombres se cierra cuando se llama a Release y el recuento de referencias alcanza 0 (cero).

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado wbemcli.h (include Wbemidl.h)
Library Wbemuuid.lib
Archivo DLL Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll

Consulte también

Creación de jerarquías en WMI

IWbemLocator::ConnectServer

IWbemServices

Recuperación de un código de error