Имена сетевого адаптера, системное имя устройства и описание

Имена сетевого адаптера, системное имя устройства и описание

Имя виртуального устройства можно получить вот так:

{©Drkb v.3(2007): www.drkb.ru}



const

 MAX_ADAPTER_NAME  = 255;

type

 PIP_ADAPTER_INDEX_MAP = ^IP_ADAPTER_INDEX_MAP;

 IP_ADAPTER_INDEX_MAP = record

  Index: DWORD;

  Name: array [0..MAX_ADAPTER_NAME-1] of WideChar;

 end;

 PIP_INTERFACE_INFO = ^IP_INTERFACE_INFO;

 IP_INTERFACE_INFO = record

  NumAdapters: Longint;

  Adapter: array [0..0] of IP_ADAPTER_INDEX_MAP;

 end;

 function GetIfEntry(pIfRow: PMibIfRow): DWORD; stdcall external 'iphlpapi.dll';

 function GetNumberOfInterfaces(var pdwIntf: DWORD): DWORD; stdcall; external 'iphlpapi.dll';

 function GetInterfaceInfo(pIfTable: PIP_INTERFACE_INFO; var dwOutBufLen:DWORD): DWORD;

  stdcall; external 'iphlpapi.dll';

 function GetAdapterIndex(AdapterName: PWideChar; var IfIndex: DWORD): DWORD;

  stdcall; external 'iphlpapi.dll';

procedure TMainForm.Button1Click(Sender: TObject);

var

 I, pdwIntf, dwOutBufLen, IfIndex: DWORD;

 lpInfo: PIP_INTERFACE_INFO;

 mirIfDescr: TMibIfRow;

begin

 //if GetNumberOfInterfaces(pdwIntf) = NO_ERROR then

 //begin

  GetInterfaceInfo(nil, dwOutBufLen);

  GetMem(lpInfo, dwOutBufLen);

  try

  if GetInterfaceInfo(lpInfo, dwOutBufLen) = NO_ERROR then

  begin

  for I := 0 to lpInfo^.NumAdapters - 1 do

  begin

  Memo1.Lines.Add('AdapterName: ' + lpInfo^.Adapter[I].Name);

  if GetAdapterIndex(lpInfo^.Adapter[I].Name, IfIndex) = NO_ERROR then

  Memo1.Lines.Add('AdapterIndex: ' + IntToStr(IfIndex))

  else

  RaiseLastOSError;

  ZeroMemory(@mirIfDescr, SizeOf(TMibIfRow));

  mirIfDescr.dwIndex := IfIndex;

  if GetIfEntry(@mirIfDescr) = NO_ERROR then

  Memo1.Lines.Add('AdapterDescription: ' + mirIfDescr.bDescr)

  else

  RaiseLastOSError;

  end;

  end

  else

  RaiseLastOSError;

  finally

  FreeMem(lpInfo);

  end;

 end

 //else

  //RaiseLastOSError;

end;

Взято из http://forum.sources.ru
Автор: Rouse_

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...