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

是当前进程的句柄。 此成员通常设置为 NtCurrentProcessNtddk.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

要求

要求 价值
标头 ntddvdeo.h (包括 Ntddvdeo.h)

另请参阅

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY

VIDEO_SHARE_MEMORY_INFORMATION