Ïîëó÷èòü èíôîðìàöèþ î ðåæèìå âèäåîàäàïòåðà - ÷àñòü 7
return iResult;
}
Âî âêëþ÷àåìîì ôàéëå VESA.H îïðåäåëåíû ñòðóêòóðû VESAINFO è VESAMODEINFO, êîòîðûå èñïîëüçóþòñÿ ïðè îïðåäåëåíèè âîçìîæíîñòåé VBE è âèäåîàäàïòåðà. Èñõîäíûé òåêñò ôàéëà VESA.H ïðåäñòàâëåí â ëèñòèíãå 7.2.
Ëèñòèíã 7.2. Ôàéë VESA.H
// Èíôîðìàöèÿ î VBE è âèäåîàäàïòåðå
typedef struct
{
// Ïîääåðæèâàåòñÿ âñåìè âåðñèÿìè VBE
char cSignature[4];
unsigned short usVersion;
char far *fpInfoOEM;
unsigned char ucCapabilities[4];
unsigned short far *fpModeTable;
// Ïîääåðæèâàåòñÿ VBE âåðñèè 1.2
unsigned short usTotalMemory;
// Ïîääåðæèâàåòñÿ VBE âåðñèè 2.0
unsigned short usRevVersion;
char far *fpOEMName;
char far *fpOEMProductName;
char far *fpOEMRevVersion;
char cReserv[222];
char cOEMData[256];
} VESAINFO;
// Õàðàêòåðèñòèêà ðåæèìà âèäåîàäàïòåðà
typedef struct
{
unsigned short usModeAttr;
unsigned char ucWinAAttr;
unsigned char ucWinBAttr;
unsigned short usWinGranularity;
unsigned short usWinSize;
unsigned short usBegSegA;
unsigned short usBegSegB;
void far *fpWinFunc;
unsigned short usBytesPerScanLine;
// Ïîääåðæèâàåòñÿ VBE âåðñèè 1.2