次の方法で共有


CM_Enumerate_Classes関数 (cfgmgr32.h)

CM_Enumerate_Classes関数は、繰り返し呼び出されると、各クラスの GUID を指定することで、ローカル コンピューターのインストールされているデバイス クラスを列挙します。

構文

CMAPI CONFIGRET CM_Enumerate_Classes(
  [in]  ULONG  ulClassIndex,
  [out] LPGUID ClassGuid,
  [in]  ULONG  ulFlags
);

パラメーター

[in] ulClassIndex

呼び出し元から指定されたインデックスを、マシンのデバイス クラスの一覧に含めます。 詳細については、「解説」を参照してください。

[out] ClassGuid

デバイス クラスの GUID を受け取る GUID 構造体の呼び出し元指定アドレス (Microsoft Windows SDKで説明)。

[in] ulFlags

Windows 8以降、呼び出し元は次のフラグを指定できます。

CM_ENUMERATE_CLASSES_INSTALLER

デバイス セットアップ クラスを列挙します。

CM_ENUMERATE_CLASSES_INTERFACE

デバイス インターフェイス クラスを列挙します。

それ以外の場合は、0 に設定する必要があります。

戻り値

操作が成功した場合、関数はCR_SUCCESSを返します。 それ以外の場合は、 Cfgmgr32.h で定義されているCR_プレフィックス付きのエラー コードのいずれかを返します。

注釈

ローカル コンピューターのデバイス クラスを列挙するには、 CM_Enumerate_Classes を繰り返し呼び出し、 ulClassIndex 値を 0 から開始し、関数がCR_NO_SUCH_VALUEを返すまで、後続の呼び出しごとにインデックス値をインクリメントします。 一部のインデックス値は、無効なクラス データを含むリスト エントリを表している可能性があります。その場合、関数はCR_INVALID_DATAを返します。 この戻り値は無視できます。

この関数から取得したクラス GUID は、 デバイスインストール機能への入力として使用できます。

Windows 8 以降のオペレーティング システム以降では、呼び出し元は ulFlags メンバーを使用して、CM_Enumerate_Classesが返すデバイス クラスを指定できます。 Windows 8より前では、CM_Enumerate_Classesはデバイス セットアップ クラスのみを返していました。

要件

要件
サポートされている最小のクライアント Microsoft Windows 2000 以降のバージョンの Windows で使用できます。
対象プラットフォーム デスクトップ
Header cfgmgr32.h (Cfgmgr32.h を含む)
Library Cfgmgr32.lib
[DLL] Cfgmgr32.dll

こちらもご覧ください

CM_Enumerate_Classes_Ex