IoGetDevicePropertyData 関数 (wdm.h)

IoGetDevicePropertyData ルーチンは、デバイス プロパティの現在の設定を取得します。

構文

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

パラメーター

[in] Pdo

クエリ対象のデバイスの物理デバイス オブジェクト (PDO) へのポインター。

[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

Data で返されるプロパティ情報のサイズを受け取る ULONG へのポインター。 IoGetDevicePropertyData がSTATUS_BUFFER_TOO_SMALLを返す場合、呼び出し元はこの値を使用して、正しいサイズのバッファーを割り当てることができます。

[out] Type

DEVPROPTYPE 値へのポインター。 IoGetDevicePropertyData が正常に完了した場合、ルーチンは Type を使用して、データ バッファーに返されるデータの型を指定します。

戻り値

IoGetDevicePropertyData は NTSTATUS 値を返します。 このルーチンは、次のいずれかの値を返す場合があります。

リターン コード 説明
STATUS_SUCCESS
操作が成功しました。 データ バッファーには、取得されたデータが含まれます。 **Type* には、取得したデータの型が含まれます。
STATUS_BUFFER_TOO_SMALL
データ バッファーが小さすぎます。 **RequiredSize* には、必要なバッファー長が含まれています。
STATUS_OBJECT_NAME_NOT_FOUND
指定されたデバイス プロパティが見つかりませんでした。

注釈

カーネル モード ドライバーは 、IoGetDevicePropertyData ルーチンを使用して、統合デバイス プロパティ モデルの一部として定義されているデバイス プロパティを取得します。

このルーチンで使用できるプロパティの種類を確認するには、 のDEVPROP_TYPE_BYTE ページと隣接するページを DEVPROP_TYPE_*参照してください。

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

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

要件

要件
サポートされている最小のクライアント Windows Vista 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

こちらもご覧ください

DEVPROPKEY

DEVPROPTYPE

IoSetDevicePropertyData