次の方法で共有


CM_Get_Device_Interface_AliasA関数 (cfgmgr32.h)

CM_Get_Device_Interface_Alias関数は、エイリアスが存在する場合は、指定されたデバイス インターフェイス インスタンスのエイリアスを返します。

構文

CMAPI CONFIGRET CM_Get_Device_Interface_AliasA(
  [in]      LPCSTR pszDeviceInterface,
  [in]      LPGUID AliasInterfaceGuid,
  [out]     LPSTR  pszAliasDeviceInterface,
  [in, out] PULONG pulLength,
  [in]      ULONG  ulFlags
);

パラメーター

[in] pszDeviceInterface

エイリアスを取得するデバイス インターフェイス インスタンスの名前へのポインター。 呼び出し元は通常、 CM_Get_Device_Interface_Listの呼び出しから、または PnP 通知構造体でこの文字列を受け取ります。

[in] AliasInterfaceGuid

取得するエイリアスのインターフェイス クラスを指定する GUID へのポインター。

[out] pszAliasDeviceInterface

バッファーへのポインターを指定します。このポインターは、正常に戻ると、別名の名前を含む文字列を指します。 呼び出し元は、不要になったときにこの文字列を解放する必要があります。

バッファーが必要です。 それ以外の場合、呼び出しは失敗します。

[in, out] pulLength

pszAliasDeviceInterface の文字数を指定し、エイリアス デバイス インターフェイスを保持するために必要な文字数を受け取ります。

入力時には、このパラメーターは 0 より大きくする必要があります。

[in] ulFlags

予約済み。 使用しないでください。

戻り値

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

リターン コード 説明
CR_NO_SUCH_DEVICE_INTERFACE
指定したインターフェイス クラスのエイリアスがないことを示している可能性があります。
CR_OUT_OF_MEMORY
操作を完了させるための十分なメモリがありません。
CR_BUFFER_SMALL
渡されたバッファーが小さすぎます。

注釈

デバイス インターフェイスは、同じ基になるデバイスによって公開され、インターフェイス参照文字列が同じであるが、インターフェイス クラスが異なる場合、エイリアスと見なされます。

pszDeviceInterface パラメーターは、特定のインターフェイス クラスに属する特定のデバイスのデバイス インターフェイス インスタンスを、特定の参照文字列で指定します。 CM_Get_Device_Interface_Alias は、同じデバイスと参照文字列に対して別のデバイス インターフェイス インスタンスを返しますが、存在する場合は別のインターフェイス クラスを返します。

たとえば、フォールト トレラント ボリュームの関数ドライバーは、フォールト トレラント ボリューム インターフェイス クラスの 1 つとボリューム インターフェイス クラスの 1 つである 2 つのデバイス インターフェイスを登録して設定できます。 別のドライバーは、いずれかのインターフェイスのシンボリック リンクを使用して CM_Get_Device_Interface_Alias を呼び出し、インターフェイス クラスを指定してもう一方のインターフェイスが存在するかどうかを確認できます。

NULL 参照文字列を持つ 2 つのデバイス インターフェイスは、それらが同じ基になるデバイスによって公開され、インターフェイス クラス GUID が異なる場合はエイリアスです。

要件

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