Ïðîãðàììèðîâàíèå âèäåîàäàïòåðîâ



Ïîëó÷èòü èíôîðìàöèþ î ðåæèìå âèäåîàäàïòåðà - ÷àñòü 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




Ñîäåðæàíèå  Íàçàä  Âïåðåä