VIDEO_SHARE_MEMORY_INFORMATION structure (ntddvdeo.h)

The VIDEO_SHARE_MEMORY_INFORMATION structure is used to communicate to the display driver that a request for a block of user-mode memory has been fulfilled.

Syntax

typedef struct _VIDEO_SHARE_MEMORY_INFORMATION {
  ULONG SharedViewOffset;
  ULONG SharedViewSize;
  PVOID VirtualAddress;
} VIDEO_SHARE_MEMORY_INFORMATION, *PVIDEO_SHARE_MEMORY_INFORMATION;

Members

SharedViewOffset

Indicates the offset, in bytes, from the beginning of the frame buffer.

SharedViewSize

Indicates the size, in bytes, of the frame buffer. The value of this member will always be a multiple of 64 KB.

VirtualAddress

Indicates the address in virtual memory at which the requested memory was mapped.

Remarks

When an application must have access to user-mode video memory, the display driver can call into the video miniport driver by sending it an IOCTL_VIDEO_SHARE_VIDEO_MEMORY request. The miniport driver uses a VIDEO_SHARE_MEMORY structure as an input buffer, and communicates back to the display driver a VIDEO_SHARE_MEMORY_INFORMATION structure.

The video miniport driver fills out a VIDEO_SHARE_MEMORY_INFORMATION structure based on information in a VIDEO_SHARE_MEMORY structure. The following table summarizes how the information is used:

VIDEO_SHARE_MEMORY member Result on VIDEO_SHARE_MEMORY_INFORMATION
ProcessHandle Is not used.
ViewOffset Copied directly to SharedViewOffset.
ViewSize Values that are multiples of 64 KB are copied directly to SharedViewSize. Other values are rounded up to the next larger multiple of 64 KB.
RequestedVirtualAddress If NULL, the miniport driver determines the address of a frame buffer to assign to VirtualAddress. If non-NULL, the miniport driver attempts to assign that value to VirtualAddress.

Requirements

Requirement Value
Header ntddvdeo.h (include Ntddvdeo.h)

See also

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

VIDEO_SHARE_MEMORY