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
Data が指すバッファーのサイズ (バイト単位)。
[out] Data
デバイス プロパティ データへのポインター。
[out] RequiredSize
Dataで返されるプロパティ情報のサイズを受け取る ULONG へのポインター。 IoGetDevicePropertyData STATUS_BUFFER_TOO_SMALLが返された場合、呼び出し元はこの値を使用して、適切なサイズのバッファーを割り当てることができます。
[out] Type
DEVPROPTYPE 値へのポインター。 IoGetDevicePropertyData 正常に完了した場合、ルーチンは 型 を使用して、Data バッファーに返されるデータの型を指定します。
戻り値
IoGetDevicePropertyData は NTSTATUS 値を返します。 このルーチンは、次のいずれかの値を返す場合があります。
リターン コード | 形容 |
---|---|
|
操作は成功しました。 Data バッファーには、取得したデータが含まれています。 **Type* には、取得したデータの型が含まれます。 |
|
Data バッファーが小さすぎます。 **RequiredSize* には、必要なバッファー長が含まれています。 |
|
指定されたデバイス プロパティが見つかりませんでした。 |
備考
カーネル モード ドライバーは、IoGetDevicePropertyData ルーチンを使用して、統合デバイス プロパティ モデルの一部として定義されているデバイス プロパティを取得します。
このルーチンで使用できるプロパティの種類を確認するには、DEVPROP_TYPE_*
の DEVPROP_TYPE_BYTE ページと隣接するページを参照してください。
ドライバーは、IoSetDevicePropertyData ルーチンを使用して、デバイスのプロパティを変更できます。
IoGetDevicePropertyData の呼び出し元は、システム スレッドのコンテキストで IRQL <= APC_LEVELで実行されている必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
DDI コンプライアンス規則 を する | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
関連項目
DEVPROPKEY を する
DEVPROPTYPE を する
IoSetDevicePropertyData の