AtaPortGetUnCachedExtension 関数 (irb.h)
AtaPortGetUncachedExtension ルーチンは、CPU とデバイスによって共有されるキャッシュされていない共通バッファーを割り当てます。
構文
PVOID AtaPortGetUnCachedExtension(
[in] PVOID ChannelExtension,
[in] ULONG UncachedExtensionSize,
[in] ULONG IrbExtensionSize
);
パラメーター
[in] ChannelExtension
チャネル拡張機能へのポインター。
[in] UncachedExtensionSize
キャッシュされていない共通バッファーの長さをバイト単位で指定します。 ミニポート ドライバーがキャッシュされていない拡張機能を必要としない場合は、このパラメーターを 0 に設定します。
[in] IrbExtensionSize
要求ごとの記憶域にミニポート ドライバーが必要とするサイズ (バイト単位) を指定します (存在する場合)。
ミニポート ドライバーが記憶域を必要とする IRB 情報ごとに維持しない場合は、このパラメーターを 0 に設定します。
戻り値
AtaPortGetUncachedExtension 、キャッシュされていない拡張機能への仮想アドレス ポインターを返します。 要求されたメモリを割り当てることができない場合、またはメモリが以前に割り当てられた場合は、NULLを返します。
備考
ミニポート ドライバーは、特定の要求を処理するために必要なデータなど、ドライバーによって決定された、要求固有の情報の記憶域として IRB 拡張機能を使用できます。
ポート ドライバーは IRB 拡張機能を初期化しませんが、ミニポート ドライバーに送信する各 IRB 内の拡張機能へのポインターを設定します。
HBA ハードウェアは、IRB 拡張機能に安全にアクセスできます。
ミニポート ドライバーは、IdeHwControl ルーチン以外の任意のルーチンから AtaPortGetUncachedExtension を呼び出す必要があります StartChannelのコントロール アクションを処理している場合にのみ。 他のミニポート ドライバー ルーチンから AtaPortGetUncachedExtension を呼び出すと、操作が正しくないか、システム障害が発生します。 ポート ドライバーは、StopChannel 制御アクションを使用して IdeHwControl 呼び出した後、キャッシュされていない拡張機能を自動的に解放します。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | irb.h (Ata.h、Irb.h を含む) |
ライブラリ | Ataport.lib;Pciidex.lib |