AtaPortGetUnCachedExtension 函式 (irb.h)

AtaPortGetUncachedExtension 例程會配置 CPU 和裝置共用的未快取通用緩衝區。

注意 ATA 埠驅動程式和 ATA 迷你埠驅動程式模型未來可能會改變或無法使用。 相反地,我們建議使用 Storport 驅動程式Storport 迷你埠 驅動程式模型。
 

語法

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

另請參閱

IdeHwControl