NetUserGetInfo gibt mir immer eine leere home dir variable



  • Folgender Code:

    #ifndef UNICODE
    #define UNICODE
    #endif
    
    #include <stdio.h>
    #include <windows.h>
    #include <lm.h>
    
    int main(int argc, wchar_t *argv[])
    {
      DWORD dwLevel = 3;
      LPUSER_INFO_3 pBuf = NULL;
      NET_API_STATUS nStatus;
    
      nStatus = NetUserGetInfo(NULL,
                               L"Vinzenz Feenstra",
                               dwLevel,
                               (LPBYTE *)&pBuf);
      if (nStatus == NERR_Success)
      {
         if (pBuf != NULL)
         {
            wprintf(L"\n\tAccount:      %s\n", pBuf->usri3_name);
            wprintf(L"\tHome Dir:       %s\n", pBuf->usri3_home_dir);
         }
      }
      else
      {
         fprintf(stderr, "A system error has occurred: %d\n", nStatus);
      }
    
      if (pBuf != NULL)
      {
         NetApiBufferFree(pBuf);
      }
    
      return 0;
    }
    

    Gibt immer ein lerres usri3_home_dir zurück, in usri3_name steht mein Name, aber das home_dir ist trotzdem leer.

    Hat jemand eine Ahnung woran das liegen könnte?

    Falls jemand eventuell eine Alternative für mein Problem kennt:

    Ich versuche von Allen Benutzern das Cookie und das AppData Verzeichnis zu bekommen. Nun da das Heimverzeichnis sonst wo sein kann und nicht immer in dem Verzeichnis ist das mir GetAllUsersProfileDirectory() zurück gibt, versuche ich das über NetUserEnum zu machen, nur spielt NetUserGetInfo da nicht so mit wie ich das gerne hätte.

    BR


Anmelden zum Antworten