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


функция обратного вызова EVT_SERCX_FILECLOSE (sercx.h)

Функция обратного вызова события EvtSerCxFileClose уведомляет драйвер последовательного контроллера о том, что объект файла, представляющий устройство последовательного контроллера, был освобожден.

Синтаксис

EVT_SERCX_FILECLOSE EvtSercxFileclose;

void EvtSercxFileclose(
  [in] WDFDEVICE Device
)
{...}

Параметры

[in] Device

Дескриптор WDFDEVICE для объекта устройства платформы, представляющего последовательный контроллер.

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

None

Remarks

Эта функция должна удалить устройство последовательного контроллера из состояния, в котором оно готово к приему и передаче данных. Эта функция должна отключать прерывания, если прерывания включены. Любая память, выделенная только на время существования объекта файла, должна быть освобождена в этой функции или в функции EvtSerCxFileCleanup .

Если драйвер последовательного контроллера реализует функцию EvtSerCxFileCleanup , расширение последовательной платформы (SerCx) вызывает эту функцию перед вызовом функции EvtSerCxFileClose . SerCx вызывает функцию EvtSerCxFileCleanup , когда клиент закрывает последний дескриптор для объекта файла, представляющего устройство последовательного контроллера. После этого вызова драйвер не получает новых запросов для операций ввода-вывода. SerCx вызывает функцию EvtSerCxFileClose при освобождении объекта файла, которая возникает только после завершения или отмены всех незавершенных запросов ввода-вывода.

Чтобы зарегистрировать функцию обратного вызова EvtSerCxFileClose , драйвер должен вызвать метод SerCxInitialize .

Дополнительные сведения см. в разделе Объекты файлов платформы.

Примеры

Тип функции для этого обратного вызова объявлен в Sercx.h, как показано ниже.

typedef VOID
  EVT_SERCX_FILECLOSE(
    __in WDFDEVICE Device
    );

Чтобы определить функцию обратного вызова EvtSerCxFileClose с именем MyEvtSerCxFileClose, необходимо сначала предоставить объявление функции, которое требуется для статического средства проверки драйверов (SDV) и других средств проверки, как показано ниже.

EVT_SERCX_FILECLOSE MyEvtSerCxFileClose;

Затем реализуйте функцию обратного вызова, как показано ниже.

VOID
  MyEvtSerCxFileClose(
    __in WDFDEVICE Device
    )
{ ... }

Дополнительные сведения о требованиях SDV для объявлений функций см. в статье Объявление функций с помощью типов ролей функций для драйверов KMDF.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 8.
Целевая платформа Персональный компьютер
Верхняя часть sercx.h
IRQL Вызывается в IRQL <= DISPATCH_LEVEL

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

EvtSerCxFileCleanup

SerCxInitialize