Frag zu FAQ: Netzwerk - Namen aller Rechner im lokalen Netzwerk anzeigen



  • Bezieht sich auf FAQ Netzwerk - Namen aller Rechner im lokalen Netzwerk anzeigen

    Ich nutze den BCB 5.0 Professional auf Windows XP Home.

    Wenn ich den im FAQ genannten Programmcode compalieren möchte bekomme ich folgende Fehler:

    E2034 Konvertierung von 'char ' nach 'const wchar_t' nicht möglich
    und
    E2342 Keine Übereinstimmung des Typs beim Parameter ‘servername’ ('const wchar_t*' erwartet, 'char *' erhalten)

    Bei der Funktion:

    ...
     LPTSTR pszServerName = NULL;
     ...
     nStatus = NetServerEnum(pszServerName,
                              dwLevel,
                              (LPBYTE *) &pBuf,
                              dwPrefMaxLen,
                              &dwEntriesRead,
                              &dwTotalEntries,
                              dwServerType,
                              NULL,
                              &dwResumeHandle);
    

    Die Funktion ist in der Hilfe mit

    NET_API_STATUS NetServerEnum(
    LPTSTR servername,
    DWORD level,
    LPBYTE *bufptr,
    DWORD prefmaxlen,
    LPDWORD entriesread,
    LPDWORD totalentries,
    DWORD servertype,
    LPTSTR domain,
    LPDWORD resume_handle
    );

    definiert.

    Warum ist Servername also falsch definiert? NULL ist doch NULL oder nicht?

    Und gleich die Zeile darunter:

    if ((nStatus == NERR_Success) || (nStatus == ERROR_MORE_DATA))
    

    E2206 Ungültiges char-Zeichen '#' (0x23)

    Was mach ich falsch? Oder ist das FAQ falsch?

    Danke...



  • ein bisschen denken hilft...

    mit

    nStatus = NetServerEnum(NULL,
                              dwLevel,
                              (LPBYTE *) &pBuf,
                              dwPrefMaxLen,
                              &dwEntriesRead,
                              &dwTotalEntries,
                              dwServerType,
                              NULL,
                              &dwResumeHandle);
    

    und

    if ((nStatus == NERR_Success) | (nStatus == ERROR_MORE_DATA))
    

    gehts...

    [sorry]



  • wenn dann ist das sicher ein

    ||
    

    , sonst hast du ein logisches oder.


Anmelden zum Antworten