36#define LOWORD(l) ((USHORT)((ULONG_PTR)(l)))
37#define HIWORD(l) ((USHORT)(((ULONG_PTR)(l)>>16)&0xFFFF))
41 { {{0x3b0}}, 0x3bb - 0x3b0 + 1, 1, 1, 0 },
42 { {{0x3c0}}, 0x3df - 0x3c0 + 1, 1, 1, 0 },
43 { {{0xa0000}}, 0x20000, 0, 1, 0 },
190 ULONG SuitableModeCount;
265 sizeof(VBEDeviceExtension->
VbeInfo));
310 for (ModeCount = 0; ; ModeCount++)
321 if (ModeTemp == 0xFFFF || ModeTemp == 0)
338 for (CurrentMode = 0, SuitableModeCount = 0;
339 CurrentMode < ModeCount;
353 BiosRegisters.
Ecx = ModeTemp;
365 VBEDeviceExtension->
ModeInfo + SuitableModeCount,
368 VbeModeInfo = VBEDeviceExtension->
ModeInfo + SuitableModeCount;
383 VBEDeviceExtension->
ModeNumbers[SuitableModeCount] = ModeTemp | 0x4000;
390 VBEDeviceExtension->
ModeNumbers[SuitableModeCount] = ModeTemp;
398 if (SuitableModeCount == 0)
405 VBEDeviceExtension->
ModeCount = SuitableModeCount;
417 for (CurrentMode = 0;
418 CurrentMode < SuitableModeCount;
443 PVOID HwDeviceExtension,
567 PVOID DeviceExtension,
583 PVOID HwDeviceExtension,
601 BiosRegisters.
Ebx = 0;
602 BiosRegisters.
Edi = 0;
603 BiosRegisters.
SegEs = 0;
619 BiosRegisters.
Ebx = 0x2;
620 BiosRegisters.
Edi = 0;
621 BiosRegisters.
SegEs = 0;
629 switch (BiosRegisters.
Ebx >> 8)
653 PVOID HwDeviceExtension,
676 BiosRegisters.
Ebx = 1;
677 BiosRegisters.
Edi = 0;
678 BiosRegisters.
SegEs = 0;
753 BiosRegisters.
Ebx = 0x3;
932 VideoMode->DriverSpecificAttributeFlags = 0;
951 for (CurrentModeId = 0, CurrentMode = ReturnedModes,
952 CurrentVBEMode = DeviceExtension->
ModeInfo;
953 CurrentModeId < DeviceExtension->ModeCount;
954 CurrentModeId++, CurrentMode++, CurrentVBEMode++)
956 VBEQueryMode(DeviceExtension, CurrentMode, CurrentModeId);
1017 Entry < ColorLookUpTable->NumEntries + ColorLookUpTable->
FirstEntry;
1037 Entry < ColorLookUpTable->NumEntries + ColorLookUpTable->
FirstEntry;
1038 Entry++, OutputEntry++)
1055 BiosRegisters.
Ebx = 0;
static const COLUMN_LIST Columns[]
#define ERROR_DEV_NOT_EXIST
#define ERROR_INSUFFICIENT_BUFFER
#define ERROR_INVALID_FUNCTION
#define ERROR_INVALID_PARAMETER
DRIVER_INITIALIZE DriverEntry
VP_STATUS NTAPI VBEGetVideoChildDescriptor(IN PVOID HwDeviceExtension, IN PVIDEO_CHILD_ENUM_INFO ChildEnumInfo, OUT PVIDEO_CHILD_TYPE VideoChildType, OUT PUCHAR pChildDescriptor, OUT PULONG UId, OUT PULONG pUnused)
_In_ ULONG _In_ ULONG _In_ ULONG Length
#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_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_MODE_NO_OFF_SCREEN
struct _VIDEO_MODE_INFORMATION VIDEO_MODE_INFORMATION
#define IOCTL_VIDEO_QUERY_AVAIL_MODES
#define IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES
_Must_inspect_result_ _In_ PVOID _In_ struct _HW_INITIALIZATION_DATA _In_ PVOID HwContext
struct _VIDEO_PORT_INT10_INTERFACE VIDEO_PORT_INT10_INTERFACE
VPAPI VOID NTAPI VideoPortZeroMemory(IN PVOID Destination, IN ULONG Length)
VPAPI VP_STATUS NTAPI VideoPortUnmapMemory(IN PVOID HwDeviceExtension, IN OUT PVOID VirtualAddress, IN HANDLE ProcessHandle)
VPAPI BOOLEAN NTAPI VideoPortIsNoVesa(VOID)
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 VP_STATUS NTAPI VideoPortEnumerateChildren(IN PVOID HwDeviceExtension, IN PVOID Reserved)
VPAPI VP_STATUS NTAPI VideoPortMapMemory(IN PVOID HwDeviceExtension, IN PHYSICAL_ADDRESS PhysicalAddress, IN OUT PULONG Length, IN PULONG InIoSpace, IN OUT PVOID *VirtualAddress)
VPAPI VOID __cdecl VideoPortDebugPrint(IN VIDEO_DEBUG_LEVEL DebugPrintLevel, IN PSTR DebugMessage, IN ...)
VPAPI VP_STATUS NTAPI VideoPortQueryServices(IN PVOID HwDeviceExtension, IN VIDEO_PORT_SERVICES ServicesType, IN OUT PINTERFACE Interface)
VPAPI VOID NTAPI VideoPortMoveMemory(IN PVOID Destination, IN PVOID Source, IN ULONG Length)
#define DISPLAY_ADAPTER_HW_ID
#define VIDEO_PORT_INT10_INTERFACE_VERSION_1
VPAPI PVOID NTAPI VideoPortAllocatePool(IN PVOID HwDeviceExtension, IN VP_POOL_TYPE PoolType, IN SIZE_T NumberOfBytes, IN ULONG Tag)
#define VIDEO_MEMORY_SPACE_MEMORY
VPAPI VOID NTAPI VideoPortWritePortUchar(IN PUCHAR Port, IN UCHAR Value)
VPAPI ULONG NTAPI VideoPortCompareMemory(IN PVOID Source1, IN PVOID Source2, IN SIZE_T Length)
base of all file and directory entries
VIDEO_PORT_INT10_INTERFACE Int10Interface
USHORT TrampolineMemorySegment
USHORT TrampolineMemoryOffset
UCHAR LinRedFieldPosition
UCHAR LinGreenFieldPosition
UCHAR LinBlueFieldPosition
USHORT LinBytesPerScanLine
union VIDEO_CLUT::@3174 LookupTable[1]
PHYSICAL_ADDRESS RangeStart
ULONG HwDeviceExtensionSize
PVIDEO_HW_FIND_ADAPTER HwFindAdapter
PVIDEO_HW_START_IO HwStartIO
PVIDEO_HW_POWER_SET HwSetPowerState
PVIDEO_HW_POWER_GET HwGetPowerState
ULONG HwLegacyResourceCount
PVIDEO_HW_RESET_HW HwResetHw
PVIDEO_HW_GET_CHILD_DESCRIPTOR HwGetVideoChildDescriptor
PVIDEO_ACCESS_RANGE HwLegacyResourceList
PVIDEO_HW_INITIALIZE HwInitialize
PVOID RequestedVirtualAddress
OUT PINT10_READ_MEMORY Int10ReadMemory
OUT PINT10_CALL_BIOS Int10CallBios
OUT PINT10_ALLOCATE_BUFFER Int10AllocateBuffer
OUT PINT10_WRITE_MEMORY Int10WriteMemory
PSTATUS_BLOCK StatusBlock
static const VBE_MODE Modes[VBE_MODE_COUNT]
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT Context1
_In_ PNET_PNP_EVENT _In_ PTDI_PNP_CONTEXT _In_ PTDI_PNP_CONTEXT Context2
#define FIELD_OFFSET(t, f)
BOOLEAN FASTCALL VBEResetDevice(PVBE_DEVICE_EXTENSION DeviceExtension, PSTATUS_BLOCK StatusBlock)
BOOLEAN NTAPI VBEResetHw(PVOID DeviceExtension, ULONG Columns, ULONG Rows)
BOOLEAN FASTCALL VBEQueryAvailModes(PVBE_DEVICE_EXTENSION DeviceExtension, PVIDEO_MODE_INFORMATION ReturnedModes, PSTATUS_BLOCK StatusBlock)
VP_STATUS NTAPI VBEGetPowerState(PVOID HwDeviceExtension, ULONG HwId, PVIDEO_POWER_MANAGEMENT VideoPowerControl)
BOOLEAN FASTCALL VBESetCurrentMode(PVBE_DEVICE_EXTENSION DeviceExtension, PVIDEO_MODE RequestedMode, PSTATUS_BLOCK StatusBlock)
BOOLEAN FASTCALL VBEQueryCurrentMode(PVBE_DEVICE_EXTENSION DeviceExtension, PVIDEO_MODE_INFORMATION VideoModeInfo, PSTATUS_BLOCK StatusBlock)
VOID FASTCALL VBESortModes(PVBE_DEVICE_EXTENSION DeviceExtension)
VIDEO_ACCESS_RANGE VBEAccessRange[]
VP_STATUS NTAPI VBEFindAdapter(IN PVOID HwDeviceExtension, IN PVOID HwContext, IN PWSTR ArgumentString, IN OUT PVIDEO_PORT_CONFIG_INFO ConfigInfo, OUT PUCHAR Again)
BOOLEAN NTAPI VBEStartIO(PVOID HwDeviceExtension, PVIDEO_REQUEST_PACKET RequestPacket)
static int VBESortModesCallback(PVBE_MODEINFO VbeModeInfoA, PVBE_MODEINFO VbeModeInfoB)
BOOLEAN NTAPI VBEInitialize(PVOID HwDeviceExtension)
VP_STATUS NTAPI VBESetPowerState(PVOID HwDeviceExtension, ULONG HwId, PVIDEO_POWER_MANAGEMENT VideoPowerControl)
BOOLEAN FASTCALL VBEUnmapVideoMemory(PVBE_DEVICE_EXTENSION DeviceExtension, PVIDEO_MEMORY VideoMemory, PSTATUS_BLOCK StatusBlock)
BOOLEAN FASTCALL VBESetColorRegisters(PVBE_DEVICE_EXTENSION DeviceExtension, PVIDEO_CLUT ColorLookUpTable, PSTATUS_BLOCK StatusBlock)
VOID FASTCALL VBEQueryMode(PVBE_DEVICE_EXTENSION DeviceExtension, PVIDEO_MODE_INFORMATION VideoMode, ULONG VideoModeId)
BOOLEAN FASTCALL VBEQueryNumAvailModes(PVBE_DEVICE_EXTENSION DeviceExtension, PVIDEO_NUM_MODES Modes, PSTATUS_BLOCK StatusBlock)
BOOLEAN FASTCALL VBEMapVideoMemory(PVBE_DEVICE_EXTENSION DeviceExtension, PVIDEO_MEMORY RequestedAddress, PVIDEO_MEMORY_INFORMATION MapInformation, PSTATUS_BLOCK StatusBlock)
#define VBE_NOT_SUPPORTED
#define VBE_GETRETURNCODE(x)
#define VBE_SET_GET_PALETTE_DATA
#define VBE_GET_MODE_INFORMATION
#define VBE_MEMORYMODEL_PACKEDPIXEL
#define VBE_GET_CONTROLLER_INFORMATION
#define VBE_MEMORYMODEL_DIRECTCOLOR
struct VBE_DEVICE_EXTENSION * PVBE_DEVICE_EXTENSION
#define VBE_MODEATTR_LINEAR
#define VBE_POWER_MANAGEMENT_EXTENSIONS
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
_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