IoAllocateDriverObjectExtension ルーチンは、ドライバー オブジェクト拡張と呼ばれるドライバーごとのコンテキスト領域を割り当て、一意の識別子を割り当てます。
構文
NTSTATUS IoAllocateDriverObjectExtension(
[in] PDRIVER_OBJECT DriverObject,
[in] PVOID ClientIdentificationAddress,
[in] ULONG DriverObjectExtensionSize,
[out] PVOID *DriverObjectExtension
);
パラメーター
[in] DriverObject
コンテキスト領域が関連付けられるドライバー オブジェクトへのポインター。
[in] ClientIdentificationAddress
割り当てるコンテキスト領域の一意識別子を指定します。
[in] DriverObjectExtensionSize
割り当てるコンテキスト領域の長さをバイト単位で指定します。
[out] DriverObjectExtension
完了時に割り当てられたコンテキスト領域へのポインター。
戻り値
IoAllocateDriverObjectExtension 、次のいずれかの NTSTATUS コードが返されます。
リターン コード | 形容 |
---|---|
|
ルーチンが要求されたサイズの拡張を割り当てたことを示します。 |
|
ドライバー オブジェクト拡張機能にメモリを割り当てられなかったことを示します。 |
|
指定された ClientIdentificationAddress を持つドライバー オブジェクト拡張機能が既に存在することを示します。 |
備考
ドライバー オブジェクト拡張機能のシステムによって割り当てられたメモリは常駐ストレージであり、任意の IRQL からアクセスできます。 割り当てられた記憶域は、ドライバー オブジェクトが削除されると、I/O マネージャーによって自動的に解放されます。
このルーチンの呼び出し元は、ClientIdentificationAddressの一意識別子を指定する必要があります。 コンテキスト領域へのポインターを取得するために、呼び出し元は、ClientIdentificationAddress を IoGetDriverObjectExtension 渡します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
関連項目
IoGetDriverObjectExtension の