После того как установлен уровень кооперации, обязательно нужно установить формат данных. Смысл установки формата данных в том, чтобы указать какие части устройства (например кнопки мыши) будут использоваться. Для вызова этой функции используется структура описывающая необходимый формат. Но для стандартных устройств нет необходимости заполнять эту довольно сложную структуру, можно воспользоваться типовыми форматами. В VB есть упрощенная функция SetCommonDataFormat. Итак, смотрим описание.
Visual Basic Параметры Ошибки Параметры Возвращаемое значение.
Visual C++
Visual Basic
object.SetDataFormat(format As DIDATAFORMAT, formatArray() As DIOBJECTDATAFORMAT))
object
Объектная переменная типа DirectInputDevice
format
Описывает формат данных который должны вернуться
formatArray
Массив DIOBJECTDATAFORMAT описывающих формат данных на устройстве.
Если вызов успешен, то будет сгенерирована ошибка и код установлен в Err.Number в одно из следующих значений:
DIERR_ACQUIRED
DIERR_INVALIDPARAM
Visual C++
HRESULT SetDataFormat
(
LPCDIDATAFORMAT lpdf
);
lpdf
Адрес структуры DIDATAFORMAT описывающей требуемый формат данных.
Если вызов успешный функция возвращает DI_OK. Иначе один из следующих кодов ошибки.
DIERR_ACQUIRED
DIERR_INVALIDPARAM
DIERR_NOTINITIALIZED