VirtualBox

Changeset 29727 in vbox


Ignore:
Timestamp:
May 21, 2010 12:26:09 PM (15 years ago)
Author:
vboxsync
Message:

IPRT/process-win: Not needed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r3/win/process-win.cpp

    r29726 r29727  
    3535#include <tlhelp32.h>
    3636#include <process.h>
    37 #include <psapi.h>      /* For EnumProcesses(). */
    3837#include <errno.h>
    3938
     
    295294                                         NULL, SecurityIdentification, TokenPrimary, phToken))
    296295                    {
    297                         /* 
     296                        /*
    298297                         * So we found a VBoxTray instance which belongs to the user we want to
    299298                         * to run our new process under. This duplicated token will be used for
    300                          * the actual CreateProcessAsUserW() call then. 
     299                         * the actual CreateProcessAsUserW() call then.
    301300                         */
    302                         fFound = TRUE;                                                       
     301                        fFound = TRUE;
    303302                    }
    304303                    else
     
    360359                        procEntry.dwSize = sizeof(PROCESSENTRY32);
    361360                        if (pfnProcess32First(hSnap, &procEntry))
    362                         {       
     361                        {
    363362                            do
    364363                            {
     
    397396                    rc = RTLdrGetSymbol(hPSAPI, "GetModuleBaseName", (void**)&pfnGetModuleBaseName);
    398397                    if (RT_SUCCESS(rc))
    399                     {           
     398                    {
    400399                        /** @todo Retry if pBytesReturned equals cbBytes! */
    401400                        DWORD dwPIDs[4096]; /* Should be sufficient for now. */
     
    405404                            for (DWORD dwIdx = 0; dwIdx < cbBytes/sizeof(DWORD) && !fFound; dwIdx++)
    406405                            {
    407                                 HANDLE hProc = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 
     406                                HANDLE hProc = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
    408407                                                           FALSE, dwPIDs[dwIdx]);
    409408                                if (hProc)
     
    417416                                            dwSize += 128;
    418417                                    } while (GetLastError() == ERROR_INSUFFICIENT_BUFFER);
    419                
     418
    420419                                    if (pszProcName)
    421420                                    {
     
    514513         * - We do not want to display a process of user A run on the desktop
    515514         *   of user B on multi session systems.
    516          * 
     515         *
    517516         * The following rights are needed in order to use LogonUserW and
    518517         * CreateProcessAsUserW, so the local policy has to be modified to:
     
    558557                {
    559558                    dwErr = NO_ERROR;
    560    
     559
    561560                    PSID pSID = (PSID)RTMemAlloc(cbName * sizeof(wchar_t));
    562561                    AssertPtrReturn(pSID, VERR_NO_MEMORY);
    563    
     562
    564563                    /** @todo No way to allocate a PRTUTF16 directly? */
    565564                    PRTUTF16 pwszDomain = NULL;
     
    569568                        AssertPtrReturn(pwszDomain, VERR_NO_MEMORY);
    570569                    }
    571    
     570
    572571                    /* Note: Also supports FQDNs! */
    573572                    if (   LookupAccountNameW(NULL,            /* lpSystemName */
     
    582581                        fFound = rtProcFindProcessByName(
    583582#ifdef VBOX
    584                                                          "VBoxTray.exe", 
     583                                                         "VBoxTray.exe",
    585584#else
    586585                                                         "explorer.exe"
     
    600599            }
    601600
    602             /* 
     601            /*
    603602             * If we didn't find a matching VBoxTray, just use the token we got
    604603             * above from LogonUserW(). This enables us to at least run processes with
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