Expand Minimize

IOCTL_VIDEO_SHARE_VIDEO_MEMORY control code

This IOCTL is called by a process that will share user-mode video memory as a linear frame buffer. Miniport drivers handle this IOCTL by mapping the frame buffer into the caller's address space with VideoPortMapBankedMemory. Otherwise this IOCTL is the same as IOCTL_VIDEO_MAP_VIDEO_MEMORY.

This request is both modal and nonmodal: the miniport driver must return the location size of the frame buffer within video memory, and the frame buffer size and location can vary from mode to mode (modal characteristic), but a subsequent set-mode operation (to the same mode) must not cause the video memory to change location (nonmodal characteristic).

This IOCTL is DCI only.

Input Parameters

The VRP InputBuffer contains a VIDEO_SHARE_MEMORY structure specifying a handle to the process mapping the frame buffer, and the requested view size and offset into the shared memory. The view size plus the offset must not exceed the memory size of the adapter.

Output Parameters

The miniport driver returns the VIDEO_SHARE_MEMORY_INFORMATION structure in the VRP OutputBuffer. This output contains the virtual address where the video memory is mapped, the view size in bytes of the mapped memory and the offset into the view.

I/O Status Block

If the miniport driver successfully maps the memory, it sets the Information member of the STATUS_BLOCK structure to sizeof(VIDEO_SHARE_MEMORY_INFORMATION); otherwise, the miniport driver sets this member to zero.

Requirements

Header

Ntddvdeo.h (include Ntddvdeo.h)

See also

VideoPortMapBankedMemory
IOCTL_VIDEO_MAP_VIDEO_MEMORY
VIDEO_SHARE_MEMORY
VIDEO_SHARE_MEMORY_INFORMATION
STATUS_BLOCK

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft