home *** CD-ROM | disk | FTP | other *** search
- /*
- * video.h
- *
- * Video port and miniport driver interface
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- * Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
- #ifndef __VIDEO_H
- #define __VIDEO_H
-
-
- #if __GNUC__ >=3
- #pragma GCC system_header
- #endif
-
- #ifdef __WINDDI_H
- #error winddi.h cannot be included with video.h
- #else
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #pragma pack(push,4)
-
- #include "ntddk.h"
-
- #if defined(_VIDEOPORT_)
- #define VPAPI DECLSPEC_EXPORT
- #else
- #define VPAPI DECLSPEC_IMPORT
- #endif
-
- #include "videoagp.h"
- #include "ntddvdeo.h"
-
-
- typedef LONG VP_STATUS;
- typedef VP_STATUS *PVP_STATUS;
- typedef struct __DMA_PARAMETERS * PDMA;
- typedef struct _VIDEO_PORT_EVENT *PEVENT;
- typedef struct _VIDEO_PORT_SPIN_LOCK *PSPIN_LOCK;
- typedef struct __VP_DMA_ADAPTER *PVP_DMA_ADAPTER;
-
- #define DISPLAY_ADAPTER_HW_ID 0xFFFFFFFF
-
- #define EVENT_TYPE_MASK 1
- #define SYNCHRONIZATION_EVENT 0
- #define NOTIFICATION_EVENT 1
-
- #define INITIAL_EVENT_STATE_MASK 2
- #define INITIAL_EVENT_NOT_SIGNALED 0
- #define INITIAL_EVENT_SIGNALED 2
-
- typedef enum VIDEO_DEBUG_LEVEL {
- Error = 0,
- Warn,
- Trace,
- Info
- } VIDEO_DEBUG_LEVEL, *PVIDEO_DEBUG_LEVEL;
-
- typedef enum {
- VideoPortUnlockAfterDma = 1,
- VideoPortKeepPagesLocked,
- VideoPortDmaInitOnly
- } DMA_FLAGS;
-
- typedef enum _HW_DMA_RETURN {
- DmaAsyncReturn,
- DmaSyncReturn
- } HW_DMA_RETURN, *PHW_DMA_RETURN;
-
- typedef HW_DMA_RETURN
- (*PVIDEO_HW_START_DMA)(
- PVOID HwDeviceExtension,
- PDMA pDma);
-
-
- #if DBG
-
- #define PAGED_CODE() \
- if (VideoPortGetCurrentIrql() > 1 /* APC_LEVEL */) \
- { \
- VideoPortDebugPrint(Error, "Video: Pageable code called at IRQL %d\n", VideoPortGetCurrentIrql() ); \
- assert(FALSE); \
- }
-
- #else
-
- #define PAGED_CODE()
-
- #endif
-
- typedef struct _VIDEO_HARDWARE_CONFIGURATION_DATA {
- INTERFACE_TYPE InterfaceType;
- ULONG BusNumber;
- USHORT Version;
- USHORT Revision;
- USHORT Irql;
- USHORT Vector;
- ULONG ControlBase;
- ULONG ControlSize;
- ULONG CursorBase;
- ULONG CursorSize;
- ULONG FrameBase;
- ULONG FrameSize;
- } VIDEO_HARDWARE_CONFIGURATION_DATA, *PVIDEO_HARDWARE_CONFIGURATION_DATA;
-
- #define SIZE_OF_NT4_VIDEO_PORT_CONFIG_INFO 0x42
- #define SIZE_OF_NT4_VIDEO_HW_INITIALIZATION_DATA 0x28
- #define SIZE_OF_W2K_VIDEO_HW_INITIALIZATION_DATA 0x50
-
- typedef enum _VIDEO_DEVICE_DATA_TYPE {
- VpMachineData = 0,
- VpCmosData,
- VpBusData,
- VpControllerData,
- VpMonitorData
- } VIDEO_DEVICE_DATA_TYPE, *PVIDEO_DEVICE_DATA_TYPE;
-
-
-
- /* Video miniport driver functions */
-
- typedef struct _VP_SCATTER_GATHER_ELEMENT {
- PHYSICAL_ADDRESS Address;
- ULONG Length;
- ULONG_PTR Reserved;
- } VP_SCATTER_GATHER_ELEMENT, *PVP_SCATTER_GATHER_ELEMENT;
-
- typedef struct _VP_SCATTER_GATHER_LIST {
- ULONG NumberOfElements;
- ULONG_PTR Reserved;
- VP_SCATTER_GATHER_ELEMENT Elements[0];
- } VP_SCATTER_GATHER_LIST, *PVP_SCATTER_GATHER_LIST;
-
- typedef VOID DDKAPI
- (*PEXECUTE_DMA)(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter,
- IN PVP_SCATTER_GATHER_LIST SGList,
- IN PVOID Context);
-
- typedef PVOID DDKAPI
- (*PVIDEO_PORT_GET_PROC_ADDRESS)(
- IN PVOID HwDeviceExtension,
- IN PUCHAR FunctionName);
-
- typedef struct _VIDEO_PORT_CONFIG_INFO {
- ULONG Length;
- ULONG SystemIoBusNumber;
- INTERFACE_TYPE AdapterInterfaceType;
- ULONG BusInterruptLevel;
- ULONG BusInterruptVector;
- KINTERRUPT_MODE InterruptMode;
- ULONG NumEmulatorAccessEntries;
- PEMULATOR_ACCESS_ENTRY EmulatorAccessEntries;
- ULONG_PTR EmulatorAccessEntriesContext;
- PHYSICAL_ADDRESS VdmPhysicalVideoMemoryAddress;
- ULONG VdmPhysicalVideoMemoryLength;
- ULONG HardwareStateSize;
- ULONG DmaChannel;
- ULONG DmaPort;
- UCHAR DmaShareable;
- UCHAR InterruptShareable;
- BOOLEAN Master;
- DMA_WIDTH DmaWidth;
- DMA_SPEED DmaSpeed;
- BOOLEAN bMapBuffers;
- BOOLEAN NeedPhysicalAddresses;
- BOOLEAN DemandMode;
- ULONG MaximumTransferLength;
- ULONG NumberOfPhysicalBreaks;
- BOOLEAN ScatterGather;
- ULONG MaximumScatterGatherChunkSize;
- PVIDEO_PORT_GET_PROC_ADDRESS VideoPortGetProcAddress;
- PWSTR DriverRegistryPath;
- ULONGLONG SystemMemorySize;
- } VIDEO_PORT_CONFIG_INFO, *PVIDEO_PORT_CONFIG_INFO;
-
- typedef VP_STATUS DDKAPI
- (*PVIDEO_HW_FIND_ADAPTER)(
- IN PVOID HwDeviceExtension,
- IN PVOID HwContext,
- IN PWSTR ArgumentString,
- IN OUT PVIDEO_PORT_CONFIG_INFO ConfigInfo,
- OUT PUCHAR Again);
-
- typedef VP_STATUS DDKAPI
- (*PVIDEO_HW_POWER_GET)(
- IN PVOID HwDeviceExtension,
- IN ULONG HwId,
- IN OUT PVIDEO_POWER_MANAGEMENT VideoPowerControl);
-
- /* PVIDEO_HW_GET_CHILD_DESCRIPTOR return values */
- #define VIDEO_ENUM_MORE_DEVICES ERROR_CONTINUE
- #define VIDEO_ENUM_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES
- #define VIDEO_ENUM_INVALID_DEVICE ERROR_INVALID_NAME
-
- /* PVIDEO_HW_GET_CHILD_DESCRIPTOR.ChildEnumInfo constants */
- typedef struct _VIDEO_CHILD_ENUM_INFO {
- ULONG Size;
- ULONG ChildDescriptorSize;
- ULONG ChildIndex;
- ULONG ACPIHwId;
- PVOID ChildHwDeviceExtension;
- } VIDEO_CHILD_ENUM_INFO, *PVIDEO_CHILD_ENUM_INFO;
-
- /* PVIDEO_HW_GET_CHILD_DESCRIPTOR.VideoChildType constants */
- typedef enum _VIDEO_CHILD_TYPE {
- Monitor = 1,
- NonPrimaryChip,
- VideoChip,
- Other
- } VIDEO_CHILD_TYPE, *PVIDEO_CHILD_TYPE;
-
- typedef VP_STATUS DDKAPI
- (*PVIDEO_HW_GET_CHILD_DESCRIPTOR)(
- IN PVOID HwDeviceExtension,
- IN PVIDEO_CHILD_ENUM_INFO ChildEnumInfo,
- OUT PVIDEO_CHILD_TYPE VideoChildType,
- OUT PUCHAR pChildDescriptor,
- OUT PULONG UId,
- OUT PULONG pUnused);
-
- typedef BOOLEAN DDKAPI
- (*PVIDEO_HW_INITIALIZE)(
- IN PVOID HwDeviceExtension);
-
- typedef BOOLEAN DDKAPI
- (*PVIDEO_HW_INTERRUPT)(
- IN PVOID HwDeviceExtension);
-
- /* VIDEO_ACCESS_RANGE.RangePassive */
- #define VIDEO_RANGE_PASSIVE_DECODE 1
- #define VIDEO_RANGE_10_BIT_DECODE 2
-
- #ifndef VIDEO_ACCESS_RANGE_DEFINED /* also in miniport.h */
- #define VIDEO_ACCESS_RANGE_DEFINED
- typedef struct _VIDEO_ACCESS_RANGE {
- PHYSICAL_ADDRESS RangeStart;
- ULONG RangeLength;
- UCHAR RangeInIoSpace;
- UCHAR RangeVisible;
- UCHAR RangeShareable;
- UCHAR RangePassive;
- } VIDEO_ACCESS_RANGE, *PVIDEO_ACCESS_RANGE;
- #endif
-
- typedef VOID DDKAPI
- (*PVIDEO_HW_LEGACYRESOURCES)(
- IN ULONG VendorId,
- IN ULONG DeviceId,
- IN OUT PVIDEO_ACCESS_RANGE *LegacyResourceList,
- IN OUT PULONG LegacyResourceCount);
-
- typedef VP_STATUS DDKAPI
- (*PMINIPORT_QUERY_DEVICE_ROUTINE)(
- IN PVOID HwDeviceExtension,
- IN PVOID Context,
- IN VIDEO_DEVICE_DATA_TYPE DeviceDataType,
- IN PVOID Identifier,
- IN ULONG IdentifierLength,
- IN PVOID ConfigurationData,
- IN ULONG ConfigurationDataLength,
- IN OUT PVOID ComponentInformation,
- IN ULONG ComponentInformationLength);
-
- typedef struct _QUERY_INTERFACE {
- CONST GUID *InterfaceType;
- USHORT Size;
- USHORT Version;
- PINTERFACE Interface;
- PVOID InterfaceSpecificData;
- } QUERY_INTERFACE, *PQUERY_INTERFACE;
-
- typedef VP_STATUS DDKAPI
- (*PVIDEO_HW_QUERY_INTERFACE)(
- IN PVOID HwDeviceExtension,
- IN OUT PQUERY_INTERFACE QueryInterface);
-
- typedef VP_STATUS DDKAPI
- (*PMINIPORT_GET_REGISTRY_ROUTINE)(
- IN PVOID HwDeviceExtension,
- IN PVOID Context,
- IN OUT PWSTR ValueName,
- IN OUT PVOID ValueData,
- IN ULONG ValueLength);
-
- typedef BOOLEAN DDKAPI
- (*PVIDEO_HW_RESET_HW)(
- IN PVOID HwDeviceExtension,
- IN ULONG Columns,
- IN ULONG Rows);
-
- typedef VP_STATUS DDKAPI
- (*PVIDEO_HW_POWER_SET)(
- IN PVOID HwDeviceExtension,
- IN ULONG HwId,
- IN PVIDEO_POWER_MANAGEMENT VideoPowerControl);
-
- typedef struct _STATUS_BLOCK {
- union {
- VP_STATUS Status;
- PVOID Pointer;
- };
- ULONG_PTR Information;
- } STATUS_BLOCK, *PSTATUS_BLOCK;
-
- typedef struct _VIDEO_REQUEST_PACKET {
- ULONG IoControlCode;
- PSTATUS_BLOCK StatusBlock;
- PVOID InputBuffer;
- ULONG InputBufferLength;
- PVOID OutputBuffer;
- ULONG OutputBufferLength;
- } VIDEO_REQUEST_PACKET, *PVIDEO_REQUEST_PACKET;
-
- typedef BOOLEAN DDKAPI
- (*PVIDEO_HW_START_IO)(
- IN PVOID HwDeviceExtension,
- IN PVIDEO_REQUEST_PACKET RequestPacket);
-
- typedef BOOLEAN DDKAPI
- (*PMINIPORT_SYNCHRONIZE_ROUTINE)(
- IN PVOID Context);
-
- typedef VOID DDKAPI
- (*PVIDEO_HW_TIMER)(
- IN PVOID HwDeviceExtension);
-
- typedef VOID DDKAPI
- (*PMINIPORT_DPC_ROUTINE)(
- IN PVOID HwDeviceExtension,
- IN PVOID Context);
-
- typedef VP_STATUS DDKAPI
- (*PDRIVER_IO_PORT_UCHAR)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PUCHAR Data);
-
- typedef VP_STATUS DDKAPI
- (*PDRIVER_IO_PORT_UCHAR_STRING)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PUCHAR Data,
- IN ULONG DataLength);
-
- typedef VP_STATUS DDKAPI
- (*PDRIVER_IO_PORT_ULONG)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PULONG Data);
-
- typedef VP_STATUS DDKAPI
- (*PDRIVER_IO_PORT_ULONG_STRING)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PULONG Data,
- IN ULONG DataLength);
-
- typedef VP_STATUS DDKAPI
- (*PDRIVER_IO_PORT_USHORT)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PUSHORT Data);
-
- typedef VP_STATUS DDKAPI
- (*PDRIVER_IO_PORT_USHORT_STRING)(
- IN ULONG_PTR Context,
- IN ULONG Port,
- IN UCHAR AccessMode,
- IN PUSHORT Data,
- IN ULONG DataLength);
-
-
-
- typedef struct _INT10_BIOS_ARGUMENTS {
- ULONG Eax;
- ULONG Ebx;
- ULONG Ecx;
- ULONG Edx;
- ULONG Esi;
- ULONG Edi;
- ULONG Ebp;
- USHORT SegDs;
- USHORT SegEs;
- } INT10_BIOS_ARGUMENTS, *PINT10_BIOS_ARGUMENTS;
-
- typedef struct _VIDEO_CHILD_STATE {
- ULONG Id;
- ULONG State;
- } VIDEO_CHILD_STATE, *PVIDEO_CHILD_STATE;
-
- typedef struct _VIDEO_CHILD_STATE_CONFIGURATION {
- ULONG Count;
- VIDEO_CHILD_STATE ChildStateArray[ANYSIZE_ARRAY];
- } VIDEO_CHILD_STATE_CONFIGURATION, *PVIDEO_CHILD_STATE_CONFIGURATION;
-
- typedef struct _VIDEO_HW_INITIALIZATION_DATA {
- ULONG HwInitDataSize;
- INTERFACE_TYPE AdapterInterfaceType;
- PVIDEO_HW_FIND_ADAPTER HwFindAdapter;
- PVIDEO_HW_INITIALIZE HwInitialize;
- PVIDEO_HW_INTERRUPT HwInterrupt;
- PVIDEO_HW_START_IO HwStartIO;
- ULONG HwDeviceExtensionSize;
- ULONG StartingDeviceNumber;
- PVIDEO_HW_RESET_HW HwResetHw;
- PVIDEO_HW_TIMER HwTimer;
- PVIDEO_HW_START_DMA HwStartDma;
- PVIDEO_HW_POWER_SET HwSetPowerState;
- PVIDEO_HW_POWER_GET HwGetPowerState;
- PVIDEO_HW_GET_CHILD_DESCRIPTOR HwGetVideoChildDescriptor;
- PVIDEO_HW_QUERY_INTERFACE HwQueryInterface;
- ULONG HwChildDeviceExtensionSize;
- PVIDEO_ACCESS_RANGE HwLegacyResourceList;
- ULONG HwLegacyResourceCount;
- PVIDEO_HW_LEGACYRESOURCES HwGetLegacyResources;
- BOOLEAN AllowEarlyEnumeration;
- ULONG Reserved;
- } VIDEO_HW_INITIALIZATION_DATA, *PVIDEO_HW_INITIALIZATION_DATA;
-
- /* VIDEO_PORT_AGP_INTERFACE.Version contants */
- #define VIDEO_PORT_AGP_INTERFACE_VERSION_1 1
-
- typedef struct _VIDEO_PORT_AGP_INTERFACE {
- SHORT Size;
- SHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PAGP_RESERVE_PHYSICAL AgpReservePhysical;
- PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
- PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
- PAGP_FREE_PHYSICAL AgpFreePhysical;
- PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
- PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
- PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
- PAGP_FREE_VIRTUAL AgpFreeVirtual;
- ULONGLONG AgpAllocationLimit;
- } VIDEO_PORT_AGP_INTERFACE, *PVIDEO_PORT_AGP_INTERFACE;
-
- /* VIDEO_PORT_AGP_INTERFACE_2.Version constants */
- #define VIDEO_PORT_AGP_INTERFACE_VERSION_2 2
-
- typedef struct _VIDEO_PORT_AGP_INTERFACE_2 {
- IN USHORT Size;
- IN USHORT Version;
- OUT PVOID Context;
- OUT PINTERFACE_REFERENCE InterfaceReference;
- OUT PINTERFACE_DEREFERENCE InterfaceDereference;
- OUT PAGP_RESERVE_PHYSICAL AgpReservePhysical;
- OUT PAGP_RELEASE_PHYSICAL AgpReleasePhysical;
- OUT PAGP_COMMIT_PHYSICAL AgpCommitPhysical;
- OUT PAGP_FREE_PHYSICAL AgpFreePhysical;
- OUT PAGP_RESERVE_VIRTUAL AgpReserveVirtual;
- OUT PAGP_RELEASE_VIRTUAL AgpReleaseVirtual;
- OUT PAGP_COMMIT_VIRTUAL AgpCommitVirtual;
- OUT PAGP_FREE_VIRTUAL AgpFreeVirtual;
- OUT ULONGLONG AgpAllocationLimit;
- OUT PAGP_SET_RATE AgpSetRate;
- } VIDEO_PORT_AGP_INTERFACE_2, *PVIDEO_PORT_AGP_INTERFACE_2;
-
- #define VIDEO_PORT_I2C_INTERFACE_VERSION_1 1
-
- typedef VOID DDKAPI
- (*PVIDEO_WRITE_CLOCK_LINE)(
- PVOID HwDeviceExtension,
- UCHAR Data);
-
- typedef VOID DDKAPI
- (*PVIDEO_WRITE_DATA_LINE)(
- PVOID HwDeviceExtension,
- UCHAR Data);
-
- typedef BOOLEAN DDKAPI
- (*PVIDEO_READ_CLOCK_LINE)(
- PVOID HwDeviceExtension);
-
- typedef BOOLEAN DDKAPI
- (*PVIDEO_READ_DATA_LINE)(
- PVOID HwDeviceExtension);
-
- typedef struct _I2C_CALLBACKS
- {
- IN PVIDEO_WRITE_CLOCK_LINE WriteClockLine;
- IN PVIDEO_WRITE_DATA_LINE WriteDataLine;
- IN PVIDEO_READ_CLOCK_LINE ReadClockLine;
- IN PVIDEO_READ_DATA_LINE ReadDataLine;
- } I2C_CALLBACKS, *PI2C_CALLBACKS;
-
- typedef BOOLEAN DDKAPI
- (*PI2C_START)(
- IN PVOID HwDeviceExtension,
- IN PI2C_CALLBACKS I2CCallbacks);
-
- typedef BOOLEAN DDKAPI
- (*PI2C_STOP)(
- IN PVOID HwDeviceExtension,
- IN PI2C_CALLBACKS I2CCallbacks);
-
- typedef BOOLEAN DDKAPI
- (*PI2C_WRITE)(
- IN PVOID HwDeviceExtension,
- IN PI2C_CALLBACKS I2CCallbacks,
- IN PUCHAR Buffer,
- IN ULONG Length);
-
- typedef BOOLEAN DDKAPI
- (*PI2C_READ)(
- IN PVOID HwDeviceExtension,
- IN PI2C_CALLBACKS I2CCallbacks,
- OUT PUCHAR Buffer,
- IN ULONG Length);
-
- typedef struct _VIDEO_PORT_I2C_INTERFACE {
- USHORT Size;
- USHORT Version;
- PVOID Context;
- PINTERFACE_REFERENCE InterfaceReference;
- PINTERFACE_DEREFERENCE InterfaceDereference;
- PI2C_START I2CStart;
- PI2C_STOP I2CStop;
- PI2C_WRITE I2CWrite;
- PI2C_READ I2CRead;
- } VIDEO_PORT_I2C_INTERFACE, *PVIDEO_PORT_I2C_INTERFACE;
-
- /* VIDEO_PORT_INT10_INTERFACE.Version constants */
- #define VIDEO_PORT_INT10_INTERFACE_VERSION_1 1
-
- typedef VP_STATUS DDKAPI
- (*PINT10_ALLOCATE_BUFFER)(
- IN PVOID Context,
- OUT PUSHORT Seg,
- OUT PUSHORT Off,
- IN OUT PULONG Length);
-
- typedef VP_STATUS DDKAPI
- (*PINT10_CALL_BIOS)(
- IN PVOID Context,
- IN OUT PINT10_BIOS_ARGUMENTS BiosArguments);
-
- typedef VP_STATUS DDKAPI
- (*PINT10_FREE_BUFFER)(
- IN PVOID Context,
- IN USHORT Seg,
- IN USHORT Off);
-
- typedef VP_STATUS DDKAPI
- (*PINT10_READ_MEMORY)(
- IN PVOID Context,
- IN USHORT Seg,
- IN USHORT Off,
- OUT PVOID Buffer,
- IN ULONG Length);
-
- typedef VP_STATUS DDKAPI
- (*PINT10_WRITE_MEMORY)(
- IN PVOID Context,
- IN USHORT Seg,
- IN USHORT Off,
- IN PVOID Buffer,
- IN ULONG Length);
-
- typedef struct _VIDEO_PORT_INT10_INTERFACE {
- IN USHORT Size;
- IN USHORT Version;
- OUT PVOID Context;
- OUT PINTERFACE_REFERENCE InterfaceReference;
- OUT PINTERFACE_DEREFERENCE InterfaceDereference;
- OUT PINT10_ALLOCATE_BUFFER Int10AllocateBuffer;
- OUT PINT10_FREE_BUFFER Int10FreeBuffer;
- OUT PINT10_READ_MEMORY Int10ReadMemory;
- OUT PINT10_WRITE_MEMORY Int10WriteMemory;
- OUT PINT10_CALL_BIOS Int10CallBios;
- } VIDEO_PORT_INT10_INTERFACE, *PVIDEO_PORT_INT10_INTERFACE;
-
- /* Flags for VideoPortGetDeviceBase and VideoPortMapMemory */
- #define VIDEO_MEMORY_SPACE_MEMORY 0x00
- #define VIDEO_MEMORY_SPACE_IO 0x01
- #define VIDEO_MEMORY_SPACE_USER_MODE 0x02
- #define VIDEO_MEMORY_SPACE_DENSE 0x04
- #define VIDEO_MEMORY_SPACE_P6CACHE 0x08
-
- typedef struct _VIDEO_X86_BIOS_ARGUMENTS {
- ULONG Eax;
- ULONG Ebx;
- ULONG Ecx;
- ULONG Edx;
- ULONG Esi;
- ULONG Edi;
- ULONG Ebp;
- } VIDEO_X86_BIOS_ARGUMENTS, *PVIDEO_X86_BIOS_ARGUMENTS;
-
- typedef struct _VP_DEVICE_DESCRIPTION {
- BOOLEAN ScatterGather;
- BOOLEAN Dma32BitAddresses;
- BOOLEAN Dma64BitAddresses;
- ULONG MaximumLength;
- } VP_DEVICE_DESCRIPTION, *PVP_DEVICE_DESCRIPTION;
-
- typedef struct _VPOSVERSIONINFO {
- IN ULONG Size;
- OUT ULONG MajorVersion;
- OUT ULONG MinorVersion;
- OUT ULONG BuildNumber;
- OUT USHORT ServicePackMajor;
- OUT USHORT ServicePackMinor;
- } VPOSVERSIONINFO, *PVPOSVERSIONINFO;
-
-
-
- /* Video port functions for miniports */
-
- VPAPI
- VOID
- DDKAPI
- VideoDebugPrint(
- IN ULONG DebugPrintLevel,
- IN PCHAR DebugMessage,
- IN ...);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortAcquireDeviceLock(
- IN PVOID HwDeviceExtension);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortAcquireSpinLock(
- IN PVOID HwDeviceExtension,
- IN PSPIN_LOCK SpinLock,
- OUT PUCHAR OldIrql);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortAcquireSpinLockAtDpcLevel(
- IN PVOID HwDeviceExtension,
- IN PSPIN_LOCK SpinLock);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortAllocateBuffer(
- IN PVOID HwDeviceExtension,
- IN ULONG Size,
- OUT PVOID *Buffer);
-
- VPAPI
- PVOID
- DDKAPI
- VideoPortAllocateCommonBuffer(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter,
- IN ULONG DesiredLength,
- OUT PPHYSICAL_ADDRESS LogicalAddress,
- IN BOOLEAN CacheEnabled,
- PVOID Reserved);
-
- VPAPI
- PVOID
- DDKAPI
- VideoPortAllocateContiguousMemory(
- IN PVOID HwDeviceExtension,
- IN ULONG NumberOfBytes,
- IN PHYSICAL_ADDRESS HighestAcceptableAddress);
-
- /* VideoPortAllocatePool.PoolType constants */
- typedef enum _VP_POOL_TYPE {
- VpNonPagedPool = 0,
- VpPagedPool,
- VpNonPagedPoolCacheAligned = 4,
- VpPagedPoolCacheAligned
- } VP_POOL_TYPE, *PVP_POOL_TYPE;
-
- VPAPI
- PVOID
- DDKAPI
- VideoPortAllocatePool(
- IN PVOID HwDeviceExtension,
- IN VP_POOL_TYPE PoolType,
- IN SIZE_T NumberOfBytes,
- IN ULONG Tag);
-
- VPAPI
- PDMA
- DDKAPI
- VideoPortAssociateEventsWithDmaHandle(
- IN PVOID HwDeviceExtension,
- IN OUT PVIDEO_REQUEST_PACKET pVrp,
- IN PVOID MappedUserEvent,
- IN PVOID DisplayDriverEvent);
-
- /* VideoPortCheckForDeviceExistence.Flags constants */
- #define CDE_USE_SUBSYSTEM_IDS 0x00000001
- #define CDE_USE_REVISION 0x00000002
-
- VPAPI
- BOOLEAN
- DDKAPI
- VideoPortCheckForDeviceExistence(
- IN PVOID HwDeviceExtension,
- IN USHORT VendorId,
- IN USHORT DeviceId,
- IN UCHAR RevisionId,
- IN USHORT SubVendorId,
- IN USHORT SubSystemId,
- IN ULONG Flags);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortClearEvent(
- IN PVOID HwDeviceExtension,
- IN PEVENT pEvent);
-
- VPAPI
- ULONG
- DDKAPI
- VideoPortCompareMemory(
- IN PVOID Source1,
- IN PVOID Source2,
- IN ULONG Length);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortCompleteDma(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter,
- IN PVP_SCATTER_GATHER_LIST VpScatterGather,
- IN BOOLEAN WriteToDevice);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortCreateEvent(
- IN PVOID HwDeviceExtension,
- IN ULONG EventFlag,
- IN PVOID Unused,
- OUT PEVENT *ppEvent);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortCreateSecondaryDisplay(
- IN PVOID HwDeviceExtension,
- IN OUT PVOID *SecondaryDeviceExtension,
- IN ULONG ulFlag);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortCreateSpinLock(
- IN PVOID HwDeviceExtension,
- OUT PSPIN_LOCK *SpinLock);
-
- typedef struct _DDC_CONTROL {
- IN ULONG Size;
- IN I2C_CALLBACKS I2CCallbacks;
- IN UCHAR EdidSegment;
- } DDC_CONTROL, *PDDC_CONTROL;
-
- VPAPI
- BOOLEAN
- DDKAPI
- VideoPortDDCMonitorHelper(
- IN PVOID HwDeviceExtension,
- IN PVOID DDCControl,
- IN OUT PUCHAR EdidBuffer,
- IN ULONG EdidBufferSize);
-
- VPAPI
- VOID
- DDKCDECLAPI
- VideoPortDebugPrint(
- IN VIDEO_DEBUG_LEVEL DebugPrintLevel,
- IN PCHAR DebugMessage,
- IN ...);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortDeleteEvent(
- IN PVOID HwDeviceExtension,
- IN PEVENT pEvent);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortDeleteSpinLock(
- IN PVOID HwDeviceExtension,
- IN PSPIN_LOCK SpinLock);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortDisableInterrupt(
- IN PVOID HwDeviceExtension);
-
- VPAPI
- PDMA
- DDKAPI
- VideoPortDoDma(
- IN PVOID HwDeviceExtension,
- IN PDMA pDma,
- IN DMA_FLAGS DmaFlags);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortEnableInterrupt(
- IN PVOID HwDeviceExtension);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortEnumerateChildren(
- IN PVOID HwDeviceExtension,
- IN PVOID Reserved);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortFreeCommonBuffer(
- IN PVOID HwDeviceExtension,
- IN ULONG Length,
- IN PVOID VirtualAddress,
- IN PHYSICAL_ADDRESS LogicalAddress,
- IN BOOLEAN CacheEnabled);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortFreeDeviceBase(
- IN PVOID HwDeviceExtension,
- IN PVOID MappedAddress);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortFreePool(
- IN PVOID HwDeviceExtension,
- IN PVOID Ptr);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortGetAccessRanges(
- IN PVOID HwDeviceExtension,
- IN ULONG NumRequestedResources,
- IN PIO_RESOURCE_DESCRIPTOR RequestedResources OPTIONAL,
- IN ULONG NumAccessRanges,
- OUT PVIDEO_ACCESS_RANGE AccessRanges,
- IN PVOID VendorId,
- IN PVOID DeviceId,
- OUT PULONG Slot);
-
- VPAPI
- PVOID
- DDKAPI
- VideoPortGetAssociatedDeviceExtension(
- IN PVOID DeviceObject);
-
- VPAPI
- ULONG
- DDKAPI
- VideoPortGetAssociatedDeviceID(
- IN PVOID DeviceObject);
-
- VPAPI
- ULONG
- DDKAPI
- VideoPortGetBusData(
- IN PVOID HwDeviceExtension,
- IN BUS_DATA_TYPE BusDataType,
- IN ULONG SlotNumber,
- IN OUT PVOID Buffer,
- IN ULONG Offset,
- IN ULONG Length);
-
- VPAPI
- ULONG
- DDKAPI
- VideoPortGetBytesUsed(
- IN PVOID HwDeviceExtension,
- IN PDMA pDma);
-
- VPAPI
- PVOID
- DDKAPI
- VideoPortGetCommonBuffer(
- IN PVOID HwDeviceExtension,
- IN ULONG DesiredLength,
- IN ULONG Alignment,
- OUT PPHYSICAL_ADDRESS LogicalAddress,
- OUT PULONG pActualLength,
- IN BOOLEAN CacheEnabled);
-
- VPAPI
- UCHAR
- DDKAPI
- VideoPortGetCurrentIrql(
- VOID);
-
- VPAPI
- PVOID
- DDKAPI
- VideoPortGetDeviceBase(
- IN PVOID HwDeviceExtension,
- IN PHYSICAL_ADDRESS IoAddress,
- IN ULONG NumberOfUchars,
- IN UCHAR InIoSpace);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortGetDeviceData(
- IN PVOID HwDeviceExtension,
- IN VIDEO_DEVICE_DATA_TYPE DeviceDataType,
- IN PMINIPORT_QUERY_DEVICE_ROUTINE CallbackRoutine,
- IN PVOID Context);
-
- VPAPI
- PVP_DMA_ADAPTER
- DDKAPI
- VideoPortGetDmaAdapter(
- IN PVOID HwDeviceExtension,
- IN PVP_DEVICE_DESCRIPTION VpDeviceDescription);
-
- VPAPI
- PVOID
- DDKAPI
- VideoPortGetDmaContext(
- IN PVOID HwDeviceExtension,
- IN PDMA pDma);
-
- VPAPI
- PVOID
- DDKAPI
- VideoPortGetMdl(
- IN PVOID HwDeviceExtension,
- IN PDMA pDma);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortGetRegistryParameters(
- IN PVOID HwDeviceExtension,
- IN PWSTR ParameterName,
- IN UCHAR IsParameterFileName,
- IN PMINIPORT_GET_REGISTRY_ROUTINE CallbackRoutine,
- IN PVOID Context);
-
- VPAPI
- PVOID
- DDKAPI
- VideoPortGetRomImage(
- IN PVOID HwDeviceExtension,
- IN PVOID Unused1,
- IN ULONG Unused2,
- IN ULONG Length);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortGetVersion(
- IN PVOID HwDeviceExtension,
- IN OUT PVPOSVERSIONINFO pVpOsVersionInfo);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortGetVgaStatus(
- IN PVOID HwDeviceExtension,
- OUT PULONG VgaStatus);
-
- VPAPI
- ULONG
- DDKAPI
- VideoPortInitialize(
- IN PVOID Argument1,
- IN PVOID Argument2,
- IN PVIDEO_HW_INITIALIZATION_DATA HwInitializationData,
- IN PVOID HwContext);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortInt10(
- IN PVOID HwDeviceExtension,
- IN PVIDEO_X86_BIOS_ARGUMENTS BiosArguments);
-
- VPAPI
- LONG
- DDKFASTAPI
- VideoPortInterlockedDecrement(
- IN PLONG Addend);
-
- VPAPI
- LONG
- DDKFASTAPI
- VideoPortInterlockedExchange(
- IN OUT PLONG Target,
- IN LONG Value);
-
- VPAPI
- LONG
- DDKFASTAPI
- VideoPortInterlockedIncrement(
- IN PLONG Addend);
-
- typedef enum _VP_LOCK_OPERATION {
- VpReadAccess = 0,
- VpWriteAccess,
- VpModifyAccess
- } VP_LOCK_OPERATION;
-
- VPAPI
- PVOID
- DDKAPI
- VideoPortLockBuffer(
- IN PVOID HwDeviceExtension,
- IN PVOID BaseAddress,
- IN ULONG Length,
- IN VP_LOCK_OPERATION Operation);
-
- VPAPI
- BOOLEAN
- DDKAPI
- VideoPortLockPages(
- IN PVOID HwDeviceExtension,
- IN OUT PVIDEO_REQUEST_PACKET pVrp,
- IN OUT PEVENT pUEvent,
- IN PEVENT pDisplayEvent,
- IN DMA_FLAGS DmaFlags);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortLogError(
- IN PVOID HwDeviceExtension,
- IN PVIDEO_REQUEST_PACKET Vrp OPTIONAL,
- IN VP_STATUS ErrorCode,
- IN ULONG UniqueId);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortMapBankedMemory(
- IN PVOID HwDeviceExtension,
- IN PHYSICAL_ADDRESS PhysicalAddress,
- IN OUT PULONG Length,
- PULONG InIoSpace,
- PVOID *VirtualAddress,
- ULONG BankLength,
- UCHAR ReadWriteBank,
- PBANKED_SECTION_ROUTINE BankRoutine,
- PVOID Context);
-
- VPAPI
- PDMA
- DDKAPI
- VideoPortMapDmaMemory(
- IN PVOID HwDeviceExtension,
- IN PVIDEO_REQUEST_PACKET pVrp,
- IN PHYSICAL_ADDRESS BoardAddress,
- IN PULONG Length,
- IN PULONG InIoSpace,
- IN PVOID MappedUserEvent,
- IN PVOID DisplayDriverEvent,
- IN OUT PVOID *VirtualAddress);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortMapMemory(
- IN PVOID HwDeviceExtension,
- IN PHYSICAL_ADDRESS PhysicalAddress,
- IN OUT PULONG Length,
- IN PULONG InIoSpace,
- IN OUT PVOID *VirtualAddress);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortMoveMemory(
- IN PVOID Destination,
- IN PVOID Source,
- IN ULONG Length);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortPutDmaAdapter(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter);
-
- VPAPI
- LONGLONG
- DDKAPI
- VideoPortQueryPerformanceCounter(
- IN PVOID HwDeviceExtension,
- OUT PLONGLONG PerformanceFrequency OPTIONAL);
-
- /* VideoPortQueryServices.ServicesType constants */
- typedef enum _VIDEO_PORT_SERVICES {
- VideoPortServicesAGP = 1,
- VideoPortServicesI2C,
- VideoPortServicesHeadless,
- VideoPortServicesInt10
- } VIDEO_PORT_SERVICES;
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortQueryServices(
- IN PVOID HwDeviceExtension,
- IN VIDEO_PORT_SERVICES ServicesType,
- IN OUT PINTERFACE Interface);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortQuerySystemTime(
- OUT PLARGE_INTEGER CurrentTime);
-
- VPAPI
- BOOLEAN
- DDKAPI
- VideoPortQueueDpc(
- IN PVOID HwDeviceExtension,
- IN PMINIPORT_DPC_ROUTINE CallbackRoutine,
- IN PVOID Context);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortReadPortBufferUchar(
- IN PUCHAR Port,
- OUT PUCHAR Buffer,
- IN ULONG Count);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortReadPortBufferUlong(
- IN PULONG Port,
- OUT PULONG Buffer,
- IN ULONG Count);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortReadPortBufferUshort(
- IN PUSHORT Port,
- OUT PUSHORT Buffer,
- IN ULONG Count);
-
- VPAPI
- UCHAR
- DDKAPI
- VideoPortReadPortUchar(
- IN PUCHAR Port);
-
- VPAPI
- ULONG
- DDKAPI
- VideoPortReadPortUlong(
- IN PULONG Port);
-
- VPAPI
- USHORT
- DDKAPI
- VideoPortReadPortUshort(
- IN PUSHORT Port);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortReadRegisterBufferUchar(
- IN PUCHAR Register,
- OUT PUCHAR Buffer,
- IN ULONG Count);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortReadRegisterBufferUlong(
- IN PULONG Register,
- OUT PULONG Buffer,
- IN ULONG Count);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortReadRegisterBufferUshort(
- IN PUSHORT Register,
- OUT PUSHORT Buffer,
- IN ULONG Count);
-
- VPAPI
- UCHAR
- DDKAPI
- VideoPortReadRegisterUchar(
- IN PUCHAR Register);
-
- VPAPI
- ULONG
- DDKAPI
- VideoPortReadRegisterUlong(
- IN PULONG Register);
-
- VPAPI
- USHORT
- DDKAPI
- VideoPortReadRegisterUshort(
- IN PUSHORT Register);
-
- VPAPI
- LONG
- DDKAPI
- VideoPortReadStateEvent(
- IN PVOID HwDeviceExtension,
- IN PEVENT pEvent);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortReleaseBuffer(
- IN PVOID HwDeviceExtension,
- IN PVOID Buffer);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortReleaseCommonBuffer(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter,
- IN ULONG Length,
- IN PHYSICAL_ADDRESS LogicalAddress,
- IN PVOID VirtualAddress,
- IN BOOLEAN CacheEnabled);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortReleaseDeviceLock(
- IN PVOID HwDeviceExtension);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortReleaseSpinLock(
- IN PVOID HwDeviceExtension,
- IN PSPIN_LOCK SpinLock,
- IN UCHAR NewIrql);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortReleaseSpinLockFromDpcLevel(
- IN PVOID HwDeviceExtension,
- IN PSPIN_LOCK SpinLock);
-
- VPAPI
- BOOLEAN
- DDKAPI
- VideoPortScanRom(
- PVOID HwDeviceExtension,
- PUCHAR RomBase,
- ULONG RomLength,
- PUCHAR String);
-
- VPAPI
- ULONG
- DDKAPI
- VideoPortSetBusData(
- IN PVOID HwDeviceExtension,
- IN BUS_DATA_TYPE BusDataType,
- IN ULONG SlotNumber,
- IN PVOID Buffer,
- IN ULONG Offset,
- IN ULONG Length);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortSetBytesUsed(
- IN PVOID HwDeviceExtension,
- IN OUT PDMA pDma,
- IN ULONG BytesUsed);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortSetDmaContext(
- IN PVOID HwDeviceExtension,
- OUT PDMA pDma,
- IN PVOID InstanceContext);
-
- VPAPI
- LONG
- DDKAPI
- VideoPortSetEvent(
- IN PVOID HwDeviceExtension,
- IN PEVENT pEvent);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortSetRegistryParameters(
- IN PVOID HwDeviceExtension,
- IN PWSTR ValueName,
- IN PVOID ValueData,
- IN ULONG ValueLength);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortSetTrappedEmulatorPorts(
- IN PVOID HwDeviceExtension,
- IN ULONG NumAccessRanges,
- IN PVIDEO_ACCESS_RANGE AccessRange);
-
- VPAPI
- BOOLEAN
- DDKAPI
- VideoPortSignalDmaComplete(
- IN PVOID HwDeviceExtension,
- IN PVOID pDmaHandle);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortStallExecution(
- IN ULONG Microseconds);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortStartDma(
- IN PVOID HwDeviceExtension,
- IN PVP_DMA_ADAPTER VpDmaAdapter,
- IN PVOID Mdl,
- IN ULONG Offset,
- IN OUT PULONG pLength,
- IN PEXECUTE_DMA ExecuteDmaRoutine,
- IN PVOID Context,
- IN BOOLEAN WriteToDevice);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortStartTimer(
- IN PVOID HwDeviceExtension);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortStopTimer(
- IN PVOID HwDeviceExtension);
-
- /* VideoPortSynchronizeExecution.Priority constants */
- typedef enum VIDEO_SYNCHRONIZE_PRIORITY {
- VpLowPriority = 0,
- VpMediumPriority,
- VpHighPriority
- } VIDEO_SYNCHRONIZE_PRIORITY, *PVIDEO_SYNCHRONIZE_PRIORITY;
-
- VPAPI
- BOOLEAN
- DDKAPI
- VideoPortSynchronizeExecution(
- IN PVOID HwDeviceExtension,
- IN VIDEO_SYNCHRONIZE_PRIORITY Priority,
- IN PMINIPORT_SYNCHRONIZE_ROUTINE SynchronizeRoutine,
- IN PVOID Context);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortUnLockBuffer(
- IN PVOID HwDeviceExtension,
- IN PVOID Mdl);
-
- VPAPI
- BOOLEAN
- DDKAPI
- VideoPortUnlockPages(
- IN PVOID hwDeviceExtension,
- IN OUT PDMA pDma);
-
- VPAPI
- BOOLEAN
- DDKAPI
- VideoPortUnmapDmaMemory(
- IN PVOID HwDeviceExtension,
- IN PVOID VirtualAddress,
- IN HANDLE ProcessHandle,
- IN PDMA BoardMemoryHandle);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortUnmapMemory(
- IN PVOID HwDeviceExtension,
- IN OUT PVOID VirtualAddress,
- IN HANDLE ProcessHandle);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortVerifyAccessRanges(
- IN PVOID HwDeviceExtension,
- IN ULONG NumAccessRanges,
- IN PVIDEO_ACCESS_RANGE AccessRanges);
-
- VPAPI
- VP_STATUS
- DDKAPI
- VideoPortWaitForSingleObject(
- IN PVOID HwDeviceExtension,
- IN PVOID Object,
- IN PLARGE_INTEGER Timeout OPTIONAL);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWritePortBufferUchar(
- IN PUCHAR Port,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWritePortBufferUlong(
- IN PULONG Port,
- IN PULONG Buffer,
- IN ULONG Count);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWritePortBufferUshort(
- IN PUSHORT Port,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWritePortUchar(
- IN PUCHAR Port,
- IN UCHAR Value);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWritePortUlong(
- IN PULONG Port,
- IN ULONG Value);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWritePortUshort(
- IN PUSHORT Port,
- IN USHORT Value);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWriteRegisterBufferUchar(
- IN PUCHAR Register,
- IN PUCHAR Buffer,
- IN ULONG Count);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWriteRegisterBufferUlong(
- IN PULONG Register,
- IN PULONG Buffer,
- IN ULONG Count);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWriteRegisterBufferUshort(
- IN PUSHORT Register,
- IN PUSHORT Buffer,
- IN ULONG Count);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWriteRegisterUchar(
- IN PUCHAR Register,
- IN UCHAR Value);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWriteRegisterUlong(
- IN PULONG Register,
- IN ULONG Value);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortWriteRegisterUshort(
- IN PUSHORT Register,
- IN USHORT Value);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortZeroDeviceMemory(
- IN PVOID Destination,
- IN ULONG Length);
-
- VPAPI
- VOID
- DDKAPI
- VideoPortZeroMemory(
- IN PVOID Destination,
- IN ULONG Length);
-
- #if DBG
- #define VideoDebugPrint(x) VideoPortDebugPrint x
- #else
- #define VideoDebugPrint(x)
- #endif
-
- #pragma pack(pop)
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* defined __WINDDI_H */
-
- #endif /* __VIDEO_H */
-