次の方法で共有


CM_Enumerate_Classes_Ex関数 (cfgmgr32.h)

[Windows 8とWindows Server 2012以降、この関数は非推奨となりました。 代わりに CM_Enumerate_Classes を使用してください。]

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

構文

CMAPI CONFIGRET CM_Enumerate_Classes_Ex(
  [in]           ULONG    ulClassIndex,
  [out]          LPGUID   ClassGuid,
  [in]           ULONG    ulFlags,
  [in, optional] HMACHINE hMachine
);

パラメーター

[in] ulClassIndex

コンピューターのデバイス クラスの一覧に呼び出し元から指定されたインデックス。 詳細については、次の 「解説 」セクションを参照してください。

[out] ClassGuid

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

[in] ulFlags

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

CM_ENUMERATE_CLASSES_INSTALLER

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

CM_ENUMERATE_CLASSES_INTERFACE

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

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

[in, optional] hMachine

呼び出し元から指定されたマシン ハンドル。 CM_Connect_Machineの前の呼び出しから取得されます。

メモこの機能は削除されたため、この関数を使用してリモート マシンにアクセスすることは、Windows 8 および Windows Server 2012 以降ではサポートされていません。
 

戻り値

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

注釈

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

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

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

リモート マシンにアクセスするための機能は、Windows 8およびWindows Server 2012以降のオペレーティング システムで削除されているため、これらのバージョンの Windows で実行している場合はリモート マシンにアクセスできません。

要件

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

こちらもご覧ください

CM_Enumerate_Classes