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 方法。

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

例子

此回调的函数类型在 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