?? dal.h
字號:
{
ULONG ulData;
// VideoPortReadRegisterBufferUchar(((LPUCHAR)p + r), (LPUCHAR) &ulData, sizeof(ULONG));
return ulData;
}
//#define MMBAREADUSHORT(p,r) VideoPortReadRegisterUshort((LPUSHORT)((LPUCHAR)p + r))
__inline USHORT MMBAREADUSHORT(LPVOID p, ULONG r)
{
USHORT ulData;
// VideoPortReadRegisterBufferUchar(((LPUCHAR)p + r), (LPUCHAR) &ulData, sizeof(USHORT));
return ulData;
}
#define MMBAREADUCHAR(p,r) READ_REGISTER_UCHAR((LPUCHAR)((LPUCHAR)p + r))
#define MMBAREADBUFFER(p,r,d,l) READ_REGISTER_BUFFER_UCHAR((LPUCHAR)p + r, (LPUCHAR)d, (ULONG)l)
#define SYNCEXECUTION(p,r,d,v) //VideoPortSynchronizeExecution(p,r,d,v)
#define STALLEXECUTION(l) //VideoPortStallExecution(l)
#else
// Defines for CE_BUILD ---------------------------------------------------------------------------------------------------------------------------------
#define COMPAREMEMORY(d,s,l) memcmp((LPVOID)d, (LPVOID)s,(ULONG)l)
#define MOVEMEMORY(d,s,l) memmove((LPVOID)d, (LPVOID)s, (ULONG)l)
#define WRITEREGUCHAR(d,s,l) WRITE_REGISTER_BUFFER_UCHAR((PUCHAR)d, (PUCHAR)s,(ULONG)l)
#define READREGUCHAR(d,s,l) READ_REGISTER_BUFFER_UCHAR((PUCHAR)d, (PUCHAR)s,(ULONG)l)
#define ZEROMEMORY(p,l) memset((p),0,(l))
#define IOREADULONG(p,r) READ_PORT_ULONG((LPULONG)p + r)
#define IOWRITEULONG(p,r,v) WRITE_PORT_ULONG(((LPULONG)p + r),v)
#define IOWRITEUCHAR(p,r,v) WRITE_PORT_UCHAR(((LPUCHAR)p + r),v)
#define MMREADULONG(p,r) READ_REGISTER_ULONG((LPULONG)p + r)
#define MMWRITEULONG(p,r,v) WRITE_REGISTER_ULONG(((LPULONG)p + r),v)
//#define MMWRITEULONG(p,r,v) WRITE_REGISTER_ULONG(((LPULONG) ((LPUCHAR)p + r) ),v)
#define MMWRITEUCHAR(p,r,v,n) WRITE_REGISTER_UCHAR((LPUCHAR)((LPULONG)p+r)+n,v)
#define MMREADUCHAR(p,r,n) READ_REGISTER_UCHAR((LPUCHAR)((LPULONG)p+r)+n)
//for reading memory map bios area
//#define MMBAREADULONG(p,r) VideoPortReadRegisterUlong((LPULONG)((LPUCHAR)p + r))
__inline ULONG Aligned_MMBAREADULONG(LPVOID p, ULONG r)
{
ULONG ulData[2];
ULONG retVal;
ULONG offset;
ULONG invoffset;
// read aligned DWORDs
ulData[0] = READ_REGISTER_ULONG( (LPULONG) p +r/sizeof(ULONG) );
ulData[1] = READ_REGISTER_ULONG( (LPULONG) p +r/sizeof(ULONG) +1 );
// calculate DWORD offset
offset = (r%sizeof(ULONG));
invoffset = sizeof(ULONG) - offset;
retVal = ulData[0] << (8*offset);
retVal+= ulData[1] >> (8*invoffset);
return retVal;
}
//#define MMBAREADULONG(p,r) VideoPortReadRegisterUlong((LPULONG)((LPUCHAR)p + r))
__inline ULONG MMBAREADULONG(LPVOID p, ULONG r)
{
ULONG ulData;
ulData = READ_REGISTER_ULONG( (LPULONG)( (LPUCHAR)p + r ) );
return ulData;
}
//#define MMBAREADUSHORT(p,r) VideoPortReadRegisterUshort((LPUSHORT)((LPUCHAR)p + r))
__inline USHORT MMBAREADUSHORT(LPVOID p, ULONG r)
{
USHORT ulData;
ulData = READ_REGISTER_USHORT( (LPUSHORT)( ((LPUCHAR)p) + r ) );
return ulData;
}
#define MMBAREADUCHAR(p,r) READ_REGISTER_UCHAR((LPUCHAR)((LPUCHAR)p + r))
#define MMBAREADBUFFER(p,r,d,l) _MMBAREADBUFFER( ((LPUCHAR)p + r), (LPUCHAR)d, l)
__inline void _MMBAREADBUFFER(LPUCHAR p, LPUCHAR d, ULONG l)
{
while( l-- )
*d++ = *(volatile UCHAR * const)p++;
}
#define SYNCEXECUTION(p,r,d,v) //VideoPortSynchronizeExecution(p,r,d,v) // we don't need this in CE becuase we don't do DDC
//#define STALLEXECUTION(l) Sleep(l/1000) // Microseconds
__inline void STALLEXECUTION(ULONG l) // l is in microseconds
{
ULONG ms;
ms = (l+500)/1000;
if ( ms == 0 )
ms = 1;
Sleep(ms); // milliseonds
}
__inline void STALLEXECUTION_MS(ULONG ms) // l is in microseconds
{
if ( ms == 0 )
ms = 1;
Sleep(ms); // milliseonds
}
#endif // !CE_BUILD
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
#endif /* WIN9X_BUILD */
/******************************Public*Definition*****************************\
*
* DAL FUNCTION PROTOTYPES
*
\****************************************************************************/
BOOL DALAllocOverlay(HDAL hDAL, ULONG ulController, ULONG ulWidthBytes, ULONG ulHeight, ULONG ulOverlayType);
ULONG DALCWDDE(HDAL hDAL, LPVOID lpInput, ULONG ulInputSize, LPVOID lpOutput,
ULONG ulOutputSize, LPLONG lpInfoSize);
VOID DALDisable(VOID);
VOID DALDisableInstance(HDAL hDAL);
VOID DALDisableDriverInstance(HDAL hDAL, ULONG ulDriverID, BOOL bPrimaryDriver);
BOOL DALEnable(VOID);
BOOL DALEnableInstance(HDAL hDAL, HDDL hDDL, ULONG ulDrivers, LPDALMEM lpaAdditionalMemSeg);
ULONG DALEnableDriverInstance(HDAL hDAL, ULONG ulDriverID);
ULONG DALResumeInstance(HDAL hDAL, ULONG ulDrivers, ULONG ulPowerState);
VOID DALFreeOverlay(HDAL hDAL, ULONG ulController);
BOOL DALQueryOverlayStatus(HDAL hDAL, ULONG ulController);
BOOL DALGetDefaultMode(HDAL hDAL, ULONG ulDriverID, LPDEVMODE_INFO lpMI);
ULONG DALGetDPMS(HDAL hDAL);
VOID DALUpdateObjectMap(HDAL hDAL, ULONG ulDriverID);
ULONG DALModifyMappedDisplays(HDAL hDAL, ULONG ulDriverID, ULONG ulController);
ULONG DALGetPrimaryControllerDisplayMap(HDAL hDAL);
VOID DALGetGammaCorrection(HDAL hDAL, ULONG ulDriverID, LPDEVCLUT lpaGamma);
VOID DALGetGamma16Correction(HDAL hDAL, ULONG ulDriverID, LPDEVCLUT16 lpaGamma16);
ULONG DALGetGraphicsControllerInfo(HDAL hDAL, ULONG ulDriverID);
ULONG DALGetHDALSize(LPULONG lpulDALSize, LPDALMEM lpaAdditionalMemSeg);
BOOL DALGetMode(HDAL hDAL, LPDEVMODE_INFO lpMI, LPRECT lprtView,
LPRECT lprtPanLock, ULONG ulController);
BOOL DALGetModeVMI(HDAL hDAL, VIDEO_MODE_INFORMATION FAR * lpVMI,
ULONG ulDriverID);
ULONG DALGetModesAvailable(HDAL hDAL, ULONG ulDriverID, LPDEVMODE_INFO lpaMI,
ULONG ulModes);
ULONG DALGetModesAvailableVMI(HDAL hDAL, ULONG ulDriverID,
VIDEO_MODE_INFORMATION FAR *lpaVMI, ULONG ulModes);
ULONG DALGetNumberModesAvailable(HDAL hDAL, ULONG ulDriverID);
BOOL DALShareModeTable(HDAL hDal, LPVOID lpModeTable, ULONG ulConnectedDisplays);
BOOL DALUnShareModeTable(HDAL hDal, LPVOID lpModeTable, ULONG ulConnectedDisplays);
VOID DALResetMode(HDAL hDAL, ULONG ulDriverID);
BOOL DALGetDisplayEDID(HDAL hDAL, ULONG ulDriverID, ULONG ulDisplayIndex, LPUCHAR lpucQueryBuffer, ULONG ulLength);
VOID DALSetDisplayDPMS(HDAL hDAL, ULONG ulDriverID, ULONG ulState, ULONG ulDisplayIndex);
VOID DALVGASetDisplayDPMS(HDAL hDAL, ULONG ulDriverID, ULONG ulState, ULONG ulDisplayIndex);
VOID DALSetDPMS(HDAL hDAL, ULONG ulState);
VOID DALSetPowerState(HDAL hDAL, ULONG ulState);
ULONG DALGetGammaMode(HDAL hDAL, ULONG ulDriverID);
VOID DALSetGammaMode(HDAL hDAL, ULONG ulDriverID, ULONG ulGammaMode);
VOID DALSetGammaCorrection(HDAL hDAL, ULONG ulDriverID, LPDEVCLUT lpaGamma);
VOID DALSetGamma16Correction(HDAL hDAL, ULONG ulDriverID, LPDEVCLUT16 lpaGamma16);
ULONG DALSetMode(HDAL hDAL, ULONG ulDriverID, LPDEVMODE_INFO lpMI, ULONG ulDisplayOffset,
ULONG ulDisplayPitch, BOOL bForce);
ULONG DALSetModeVMI(HDAL hDAL, ULONG ulDriverID, VIDEO_MODE_INFORMATION FAR *lpVMI,
BOOL bForce);
VOID DALSetPalette(HDAL hDAL, ULONG ulDriverID, LPDEVCLUT lpPalette,
ULONG ulStart, ULONG ulLength);
BOOL DALSetAdjustmentTimings(LPHANDLE lpParameter, ULONG ulController, LPADJUSTMENT_PARAMETERS lpAdjustmentParameters);
ULONG ulDALDisplayGetEDID( HDAL hDAL, ULONG ulDisplayIndex, LPVOID lpEdidBuffer );
ULONG DALGetDisplaysPhysicallyConnected(HDAL hDAL, ULONG ulDriverID);
ULONG DALGetDisplaysActive(HDAL hDAL, ULONG ulDriverID);
VOID DALModifyObjectMap(HDAL hDAL,
ULONG ulDriverID,
LPULONG lpaControllersMap,
LPULONG lpaDisplays);
VOID DALEnableDDExclusiveMode(HDAL hDAL, ULONG ulDriverID) ;
VOID DALDisableDDExclusiveMode(HDAL hDAL, ULONG ulDriverID) ;
VOID DALSwitchFSDOSToWindows(HDAL hDAL, ULONG ulDriverID);
VOID DALSwitchWindowsToFSDOS(HDAL hDAL, ULONG ulDriverID);
ULONG DALGetNumberOfDrivers(HDAL hDAL);
ULONG DALGetDriverState(HDAL hDAL, ULONG ulDriverID);
/******************************Public*Definition*****************************\
*
* DDL FUNCTION PROTOTYPES
*
\****************************************************************************/
BOOL DDLBiosInt10(HDDL hDDL, PVIDEO_X86_BIOS_ARGUMENTS pBiosArguments);
VOID DDLDebugPrint(ULONG ulDebugLevel, LPCHAR lpDebugMessage, ...);
PFNGCOENABLE* DDLGetControllerObjects(HDDL hddl, LPULONG lpultotalcontrollerobjects);
PFNGDOENABLE* DDLGetDisplayObjects(HDDL hddl, LPULONG lpultotaldisplayobjects);
VOID DDLGetHwAsicID(HDDL hDDL, LPHW_ASIC_ID lpHwAsicID);
void mytest(void);
VOID DDLEventNotification(HDDL hDDL, LPEVENTINFO lpEventInfo);
BOOL DDLGetRegistryParameters(HDDL hDDL, LPUCHAR lpValueName, LPVOID lpValueData,
LPULONG lpuValueLength);
BOOL DDLSetRegistryParameters(HDDL hDDL, LPUCHAR lpValueName, LPVOID lpValueData,
ULONG uValueLength);
BOOL FAR DDLGetMonitorInfo(HDDL hDDL, LPMONITOR_INFO lpMonitorInfo);
ULONG FAR DDLGetRegistryPathName(HDDL hDDL, LPUCHAR lpPathName);
VOID FAR DDLRegisterAND(HDDL hDDL, ULONG ulOffset, ULONG ulMask);
VOID FAR DDLRegisterOR(HDDL hDDL, ULONG ulOffset, ULONG ulMask);
BOOL FAR DDLGetDriverInfo(HDDL hDDL, LPULONG lpDrivers);
ULONG FAR DDLGetDriverOptions(HDDL hDDL);
VOID FAR DDLGetAdapterID(HDDL hDDL, LPCHAR lpcDriverID);
BOOL FAR DDLGetDriversToLoad(HDDL hDDL, LPULONG lpDrivers, LPCHAR lpDeviceName);
BOOL FAR DDLShareModeTable(HDDL hDDL, LPVOID lpModeTable, ULONG ulConnectedDisplays);
ULONG FAR DDLReadCMOS(HDDL hDDL, ULONG ulCMOSAddress);
VOID FAR DDLWriteCMOS(HDDL hDDL, ULONG ulCMOSAddress, ULONG ulCMOSValue);
BOOL FAR DDLMessageCode(HDDL hDDL, ULONG ulDriverId, ULONG ulMessageCode, ULONG ulBufSize, LPVOID pvBuf);
#if defined(_X86_)
#pragma pack()
#endif
#ifdef __cplusplus
}
#endif
#endif /*_DAL_H*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -