我对 Windows API 感到困惑。我尝试使用PeekNamedPipe
. 此函数失败,但GetLastError()
不返回错误。
我的代码的相关部分是
if( !PeekNamedPipe( handle, NULL, 0, NULL, &numBytesAvailable, NULL ) )
throw PeekNamedPipeException( "GetLastError() returned " + std::to_string( GetLastError() ) );
这会引发错误,生成以下消息:
terminate called after throwing an instance of 'PeekNamedPipeException'
what(): GetLastError() returned 0
但是如果PeekNamedPipe
失败,GetLastError
不应该返回 0 ( == ERROR_SUCCESS
),对吧?
谢谢您的帮助!