VIDEO_SHARE_MEMORY 結構 (ntd)
VIDEO_SHARE_MEMORY 結構用於對視訊迷你埠驅動程式的要求,以便將使用者模式記憶體區塊與指定的進程共用。
語法
typedef struct _VIDEO_SHARE_MEMORY {
HANDLE ProcessHandle;
ULONG ViewOffset;
ULONG ViewSize;
PVOID RequestedVirtualAddress;
} VIDEO_SHARE_MEMORY, *PVIDEO_SHARE_MEMORY;
成員
ProcessHandle
這是目前進程的句柄。 此成員通常會設定為 NtCurrentProcess,這是 在 Ntddk.h 中定義的宏。
ViewOffset
指出框架 緩衝區開頭的位元組位移。 此成員通常設定為 0。
ViewSize
表示框架緩衝區的大小,以位元組為單位。
RequestedVirtualAddress
指出進程記憶體中要求之框架緩衝區的位置。 這個成員通常會設定為 NULL,這表示顯示驅動程式寫入器不會關心所要求記憶體的精確位置。 如果這個成員設定為非 NULL 值,顯示驅動程式寫入器會想要將框架緩衝區放在該位址。 在此情況下,顯示器驅動程式寫入器必須確定指定的位置尚未用於其他用途。
備註
提供VIDEO_SHARE_MEMORY,讓 Direct Draw 之類的應用程式可以檢視視視訊記憶體。 雖然顯示驅動程式無法直接提供對視訊記憶體的這類存取,但它可以呼叫視訊迷你埠驅動程式以供此用途使用。 顯示驅動程式會傳送 IOCTL_VIDEO_SHARE_VIDEO_MEMORY 要求給迷你埠驅動程序來執行此動作。 當迷你埠驅動程序滿足此要求時,它會使用VIDEO_SHARE_MEMORY結構中的資訊,並在未指定位置時填入 VIDEO_SHARE_MEMORY_INFORMATION 結構中要求記憶體的實際位置。 當應用程式不再需要共用記憶體時,顯示驅動程式可以發出 IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY 要求來釋放此記憶體,這也會使用VIDEO_SHARE_MEMORY結構做為輸入緩衝區。
如需用於對應至核心模式視訊記憶體的結構,請參閱 VIDEO_MEMORY 和 VIDEO_MEMORY_INFORMATION。
規格需求
需求 | 值 |
---|---|
標頭 | ntd (包含 Ntd) |
另請參閱
IOCTL_VIDEO_SHARE_VIDEO_MEMORY