Share via


PAGP_RESERVE_VIRTUAL videoagp.h (回呼函式)

AgpReserveVirtual 函式會保留 AGP 的虛擬位址範圍。

語法

PAGP_RESERVE_VIRTUAL PagpReserveVirtual;

PVOID PagpReserveVirtual(
  [in]  IN PVOID HwDeviceExtension,
  [in]  IN HANDLE ProcessHandle,
  [in]  IN PVOID PhysicalReserveContext,
  [out] OUT PVOID *VirtualReserveContext
)
{...}

參數

[in] HwDeviceExtension

迷你埠驅動程式裝置延伸模組的指標。

[in] ProcessHandle

要在其中保留虛擬位址範圍的處理程式句柄。 如果 ProcessHandle 為 0,則會在系統空間中配置虛擬位址範圍。

[in] PhysicalReserveContext

這是內容句柄,可識別要與虛擬記憶體保留建立關聯的保留實體位址範圍。 此內容是從 AgpReservePhysical 取得。

[out] VirtualReserveContext

這是視訊埠驅動程式寫入可識別保留虛擬記憶體的內容句柄的位置。

傳回值

如果成功,AgpReserveVirtual 會傳回保留虛擬位址範圍的基位址;否則會傳回 NULL

備註

如果 ProcessHandle 不是 0, 則 AgpReserveVirtual 會保留但不認可使用者模式進程地址空間中的一系列虛擬位址。 在此情況下,您必須呼叫 AgpCommitVirtual ,將保留 (使用者模式) 虛擬位址對應至實體位址。

如果 ProcessHandle 為 0, 則 AgpReserveVirtual 會在系統空間中配置一系列虛擬位址,並自動將 (認可) 整個虛擬位址範圍對應至實體位址。 即使 AgpReserveVirtual 認可整個虛擬範圍,您仍然必須在任何程式碼存取虛擬範圍之前呼叫 AgpCommitVirtual

當您呼叫 AgpReserveVirtual 以在系統空間中配置一系列虛擬位址 (也就是說,如果您將 ProcessHandle 設定為 0) ,PhysicalReserveContext 所識別的整個實體位址範圍必須認可為先前呼叫 AgpCommitPhysical 的鎖定實體記憶體頁面。

迷你埠驅動程式可以呼叫 AgpReleaseVirtual 數次,以保留許多較小的位址範圍,而不是一個大型範圍。

迷你埠驅動程序應該呼叫 AgpReleaseVirtual ,以在不再需要時釋放保留的虛擬位址範圍。

規格需求

需求
最低支援的用戶端 可在 Windows 2000 和更新版本的 Windows 作業系統中使用。
目標平台 桌面
標頭 videoagp.h (包含 Video.h)
IRQL PASSIVE_LEVEL

另請參閱

AgpCommitPhysical

AgpCommitVirtual

AgpReleaseVirtual

AgpReservePhysical