SetupDiGetDeviceInterfaceAlias 関数 (setupapi.h)
SetupDiGetDeviceInterfaceAlias 関数は、指定されたデバイス インターフェイスのエイリアスを返します。
構文
WINSETUPAPI BOOL SetupDiGetDeviceInterfaceAlias(
[in] HDEVINFO DeviceInfoSet,
[in] PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData,
[in] const GUID *AliasInterfaceClassGuid,
[out] PSP_DEVICE_INTERFACE_DATA AliasDeviceInterfaceData
);
パラメーター
[in] DeviceInfoSet
エイリアスを取得するデバイス インターフェイスを含むデバイス 情報セット へのポインター。 通常、このハンドルは SetupDiGetClassDevs によって返されます。
[in] DeviceInterfaceData
エイリアスを取得する DeviceInfoSet のデバイス インターフェイスを指定するSP_DEVICE_INTERFACE_DATA構造体へのポインター。 このポインターは通常、 SetupDiEnumDeviceInterfaces によって返されます。
[in] AliasInterfaceClassGuid
取得するエイリアスのインターフェイス クラスを指定する GUID へのポインター。
[out] AliasDeviceInterfaceData
正常に返されると、要求されたエイリアスを識別する完了 したSP_DEVICE_INTERFACE_DATA 構造体を含む呼び出し元によって割り当てられたバッファーへのポインター。 呼び出し元は、この関数を呼び出す前に AliasDeviceInterfaceData.cbSize を sizeof(SP_DEVICE_INTERFACE_DATA) に設定する必要があります。
戻り値
関数がエラーなしで完了した場合、SetupDiGetDeviceInterfaceAlias はTRUE を返します。 関数がエラーで完了した場合、 FALSE が返され、 GetLastError を呼び出すことによってエラーのエラー コードを取得できます。
GetLastError によって返される可能性のあるエラーを次の表に示します。
リターン コード | 説明 |
---|---|
|
DeviceInfoSet が無効であるか、DeviceInterfaceData パラメーターが無効です。 |
|
指定したデバイス インターフェイスの AliasInterfaceClassGuid クラスのエイリアスはありません。 |
|
AliasDeviceInterfaceData バッファーが無効です。 |
注釈
デバイス インターフェイスは、異なるインターフェイス クラスのエイリアスと見なされますが、同じデバイスでサポートされ、同じ参照文字列を持つ場合です。
SetupDiGetDeviceInterfaceAlias を使用して、複数のインターフェイスを公開するデバイスを見つけることができます。 たとえば、フォールト トレラント ボリュームの一部であり、暗号化されたデータを格納できるディスクがあるとします。 ディスク デバイスのファンクション ドライバーは、フォールト トレラント ボリューム インターフェイスと暗号化ボリューム インターフェイスを登録できます。 これらのインターフェイスは、関数ドライバーが同じ参照文字列で登録し、同じデバイスを参照する場合、デバイス インターフェイスのエイリアスです。 (参照文字列は NULL であるため、等しい可能性があります)。
このようなマルチインターフェイス デバイスを見つけるには、まず、 SetupDiGetClassDevs と SetupDiEnumDeviceInterfaces を使用して、フォールト トレラント ボリューム インターフェイスなど、いずれかのインターフェイスを公開するすべての使用可能なデバイスを見つけます。 次に、最初のインターフェイス (フォールト トレラント ボリューム) を持つデバイスを SetupDiGetDeviceInterfaceAlias に渡し、もう一方のインターフェイス クラス (encrypted-volume) のエイリアスを要求します。
要求されたエイリアスが存在するが、呼び出し元が指定した AliasDeviceInterfaceData バッファーが無効な場合、この関数はデバイス インターフェイス要素を DevInfoSet に正常に追加しますが、戻り値として FALSE を 返します。 この場合、 GetLastError は ERROR_INVALID_USER_BUFFERを返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Microsoft Windows 2000 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | デスクトップ |
Header | setupapi.h (Setupapi.h を含む) |
Library | Setupapi.lib |
[DLL] | Setupapi.dll |