VideoPortMapBankedMemory 函式 (video.h)
VideoPortMapBankedMemory 函式已經過時,而且僅支援 Windows NT 4.0 和先前驅動程式。 Windows 2000 和更新版本的驅動程序必須使用 VideoPortMapMemory。
VideoPortMapBankedMemory 會將總線相對實體範圍的視訊記憶體重新對應至對應的顯示驅動程式虛擬位址空間,以回應 IoControlCode 成員設定為 IOCTL_VIDEO_SHARE_VIDEO_MEMORY 或 IOCTL_VIDEO_MAP_VIDEO_MEMORY的 VRP。
語法
VIDEOPORT_DEPRECATED VIDEOPORT_API VP_STATUS VideoPortMapBankedMemory(
PVOID HwDeviceExtension,
PHYSICAL_ADDRESS PhysicalAddress,
PULONG Length,
PULONG InIoSpace,
PVOID *VirtualAddress,
ULONG BankLength,
UCHAR ReadWriteBank,
PBANKED_SECTION_ROUTINE BankRoutine,
PVOID Context
);
參數
HwDeviceExtension
迷你埠驅動程式裝置延伸模組的指標。
PhysicalAddress
指定要對應之範圍的總線相對基位址。
Length
變數的指標,指定要對應之裝置記憶體的位元組總數 (,不論銀行大小) 為何。 VideoPortMapBankedMemory 會傳回這個參數中可四捨五入至系統決定對齊界限的實際記憶體大小。 不過,迷你埠和顯示器驅動程式無法存取超出以 長度輸入值分隔範圍的記憶體。
InIoSpace
指出範圍的位置。 此參數可以是下列其中一個值:
值 | 意義 |
---|---|
VIDEO_MEMORY_SPACE_DENSE | 已淘汰 |
VIDEO_MEMORY_SPACE_IO | 此範圍位於系統 I/O 空間中,而不是記憶體空間中。 |
VIDEO_MEMORY_SPACE_MEMORY | 此範圍位於記憶體空間中,而不是在系統 I/O 空間中。 |
VIDEO_MEMORY_SPACE_P6CACHE | 處理器會匯總寫入作業序列,並將其傳送至指定的快取行。 處理器接著會排清快取。 只有在未設定VIDEO_MEMORY_SPACE_IO時,此旗標才有意義。 |
VIDEO_MEMORY_SPACE_USER_MODE | 指出指定的位址範圍應該對應到使用者模式,而不是核心模式。 只有在未設定VIDEO_MEMORY_SPACE_IO時,此旗標才有意義。 |
VirtualAddress
這是必須對應記憶體之進程的句柄,或 為 NULL。 NULL 指定埠驅動程式應該對應目前進程位址空間中任何位置的邏輯記憶體範圍。 否則,此句柄可以是迷你埠驅動程式對應的顯示驅動程式傳入 VRP 中的值。 從成功的呼叫傳回時, VideoPortMapBankedMemory 會將變數重設為它已對應至指定 PhysicalAddress 的基底虛擬位址。
BankLength
指定銀行的大小,以位元組為單位。
ReadWriteBank
如果設定為 TRUE ,則銀行為讀取\写入;如果設定為 FALSE ,則有兩個獨立讀取和寫入銀行。
BankRoutine
當顯示驅動程式存取新銀行時,記憶體管理員所呼叫之驅動程式提供的 HwVidBankedMemoryCallback 函式指標。
Context
呼叫 BankRoutine 時傳回至驅動程式的迷你埠驅動程式提供內容的指標。
傳回值
如果指定的邏輯範圍已成功對應至用戶空間虛擬範圍,VideoPortMapBankedMemory 會傳回NO_ERROR。 否則,它可以傳回ERROR_INVALID_PARAMETER。
備註
VideoPortMapBankedMemory 會在與起始呼叫的使用者模式線程相同的內容中,以核心模式執行。
VideoPortMapBankedMemory 是由迷你埠驅動程式呼叫,以有效率地管理僅限於在銀行中對應框架緩衝區的 x86 類型裝置。 當這個例程返回呼叫端時,迷你埠驅動程式所管理的框架緩衝區會對應為線性框架緩衝區,以對應至要求進程的位址空間, (請參閱 VirtualAddress 參數) 。 當存取該對應空間中的位址時,記憶體管理員會呼叫迷你埠驅動程式來更新銀行索引緩存器,以指向包含目前參考位址的新銀行。 BankRoutine 中的迷你埠驅動程式會維護銀行索引緩存器。 正確的銀行索引是由記憶體管理員透明地計算到顯示驅動程式,並在回呼中傳遞至 Miniport驅動程式至 BankRoutine。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows 2000 和更新版本的 Windows 作業系統中使用。 |
目標平台 | 桌面 |
標頭 | video.h (包含 Video.h) |
程式庫 | Videoprt.lib |
Dll | Videoprt.sys |
IRQL | PASSIVE_LEVEL |
另請參閱
IOCTL_VIDEO_SHARE_VIDEO_MEMORY