VirtualBox

Ignore:
Timestamp:
Apr 18, 2020 11:08:25 PM (5 years ago)
Author:
vboxsync
Message:

VBoxNetFlt: VC++ 14.1 warnings and some cleanups. bugref:8489

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/win/tools/VBoxNetFltUninstall.cpp

    r82968 r83805  
    3434#define VBOX_NETFLT_RETRIES 10
    3535
    36 static VOID winNetCfgLogger (LPCSTR szString)
     36static VOID winNetCfgLogger(LPCSTR szString)
    3737{
    3838    printf("%s", szString);
     
    4242{
    4343    INetCfg *pnc;
    44     LPWSTR lpszLockedBy = NULL;
    45     int r;
     44    int rcExit = RTEXITCODE_FAILURE;
    4645
    4746    VBoxNetCfgWinSetLogging(winNetCfgLogger);
     
    5049    if (hr == S_OK)
    5150    {
    52         int i = 0;
    53         do
     51        for (int i = 0;; i++)
    5452        {
    55             hr = VBoxNetCfgWinQueryINetCfg(&pnc, TRUE, VBOX_NETCFG_APP_NAME, 10000, &lpszLockedBy);
     53            LPWSTR pwszLockedBy = NULL;
     54            hr = VBoxNetCfgWinQueryINetCfg(&pnc, TRUE, VBOX_NETCFG_APP_NAME, 10000, &pwszLockedBy);
    5655            if (hr == S_OK)
    5756            {
    5857                hr = VBoxNetCfgWinNetFltUninstall(pnc);
    5958                if (hr != S_OK && hr != S_FALSE)
    60                 {
    61                     wprintf(L"error uninstalling VBoxNetFlt (0x%x)\n", hr);
    62                     r = 1;
    63                 }
     59                    wprintf(L"error uninstalling VBoxNetFlt (%#lx)\n", hr);
    6460                else
    6561                {
    6662                    wprintf(L"uninstalled successfully\n");
    67                     r = 0;
     63                    rcExit = RTEXITCODE_SUCCESS;
    6864                }
    6965
     
    7167                break;
    7268            }
    73             else if (hr == NETCFG_E_NO_WRITE_LOCK && lpszLockedBy)
     69
     70            if (hr == NETCFG_E_NO_WRITE_LOCK && pwszLockedBy)
    7471            {
    75                 if (i < VBOX_NETFLT_RETRIES && !wcscmp(lpszLockedBy, L"6to4svc.dll"))
     72                if (i < VBOX_NETFLT_RETRIES && !wcscmp(pwszLockedBy, L"6to4svc.dll"))
    7673                {
    77                     wprintf(L"6to4svc.dll is holding the lock, retrying %d out of %d\n", ++i, VBOX_NETFLT_RETRIES);
    78                     CoTaskMemFree(lpszLockedBy);
     74                    wprintf(L"6to4svc.dll is holding the lock, retrying %d out of %d\n", i + 1, VBOX_NETFLT_RETRIES);
     75                    CoTaskMemFree(pwszLockedBy);
    7976                }
    8077                else
    8178                {
    82                     wprintf(L"Error: write lock is owned by another application (%s), close the application and retry uninstalling\n", lpszLockedBy);
    83                     r = 1;
    84                     CoTaskMemFree(lpszLockedBy);
     79                    wprintf(L"Error: write lock is owned by another application (%s), close the application and retry uninstalling\n",
     80                            pwszLockedBy);
     81                    CoTaskMemFree(pwszLockedBy);
    8582                    break;
    8683                }
     
    8885            else
    8986            {
    90                 wprintf(L"Error getting the INetCfg interface (0x%x)\n", hr);
    91                 r = 1;
     87                wprintf(L"Error getting the INetCfg interface (%#lx)\n", hr);
    9288                break;
    9389            }
    94         } while (true);
     90        }
    9591
    9692        CoUninitialize();
    9793    }
    9894    else
    99     {
    100         wprintf(L"Error initializing COM (0x%x)\n", hr);
    101         r = 1;
    102     }
     95        wprintf(L"Error initializing COM (%#lx)\n", hr);
    10396
    10497    VBoxNetCfgWinSetLogging(NULL);
    10598
    106     return r;
     99    return rcExit;
    107100}
    108101
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette