Поделиться через


Функция NfcCxHardwareEvent (nfccx.h)

Вызывается драйвером клиента, когда происходит аппаратное событие, например D0Entry и D0Exit, для запуска или остановки устройства. Для драйверов, требующих загрузки встроенного ПО при инициализации или загрузке, рекомендуется переместить этот вызов на отдельный рабочий элемент. Однако драйвер клиента отвечает за следующее:

  • Драйвер клиента должен принимать неактивную ссылку на питание перед очередью рабочего элемента. Ссылка должна быть удалена после завершения рабочего элемента. Это гарантирует, что управление питанием бездействия не приводит к тому, что драйвер переходит в D3 во время работы рабочего элемента.
  • Драйвер клиента должен синхронизировать рабочий элемент с другими обратными вызовами устройств. Обычно это достигается параметром AutomaticSerialization в WDF_WORKITEM_CONFIG и родительским элементом WDFWORKITEM является WDFDEVICE или явно принимая блокировку устройства, то есть WdfObjectAcquireLock на WDFDEVICE.
  • Если вызов события оборудования завершается сбоем из рабочего элемента, драйвер клиента должен перезапустить или разблокировать драйвер, чтобы предотвратить его работу в плохом состоянии. Это можно сделать с помощью параметра перезапуска или выгрузки.

Синтаксис

NTSTATUS NfcCxHardwareEvent(
  WDFDEVICE              Device,
  PNFC_CX_HARDWARE_EVENT HardwareEvent
);

Параметры

Device

Дескриптор объекта устройства платформы.

HardwareEvent

Указатель на структуру NFC_CX_HARDWARE_EVENT.

Возвращаемое значение

Если операция выполнена успешно, функция возвращает STATUS_SUCCESS.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10
минимальный поддерживаемый сервер Не поддерживается
целевая платформа Виндоус
заголовка nfccx.h (include Ncidef.h)
библиотеки Nfccxstub.lib
DLL NfcCx.dll

См. также

руководство по проектированию расширений класса NFC

руководство по проектированию для связи с полями (NFC)