diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2021-10-14 05:27:13 +0000 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2021-10-14 05:27:13 +0000 |
commit | 780404cd2cce200055a6d617d2f6a6b2c6d0c574 (patch) | |
tree | 0260146e896796def59e9bf3d94c080c5b4ad3e9 | |
parent | downlevelshim: remove in preparation for full WHQL (diff) | |
download | wireguard-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.c | 15 |
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); } |