diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-11-09 14:45:41 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-11-09 15:14:33 +0100 |
commit | 0d214d72542713c0d716173eab1bc787772026d8 (patch) | |
tree | d4e6a0669b189fd0c797494de00e994cb3cf79d8 /api/adapter.c | |
parent | api: take pool mutex when deleting (diff) | |
download | wintun-0d214d72542713c0d716173eab1bc787772026d8.tar.xz wintun-0d214d72542713c0d716173eab1bc787772026d8.zip |
api: do not call UpdateDriverForPlugAndPlayDevicesW
This seems to reset a number of device properties, and our update flow
seems to update old adapters without needing to call this.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'api/adapter.c')
-rw-r--r-- | api/adapter.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/api/adapter.c b/api/adapter.c index f023ccd..c929b64 100644 --- a/api/adapter.c +++ b/api/adapter.c @@ -21,7 +21,6 @@ #include <devguid.h> #include <iphlpapi.h> #include <ndisguid.h> -#include <newdev.h> #include <NTSecAPI.h> #include <SetupAPI.h> #include <Shlwapi.h> @@ -1146,8 +1145,7 @@ EnsureWintunUnloaded(void) static _Return_type_success_(return != FALSE) BOOL SelectDriver( _In_ HDEVINFO DevInfo, _In_opt_ SP_DEVINFO_DATA *DevInfoData, - _Inout_ SP_DEVINSTALL_PARAMS_W *DevInstallParams, - _Inout_ BOOL *RebootRequired) + _Inout_ SP_DEVINSTALL_PARAMS_W *DevInstallParams) { static const FILETIME OurDriverDate = WINTUN_INF_FILETIME; static const DWORDLONG OurDriverVersion = WINTUN_INF_VERSION; @@ -1267,12 +1265,6 @@ static _Return_type_success_(return != FALSE) BOOL SelectDriver( goto cleanupDelete; } _Analysis_assume_nullterminated_(InfStorePath); - BOOL UpdateRebootRequired = FALSE; - if (ExistingAdapters && - !UpdateDriverForPlugAndPlayDevicesW( - NULL, WINTUN_HWID, InfStorePath, INSTALLFLAG_FORCE | INSTALLFLAG_NONINTERACTIVE, &UpdateRebootRequired)) - LOG(WINTUN_LOG_WARN, L"Could not update existing adapters"); - *RebootRequired = *RebootRequired || UpdateRebootRequired; SetupDiDestroyDriverInfoList(DevInfo, DevInfoData, SPDIT_COMPATDRIVER); DestroyDriverInfoListOnCleanup = FALSE; @@ -1395,7 +1387,7 @@ static _Return_type_success_(return != NULL) WINTUN_ADAPTER *CreateAdapter( goto cleanupDevInfo; } - if (!SelectDriver(DevInfo, &DevInfoData, &DevInstallParams, RebootRequired)) + if (!SelectDriver(DevInfo, &DevInfoData, &DevInstallParams)) { LastError = LOG(WINTUN_LOG_ERR, L"Failed to select driver"); goto cleanupDevInfo; |