Closed sonyps5201314 closed 3 years ago
STATUS_TIMEOUT 他会转换为 ERROR_TIMEOUT(1460) 不是 WAIT_TIMEOUT(258)
你这边的代码为什么要使用 WAIT_TIMEOUT(258)?
v1.0.3-Beta4修复
这就不能算bug,STATUS_TIMEOUT
不属于错误代码。因为微软自己的代码一般也是!NT_SUCCESSS(Status)
时才调用这个转换。
这就不能算bug,
STATUS_TIMEOUT
不属于错误代码。因为微软自己的代码一般也是!NT_SUCCESSS(Status)
时才调用这个转换。
SRW等有等待的函数会触发这个错误代码的转换。所以这个是问题。
我改了一下,改成
DWORD lStatus = Status == STATUS_TIMEOUT ? WAIT_TIMEOUT : pRtlNtStatusToDosError ? pRtlNtStatusToDosError(Status) : Status;
下面这样了,你可以再斟酌下。