Итак, мы с Вами все инициализировали и инициализировали, а теперь пришло время получить данные с устройства. Для этого есть функция GetDeviceState(). После вызова этой функции будет получена информация о состоянии устройства. В VB есть ряд вспомогательных функций, которыми пользоваться легче. Это функции GetDeviceStateMouse, GetDeviceStateKeyboard, GetDeviceStateJoystick. Суть не меняется, просто более легкое использование.
Visual Basic Параметры Ошибки Параметры Возвращаемое значение.
Visual C++
Visual Basic
object.GetDeviceState(cb As Long, state As Any)
object
Объектная переменная типа DirectInputDevice
cb
Размер массива чей первый элемент state
state
Первый элемент массива для получения информации
Если вызов не успешен, то будет сгенерирована ошибка и код установлен в Err.Number в одно из следующих значений:
DIERR_INPUTLOST
DIERR_INVALIDPARAM
DIERR_NOTACQUIRED
E_PENDING
Visual C++
HRESULT GetDeviceState
(
DWORD cbData,
LPVOID lpvData
);
cbData
Размер буфера lpvData в байтах
lpvData
Адрес буфера для получения информации
Если вызов успешный функция возвращает DI_OK. Иначе один из следующих кодов ошибки:
DIERR_INPUTLOST
DIERR_INVALIDPARAM
DIERR_NOTACQUIRED
DIERR_NOTINITIALIZED
E_PENDING