SetFileCompletionNotificationModes 函式 (winbase.h)

設定檔句柄的通知模式,讓您指定完成通知對指定檔案的運作方式。

語法

BOOL SetFileCompletionNotificationModes(
  [in] HANDLE FileHandle,
  [in] UCHAR  Flags
);

參數

[in] FileHandle

檔案的句柄。

[in] Flags

要設定的模式。 可以同時設定一或多個模式;不過,在設定檔案句柄的模式之後,就無法移除它。

意義
FILE_SKIP_COMPLETION_PORT_ON_SUCCESS
0x1
如果下列三個條件成立,I/O 管理員不會將完成專案排入埠的佇列,而通常這麼做。 這些條件包括:
  • 完成埠與檔句柄相關聯。
  • 檔案會針對異步 I/O 開啟。
  • 要求會立即傳回成功,而不傳回 ERROR_PENDING

FileHandle 參數是套接字時,此模式只與傳回可安裝文件系統的分層服務提供者 (LSP) 相容, (IFS) 句柄。 若要偵測是否已安裝非 IFS LSP,請使用 WSAEnumProtocols 函式,並檢查每個傳回WSAPROTOCOL_INFO結構中的 dwServiceFlag1 成員。 如果 清除XP1_IFS_HANDLES (0x20000) 位,則指定的 LSP 不是 IFS LSP。 建議具有非 IFS LSP 的廠商移轉至 Windows 篩選平臺 (一個) 。

FILE_SKIP_SET_EVENT_ON_HANDLE
0x2
如果要求傳回成功碼,或傳回的錯誤 ERROR_PENDING 且呼叫的函式不是同步函式,則 I/O 管理員不會設定檔案物件的事件。

如果為要求提供明確的事件,仍然會發出訊號。

傳回值

如果成功或零,則傳回非零。

若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

若要編譯使用此函式的應用程式,請將_WIN32_WINNT宏定義為 0x0600 或更新版本。 如需詳細資訊,請參閱 使用 Windows 標頭

在 Windows 8 和 Windows Server 2012 中,下列技術支援此函式。

技術 支援
伺服器消息塊 (SMB) 3.0 通訊協定 Yes
SMB 3.0 透明故障轉移 (TFO) Yes
具有向外延展檔案共用的SMB 3.0 (SO) Yes
叢集共用磁碟區文件系統 (CsvFS) Yes
彈性檔案系統 (ReFS) Yes

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

檔案管理功能