System-Defined IOCTL_VIDEO_XXX Requests

Typically, most video miniport drivers support the following requests:

IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES

IOCTL_VIDEO_QUERY_AVAIL_MODES

IOCTL_VIDEO_QUERY_CURRENT_MODE

IOCTL_VIDEO_SET_CURRENT_MODE

IOCTL_VIDEO_RESET_DEVICE

IOCTL_VIDEO_MAP_VIDEO_MEMORY

IOCTL_VIDEO_UNMAP_VIDEO_MEMORY

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY

IOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGES

IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES

IOCTL_VIDEO_GET_POWER_MANAGEMENT

IOCTL_VIDEO_SET_POWER_MANAGEMENT

IOCTL_VIDEO_GET_CHILD_STATE

IOCTL_VIDEO_SET_CHILD_STATE_CONFIGURATION

IOCTL_VIDEO_VALIDATE_CHILD_STATE_CONFIGURATION

Depending on the adapter's features, video miniport drivers can support the following additional requests:

IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES

IOCTL_VIDEO_SET_COLOR_REGISTERS (required if the device has a palette)

IOCTL_VIDEO_DISABLE_POINTER

IOCTL_VIDEO_ENABLE_POINTER

IOCTL_VIDEO_QUERY_POINTER_CAPABILITIES

IOCTL_VIDEO_QUERY_POINTER_ATTR

IOCTL_VIDEO_SET_POINTER_ATTR

IOCTL_VIDEO_QUERY_POINTER_POSITION

IOCTL_VIDEO_SET_POINTER_POSITION

IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS

IOCTL_VIDEO_SWITCH_DUALVIEW

VGA-compatible SVGA miniport drivers are required to support the following additional requests:

IOCTL_VIDEO_SAVE_HARDWARE_STATE

IOCTL_VIDEO_RESTORE_HARDWARE_STATE

IOCTL_VIDEO_DISABLE_CURSOR

IOCTL_VIDEO_ENABLE_CURSOR

IOCTL_VIDEO_QUERY_CURSOR_ATTR

IOCTL_VIDEO_SET_CURSOR_ATTR

IOCTL_VIDEO_QUERY_CURSOR_POSITION

IOCTL_VIDEO_SET_CURSOR_POSITION

IOCTL_VIDEO_GET_BANK_SELECT_CODE

IOCTL_VIDEO_SET_PALETTE_REGISTERS

IOCTL_VIDEO_LOAD_AND_SET_FONT

Details for each IOCTL can be found in Video Miniport Driver I/O Control Codes. Miniport driver writers should not use undocumented system-defined IOCTLs.