функция обратного вызова 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 |