Статьи по программированию
примеры программного кода
Delphi, Kylix, C, C++, SQL, Visual Basic, Bash, Assembler, 1С
Qt, KOL, MFC, Rx Library, Windows, Linux, Mac OS
Получение информации о контроллерах
Опубликовано codeLocker в 17.08.2008 в 11:15.
' объявляем константы
Private Const SC_HA_INQUIRY = fiHO
Private Const SS_COMP = SHl
' объявляем структуру SRB_HAInquiry
Private Type SRB_HAInquiry
SRB_Cmd As Byte
SRB_Status As Byte
SRB_HaId As Byte
SRB_Flags As Byte
SRB_Hdr_Rsvd As Long
HA_Count As Byte
HA_Id As Byte
HA_MgrId As String * 16
HA^Ident As String * 16
HA_Unique(15) As Byte
HA_Rsvd As Integer
End Type
' объявляем функции
Private Declare Function GetASPI32SupportInfo Lib "Wnaspi32" () As Long
Private Declare Function SendASPI32Coimiand Lib "Wnaspi32" _ (haSRB As SRB_HAInquiry) As Long 'пишем свою функцию
Public Function GetDevicelnfo() As Boolean
Dim numDevice As Integer, iDevice As Integer
Dim Inquiry As SRB_HAInquiry
Dim IResult As Long
Dim nStatus as Integer
IResult = GetASPI32SupportInfo() nStatus = IResult / 256
' если все хорошо, получаем количество установленных устройств
If (nStatus = SS_COMP) Then numDevice = IResult And &HF
' получаем данные обо всех установленных контроллерах
For iDevice = 0 То numDevice ' заполняем структуру
Inquiry.SRB_Cmd = SC_HA_INQUIRY
Inquiry.Hald = iDevice
Inquiry.SRB_Flags = 0
Inquiry. SRB_Hdr__Rsvd = 0
IResult = SendASPI32Command(Inquiry)
' проверяем возвращаемое значение
If(Inquiry.SRB__Status о SS_COMP)Then
GoTo skipDevice Else
' делаем что-нибудь с полученными значениями
' Inquiry.HA_Id, Inquiry.HA_MgrId, Inquiry.HA_Ident,
' Inquiry.HA_Unique
End If
skipDevice:
Next iDevice
GetDevicelnfo = True ' функция выполнена успешно
End Function
Private Const SC_HA_INQUIRY = fiHO
Private Const SS_COMP = SHl
' объявляем структуру SRB_HAInquiry
Private Type SRB_HAInquiry
SRB_Cmd As Byte
SRB_Status As Byte
SRB_HaId As Byte
SRB_Flags As Byte
SRB_Hdr_Rsvd As Long
HA_Count As Byte
HA_Id As Byte
HA_MgrId As String * 16
HA^Ident As String * 16
HA_Unique(15) As Byte
HA_Rsvd As Integer
End Type
' объявляем функции
Private Declare Function GetASPI32SupportInfo Lib "Wnaspi32" () As Long
Private Declare Function SendASPI32Coimiand Lib "Wnaspi32" _ (haSRB As SRB_HAInquiry) As Long 'пишем свою функцию
Public Function GetDevicelnfo() As Boolean
Dim numDevice As Integer, iDevice As Integer
Dim Inquiry As SRB_HAInquiry
Dim IResult As Long
Dim nStatus as Integer
IResult = GetASPI32SupportInfo() nStatus = IResult / 256
' если все хорошо, получаем количество установленных устройств
If (nStatus = SS_COMP) Then numDevice = IResult And &HF
' получаем данные обо всех установленных контроллерах
For iDevice = 0 То numDevice ' заполняем структуру
Inquiry.SRB_Cmd = SC_HA_INQUIRY
Inquiry.Hald = iDevice
Inquiry.SRB_Flags = 0
Inquiry. SRB_Hdr__Rsvd = 0
IResult = SendASPI32Command(Inquiry)
' проверяем возвращаемое значение
If(Inquiry.SRB__Status о SS_COMP)Then
GoTo skipDevice Else
' делаем что-нибудь с полученными значениями
' Inquiry.HA_Id, Inquiry.HA_MgrId, Inquiry.HA_Ident,
' Inquiry.HA_Unique
End If
skipDevice:
Next iDevice
GetDevicelnfo = True ' функция выполнена успешно
End Function
Материал похожий на Получение информации о контроллерах
- Получение информации о контроллерах
- Пример использования команды CHANGE DEFINITION
- Определение типа устройства
- Пример использования команды CHANGE DEFINITION
- Получение информации о таблице
Навигация
Сейчас на сайте
Сейчас на сайте 0 пользователей и 2 гостя.
Статистика
Всего материалов: 1387