IWbemServices::OpenNamespace メソッド (wbemcli.h)
IWbemServices::OpenNamespace メソッドは、指定された子名前空間を操作コンテキストとして持つ新しい IWbemServices ポインターを呼び出し元に提供します。 クラスやインスタンスの作成など、新しいポインターを介するすべての操作は、その名前空間にのみ影響します。 名前空間は、このメソッドが呼び出される現在のオブジェクトの子名前空間である必要があります。
構文
HRESULT OpenNamespace(
[in] const BSTR strNamespace,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IWbemServices **ppWorkingNamespace,
[out] IWbemCallResult **ppResult
);
パラメーター
[in] strNamespace
ターゲット名前空間へのパス。 詳細については、「 WMI 内での階層の作成」を参照してください。 この名前空間は、 IWbemServices インターフェイス ポインターに関連付けられている現在の名前空間に対してのみ相対的にすることができます。 このパラメーターは絶対パスまたは NULL にすることはできません。
[in] lFlags
このパラメーターを 0 に設定すると、同期呼び出しになります。 これを半同期呼び出しにするには、 lFlags を WBEM_FLAG_RETURN_IMMEDIATELY に設定し、 ppResult パラメーターに有効なポインターを指定すると、この呼び出しはすぐに返されます。 詳細については、「メソッドの呼び出し」を参照してください。
[in] pCtx
予約済み。 このパラメーターは NULL である必要があります。
[out] ppWorkingNamespace
新しい名前空間コンテキストを表す オブジェクトを受け取ります。 返されるポインターには、正の参照カウントがあります。 呼び出し元は、不要になったら、このポインターで Release を 呼び出す必要があります。 エラーが発生した場合、このポインターは NULL に設定されます。 このパラメーターを指定する場合、 ppResult は NULL である必要があります。
[out] ppResult
通常 は NULL です。 NULL でない場合、ppWorkingNamespace は NULL である必要があります。 この場合、 パラメーターは新しい IWbemCallResult オブジェクトへのポインターを受け取ります。 lFlags パラメーターが に設定WBEM_FLAG_RETURN_IMMEDIATELY場合、この呼び出しは直ちにを返します。 その後、呼び出し元は、要求された名前空間のポインターが使用可能になるまで 、IWbemCallResult::GetResultServices メソッドを定期的にポーリングできます。 エラーが発生し、新しいオブジェクトが返されない場合、このパラメーターは NULL を 指すように設定されます。
戻り値
このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。 次の一覧は、 HRESULT に含まれる値の一覧です。
失敗した場合は、COM 関数 GetErrorInfo から使用可能な情報を取得できます。
ネットワークの問題によって Windows Management へのリモート接続が失われる場合は、COM 固有のエラー コードも返される可能性があります。
注釈
IWbemLocator::ConnectServer メソッドを使用して、同じ名前空間を開くこともできます。 唯一の違いは、 OpenNamespace メソッドを使用すると 、 Namespace パラメーターに相対オブジェクト パスを配置して子名前空間を再帰的に開くことができる点です。 IWbemLocator::ConnectServer には、完全なオブジェクト パスが必要です。 詳細については、「 WMI 名前空間オブジェクト パスの記述」を参照してください。
たとえば、 IWbemServices インターフェイス ポインターに関連付けられている現在の名前空間がルートである場合、 Namespace パラメーターで Default を使用すると、root\default 名前空間にバインドされた新しいポインターが生成されます。
Release が呼び出され、参照カウントが 0 (ゼロ) に達すると、名前空間は閉じられます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | wbemcli.h (Wbemidl.h を含む) |
Library | 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 |