這個 IOCTL 是由將使用者模式視訊記憶體共用為線性 框架緩衝區的程式所呼叫,。 Miniport 驅動程式會將框架緩衝區對應至呼叫者的位址空間,VideoPortMapBankedMemory來處理此 IOCTL。 否則,這個 IOCTL 與 IOCTL_VIDEO_MAP_VIDEO_MEMORY相同。
此要求同時為強制回應和非模式:迷你埠驅動程序必須傳回視訊記憶體中框架緩衝區的位置大小,而畫面緩衝區大小和位置可能會因模式而異(強制回應特性),但後續的設定模式作業(相同模式)不得造成視訊記憶體變更位置(非模式特性)。
此 IOCTL 僅限 DCI。
主要程序代碼
輸入緩衝區
VRP InputBuffer 包含 VIDEO_SHARE_MEMORY 結構,指定進程對應框架緩衝區的句柄,以及要求的檢視大小和位移到共用記憶體中。 檢視大小加上位移不能超過適配卡的記憶體大小。
輸出緩衝區
迷你埠驅動程式會傳回 VRP OutputBuffer中的 VIDEO_SHARE_MEMORY_INFORMATION 結構。 此輸出包含視訊記憶體對應的虛擬位址、對應記憶體位元組的檢視大小,以及檢視中的位移。
狀態區塊
如果迷你埠驅動程式成功對應記憶體,它會將 STATUS_BLOCK 結構的 Information 成員設定為 sizeof(VIDEO_SHARE_MEMORY_INFORMATION):否則,迷你埠驅動程式會將這個成員設定為零。
要求
要求 | 價值 |
---|---|
標頭 | ntddvdeo.h |