VIDEO_SHARE_MEMORY結構(ntddvdeo.h)
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。
要求
要求 | 價值 |
---|---|
標頭 | ntddvdeo.h (include Ntddvdeo.h) |
另請參閱
IOCTL_VIDEO_SHARE_VIDEO_MEMORY