System-Defined IOCTL_VIDEO_XXX Requests

All video miniport drivers are required to 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_GET_PUBLIC_ACCESS_RANGES

·IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES

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

·IOCTL_VIDEO_GET_POWER_MANAGEMENT

·IOCTL_VIDEO_SET_POWER_MANAGEMENT

·IOCTL_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

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

The following requests are obsolete but defined for compatibility with existing VGA-compatible miniport drivers:

·IOCTL_VIDEO_QUERY_NUM_AVAIL_FONTS

·IOCTL_VIDEO_QUERY_AVAIL_FONTS

·IOCTL_VIDEO_QUERY_CURRENT_FONT

·IOCTL_VIDEO_SET_CURRENT_FONT