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 (include Video.h) |
IRQL | PASSIVE_LEVEL |