Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 Функция GrdDrvGetSystemInfo позволяет получать системную информацию о присутствующих в системе портах и версии текущей операционной системы.

 

Wiki Markup
{dojo-tabs:theme=tundra|id=1}
{dojo-tab:title=C|selected=true}
*C*
UINT GRDDRV_API GrdDrvGetSystemInfo(	
  TGRDDRV_SYSTEM_INFORMATION* pGrdSystemInfo
);	
{dojo-tab}
{dojo-tab:title=C#|selected=true}
*C#*

{dojo-tab}
{dojo-tab:title=Visual Basic (Declaration)}
*Visual Basic*

{dojo-tab}
{dojo-tab:title=Visual C++}
*Visual C++*

{dojo-tab}
{dojo-tabs}
Expand
titleВходные параметры
pGrdSystemInfo

Указатель на структуру типа GRDDRV_SYSTEM_INFORMATION, в которую будет помещена системная информация

Expand
titleВыходные параметры


Возможные ошибки

NO_ERROR

Удачное завершение

 

Код ошибки Windows

Expand
titleОписание

Функция GrdDrvGetSystemInfo позволяет получать системную информацию о количестве и базовых адресах обнаруженных в системе LPT-портов и о наличии USB-портов.

Expand
titleПример

#define GRDDRV_MAX_LPT_PORTS 10
typedef enum tagWINDOWS_PLATFORM {
    PLATFORM_9X, // Windows 9X, Millenium
    PLATFORM_NT // Windows NT/2000/XP/2003
} TWINDOWS_PLATFORM, *PWINDOWS_PLATFORM;

typedef struct tagGRDDRV_SYSTEM_INFORMATION {
    WORD wNumLPTPorts; // Количество доступных LPT-портов
    WORD awLPTPortBase[GRDDRV_MAX_LPT_PORTS] // Массив базовых адресов доступных LPT-портов
    BYTE bUSBBusInstalled; // Флаг наличия USB портов
    TWINDOWS_PLATFORM Platform; // Код текущей операционной системы
    BYTE bReserved[64]; // Зарезервировано
} TGRDDRV_SYSTEM_INFORMATION, *PGRDDRV_SYSTEM_INFORMATION

Пример для используемого средства разработки см. в директории:

"\%Program Files%\Guardant\Guardant 6\%PublicCode%\Samples\x86\Win32\Driver Installation API\"
или
 "\%Program Files%\Guardant\Guardant 6\%Public Code%\Samples\x64\Win64\Driver Installation API\"