IHostIoCompletionManager::GetHostOverlappedSize 方法
取得主機想要附加至 I/O 要求之任何自訂資料的大小。
語法
HRESULT GetHostOverlappedSize (
[out] DWORD *pcbSize
);
參數
pcbSize
[out] 除了 Win32 OVERLAPPED
物件的大小之外,Common Language Runtime (CLR) 也應該配置之位元組數目的指標。
傳回值
HRESULT | 描述 |
---|---|
S_OK | GetHostOverlappedSize 已成功傳回。 |
HOST_E_CLRNOTAVAILABLE | CLR 尚未載入處理序,或 CLR 處於無法執行受控程式碼或成功處理呼叫的狀態。 |
HOST_E_TIMEOUT | 呼叫逾時。 |
HOST_E_NOT_OWNER | 呼叫端未擁有鎖定。 |
HOST_E_ABANDONED | 封鎖的執行緒或 Fiber 在其上等候時,事件遭到取消。 |
E_FAIL | 發生未知的重大失敗。 如果方法傳回 E_FAIL,則 CLR 就無法再用於處理序。 後續對裝載方法發出的呼叫會傳回 HOST_E_CLRNOTAVAILABLE。 |
備註
Windows 平台 API 的所有非同步 I/O 呼叫都會採用 Win32 OVERLAPPED
物件,以提供檔案指標位置等資訊。 為了維護狀態,進行非同步 I/O 呼叫的應用程式通常會將自訂資料新增至該結構。 GetHostOverlappedSize
和 IHostIoCompletionManager::InitializeHostOverlapped 會讓主機有機會包含這類自訂資料。
CLR 會呼叫 GetHostOverlappedSize
方法來判斷主機想要附加至 OVERLAPPED
物件之自訂資料的大小。
注意
系統只會呼叫 GetHostOverlappedSize
一次。 對於每個 I/O 要求,主機的自訂資料都必須是相同的大小。
重要
OVERLAPPED
物件本身的大小不會包含在 pcbSize
的值內。
如需 OVERLAPPED
結構的詳細資訊,請參閱 Windows 平台文件。
規格需求
平台:請參閱系統需求。
標題: MSCorEE.h
程式庫:包含作為 MSCorEE.dll 中的資源
.NET Framework版本:自 2.0 起提供