?? dal.h
字號:
PFNGCOSETDISPLAYOFFSET pfnSetDisplayOffset;
// EPR# 36064 remove obsolete function PFNGCOSETPOWERSTATE pfnSetPowerState;
PFNGCOENABLEOVERLAY pfnEnableOverlay;
PFNGCOGETCRTCTIMINGS pfnGetCrtcTimings;
PFNGCOGETEXPANSION pfnGetExpansionSetting;
PFNGCOUPDATEBIOSDISPLAYINFO pfnUpdateBIOSDisplayInfo;
PFNGCOSETMODEEXTENDED pfnSetModeExtended;
PFNGCOISDEVICEMAPPINGSUPPORTED pfnIsDeviceMappingSupported;
PFNGCOGETBLINKOVERLAY pfnGetOverlayColorGammaAdjustment;
PFNGCOSETBLINKOVERLAY pfnSetOverlayColorGammaAdjustment;
PFNGCOGETBLINKOVERLAY pfnGetOverlayContrastAdjustment;
PFNGCOSETBLINKOVERLAY pfnSetOverlayContrastAdjustment;
PFNGCOGETBLINKOVERLAY pfnGetOverlaySaturationAdjustment;
PFNGCOSETBLINKOVERLAY pfnSetOverlaySaturationAdjustment;
PFNGCOGETBLINKOVERLAY pfnGetOverlayHueAdjustment;
PFNGCOSETBLINKOVERLAY pfnSetOverlayHueAdjustment;
PFNGCOGETBLINKOVERLAY pfnGetOverlayChromacityAdjustment;
PFNGCOSETBLINKOVERLAY pfnSetOverlayChromacityAdjustment;
PFNGCOGETBLINKOVERLAY pfnGetOverlayBlackWhiteLevelAdjustment;
PFNGCOSETBLINKOVERLAY pfnSetOverlayBlackWhiteLevelAdjustment;
PFNGCOGETCRC pfnGetCRC;
PFNGCOGETHARDWAREDATA pfnGetHardwareData;
PFNGETMODETIMING pfnGetModeTiming;
PFNGCOVALIDATEMODE pfnValidateMode;
PFNGCOALLOCOVERLAY pfnAllocOverlay;
PFNGCOFREEOVERLAY pfnFreeOverlay;
PFNGCOCONTROLLERTESTHARNESS pfnControllerTestHarness;
PFNGCOGETSYSTEMBIOSINFO pfnGetSystemBIOSInfo;
PFNGCOGETBLINKOVERLAY pfnGetOverlayAlphaAdjustment;
PFNGCOSETBLINKOVERLAY pfnSetOverlayAlphaAdjustment;
PFNGCOGETPOWERSTATE pfnGetPowerState;
PFNGCOSETPOWERSTATE pfnSetPowerState;
PFNGCOVALIDATEPOWERSTATE pfnValidatePowerState;
PFNGCOSETPOWERSTATEEX pfnGCOSetPowerState;
PFNGCOGETCLOCKINFO pfnGetClockInfo;
PFNGCOVALIDATECLOCKCONFIG pfnValidateClockConfig;
PFNGCOCALCMODEBWEX pfnCalculateModeBandwidthEx;
PFNGCOCALCMODEBWEX pfnCalculatePeakModeBandwidthEx;
PFNGETDETAILEDMODETIMING pfnGCOGetDetailedTiming;
PFNGCOSETEVENT pfnGCOSetEvent;
PFNGCOPROCESSMISCINFO pfnGCOProcessMiscInfo;
PFNGCOGETDISPLAYXYPOS pfnGCOGetDisplayXYPos;
PFNGCOSETDISPLAYXYPOS pfnGCOSetDisplayXYPos;
} HW_CONTROLLER_ENABLEDATA, FAR *LPHW_CONTROLLER_ENABLEDATA;
typedef struct _HW_DISPLAY_ENABLEDATA
{
ULONG ulSize; // required as first entry in structure [GG]
ULONG ulDisplayVersion;
ULONG ulDisplayType;
BOOL bEnabledAtBoot;
ULONG ulDisplayCaps;
ULONG ulSharedResDisplayType; //Indicate the other party of DisplayType
ULONG ulExtendedCaps;
ULONG ulExtendedType;
ULONG ulFunctionHooks;
ULONG ulFunctionHooks2;
ULONG ulHPDInterruptBitmap;
LPUCHAR lpDisplayName;
ULONG ulDefaultRefreshRate;
USHORT usI2CWriteStartAddr;
USHORT usI2CWriteLastAddr;
PFNGDOBLANKING pfnBlanking;
PFNGDODISABLE pfnDisable;
PFNGDOENABLE pfnEnable;
PFNGDOGETADJUSTMENT pfnGetBrightnessAdjustment;
PFNGDOGETADJUSTMENT pfnGetChromaFlickerAdjustment;
PFNGDOGETADJUSTMENT pfnGetColorControlAdjustment;
PFNGDOGETADJUSTMENT pfnGetContrastAdjustment;
PFNGDOGETADJUSTMENT pfnGetDisplayPositionAdjustment;
PFNGDOGETADJUSTMENT pfnGetDisplaySizeAdjustment;
PFNGDOGETADJUSTMENT pfnGetDotCrawlAdjustment;
PFNGDOGETADJUSTMENT pfnGetFilterSVideoAdjustment;
PFNGDOGETADJUSTMENT pfnGetFilterCompAdjustment;
PFNGDOGETADJUSTMENT pfnGetGammaAdjustment;
PFNGDOLIDSTATE pfnGetLidState;
PFNGDOGETADJUSTMENT pfnGetLumaFlickerAdjustment;
PFNGDOGETADJUSTMENT pfnGetOverscanAdjustment;
PFNGDOGETADJUSTMENT pfnGetMultimediaPassThruAdjustment;
PFNGDOGETADJUSTMENT pfnGetSyncCompositeAdjustment;
PFNGDOGETADJUSTMENT pfnGetSyncHorizontalAdjustment;
PFNGDOGETADJUSTMENT pfnGetSyncVerticalAdjustment;
PFNGDOGETADJUSTMENT pfnGetVideoStandardAdjustment;
PFNGDOGETADJUSTMENT pfnGetVideoSignalStandardAdjustment;
PFNGDOGETEDIDDATA pfnGetEdidData; // Obsolete !
PFNSETDSPLCONNECTOR pfnSetDisplayConnector;
PFNDDCPREDDCQUERY pfnDDC_I2C_PreDDCQuery;
PFNDDCREADLINE pfnDDC_I2C_ReadLine;
PFNDDCWRITELINE pfnDDC_I2C_WriteLine;
PFNDDCPOSTDDCQUERY pfnDDC_I2C_PostDDCQuery;
PFNGDOGETMONITORINFO pfnGetMonitorInfo;
PFNGDOCONNECT pfnIsDisplayPhysicallyConnected;
PFNGDOMODESUPPORTED pfnIsModeSupported;
PFNGDOPPMODE pfnPreModeChange;
PFNGDOPPMODE pfnPostModeChange;
PFNGDOSETADJUSTMENT pfnSetBrightnessAdjustment;
PFNGDOSETADJUSTMENT pfnSetChromaFlickerAdjustment;
PFNGDOSETADJUSTMENT pfnSetColorControlAdjustment;
PFNGDOSETADJUSTMENT pfnSetContrastAdjustment;
PFNGDODISPLAYONOFF pfnSetDisplayOff;
PFNGDODISPLAYONOFF pfnSetDisplayOn;
PFNGDOSETPOSITIONADJUSTMENT pfnSetDisplayPositionAdjustment;
PFNGDOSETSIZEADJUSTMENT pfnSetDisplaySizeAdjustment;
PFNGDOSETADJUSTMENT pfnSetDotCrawlAdjustment;
PFNGDOSETDPMS pfnSetDPMS;
PFNGDOSETADJUSTMENT pfnSetFilterSVideoAdjustment;
PFNGDOSETADJUSTMENT pfnSetFilterCompAdjustment;
PFNGDOSETADJUSTMENT pfnSetGammaAdjustment;
PFNGDOSETADJUSTMENT pfnSetLumaFlickerAdjustment;
PFNGDOMODE pfnSetMode;
PFNGDOSETOVERSCANADJUSTMENT pfnSetOverscanAdjustment;
PFNGDOSETPOWERSTATE pfnSetPowerState;
PFNGDOSETMULTIMEDIAADJUSTMENT pfnSetMultimediaPassThruAdjustment;
PFNGDOSETADJUSTMENT pfnSetSyncCompositeAdjustment;
PFNGDOSETADJUSTMENT pfnSetSyncHorizontalAdjustment;
PFNGDOSETADJUSTMENT pfnSetSyncVerticalAdjustment;
PFNGDOSETVIDEOSTANDARDADJUSTMENT pfnSetVideoStandardAdjustment;
PFNGDOSETADJUSTMENT pfnSetVideoSignalStandardAdjustment;
PFNGDOINITIALIZEDEVICE pfnInitializeDevice;
PFNGDOISDEVICEHOTPLUGGABLE pfnIsDeviceHotPluggable;
PFNGDOPPADJUSTMENTCHANGE pfnPreAdjustmentChange;
PFNGDOPPADJUSTMENTCHANGE pfnPostAdjustmentChange;
PFNGDOALIGNER pfnAligner;
PFNGDODISPLAYTESTHARNESS pfnDisplayTestHarness;
PFNGDOENABLESIBLING pfnEnableSibling;
PFNGDOGETADJUSTMENT pfnGetSaturationAdjustment;
PFNGDOSETADJUSTMENT pfnSetSaturationAdjustment;
PFNGDOGETADJUSTMENT pfnGetHueAdjustment;
PFNGDOSETADJUSTMENT pfnSetHueAdjustment;
PFNGDOSETADJUSTMENT pfnSetCGMSAdjustment;
PFNGDOGETSUPPORTEDREFRESHRATE pfnGetSupportedRefreshRate; //To get supported low refresh rate .
PFNGDOSETREFRESHRATE pfnSetRefreshRate; //Set a specific refresh rate.
PFNGDOGETADJUSTMENT pfnGetFrameModulation;
PFNGDOSETADJUSTMENT pfnSetFrameModulation; //set DFP frame modulation
PFNGDODISPLAYGETDEVICEINFO pfnDisplayGetDeviceInfo;
PFNGDOGETSETI2CDATA pfnGetSetI2CData;
PFNGDOSETPOWERSTATE pfnGDOSetPowerState;
PFNGDOGETFIXEDDISPLAYMODES pfnGetFixedDisplayModes; //For NON_standard Fixed mode enumeration use
PFNGETFIXEDDISPLAYMODETIMING pfnGetFixedDisplayModeTiming;
PFNGDOMODESUPPORTEDEX pfnIsModeSupportedEx;
} HW_DISPLAY_ENABLEDATA, FAR *LPHW_DISPLAY_ENABLEDATA;
typedef struct _EVENTINFO
{
ULONG ulSize;
ULONG ulController;
ULONG ulDriverID;
ULONG ulEvent;
ULONG ulModeMajorFlag;
ULONG ulModeMinorFlag;
SIZE sDesktop;
DEVMODE_INFO sModeInfo;
ULONG ulReserved[4];
} EVENTINFO, FAR *LPEVENTINFO;
#ifdef NT_BUILD
typedef struct _VIDEO_X86_BIOS_ARGUMENTS
{
ULONG Eax;
ULONG Ebx;
ULONG Ecx;
ULONG Edx;
ULONG Esi;
ULONG Edi;
ULONG Ebp;
} VIDEO_X86_BIOS_ARGUMENTS, FAR *PVIDEO_X86_BIOS_ARGUMENTS;
#endif /* NT_BUILD */
/******************************Public*Definition*****************************\
*
* DAL MACROS
*
\****************************************************************************/
#define DALDBG_ENTRY_EXIT 2
#define DALDBG_DETAIL 1
#define DALDBG_NORMAL 0
#ifdef DBG
#if defined (i386) || defined (_i386_) || defined (_X86_)
#define INT_3() __asm { __asm int 3 }
#else
VOID DbgBreakPoint();
#define INT_3() DbgBreakPoint()
#endif /* X86 */
#define DALASSERT(x, y) if (!(x)) { DDLDebugPrint(0,y); DebugBreak();}
#define DALDEBUG(arg) DDLDebugPrint arg
#else /* DBG */
#define DALASSERT(x, y)
#define DALDEBUG(arg)
#endif /* DBG */
#ifdef WIN9X_BUILD
#define COMPAREMEMORY(d,s,l)
#define MOVEMEMORY(d,s,l) _fmemmove((LPVOID)d, (LPVOID)s, (size_t)l)
#define WRITEREGUCHAR(d,s,l) _fmemmove((LPVOID)d, (LPVOID)s, (size_t)l)
#define READREGUCHAR(d,s,l) _fmemmove((LPVOID)d, (LPVOID)s, (size_t)l)
#define ZEROMEMORY(p,l) _fmemset((LPVOID)p, (char)0, (size_t)l)
#define IOREADULONG(p,r)
#define IOWRITEULONG(p,r,v)
#define IOWRITEUCHAR(p,r,v)
#define MMREADULONG(lp,r) asmMM_ReadULONG(lp, r)
#define MMWRITEULONG(lp,r,v) asmMM_WriteULONG(lp, r, v)
#define MMWRITEUCHAR(p,r,v,n) (*(((LPUCHAR)((LPULONG)p+r)) + n) = v)
#define MMREADUCHAR(p,r,n) (*(((LPUCHAR)((LPULONG)p+r)) + n))
//for reading memory map bios area
#define MMBAREADULONG(lp,r) *((ULONG FAR*)((UCHAR FAR*) lp + r ))
#define MMBAREADUSHORT(lp,r) *((USHORT FAR*)((UCHAR FAR*) lp + r ))
#define MMBAREADUCHAR(lp,r) *((UCHAR FAR*)((UCHAR FAR*) lp + r ))
#define MMBAREADBUFFER(lp,r,d,l) _fmemmove((LPVOID)d, (LPVOID)((UCHAR FAR*)lp + r), (size_t)l)
#define SYNCEXECUTION(p,r,d,v) d(v)
// This is a temporary workaround because BOOLEAN is not defined in Win9x.
// In NT DDK this is defined with BOOLEAN (== unsigned char). The BOOL
// type (== long) is known to both Win9x and NT projects. Mismatching
// type in NT won't matter because either 0 or 1 is returned and BOOL
// is wider than BOOLEAN.
//
typedef
BOOL // BOOL instead of BOOLEAN!
(*PMINIPORT_SYNCHRONIZE_ROUTINE)(
void *Context
);
#ifdef NDEBUG
#define STALLEXECUTION(l) DALSTALLEXECUTION(l)
#else /* NDEBUG */
#define STALLEXECUTION(l)
#endif /* NDEBUG */
VOID asmMM_WriteULONG(LPVOID lp, ULONG r, ULONG v);
ULONG asmMM_ReadULONG(LPVOID lp, ULONG r);
VOID DALSTALLEXECUTION(ULONG ulCounter);
VOID asmStallExecution(USHORT usDelay);
VOID asmReadCounter();
#else /* WIN9X_BUILD */
#if !defined(CE_BUILD)
#define COMPAREMEMORY(d,s,l) // VideoPortCompareMemory((LPVOID)d, (LPVOID)s,(ULONG)l)
#define MOVEMEMORY(d,s,l) // VideoPortMoveMemory((LPVOID)d, (LPVOID)s, (ULONG)l)
#define WRITEREGUCHAR(d,s,l) WRITE_REGISTER_BUFFERED_UCHAR(((PUCHAR)d, (PUCHAR)s, (ULONG)l)
#define READREGUCHAR(d,s,l) //VideoPortReadRegisterBufferUchar((PUCHAR)d, (PUCHAR)s,(ULONG)l)
#define ZEROMEMORY(p,l) // VideoPortZeroMemory((LPVOID)p, (ULONG)l)
#define IOREADULONG(p,r) //VideoPortReadPortUlong((LPULONG)p + r)
#define IOWRITEULONG(p,r,v) //VideoPortWritePortUlong(((LPULONG)p + r),v)
#define IOWRITEUCHAR(p,r,v) //VideoPortWritePortUchar(((LPUCHAR)p + r),v)
#define MMREADULONG(p,r) //VideoPortReadRegisterUlong((LPULONG)p + r)
#define MMWRITEULONG(p,r,v) //VideoPortWriteRegisterUlong(((LPULONG)p + r),v)
#define MMWRITEUCHAR(p,r,v,n) //VideoPortWriteRegisterUchar((LPUCHAR)((LPULONG)p+r)+n,v)
#define MMREADUCHAR(p,r,n) //deoPortReadRegisterUchar((LPUCHAR)((LPULONG)p+r)+n)
//for reading memory map bios area
//#define MMBAREADULONG(p,r) VideoPortReadRegisterUlong((LPULONG)((LPUCHAR)p + r))
__inline ULONG MMBAREADULONG(LPVOID p, ULONG r)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -