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.