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


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

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

Синтаксис

EVT_SERCX_FILECLOSE EvtSercxFileclose;

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

Параметры

[in] Device

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

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

Никакой

Замечания

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

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

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

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

Примеры

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

typedef VOID
  EVT_SERCX_FILECLOSE(
    __in WDFDEVICE Device
    );

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

EVT_SERCX_FILECLOSE MyEvtSerCxFileClose;

Затем реализуйте функцию обратного вызова следующим образом.

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 8.
целевая платформа Настольный
заголовка sercx.h
IRQL Вызывается в IRQL <= DISPATCH_LEVEL

См. также

EvtSerCxFileCleanup

SerCxInitialize