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

另請參閱

檔案管理功能