Netzwerk-Info älterer Code: X32 ok, X64 Exeption [Gelöst]
Verfasst: 06.05.2022 22:25
Nabend zusammen,
ich habe hier einen älteren Code (hier aus dem Forum, nur um MsgRequester ergänzt) der prima unter PB5.72x32 funktioniert,
aber unter PB5.72x64 in der unten markierten Zeile ( "<== XXXX" ) folgenden Fehler macht:
[ERROR] Invalid memory access. (read error at address 18446744073709551615)
Kennt jemand hier den Grund, und kann den Beispielcode auch für PBx64 lauffähig bekommen ?
------------
Und wo wir gerade so schön im Bereich "Infos über PCs im lokalen Netzwerk" sind, gleich noch eine Frage hinterher:
Ich nutze in einem meiner Programme einen Codeteil vom Author: PWS32 um Lan-PCs und deren IPs zu listen.
(Updated in thread viewtopic.php?p=343212&hilit=pws32#p343212)
DAS funktioniert auch allgemein gut (Zuhause Win7_x32 & Win10x64, div. Testrechner mit lokalem Netzwerk, usw.)
Aber: Im Firmen-(Domänen-) Netzwerk meines Arbeitgebers (BüroPC Win10x64) werden nach auffälliger Wartepause (3-4sek.) Null PCs gelistet.
In der Windows-Netzwerkumgebung sehe ich dagegen 10+ andere PCs. Auch als (fast) Administrator gestartet funktioniert es nicht.
Hat jemand hier eine Idee woran das liegen könnte ? Einiger Unterschied den ich sehe ist der Netzwerktyp "Domäne".
Grüße.
ich habe hier einen älteren Code (hier aus dem Forum, nur um MsgRequester ergänzt) der prima unter PB5.72x32 funktioniert,
aber unter PB5.72x64 in der unten markierten Zeile ( "<== XXXX" ) folgenden Fehler macht:
[ERROR] Invalid memory access. (read error at address 18446744073709551615)
Code: Alles auswählen
Global NewList LocalNetworkClient.s()
Structure LocalNetwork_ServerInfoItem
PlatformID.l
*Name
VersionMajor.l
VersionMinor.l
Type.l
*Comment
EndStructure
Structure LocalNetwork_ServerInfo
Item.LocalNetwork_ServerInfoItem[0]
EndStructure
Procedure ExamineLocalNetwork()
Protected *DataBuffer.LocalNetwork_ServerInfo
Protected *IP.Long, *HostInfo.HOSTENT
Protected Index.i, CurrentDataCount.l, DataCount.l, ResumeHandle.l
ClearList(LocalNetworkClient())
If Not NetServerEnum_(0, 101, @*DataBuffer, -1, @CurrentDataCount, @DataCount, $FFFFFFFF, 0, @ResumeHandle)
For Index = 1 To CurrentDataCount
AddElement(LocalNetworkClient())
LocalNetworkClient() = PeekS(*DataBuffer\Item[Index-1]\Name, #PB_Default, #PB_Unicode) ; <== XXXX
Next
NetApiBufferFree_(*DataBuffer)
EndIf
ResetList(LocalNetworkClient())
EndProcedure
Macro NextLocalNetworkClient()
NextElement(LocalNetworkClient())
EndMacro
InitNetwork()
ExamineLocalNetwork()
While NextLocalNetworkClient()
lnc$=lnc$+LocalNetworkClient()+#CRLF$
Wend
Debug lnc$
MessageRequester("Info local network clients", lnc$, #PB_MessageRequester_Ok | #PB_MessageRequester_Info)
------------
Und wo wir gerade so schön im Bereich "Infos über PCs im lokalen Netzwerk" sind, gleich noch eine Frage hinterher:
Ich nutze in einem meiner Programme einen Codeteil vom Author: PWS32 um Lan-PCs und deren IPs zu listen.
(Updated in thread viewtopic.php?p=343212&hilit=pws32#p343212)
DAS funktioniert auch allgemein gut (Zuhause Win7_x32 & Win10x64, div. Testrechner mit lokalem Netzwerk, usw.)
Aber: Im Firmen-(Domänen-) Netzwerk meines Arbeitgebers (BüroPC Win10x64) werden nach auffälliger Wartepause (3-4sek.) Null PCs gelistet.
In der Windows-Netzwerkumgebung sehe ich dagegen 10+ andere PCs. Auch als (fast) Administrator gestartet funktioniert es nicht.
Hat jemand hier eine Idee woran das liegen könnte ? Einiger Unterschied den ich sehe ist der Netzwerktyp "Domäne".
Grüße.