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.
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 |