次の方法で共有


IoGetDeviceInterfacePropertyData 関数 (wdm.h)

IoGetDeviceInterfacePropertyData ルーチンは、デバイス インターフェイス プロパティの現在の値を取得します。

構文

NTSTATUS IoGetDeviceInterfacePropertyData(
  [in]  PUNICODE_STRING  SymbolicLinkName,
  [in]  const DEVPROPKEY *PropertyKey,
  [in]  LCID             Lcid,
        ULONG            Flags,
  [in]  ULONG            Size,
  [out] PVOID            Data,
  [out] PULONG           RequiredSize,
  [out] PDEVPROPTYPE     Type
);

パラメーター

[in] SymbolicLinkName

デバイス インターフェイス インスタンスを識別する文字列へのポインター。 この文字列は、IoGetDeviceInterfacesIoGetDeviceInterfaceAlias、または IoRegisterDeviceInterface ルーチン 以前の呼び出しから取得されました。

[in] PropertyKey

デバイス インターフェイスのプロパティ キーを含む DEVPROPKEY 構造体へのポインター。

[in] Lcid

ロケール識別子を指定します。 このパラメーターは、言語固有の LCID 値または LOCALE_NEUTRALに設定します。 LOCALE_NEUTRAL LCID は、プロパティが言語に依存しないことを指定します (つまり、どの言語にも固有ではありません)。 このパラメーターを LOCALE_SYSTEM_DEFAULT または LOCALE_USER_DEFAULTに設定しないでください。 言語固有の LCID 値の詳細については、「LCID 構造体 を参照してください。

Flags

システム用に予約されています。 ドライバーは、この値を 0 に設定する必要があります。

[in] Size

データ が指すバッファーのサイズ バイト単位で指定します。

[out] Data

ルーチンがデバイス インターフェイスのプロパティ データを書き込む呼び出し元によって割り当てられたバッファーへのポインター。

[out] RequiredSize

IoGetDeviceInterfacePropertyData プロパティ データの必要なサイズを書き込む ULONG 変数へのポインター。 ルーチンが成功した場合、必要なサイズ値は、データ が指 出力バッファーにルーチンが書き込むバイト数です。 ルーチンがSTATUS_BUFFER_TOO_SMALLを返す場合、必要なサイズ値は、呼び出し元がこのプロパティ値に割り当てるバッファーのサイズです。

[out] Type

DEVPROPTYPE 変数へのポインター。 IoGetDeviceInterfacePropertyData プロパティ データを正常に取得した場合、ルーチンはプロパティ型の値をこの変数に書き込みます。 この値は、Data バッファー内にあるプロパティ データの種類を示します。

戻り値

IoGetDeviceInterfacePropertyData 、成功した場合はSTATUS_SUCCESSを返します。 考えられるエラー戻り値には、次の状態コードが含まれます。

リターン コード 形容
STATUS_BUFFER_TOO_SMALL Data が指 バッファーが小さすぎて、プロパティ データを格納できません。RequiredSize * には、必要なバッファー長が含まれています。
STATUS_UNSUCCESSFUL 指定された LCID 値が無効です。
STATUS_NOT_IMPLEMENTED 指定されたプロパティはサポートされていません。

備考

カーネル モード ドライバーは、IoGetDeviceInterfacePropertyData ルーチンを使用して、統合デバイス プロパティ モデルの一部として定義されているデバイス インターフェイス プロパティを取得します。 デバイス インターフェイスのプロパティの詳細については、「デバイスのプロパティを参照してください。

ドライバーは、IoSetDeviceInterfacePropertyData ルーチンを使用して、デバイス インターフェイスのプロパティを変更できます。

IoGetDeviceInterfacePropertyData の呼び出し元は、システム スレッドのコンテキストで IRQL = PASSIVE_LEVELで実行されている必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows 8 以降のバージョンの Windows で使用できます。
ターゲット プラットフォーム 万国
ヘッダー wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

関連項目

DEVPROPKEY する

DEVPROPTYPE する

IoSetDeviceInterfacePropertyData