SetupDiGetClassDevs関数の詳細な説明
Detailed Description Setupdigetclassdevs Function
SetupDiGetClassDevs この関数は、マシン上で要求されたすべてのデバイスを含むメッセージを返します。 デバイス情報セット 扱う。
文法
//C++: HDEVINFO SetupDiGetClassDevs( _In_opt_ const GUID *ClassGuid, _In_opt_ PCTSTR Enumerator, _In_opt_ HWND hwndParent, _In_ DWORD Flags )
- 1
- 二
- 3
- 4
- 5
- 6
- 7
パラメータ
ClassGuid [入力パラメーター、オプション]
デバイスインストールクラスまたはデバイスインターフェイスクラスを識別するGUIDへのポインター。このポインタはオプションであり、 ヌル 。 ClassGuidの割り当ての詳細については、を参照してください。 備考 セクション。
列挙子[入力パラメーター、オプション]
以下を指定するヌル文字で終わる文字列へのポインタ。
-
プラグ&プレイ デバイスはツリーのIDを列挙します。これは、グローバル一意識別子(GUID)またはシンボリック名のいずれかです。といった:' PCI PCI PnP値を指定するために使用でき、シンボル名には「USB」、「」などが含まれます。 PCMCIA ''や 'SCSI'などのPnp値。
-
PnPデバイスのハンドルID。 PnPデバイスハンドルIDを指定する場合は、FlagパラメーターにDIGCF_DEVICEINTERFACEを設定する必要があります。
hwndParent [入力パラメーター、オプション]
デバイス情報セットへのデバイスインスタンスのインストールに関連するユーザーインターフェイスの最上位ウィンドウハンドル。このハンドルはオプションであり、NULLにすることができます。
フラグ[入力パラメータ]
Flagsは、指定されたデバイス情報セット内のデバイスをフィルタリングするために使用されるDWORDタイプの変数です。このパラメーターは、ビット単位または次のフラグの1つ以上の組み合わせにすることができます。フラグの組み合わせの詳細については、「備考」セクションを参照してください。
DIGCF_ALLCLASSES
インストールされているすべてのデバイスまたはすべてのデバイスインターフェイスクラスのリストを返します。
DIGCF_DEVICEINTERFACE
指定されたデバイスインターフェイスクラスをサポートするデバイスを返します。 EnumeratorsパラメーターでデバイスのインスタンスIDを指定する場合は、このフラグをFlagsパラメーターで設定する必要があります。
DIGCF_DEFAULT
指定されたデバイスインターフェイスクラスについては、システムのデフォルトのデバイスインターフェイスに関連付けられているデバイスのみが返されます(設定されている場合)。
DIGCF_PRESENT
現在のシステムに存在する(接続された)デバイスのみを返します。
DIGCF_PROFILE
現在のハードウェアリスト内のデバイスのサブセットのみを返します。
戻り値
通話が成功した場合、 SetupDiGetClassDevs 指定されたパラメーターに一致するすべてのデバイスを含むデバイス情報セットへのハンドルが返されます。呼び出しが失敗した場合、関数は戻ります INVALID_HANDLE_VALUE 。さらにエラー情報を入手するには、電話してください GetLastError 。
備考
この関数を呼び出し、対応するデータを処理した後に呼び出す必要があります SetupDiDestroyDeviceInfoList 文字。
転送 SetupDiGetClassDevsEx リモートコンピューター上のデバイスを取得します。
デバイスインストールクラス制御オプション
次のフィルタリングオプションを使用して、SetupDiGetClassDevsがすべてのデバイスを返すかどうかを制御します。
- すべてのデバイスを返すには、フラグビットDIGCF_ALLCLASSESを設定し、ClassGuidをNULLに設定します。
- 指定されたデバイスを返すだけの場合は、DIGCF_ALLCLASSESフラグを移動せず、代わりにCLassGuidによって提供されるGuidを使用してください。
さらに、次の組み合わせを使用して、デバイスのフィルター条件をさらに制御できます。
- DIGCF_PRESENTフラグを設定して、システムに現在接続されているデバイスを返します。
- DIGCF_PROFILEフラグを設定して、現在のハードウェアリスト構成ファイル内のデバイスを返します。
- PnP列挙型デバイスを返すには、列挙型パラメーターを使用して、そのGUIDまたは記号名を指定します。列挙子がNULLの場合、 SetupDiGetClassDevs すべてのPnP列挙デバイスを返します。
デバイスインターフェイスクラス制御オプション
次のフィルタリングオプションを使用して制御します SetupDiGetClassDevs デバイスインターフェイスクラスをサポートするデバイスを返すか、指定されたデバイスインターフェイスクラスをサポートするデバイスのみを返すか。
- クラスインターフェイスをサポートするデバイスに戻るには、DIGCF_DEVICEINTERFACEフラグとDIGCF_ALLCLASSESフラグの両方を設定し、ClassGuidをに設定します。 ヌル 。この関数は、デバイス情報をそのようなデバイスを表すデバイス情報要素に設定し、デバイスでサポートされているすべてのデバイスインターフェイスを含むデバイスインターフェイスリストをデバイス情報要素に追加します。