EVT_SERCX_FILECLOSE回调函数 (sercx.h)

EvtSerCxFileClose 事件回调函数通知串行控制器驱动程序表示串行控制器设备的文件对象已释放。

语法

EVT_SERCX_FILECLOSE EvtSercxFileclose;

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

参数

[in] Device

表示串行控制器的框架设备对象的 WDFDEVICE 句柄。

返回值

备注

此函数应将串行控制器设备从准备接收和传输数据的状态中删除。 如果启用了中断,此函数应禁用中断。 应在此函数或 EvtSerCxFileCleanup 函数中解除分配仅为文件对象的生存期分配的任何内存。

如果串行控制器驱动程序实现 EvtSerCxFileCleanup 函数,则串行框架扩展 (SerCx) 调用此函数,然后再调用 EvtSerCxFileClose 函数。 当客户端关闭表示串行控制器设备的文件对象的最后一个句柄时,SerCx 调用 EvtSerCxFileCleanup 函数。 此调用后,驱动程序不会收到新的 I/O 操作请求。 释放文件对象时,SerCx 调用 EvtSerCxFileClose 函数,这仅在完成或取消所有未完成的 I/O 请求后发生。

若要注册 EvtSerCxFileClose 回调函数,驱动程序必须调用 SerCxInitialize 方法。

有关详细信息,请参阅 框架文件对象

示例

此回调的函数类型在 Sercx.h 中声明,如下所示。

typedef VOID
  EVT_SERCX_FILECLOSE(
    __in WDFDEVICE Device
    );

若要定义名为 MyEvtSerCxFileCloseEvtSerCxFileClose 回调函数,必须先提供静态驱动程序验证程序 (SDV) 和其他验证工具所需的函数声明,如下所示。

EVT_SERCX_FILECLOSE MyEvtSerCxFileClose;

然后,按如下所示实现回调函数。

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

有关函数声明的 SDV 要求的详细信息,请参阅 使用 KMDF 驱动程序的函数角色类型声明函数

要求

要求
最低受支持的客户端 从Windows 8开始可用。
目标平台 桌面
标头 sercx.h
IRQL 在 IRQL <= DISPATCH_LEVEL 调用

另请参阅

EvtSerCxFileCleanup

SerCxInitialize