CM_Get_Child_Ex関数 (cfgmgr32.h)
[Windows 8とWindows Server 2012以降、この関数は非推奨となりました。 代わりに CM_Get_Child を使用してください。]
CM_Get_Child_Ex関数は、ローカルまたはリモート コンピューターのデバイス ツリー内の指定されたデバイス ノード (devnode) の最初の子ノードへのデバイス インスタンス ハンドルを取得するために使用されます。
構文
CMAPI CONFIGRET CM_Get_Child_Ex(
[out] PDEVINST pdnDevInst,
[in] DEVINST dnDevInst,
[in] ULONG ulFlags,
[in, optional] HMACHINE hMachine
);
パラメーター
[out] pdnDevInst
この関数が取得する子ノードへのデバイス インスタンス ハンドルへの呼び出し元指定ポインター。 取得したハンドルは、 hMachine によって提供されるマシン ハンドルにバインドされます。 「解説」セクション を 参照してください。
[in] dnDevInst
hMachine によって提供されるマシン ハンドルにバインドされている、呼び出し元から提供されるデバイス インスタンス ハンドル。
[in] ulFlags
使用しません。0 にする必要があります。
[in, optional] hMachine
呼び出し元が指定したデバイス インスタンス ハンドルがバインドされている呼び出し元指定のマシン ハンドル。
戻り値
操作が成功した場合、関数は CR_SUCCESSを返します。 それ以外の場合は、 Cfgmgr32.h で定義されているCR_プレフィックス付きのエラー コードのいずれかを返します。
注釈
ローカル またはリモート コンピューターのデバイス ツリー内の devnode のすべての子を列挙するには、最初に CM_Get_Child_Ex を呼び出して最初の子ノードへのハンドルを取得し、 次に CM_Get_Sibling_Ex を呼び出して、残りの子のハンドルを取得します。
デバイス インスタンス ハンドルの使用
PnP 構成マネージャー関数で使用するデバイス インスタンス ハンドルは、次のようにマシン ハンドルにバインドされます。
- すべてのローカル デバイス インスタンス ハンドルは、NULL 値のローカル コンピューター ハンドルにバインドされます。
- リモート マシン ハンドルを使用してデバイス インスタンス ハンドルを取得する場合、結果のリモート デバイス インスタンス ハンドルはリモート コンピューター ハンドルにバインドされます。
- デバイス インスタンス ハンドルは、バインド先のマシン ハンドルでのみ使用できます。
- デバイス インスタンス ハンドルは、両方のデバイス インスタンス ハンドルが同じマシン ハンドルにバインドされている場合にのみ、別のデバイス インスタンス ハンドルと共に使用できます。
ローカルまたはリモート のデバイス インスタンス ハンドルを取得するには、次のいずれかの操作を行います。
- ローカル コンピューターにバインドされたデバイス インスタンス ハンドル (CM_Locate_DevNode、CM_Get_Child、CM_Get_Parent、またはCM_Get_Sibling) を取得するには、次のいずれかの関数を使用します。
- ローカル コンピューターまたはリモート コンピューターにバインドされたデバイス インスタンス ハンドルを取得するには、次のいずれかの関数を使用 します。CM_Locate_DevNode_Ex、 CM_Get_Child_Ex、 CM_Get_Parent_Ex、 またはCM_Get_Sibling_Ex。
- デバイス情報セットを取得します。
- デバイス情報セット内のデバイス インスタンスの SP_DEVINFO_DATA 構造を取得します。
- SP_DEVINFO_DATA構造体の DevInst メンバーから、デバイス インスタンスのデバイス インスタンス ハンドルを取得します。
- デバイス インスタンス ハンドルがバインドされているマシン ハンドルを取得します。 デバイス情報セットから取得されたデバイス インスタンス ハンドルは、デバイス情報セットがバインドされているマシン ハンドルにバインドされます。 デバイス情報セットのマシン ハンドルは、そのSP_DEVINFO_LIST_DETAIL_DATA構造体の RemoteMachineHandle メンバーから取得します。 ( SetupDiGetDeviceInfoListDetail を呼び出して、SP_DEVINFO_LIST_DETAIL_DATA構造体を取得します)。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Microsoft Windows 2000 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | cfgmgr32.h (Cfgmgr32.h を含む) |
Library | Cfgmgr32.lib |
[DLL] | Cfgmgr32.dll |