Einzelnen Beitrag anzeigen

CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#16

Re: IP-ADAPTER_ADDRESS Structure

  Alt 21. Mär 2009, 15:18
Ich muss doch nochmal konkreter nachfragen.

So sieht mein Code-Ausschnitt zum Auslesen der Adressen aus (Aufs Nötigste zurechtgekürzt, aber zum Nachvollziehen, sollte das ausreichend sein):
Delphi-Quellcode:
var
adapter, a : PIP_ADAPTER_ADDRESSES;
BUFFER, ERROR : DWORD;
UnicastAddress : PIP_ADAPTER_UNICAST_ADDRESS;

begin
  ERROR := GetAdaptersAddresses(0, 0, nil, nil, @buffer);
  if error <> ERROR_BUFFER_OVERFLOW then
    ShowMessage('Memory');

  adapter := AllocMem(buffer);
  ERROR := GetAdaptersAddresses(0, 0, nil, adapter, @buffer);

  if ERROR = ERROR_SUCCESS then
  begin
    a := adapter;

    while a <> nil do
    begin
      Memo1.Lines.Add(a.FriendlyName);

      UnicastAddress := a.FirstUnicastAddress;
      while UnicastAddress <> nil do
      begin
        Memo1.Lines.Add('[' + UnicastAddress.Address.lpSockaddr.sa_data + ']');
        UnicastAddress := UnicastAddress.Next;
      end;
    end;

  end;
Die Ausgabe von sa_data bringt nichts lesbares zum Vorschein. Wenn ich es debugge, steht sowas wie (#0, #0, #0, #0, #0, #0, ' ', #1, #13, '¸', '…', '£', #8, 'Ó') drin.

Woran liegt das?
  Mit Zitat antworten Zitat