aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-10-14 05:27:13 +0000
committerJason A. Donenfeld <Jason@zx2c4.com>2021-10-14 05:27:13 +0000
commit780404cd2cce200055a6d617d2f6a6b2c6d0c574 (patch)
tree0260146e896796def59e9bf3d94c080c5b4ad3e9
parentdownlevelshim: remove in preparation for full WHQL (diff)
downloadwireguard-nt-780404cd2cce200055a6d617d2f6a6b2c6d0c574.tar.xz
wireguard-nt-780404cd2cce200055a6d617d2f6a6b2c6d0c574.zip
api: adapter: handle cases explicitly in dev query callback
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--api/adapter.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/api/adapter.c b/api/adapter.c
index 02c5336..1e3219c 100644
--- a/api/adapter.c
+++ b/api/adapter.c
@@ -419,15 +419,20 @@ WaitForInterfaceCallback(
_In_ const DEV_QUERY_RESULT_ACTION_DATA *ActionData)
{
WAIT_FOR_INTERFACE_CTX *Ctx = Context;
- Ctx->LastError = ERROR_SUCCESS;
- if (ActionData->Action == DevQueryResultStateChange)
+ DWORD Ret = ERROR_SUCCESS;
+ switch (ActionData->Action)
{
+ case DevQueryResultStateChange:
if (ActionData->Data.State != DevQueryStateAborted)
return;
- Ctx->LastError = ERROR_DEVICE_NOT_AVAILABLE;
- }
- else if (ActionData->Action == DevQueryResultRemove)
+ Ret = ERROR_DEVICE_NOT_AVAILABLE;
+ case DevQueryResultAdd:
+ case DevQueryResultUpdate:
+ break;
+ default:
return;
+ }
+ Ctx->LastError = Ret;
SetEvent(Ctx->Event);
}