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

O método IWbemServices::OpenNamespace fornece ao chamador um novo ponteiro IWbemServices que tem o namespace filho especificado como seu contexto operacional. Todas as operações por meio do novo ponteiro, como a criação de classe ou instância, afetam apenas esse namespace. O namespace deve ser um namespace filho do objeto atual por meio do qual esse método é chamado.

Sintaxe

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

Parâmetros

[in] strNamespace

Caminho para o namespace de destino. Para obter mais informações, consulte Criando hierarquias no WMI. Esse namespace só pode ser relativo ao namespace atual associado ao ponteiro da interface IWbemServices . Esse parâmetro não pode ser um caminho absoluto ou NULL.

[in] lFlags

Esse parâmetro pode ser definido como 0 para tornar essa chamada síncrona. Para tornar essa chamada semissíncrona, defina lFlags como WBEM_FLAG_RETURN_IMMEDIATELY, forneça um ponteiro válido para o parâmetro ppResult e essa chamada retornará imediatamente. Para obter mais informações, confira Como chamar um método.

[in] pCtx

Reservado. Esse parâmetro deve ser NULL.

[out] ppWorkingNamespace

Recebe o objeto que representa o novo contexto de namespace. O ponteiro retornado tem uma contagem de referência positiva. O chamador deve chamar Release nesse ponteiro quando ele não for mais necessário. Esse ponteiro é definido como NULL quando há erros. Se esse parâmetro for especificado, ppResult deverá ser NULL.

[out] ppResult

Normalmente NULL. Se não for NULL, ppWorkingNamespace deverá ser NULL. Nesse caso, o parâmetro recebe um ponteiro para um novo objeto IWbemCallResult . Se o parâmetro lFlags estiver definido como WBEM_FLAG_RETURN_IMMEDIATELY essa chamada retornará imediatamente. Em seguida, o chamador pode sondar periodicamente o método IWbemCallResult::GetResultServices até que o ponteiro para o namespace solicitado fique disponível. Esse parâmetro é definido para apontar para NULL quando há um erro e um novo objeto não é retornado.

Nota É importante observar que, ao usar esse parâmetro, você deve definir ppResult para apontar para NULL antes de chamar o método . Essa é uma regra COM.
 

Retornar valor

Esse método retorna um HRESULT que indica o status da chamada de método. A lista a seguir lista o valor contido em um HRESULT.

Em caso de falha, você pode obter todas as informações disponíveis da função COM GetErrorInfo.

Códigos de erro específicos de COM também poderão ser retornados se problemas de rede fizerem com que você perca a conexão remota com o Gerenciamento do Windows.

Comentários

O método IWbemLocator::ConnectServer também pode ser usado para abrir o mesmo namespace. A única diferença é que o método OpenNamespace permite que você coloque caminhos de objeto relativos no parâmetro Namespace para abrir namespaces filho recursivamente; IWbemLocator::ConnectServer requer um caminho de objeto completo. Para obter mais informações, consulte Descrevendo um caminho de objeto de namespace WMI.

Por exemplo, se o namespace atual associado ao ponteiro da interface IWbemServices for raiz, usar Default no parâmetro Namespace produzirá um novo ponteiro associado ao namespace raiz\padrão.

O namespace é fechado quando Release é chamado e a contagem de referência atinge 0 (zero).

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho wbemcli.h (inclua Wbemidl.h)
Biblioteca Wbemuuid.lib
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

Confira também

Criando hierarquias no WMI

IWbemLocator::ConnectServer

IWbemServices

Como recuperar um código de erro