26 PVOID HwDeviceExtension,
36 PVOID HwDeviceExtension
42 PVOID HwDeviceExtension,
55 ULONG ModeInformationSize,
73 ULONG ModeInformationSize,
106 ULONG PaletteBufferSize
120 PVOID HwDeviceExtension,
124 ULONG IdentifierLength,
125 PVOID ConfigurationData,
126 ULONG ConfigurationDataLength,
127 PVOID ComponentInformation,
128 ULONG ComponentInformationLength
139 #if defined(ALLOC_PRAGMA) 140 #pragma alloc_text(PAGE,DriverEntry) 141 #pragma alloc_text(PAGE,VgaFindAdapter) 142 #pragma alloc_text(PAGE,VgaInitialize) 143 #pragma alloc_text(PAGE,VgaStartIO) 144 #pragma alloc_text(PAGE,VgaIsPresent) 145 #pragma alloc_text(PAGE,VgaSetColorLookup) 241 #if !defined(_ALPHA_) 255 if (initializationStatus ==
NO_ERROR)
257 return initializationStatus;
273 if (initializationStatus ==
NO_ERROR)
275 return initializationStatus;
286 if (initializationStatus ==
NO_ERROR)
288 return initializationStatus;
299 if (initializationStatus ==
NO_ERROR)
301 return initializationStatus;
313 if (initializationStatus >
status) {
314 initializationStatus =
status;
317 return initializationStatus;
325 PVOID HwDeviceExtension,
327 PWSTR ArgumentString,
508 PVOID HwDeviceExtension
551 PVOID HwDeviceExtension,
625 (RequestPacket->
InputBuffer))->RequestedVirtualAddress;
652 VideoDebugPrint((0,
"VgaStartIO - IOCTL_VIDEO_MAP_VIDEO_MEMORY failed VideoPortMapMemory (%x)\n",
status));
867 ULONG physicalPortLength;
918 VideoDebugPrint((0,
"Fell through vga startIO routine - invalid command\n"));
990 UCHAR originalGCAddr;
991 UCHAR originalSCAddr;
992 UCHAR originalBitMask;
993 UCHAR originalReadMap;
994 UCHAR originalMemoryMode;
1117 }
while (testMask != 0);
1226 returnStatus =
FALSE;
1256 returnStatus =
TRUE;
1259 return returnStatus;
1269 ULONG PaletteBufferSize
1359 ULONG ClutBufferSize
1420 if (CurrentMode->bitsPerPlane >= 8)
return VbeSetColorLookup(HwDeviceExtension, ClutBuffer);
1426 if (!CurrentMode->NonVgaMode)
1463 PVOID HwDeviceExtension,
1467 ULONG IdentifierLength,
1468 PVOID ConfigurationData,
1469 ULONG ConfigurationDataLength,
1470 PVOID ComponentInformation,
1471 ULONG ComponentInformationLength
VP_STATUS NTAPI VgaSetPaletteReg(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_PALETTE_DATA PaletteBuffer, ULONG PaletteBufferSize)
#define ATT_DATA_WRITE_PORT
#define ERROR_INVALID_PARAMETER
#define IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY
ULONG PhysicalFrameLength
#define ERROR_INVALID_FUNCTION
ULONG NumEmulatorAccessEntries
#define START_SYNC_RESET_VALUE
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA _In_ PVOID HwContext
#define IOCTL_VIDEO_ENABLE_VDM
VP_STATUS NTAPI VgaQueryCurrentMode(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_MODE_INFORMATION ModeInformation, ULONG ModeInformationSize, PULONG_PTR OutputSize)
union VIDEO_CLUT::@3104 LookupTable[1]
ULONG PhysicalVideoMemoryLength
#define IOCTL_VIDEO_RESET_DEVICE
INTERFACE_TYPE AdapterInterfaceType
PHYSICAL_ADDRESS PhysicalVideoMemoryBase
#define IOCTL_VIDEO_MAP_VIDEO_MEMORY
#define READ_MAP_TEST_SETTING
VPAPI ULONG NTAPI VideoPortInitialize(IN PVOID Argument1, IN PVOID Argument2, IN PVIDEO_HW_INITIALIZATION_DATA HwInitializationData, IN PVOID HwContext)
VPAPI PVOID NTAPI VideoPortGetDeviceBase(IN PVOID HwDeviceExtension, IN PHYSICAL_ADDRESS IoAddress, IN ULONG NumberOfUchars, IN UCHAR InIoSpace)
#define IOCTL_VIDEO_GET_BANK_SELECT_CODE
#define IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES
struct _VIDEO_PUBLIC_ACCESS_RANGES VIDEO_PUBLIC_ACCESS_RANGES
VPAPI VOID NTAPI VideoPortZeroMemory(IN PVOID Destination, IN ULONG Length)
#define GRAPH_ADDRESS_PORT
PVIDEO_HW_START_IO HwStartIO
#define IOCTL_VIDEO_QUERY_CURRENT_MODE
VP_STATUS NTAPI VgaInterpretCmdStream(PHW_DEVICE_EXTENSION HwDeviceExtension, PUSHORT pusCmdStream)
INTERFACE_TYPE AdapterInterfaceType
#define IOCTL_VIDEO_SET_CURRENT_MODE
#define NUM_VGA_ACCESS_RANGES
VPAPI UCHAR NTAPI VideoPortReadPortUchar(IN PUCHAR Port)
VP_STATUS NTAPI VgaSetMode(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_MODE Mode, ULONG ModeSize, PULONG PhysPtrChange)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
PEMULATOR_ACCESS_ENTRY EmulatorAccessEntries
VP_STATUS NTAPI VgaQueryNumberOfAvailableModes(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_NUM_MODES NumModes, ULONG NumModesSize, PULONG_PTR OutputSize)
#define IOCTL_VIDEO_SET_PALETTE_REGISTERS
ULONG_PTR EmulatorAccessEntriesContext
#define END_SYNC_RESET_VALUE
#define IOCTL_VIDEO_SET_CURSOR_POSITION
struct _HW_DEVICE_EXTENSION HW_DEVICE_EXTENSION
VPAPI VP_STATUS NTAPI VideoPortGetDeviceData(IN PVOID HwDeviceExtension, IN VIDEO_DEVICE_DATA_TYPE DeviceDataType, IN PMINIPORT_QUERY_DEVICE_ROUTINE CallbackRoutine, IN PVOID Context)
VOID NTAPI InitializeModeTable(IN PHW_DEVICE_EXTENSION VgaExtension)
struct _VIDEO_HW_INITIALIZATION_DATA VIDEO_HW_INITIALIZATION_DATA
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
PHYSICAL_ADDRESS VdmPhysicalVideoMemoryAddress
#define DAC_DATA_REG_PORT
#define IOCTL_VIDEO_QUERY_CURSOR_ATTR
#define DAC_ADDRESS_WRITE_PORT
UCHAR CursorBottomScanLine
PVIDEO_HW_INITIALIZE HwInitialize
VP_STATUS NTAPI GetDeviceDataCallback(PVOID HwDeviceExtension, PVOID Context, VIDEO_DEVICE_DATA_TYPE DeviceDataType, PVOID Identifier, ULONG IdentifierLength, PVOID ConfigurationData, ULONG ConfigurationDataLength, PVOID ComponentInformation, ULONG ComponentInformationLength)
#define IOCTL_VIDEO_SET_CURSOR_ATTR
#define IOCTL_VIDEO_UNMAP_VIDEO_MEMORY
VPAPI VOID NTAPI VideoPortWritePortUshort(IN PUSHORT Port, IN USHORT Value)
#define IOCTL_VIDEO_QUERY_CURSOR_POSITION
BOOLEAN NTAPI VgaStartIO(PVOID HwDeviceExtension, PVIDEO_REQUEST_PACKET RequestPacket)
VPAPI VP_STATUS NTAPI VideoPortMapMemory(IN PVOID HwDeviceExtension, IN PHYSICAL_ADDRESS PhysicalAddress, IN OUT PULONG Length, IN PULONG InIoSpace, IN OUT PVOID *VirtualAddress)
VP_STATUS NTAPI VgaAcquireResources(PHW_DEVICE_EXTENSION DeviceExtension)
BOOLEAN NTAPI VgaIsPresent(PHW_DEVICE_EXTENSION HwDeviceExtension)
PVIDEO_HW_FIND_ADAPTER HwFindAdapter
VP_STATUS NTAPI VgaFindAdapter(PVOID HwDeviceExtension, PVOID HwContext, PWSTR ArgumentString, PVIDEO_PORT_CONFIG_INFO ConfigInfo, PUCHAR Again)
VIDEO_CURSOR_POSITION CursorPosition
static WORD PaletteBuffer[]
#define IOCTL_VIDEO_LOAD_AND_SET_FONT
#define ATT_INITIALIZE_PORT_COLOR
#define IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES
BOOLEAN NTAPI VgaInitialize(PVOID HwDeviceExtension)
PVIDEO_HW_INTERRUPT HwInterrupt
#define IOCTL_VIDEO_QUERY_AVAIL_MODES
VP_STATUS NTAPI VgaSetColorLookup(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_CLUT ClutBuffer, ULONG ClutBufferSize)
#define IOCTL_VIDEO_SHARE_VIDEO_MEMORY
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT _In_ PTDI_PNP_CONTEXT Context2
VIDEO_ACCESS_RANGE VgaAccessRange[]
#define MEMORY_MODE_TEXT_DEFAULT
ULONG HwDeviceExtensionSize
#define VideoDebugPrint(x)
PUCHAR VideoMemoryAddress
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
struct _VIDEO_MEMORY * PVIDEO_MEMORY
PSTATUS_BLOCK StatusBlock
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT Context1
enum _VIDEO_DEVICE_DATA_TYPE VIDEO_DEVICE_DATA_TYPE
#define VGA_TOTAL_STATE_SIZE
VPAPI VP_STATUS NTAPI VideoPortVerifyAccessRanges(IN PVOID HwDeviceExtension, IN ULONG NumAccessRanges, IN PVIDEO_ACCESS_RANGE AccessRanges)
#define IOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGES
PHYSICAL_ADDRESS PhysicalFrameOffset
ULONG NTAPI DriverEntry(PVOID Context1, PVOID Context2)
VP_STATUS NTAPI VbeSetColorLookup(IN PHW_DEVICE_EXTENSION VgaExtension, IN PVIDEO_CLUT ClutBuffer)
VP_STATUS NTAPI VgaQueryAvailableModes(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_MODE_INFORMATION ModeInformation, ULONG ModeInformationSize, PULONG_PTR OutputSize)
#define VIDEO_MAX_PALETTE_REGISTER
#define IOCTL_VIDEO_RESTORE_HARDWARE_STATE
VPAPI VOID NTAPI VideoPortWritePortUchar(IN PUCHAR Port, IN UCHAR Value)
static SERVICE_STATUS status
#define ERROR_DEV_NOT_EXIST
#define IOCTL_VIDEO_SAVE_HARDWARE_STATE
ULONG VdmPhysicalVideoMemoryLength
#define VIDEO_MAX_COLOR_REGISTER
#define IOCTL_VIDEO_SET_COLOR_REGISTERS
PHYSICAL_ADDRESS RangeStart
#define ERROR_INSUFFICIENT_BUFFER