aboutsummaryrefslogtreecommitdiffstats
path: root/api/api.c
diff options
context:
space:
mode:
authorSimon Rozman <simon@rozman.si>2020-10-29 12:04:34 +0100
committerSimon Rozman <simon@rozman.si>2020-10-31 10:41:46 +0100
commit4a575d210a34384787d4936dfb96d6b8cb2ea48c (patch)
tree0cde3fe255d641812a1af9f741c23312b03bfe48 /api/api.c
parentapi: depretiate WintunIsPacketAvailable() (diff)
downloadwintun-4a575d210a34384787d4936dfb96d6b8cb2ea48c.tar.xz
wintun-4a575d210a34384787d4936dfb96d6b8cb2ea48c.zip
api: fallback to hard-coded version
Windows 7 doesn't have DriverMajorVersion and DriverMinorVersion registry values yet. Signed-off-by: Simon Rozman <simon@rozman.si>
Diffstat (limited to 'api/api.c')
-rw-r--r--api/api.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/api/api.c b/api/api.c
index 7735a24..983596e 100644
--- a/api/api.c
+++ b/api/api.c
@@ -22,25 +22,19 @@ WintunGetVersion(
RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Services\\Wintun", 0, KEY_QUERY_VALUE, &Key);
if (Result != ERROR_SUCCESS)
return LOG_ERROR(L"Failed to open registry key", Result);
- Result = RegistryQueryDWORD(Key, L"DriverMajorVersion", DriverVersionMaj);
- if (Result != ERROR_SUCCESS)
- {
- LOG(WINTUN_LOG_ERR, L"Failed to query DriverMajorVersion value");
- goto cleanupKey;
- }
- Result = RegistryQueryDWORD(Key, L"DriverMinorVersion", DriverVersionMin);
- if (Result != ERROR_SUCCESS)
+ if (RegistryQueryDWORD(Key, L"DriverMajorVersion", DriverVersionMaj, FALSE) != ERROR_SUCCESS ||
+ RegistryQueryDWORD(Key, L"DriverMinorVersion", DriverVersionMin, FALSE) != ERROR_SUCCESS)
{
- LOG(WINTUN_LOG_ERR, L"Failed to query DriverMinorVersion value");
- goto cleanupKey;
+ *DriverVersionMaj = WINTUN_VERSION_MAJ;
+ *DriverVersionMin = WINTUN_VERSION_MIN;
}
- Result = RegistryQueryDWORD(Key, L"NdisMajorVersion", NdisVersionMaj);
+ Result = RegistryQueryDWORD(Key, L"NdisMajorVersion", NdisVersionMaj, TRUE);
if (Result != ERROR_SUCCESS)
{
LOG(WINTUN_LOG_ERR, L"Failed to query NdisMajorVersion value");
goto cleanupKey;
}
- Result = RegistryQueryDWORD(Key, L"NdisMinorVersion", NdisVersionMin);
+ Result = RegistryQueryDWORD(Key, L"NdisMinorVersion", NdisVersionMin, TRUE);
if (Result != ERROR_SUCCESS)
LOG(WINTUN_LOG_ERR, L"Failed to query NdisMinorVersion value");
cleanupKey: