共用方式為


EVT_SERCX_FILECLOSE回呼函式 (sercx.h)

EvtSerCerCxFileClose 事件回呼函式會通知序列控制器驅動程式,表示序列控制器裝置的檔案對象已經釋放。

語法

EVT_SERCX_FILECLOSE EvtSercxFileclose;

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

參數

[in] Device

代表序列控制器之架構裝置物件的WDFDEVICE句柄。

傳回值

沒有

言論

此函式應該會從已準備好接收和傳輸數據的狀態中移除序列控制器裝置。 如果啟用中斷,此函式應該會停用中斷。 在此函式或 EvtSerCxFileClean up 函式中,應該取消配置只配置給檔案物件的存留期的任何記憶體。

如果序列控制器驅動程序實作 EvtSerCxFileCleanup 函式,則序列架構延伸模組 (SerCx) 會在呼叫 EvtSerCxFileClose 函式之前呼叫此函式。 當用戶端關閉代表序列控制器裝置的檔案對象最後一個句柄時,SerCx 會呼叫 EvtSerCxFileCleanup 函式。 在此呼叫之後,驅動程式不會收到I/O作業的新要求。 SerCx 會在釋放檔案物件時呼叫 EvtSerCxFileClose 函式,只有在所有未完成的 I/O 要求都完成或取消之後才會發生。

若要註冊 EvtSerCxFileClose 回呼函式,驅動程式必須呼叫 SerCxInitialize 方法。

如需詳細資訊,請參閱 Framework File Objects

例子

此回呼的函式類型會在 Sercx.h 中宣告,如下所示。

typedef VOID
  EVT_SERCX_FILECLOSE(
    __in WDFDEVICE Device
    );

若要定義 EvtSerCxFileClose 名為 MyEvtSerCxFileClose的回呼函式,您必須先提供 Static Driver Verifier (SDV) 和其他驗證工具所需的函式宣告,如下所示。

EVT_SERCX_FILECLOSE MyEvtSerCxFileClose;

然後,如下所示實作您的回呼函式。

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

如需函數宣告之 SDV 需求的詳細資訊,請參閱 使用 KMDF 驅動程式的函式角色類型來宣告函式

要求

要求 價值
最低支援的用戶端 從 Windows 8 開始提供。
目標平臺 桌面
標頭 sercx.h
IRQL 在 IRQL <= DISPATCH_LEVEL 呼叫

另請參閱

EvtSerCxFileCleanup

SerCxInitialize