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
デバイス インターフェイス インスタンスを識別する文字列へのポインター。 この文字列は、IoGetDeviceInterfaces、IoGetDeviceInterfaceAlias、または 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 の