Функция 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
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header nfccx.h (включая Ncidef.h)
Библиотека Nfccxstub.lib
DLL NfcCx.dll

См. также раздел

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

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