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,以便直接绘制等应用程序可以查看视频内存。 尽管显示驱动程序无法直接提供对视频内存的此类访问,但它可以为此调用视频微型端口驱动程序。 显示驱动程序通过向微型端口驱动程序发送 IOCTL_VIDEO_SHARE_VIDEO_MEMORY 请求来执行此操作。 当微型端口驱动程序满足此请求时,它会使用VIDEO_SHARE_MEMORY结构中的信息,如果未指定任何位置,则会使用所请求内存的实际位置填充 VIDEO_SHARE_MEMORY_INFORMATION 结构。 当应用程序不再需要共享内存时,显示驱动程序可以通过发出 IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY 请求来释放此内存,该请求也使用VIDEO_SHARE_MEMORY结构作为输入缓冲区。

有关映射到内核模式视频内存中使用的结构,请参阅 VIDEO_MEMORYVIDEO_MEMORY_INFORMATION

要求

要求
Header ntddvdeo.h (包括 Ntddvdeo.h)

另请参阅

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY

VIDEO_SHARE_MEMORY_INFORMATION