當我使用OVERLAPPED結構調用ConnectNamedPipe並事後檢查GetLastError時,我經常會看到GetLastError返回ERROR_SUCCESS。我正在閱讀documentation的方式,這絕不應該發生。我的理解是,如果客戶端已經連接,應該設置ERROR_PIPE_CONNECTED,而不是ERROR_SUCCESS。GetLastError在調用ConnectNamedPipe後返回ERROR_SUCCESS
有沒有其他人看到過這個?操作系統是32位Windows 7.
因此,澄清,如果GetLastError()在ConnectNamedPipe()後返回ERROR_SUCCESS,我應該將其視爲ERROR_IO_PENDING並調用GetOverlappedResult()? – Ray 2010-02-12 05:15:16
種類。這並不意味着I/O正在等待。例如,如果IP地址不正確,它可能會失敗。所以I/O沒有掛起。它還沒有發生。 – wallyk 2010-02-12 05:36:29