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 を呼び出した後、キャッシュされていない拡張機能を自動的に解放します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | irb.h (Ata.h、Irb.h を含む) |
Library | Ataport.lib;Pciidex.lib |