共用方式為


IOCTL_VIDEO_SHARE_VIDEO_MEMORY IOCTL (ntddvdeo.h)

這個 IOCTL 是由將使用者模式視訊記憶體共用為線性 框架緩衝區的程式所呼叫,。 Miniport 驅動程式會將框架緩衝區對應至呼叫者的位址空間,VideoPortMapBankedMemory來處理此 IOCTL。 否則,這個 IOCTL 與 IOCTL_VIDEO_MAP_VIDEO_MEMORY相同。

此要求同時為強制回應和非模式:迷你埠驅動程序必須傳回視訊記憶體中框架緩衝區的位置大小,而畫面緩衝區大小和位置可能會因模式而異(強制回應特性),但後續的設定模式作業(相同模式)不得造成視訊記憶體變更位置(非模式特性)。

此 IOCTL 僅限 DCI。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

VRP InputBuffer 包含 VIDEO_SHARE_MEMORY 結構,指定進程對應框架緩衝區的句柄,以及要求的檢視大小和位移到共用記憶體中。 檢視大小加上位移不能超過適配卡的記憶體大小。

輸出緩衝區

迷你埠驅動程式會傳回 VRP OutputBuffer中的 VIDEO_SHARE_MEMORY_INFORMATION 結構。 此輸出包含視訊記憶體對應的虛擬位址、對應記憶體位元組的檢視大小,以及檢視中的位移。

狀態區塊

如果迷你埠驅動程式成功對應記憶體,它會將 STATUS_BLOCK 結構的 Information 成員設定為 sizeof(VIDEO_SHARE_MEMORY_INFORMATION):否則,迷你埠驅動程式會將這個成員設定為零。

要求

要求 價值
標頭 ntddvdeo.h

另請參閱

IOCTL_VIDEO_MAP_VIDEO_MEMORY

STATUS_BLOCK

VIDEO_SHARE_MEMORY

VIDEO_SHARE_MEMORY_INFORMATION

VideoPortMapBankedMemory