詳しい機能SetupDiGetClassDevs

SetupDiGetClassDevs機能

SetupDiGetClassDevsの  機能は、マシン構成上のすべてのデバイスに要求された情報を返す情報セットは、デバイスハンドルを。

文法

//C++:
HDEVINFO SetupDiGetClassDevs(
  _In_opt_ const GUID   *ClassGuid,
  _In_opt_       PCTSTR Enumerator,
  _In_opt_       HWND   hwndParent,
  _In_           DWORD  Flags
);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

パラメータ

ClassGuid [入力パラメータは、オプション] 
GUIDを指すポインタは、GUIDは、デバイスクラスまたは取り付けデバイスインターフェイスクラスを識別する。このポインタはオプションであり、とすることができるNULLClassGuid割り当て問題に関する詳細は、を参照してくださいノートのセクション。

列挙子[入力パラメータ、オプション] 
ヌル終了文字列指定するポインタ。

  • プラグアンドプレイデバイスの列挙木のためのIDを、このIDは、グローバル一意識別子(GUID)は、シンボリック名でもありかもしれません。例えば:「PCI」のPnPは、PCIの値を指定するために使用することができる、「USB」、「含む画像の記号名PCMCIA」と「SCSI」は、PNP型の値。

  • PnPデバイスのハンドルID。デバイスのPnP IDを処理を指定する場合、DIGCF_DEVICEINTERFACEはフラグパラメータに提供されなければなりません。

hwndParent [入力パラメータ、オプション] 
ユーザーインターフェースに焦点を当てたデバイス情報にインストールされているデバイスに関連付けられたインスタンスのトップレベルのウィンドウハンドル。ハンドルはオプションであり、NULLにすることができます。

フラグ[入力パラメータ] 
フラグDWORDは、このパラメータで指定された装置によってフィルタリング可変焦点装置情報のタイプです。このパラメータは、コメント欄を参照して、ビットまたは組み合わせて、関連するフラグのうちの1つまたは複数の以下の追加情報フラグの組み合わせであってもよいです。

DIGCF_ALLCLASSESが 
  インストールされているすべてのデバイスまたはすべてのデバイスインターフェイスクラスのリストを返します。

DIGCF_DEVICEINTERFACEの 
  デバイスは、デバイスインターフェイスクラスのサポートを指定しました。列挙子引数は、デバイスインスタンスIDを開発した場合は、flagsパラメータにこのフラグを設定する必要があります。

DIGCF_DEFAULT 
  指定されたデバイスインターフェイスクラスのため、唯一のシステムのデフォルト(提供される場合)に関連付けられたデバイスインターフェースデバイスを戻します。

DIGCF_PRESENTは 
  唯一のシステム内に存在する電流(接続)機器を返します。

DIGCF_PROFILEは、 
  現在のハードウェア機器リストの一部のみを返します。

返却値

呼び出しが成功した場合、SetupDiGetClassDevsは、すべての機器が含まれており、パラメータの一致を提供するデバイス情報設定ハンドルを返します。呼び出しが失敗した場合、関数は返しますINVALID_HANDLE_VALUEをさらに、エラー情報を取得するには、呼び出しのGetLastErrorを

リマーク

処理されたこの機能と対応するデータを呼び出した後、あなたが呼び出す必要がありSetupDiDestroyDeviceInfoList機能を。

コールSetupDiGetClassDevsExをリモートコンピュータ上のデバイスを取得するために。

機器の設置クラス制御オプション 
すべての機器を返すかどうかをSetupDiGetClassDevsを制御するには、次のフィルタオプションを使用して:

  • すべてのデバイスを返すには、DIGCF_ALLCLASSESフラグを設定し、NULLに設定ClassGuid。
  • のみが指定されたデバイスを返す場合、DIGCF_ALLCLASSESフラグを移動しませんが、GUIDは提供CLassGuid使用する必要があります。

また、以下の組み合わせはまた、フィルター装置の状態を制御することができます。

  • 現在のデバイスを接続されたシステムを戻すために設けられDIGCF_PRESENTフラグ。
  • DIGCF_PROFILEフラグは、デバイスのリストで、現在のハードウェア構成ファイルに戻るように設定されています。
  • 、PnPデバイスの列挙を返す列挙子パラメータを使用し、そのGUIDまたはシンボリック名を提供します。列挙子がNULLの場合、SetupDiGetClassDevsは全てのPnPデバイスの列挙を返します。

デバイスインタフェースクラス制御オプション 
を制御するために、次のフィルタオプションを使用してSetupDiGetClassDevs機器またはデバイスインターフェイスの任意のタイプをサポートするために返すかどうかをのみ指定したデバイスインターフェイスクラスの機器をサポートして返します。

  • 、デバイス・インターフェースのいずれかの種類をサポートするために、戻りDIGCF_DEVICEINTERFACEとDIGCF_ALLCLASSES両方のフラグを設定する設定ClassGuidするNULLこの情報要素の装置を設定する機器情報を示すデバイスの機能、デバイス情報要素にデバイスインタフェースによってサポートされるすべてのデバイスのリストを含むデバイスインターフェイスを追加。

おすすめ

転載: blog.csdn.net/thanklife/article/details/88025371