// ntddvdeo.h
typedef struct _VIDEO_MEMORY_INFORMATION {
PVOID VideoRamBase;
ULONG VideoRamLength;
PVOID FrameBufferBase;
ULONG FrameBufferLength;
} VIDEO_MEMORY_INFORMATION, *PVIDEO_MEMORY_INFORMATION;
View the official Windows Driver Kit DDI referenceNo description available.
The VIDEO_MEMORY_INFORMATION structure contains information about a mapping of video memory into system space or the private virtual address space of a user-mode process. The mapping is created when an IOCTL_VIDEO_MAP_VIDEO_MEMORY request is sent to the video miniport driver.
VideoRamBaseVirtual address of the video RAM in system space or in the address space of the user-mode process that initiated the request.
VideoRamLengthThe size, in bytes, of the virtual address range that is mapped to video RAM. Memory accessible through a bank switch mechanism is not described by this value.
This value must be equal to the product VideoMemoryBitmapHeight * ScreenStride, where each factor in the product is a member of the VIDEO_MODE_INFORMATION structure.
FrameBufferBasePointer to the virtual address of the frame buffer in the caller's address space. The frame buffer is the actively displayed part of video RAM.
FrameBufferLengthSpecifies the linear length of the frame buffer in the caller's virtual address space. Memory accessible through a bank switch mechanism is not described by this value.
This value must be equal to the product VisScreenWidth * ScreenStride, where each term in this product is a member of the VIDEO_MODE_INFORMATION structure.
In the IOCTL_VIDEO_MAP_VIDEO_MEMORY request, VIDEO_MEMORY serves as an input structure, while VIDEO_MEMORY_INFORMATION serves as an output structure.
IOCTL_VIDEO_UNMAP_VIDEO_MEMORY