NetWkstaUserEnum Fehler 53...evtl. String falsch übergeben ?



  • Hallo,

    ich versuche gerade ein Beispiel aus der MSDN nachzubauen, daß sieht so aus:

    LPWKSTA_USER_INFO_0 pBuf = NULL;
       LPWKSTA_USER_INFO_0 pTmpBuf;
       DWORD dwLevel = 0;
       DWORD dwPrefMaxLen = MAX_PREFERRED_LENGTH;
       DWORD dwEntriesRead = 0;
       DWORD dwTotalEntries = 0;
       DWORD dwResumeHandle = 0;
       DWORD dwTotalCount = 0;
       NET_API_STATUS nStatus;
       LPTSTR pszServerName="\\\\COMPTERNAME";
    
    nStatus = NetWkstaUserEnum(pszServerName,
       dwLevel,
       (LPBYTE*)&pBuf,
       dwPrefMaxLen,
       &dwEntriesRead,
       &dwTotalEntries,
       &dwResumeHandle);
    

    ..und soll mir eigentlich nur den Benuzter anzeigen der angemeldet ist. Leider erhalte ich immer fehler 53 (Netzwerkpfad nicht gefunden"). Wenn ich NULL als Servername übergebe erhalte ich als Usernamen ein großes "N" 😮

    Ich vermute langsam daß ich diese Servername falsch übergebe (der muß wohl UNICODE sein habe ich gelesen), weiß aber nicht wie ich das richtig machen muß 😞 Vielleicht kann mir Jemand dabei helfen ?

    thx
    ray



  • Hm,

    ok ha jetzt die Umwandlung von CSTring in Unicode hinbekommen, jedoch habe jetzt das Problem daß ich immer nur den 1. Buchstaben als Ergebnis bekomme. Ist soweit auch logisch da ein WideChar zurückgegeben wird welcher ja die Zeichen mi "0x00h" trennt, nur DIESE Umwandlung zurück in einen CString krieg ich nicht hin 😕

    Thx
    ray



  • Wie wandelst du denn von CString in Unicode um?



  • Hallo Deus,

    ich glaube ich habe das falsch erkärt und was durcheinander gebracht !

    Also, ich habe im codeguru Forum gelesen daß diese funktion den Servernamen als Unicode bzw. Widechar erwartet (habe mittlerweile nachgelesen und es ist widechar).

    Gleichzeitig war ein 3-zeiler als Beispiel angehängt um CString in Widechar zu konvertieren. Aufjedenfall fing das mit USES CONVERSION; an ..hab das Projekt leider im Büro und bin jetzt schon zuhause , kann dir morgen den Rest sagen.

    Naja aufjedenfall klappt das jetzt mit dem Aufruf nur der Rückgabewert ist ebenfalls in diesem WideChar-Format und ich krieg immer nur den 1. Buchstaben 🙂

    thx
    ray


Anmelden zum Antworten