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_MEMORYVIDEO_MEMORY_INFORMATION

規格需求

需求
標頭 ntd (包含 Ntd)

另請參閱

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY

VIDEO_SHARE_MEMORY_INFORMATION