Шаг 14 - Опрос устройства GetDeviceState

Итак, мы с Вами все инициализировали и инициализировали, а теперь пришло время получить данные с устройства. Для этого есть функция 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  

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 4.06.2002