63 for (ModeNumber = 0,
VideoMode = ModeInformation;
64 ModeNumber < DeviceExtension->ModeCount;
88 Modes->NumModes = DeviceExtension->ModeCount;
134 MapInformation->VideoRamBase = RequestedAddress->RequestedVirtualAddress;
135 MapInformation->VideoRamLength = DeviceExtension->FrameBufferLength;
138 DeviceExtension->FrameBuffer,
139 &MapInformation->VideoRamLength,
141 &MapInformation->VideoRamBase);
149 MapInformation->FrameBufferBase = MapInformation->VideoRamBase;
150 MapInformation->FrameBufferLength = MapInformation->VideoRamLength;
171 VideoMemory->RequestedVirtualAddress,
204 StatusBlock->Information =
sizeof(
ULONG);
223 switch (RequestPacket->IoControlCode)
235 RequestPacket->StatusBlock);
250 RequestPacket->StatusBlock);
256 if (RequestPacket->InputBufferLength <
sizeof(
VIDEO_MODE))
277 RequestPacket->StatusBlock);
283 if (RequestPacket->InputBufferLength <
sizeof(
VIDEO_MEMORY) ||
293 RequestPacket->StatusBlock);
299 if (RequestPacket->InputBufferLength <
sizeof(
VIDEO_MEMORY))
318 if (RequestPacket->InputBufferLength <
sizeof(
VIDEO_CLUT))
330 if (RequestPacket->InputBufferLength <
sizeof(
ULONG) ||
331 RequestPacket->OutputBufferLength <
sizeof(
ULONG))
338 (
PULONG)RequestPacket->InputBuffer,
339 (
PULONG)RequestPacket->OutputBuffer,
340 RequestPacket->StatusBlock);
351 RequestPacket->StatusBlock->Status =
Status;
#define ERROR_INSUFFICIENT_BUFFER
#define ERROR_INVALID_FUNCTION
struct _VideoMode VideoMode
#define IOCTL_VIDEO_MAP_VIDEO_MEMORY
#define VIDEO_MODE_GRAPHICS
#define IOCTL_VIDEO_UNMAP_VIDEO_MEMORY
#define VIDEO_MODE_PALETTE_DRIVEN
#define IOCTL_VIDEO_QUERY_CURRENT_MODE
#define IOCTL_VIDEO_GET_CHILD_STATE
#define VIDEO_MODE_MANAGED_PALETTE
#define IOCTL_VIDEO_SET_CURRENT_MODE
#define IOCTL_VIDEO_SET_COLOR_REGISTERS
#define IOCTL_VIDEO_RESET_DEVICE
struct _VIDEO_NUM_MODES VIDEO_NUM_MODES
struct _VIDEO_MEMORY_INFORMATION VIDEO_MEMORY_INFORMATION
#define VIDEO_CHILD_ACTIVE
struct _VIDEO_MODE_INFORMATION VIDEO_MODE_INFORMATION
#define IOCTL_VIDEO_QUERY_AVAIL_MODES
#define IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES
VPAPI VP_STATUS NTAPI VideoPortUnmapMemory(IN PVOID HwDeviceExtension, IN OUT PVOID VirtualAddress, IN HANDLE ProcessHandle)
VPAPI VP_STATUS NTAPI VideoPortMapMemory(IN PVOID HwDeviceExtension, IN PHYSICAL_ADDRESS PhysicalAddress, IN OUT PULONG Length, IN PULONG InIoSpace, IN OUT PVOID *VirtualAddress)
#define VIDEO_MEMORY_SPACE_MEMORY
#define VideoDebugPrint(x)
static const VBE_MODE Modes[VBE_MODE_COUNT]
static CONST VGA_MODE VideoModes[BIOS_MAX_VIDEO_MODE+1]
VP_STATUS FASTCALL Pc98VidSetColorRegisters(_In_ PVIDEO_CLUT ColorLookUpTable)
VP_STATUS FASTCALL Pc98VidSetCurrentMode(_In_ PHW_DEVICE_EXTENSION DeviceExtension, _In_ PVIDEO_MODE RequestedMode)
static VP_STATUS FASTCALL Pc98VidUnmapVideoMemory(_In_ PHW_DEVICE_EXTENSION DeviceExtension, _In_ PVIDEO_MEMORY VideoMemory)
static VP_STATUS FASTCALL Pc98VidMapVideoMemory(_In_ PHW_DEVICE_EXTENSION DeviceExtension, _In_ PVIDEO_MEMORY RequestedAddress, _Out_ PVIDEO_MEMORY_INFORMATION MapInformation, _Out_ PSTATUS_BLOCK StatusBlock)
static VP_STATUS FASTCALL Pc98VidGetChildState(_In_ PHW_DEVICE_EXTENSION DeviceExtension, _In_ PULONG ChildIndex, _Out_ PULONG ChildState, _Out_ PSTATUS_BLOCK StatusBlock)
static VP_STATUS FASTCALL Pc98VidQueryNumAvailModes(_In_ PHW_DEVICE_EXTENSION DeviceExtension, _Out_ PVIDEO_NUM_MODES Modes, _Out_ PSTATUS_BLOCK StatusBlock)
BOOLEAN NTAPI Pc98VidStartIO(_In_ PVOID HwDeviceExtension, _Inout_ PVIDEO_REQUEST_PACKET RequestPacket)
static VP_STATUS FASTCALL Pc98VidQueryAvailModes(_In_ PHW_DEVICE_EXTENSION DeviceExtension, _Out_ PVIDEO_MODE_INFORMATION ModeInformation, _Out_ PSTATUS_BLOCK StatusBlock)
static VOID FASTCALL Pc98VidQueryMode(_In_ PHW_DEVICE_EXTENSION DeviceExtension, _In_ ULONG ModeNumber, _Out_ PVIDEO_MODE_INFORMATION VideoMode)
static VP_STATUS FASTCALL Pc98VidResetDevice(VOID)
static VP_STATUS FASTCALL Pc98VidQueryCurrentMode(_In_ PHW_DEVICE_EXTENSION DeviceExtension, _Out_ PVIDEO_MODE_INFORMATION VideoMode, _Out_ PSTATUS_BLOCK StatusBlock)