向 I/O 通道登錄完成佇列事件。
語法
HRESULT SetIoRingCompletionEvent(
HIORING ioRing,
HANDLE hEvent
);
參數
ioRing
HIORING 代表註冊完成事件之 I/O 環的控制碼。
hEvent
事件物件的控制碼。 CreateEvent 或 OpenEvent 函式會傳回此控制碼。
返回值
傳回包含下列值的 HRESULT:
| 價值觀 | Description |
|---|---|
| S_OK | 成功 |
| E_INVALID_HANDLE | 在 ioRing 參數中傳遞了無效的控制碼。 |
| E_INVALIDARG | 在 hEvent 參數中傳遞了無效的控制碼。 |
備註
當核心將第一個條目放入空完成佇列時,它會發出此事件的訊號,即只有當完成佇列從空狀態過渡到非空狀態時,核心才會將事件設定為訊號狀態。 應用程式應該呼叫 PopIoRingCompletion ,直到它指出沒有更多專案為止,然後等候任何其他非同步完成透過提供的 HANDLE 完成。 否則,事件不會進入訊號狀態,而且等候可能會封鎖,直到逾時發生為止,如果使用無限逾時,則可能會永遠封鎖。
核心會在內部複製控制碼,因此應用程式在不再需要等候時關閉控制碼是安全的。 提供 NULL 的事件句柄值只會清除任何現有的值。 設定值 INVALID_HANDLE_VALUE 會引發錯誤,任何其他無效的句柄值也會引發錯誤,以協助及早偵測程式碼錯誤。
最多有一個與 HIORING 相關聯的事件句柄,嘗試設定第二個事件句柄會取代任何已存在的事件句柄。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows 內部版本 22000 |
| 支援的最低伺服器 | Windows 內部版本 22000 |
| Header | ioringapi.h |
| Library | 內核32。圖書館 |