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 に設定すると、同期呼び出しになります。 これを半同期呼び出しにするには、 lFlagsWBEM_FLAG_RETURN_IMMEDIATELY に設定し、 ppResult パラメーターに有効なポインターを指定すると、この呼び出しはすぐに返されます。 詳細については、「メソッドの呼び出し」を参照してください。

[in] pCtx

予約済み。 このパラメーターは NULL である必要があります。

[out] ppWorkingNamespace

新しい名前空間コンテキストを表す オブジェクトを受け取ります。 返されるポインターには、正の参照カウントがあります。 呼び出し元は、不要になったら、このポインターで Release を 呼び出す必要があります。 エラーが発生した場合、このポインターは NULL に設定されます。 このパラメーターを指定する場合、 ppResultNULL である必要があります。

[out] ppResult

通常 は NULL ですNULL でない場合、ppWorkingNamespaceNULL である必要があります。 この場合、 パラメーターは新しい IWbemCallResult オブジェクトへのポインターを受け取ります。 lFlags パラメーターが に設定WBEM_FLAG_RETURN_IMMEDIATELY場合、この呼び出しは直ちにを返します。 その後、呼び出し元は、要求された名前空間のポインターが使用可能になるまで 、IWbemCallResult::GetResultServices メソッドを定期的にポーリングできます。 エラーが発生し、新しいオブジェクトが返されない場合、このパラメーターは NULL を 指すように設定されます。

メモ このパラメーターを使用する場合は、メソッドを呼び出す前に ppResultNULL をポイントするように設定する必要があることに注意してください。 これは COM ルールです。
 

戻り値

このメソッドは、メソッド呼び出しの状態を示す 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

こちらもご覧ください

WMI 内での階層の作成

IWbemLocator::ConnectServer

IWbemServices

エラー コードの取得