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)
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
struct _HW_DEVICE_EXTENSION HW_DEVICE_EXTENSION
#define ERROR_DEV_NOT_EXIST
#define ERROR_INSUFFICIENT_BUFFER
#define ERROR_INVALID_FUNCTION
#define ERROR_INVALID_PARAMETER
#define DAC_DATA_REG_PORT
#define START_SYNC_RESET_VALUE
#define DAC_ADDRESS_WRITE_PORT
#define ATT_INITIALIZE_PORT_COLOR
#define GRAPH_ADDRESS_PORT
#define VIDEO_MAX_PALETTE_REGISTER
#define VIDEO_MAX_COLOR_REGISTER
#define READ_MAP_TEST_SETTING
#define END_SYNC_RESET_VALUE
#define ATT_DATA_WRITE_PORT
#define MEMORY_MODE_TEXT_DEFAULT
DRIVER_INITIALIZE DriverEntry
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
#define IOCTL_VIDEO_SHARE_VIDEO_MEMORY
#define IOCTL_VIDEO_MAP_VIDEO_MEMORY
#define IOCTL_VIDEO_ENABLE_VDM
struct _VIDEO_PUBLIC_ACCESS_RANGES VIDEO_PUBLIC_ACCESS_RANGES
#define IOCTL_VIDEO_SET_PALETTE_REGISTERS
#define IOCTL_VIDEO_UNMAP_VIDEO_MEMORY
#define IOCTL_VIDEO_QUERY_CURSOR_ATTR
#define IOCTL_VIDEO_QUERY_CURSOR_POSITION
#define IOCTL_VIDEO_SET_CURSOR_POSITION
#define IOCTL_VIDEO_QUERY_CURRENT_MODE
#define IOCTL_VIDEO_SET_CURRENT_MODE
#define IOCTL_VIDEO_FREE_PUBLIC_ACCESS_RANGES
#define IOCTL_VIDEO_GET_BANK_SELECT_CODE
#define IOCTL_VIDEO_SET_COLOR_REGISTERS
#define IOCTL_VIDEO_LOAD_AND_SET_FONT
#define IOCTL_VIDEO_RESET_DEVICE
#define IOCTL_VIDEO_SET_CURSOR_ATTR
#define IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY
#define IOCTL_VIDEO_QUERY_AVAIL_MODES
#define IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES
#define IOCTL_VIDEO_SAVE_HARDWARE_STATE
#define IOCTL_VIDEO_RESTORE_HARDWARE_STATE
#define IOCTL_VIDEO_QUERY_PUBLIC_ACCESS_RANGES
struct _VIDEO_MEMORY * PVIDEO_MEMORY
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA _In_ PVOID HwContext
VPAPI VOID NTAPI VideoPortZeroMemory(IN PVOID Destination, IN ULONG Length)
VPAPI VP_STATUS NTAPI VideoPortVerifyAccessRanges(_In_ PVOID HwDeviceExtension, _In_opt_ ULONG NumAccessRanges, _In_reads_opt_(NumAccessRanges) PVIDEO_ACCESS_RANGE AccessRanges)
Claims or releases a range of hardware resources and checks for conflicts.
VPAPI PVOID NTAPI VideoPortGetDeviceBase(IN PVOID HwDeviceExtension, IN PHYSICAL_ADDRESS IoAddress, IN ULONG NumberOfUchars, IN UCHAR InIoSpace)
struct _VIDEO_HW_INITIALIZATION_DATA VIDEO_HW_INITIALIZATION_DATA
VPAPI ULONG NTAPI VideoPortInitialize(IN PVOID Argument1, IN PVOID Argument2, IN PVIDEO_HW_INITIALIZATION_DATA HwInitializationData, IN PVOID HwContext)
VPAPI UCHAR NTAPI VideoPortReadPortUchar(IN PUCHAR Port)
VPAPI VP_STATUS NTAPI VideoPortMapMemory(IN PVOID HwDeviceExtension, IN PHYSICAL_ADDRESS PhysicalAddress, IN OUT PULONG Length, IN PULONG InIoSpace, IN OUT PVOID *VirtualAddress)
VPAPI VP_STATUS NTAPI VideoPortGetDeviceData(IN PVOID HwDeviceExtension, IN VIDEO_DEVICE_DATA_TYPE DeviceDataType, IN PMINIPORT_QUERY_DEVICE_ROUTINE CallbackRoutine, IN PVOID Context)
enum _VIDEO_DEVICE_DATA_TYPE VIDEO_DEVICE_DATA_TYPE
VPAPI VOID NTAPI VideoPortWritePortUchar(IN PUCHAR Port, IN UCHAR Value)
#define VideoDebugPrint(x)
VPAPI VOID NTAPI VideoPortWritePortUshort(IN PUSHORT Port, IN USHORT Value)
union VIDEO_CLUT::@3174 LookupTable[1]
PHYSICAL_ADDRESS PhysicalFrameOffset
PUCHAR VideoMemoryAddress
ULONG PhysicalFrameLength
UCHAR CursorBottomScanLine
PHYSICAL_ADDRESS PhysicalVideoMemoryBase
VIDEO_CURSOR_POSITION CursorPosition
ULONG PhysicalVideoMemoryLength
PHYSICAL_ADDRESS RangeStart
ULONG HwDeviceExtensionSize
PVIDEO_HW_FIND_ADAPTER HwFindAdapter
PVIDEO_HW_START_IO HwStartIO
PVIDEO_HW_INTERRUPT HwInterrupt
INTERFACE_TYPE AdapterInterfaceType
PVIDEO_HW_INITIALIZE HwInitialize
PHYSICAL_ADDRESS VdmPhysicalVideoMemoryAddress
INTERFACE_TYPE AdapterInterfaceType
ULONG NumEmulatorAccessEntries
PEMULATOR_ACCESS_ENTRY EmulatorAccessEntries
ULONG_PTR EmulatorAccessEntriesContext
ULONG VdmPhysicalVideoMemoryLength
PSTATUS_BLOCK StatusBlock
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT Context1
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT _In_ PTDI_PNP_CONTEXT Context2
static WORD PaletteBuffer[]
VP_STATUS NTAPI VbeSetColorLookup(IN PHW_DEVICE_EXTENSION VgaExtension, IN PVIDEO_CLUT ClutBuffer)
VOID NTAPI InitializeModeTable(IN PHW_DEVICE_EXTENSION VgaExtension)
VP_STATUS NTAPI VgaFindAdapter(PVOID HwDeviceExtension, PVOID HwContext, PWSTR ArgumentString, PVIDEO_PORT_CONFIG_INFO ConfigInfo, PUCHAR Again)
VP_STATUS NTAPI VgaSetColorLookup(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_CLUT ClutBuffer, ULONG ClutBufferSize)
VP_STATUS NTAPI VgaQueryAvailableModes(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_MODE_INFORMATION ModeInformation, ULONG ModeInformationSize, PULONG_PTR OutputSize)
VP_STATUS NTAPI VgaQueryNumberOfAvailableModes(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_NUM_MODES NumModes, ULONG NumModesSize, PULONG_PTR OutputSize)
VP_STATUS NTAPI VgaSetPaletteReg(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_PALETTE_DATA PaletteBuffer, ULONG PaletteBufferSize)
VP_STATUS NTAPI VgaSetMode(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_MODE Mode, ULONG ModeSize, PULONG PhysPtrChange)
VP_STATUS NTAPI VgaAcquireResources(PHW_DEVICE_EXTENSION DeviceExtension)
VP_STATUS NTAPI VgaQueryCurrentMode(PHW_DEVICE_EXTENSION HwDeviceExtension, PVIDEO_MODE_INFORMATION ModeInformation, ULONG ModeInformationSize, PULONG_PTR OutputSize)
BOOLEAN NTAPI VgaInitialize(PVOID HwDeviceExtension)
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)
VP_STATUS NTAPI VgaInterpretCmdStream(PHW_DEVICE_EXTENSION HwDeviceExtension, PUSHORT pusCmdStream)
BOOLEAN NTAPI VgaIsPresent(PHW_DEVICE_EXTENSION HwDeviceExtension)
BOOLEAN NTAPI VgaStartIO(PVOID HwDeviceExtension, PVIDEO_REQUEST_PACKET RequestPacket)
#define NUM_VGA_ACCESS_RANGES
VIDEO_ACCESS_RANGE VgaAccessRange[]
#define VGA_TOTAL_STATE_SIZE
_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