<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=97744&amp;view=findpost&amp;p=737407</guid>
        <pubDate>Fri, 03 Jun 2005 06:33:23 +0000</pubDate>
        <title>Имена сетевого адаптера</title>
        <link>https://forum.sources.ru/index.php?showtopic=97744&amp;view=findpost&amp;p=737407</link>
        <description><![CDATA[Rouse_: Имя виртуального устройства можно получить вот так:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">const</div><div class="code_line">&nbsp;&nbsp;MAX_ADAPTER_NAME &nbsp; &nbsp; &nbsp; = 255;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;PIP_ADAPTER_INDEX_MAP = ^IP_ADAPTER_INDEX_MAP;</div><div class="code_line">&nbsp;&nbsp;IP_ADAPTER_INDEX_MAP = record</div><div class="code_line">&nbsp;&nbsp; &nbsp; Index: DWORD;</div><div class="code_line">&nbsp;&nbsp; &nbsp; Name: array [0..MAX_ADAPTER_NAME-1] of WideChar;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;PIP_INTERFACE_INFO = ^IP_INTERFACE_INFO;</div><div class="code_line">&nbsp;&nbsp;IP_INTERFACE_INFO = record</div><div class="code_line">&nbsp;&nbsp; &nbsp; NumAdapters: Longint;</div><div class="code_line">&nbsp;&nbsp; &nbsp; Adapter: array [0..0] of IP_ADAPTER_INDEX_MAP;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;function GetIfEntry(pIfRow: PMibIfRow): DWORD; stdcall external &#39;iphlpapi.dll&#39;;</div><div class="code_line">&nbsp;&nbsp;function GetNumberOfInterfaces(var pdwIntf: DWORD): DWORD; stdcall; external &#39;iphlpapi.dll&#39;;</div><div class="code_line">&nbsp;&nbsp;function GetInterfaceInfo(pIfTable: PIP_INTERFACE_INFO; var dwOutBufLen:DWORD): DWORD;</div><div class="code_line">&nbsp;&nbsp; &nbsp;stdcall; external &#39;iphlpapi.dll&#39;;</div><div class="code_line">&nbsp;&nbsp;function GetAdapterIndex(AdapterName: PWideChar; var IfIndex: DWORD): DWORD;</div><div class="code_line">&nbsp;&nbsp; &nbsp;stdcall; external &#39;iphlpapi.dll&#39;;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TMainForm.Button1Click(Sender: TObject);</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;I, pdwIntf, dwOutBufLen, IfIndex: DWORD;</div><div class="code_line">&nbsp;&nbsp;lpInfo: PIP_INTERFACE_INFO;</div><div class="code_line">&nbsp;&nbsp;mirIfDescr: TMibIfRow;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;//if GetNumberOfInterfaces(pdwIntf) = NO_ERROR then</div><div class="code_line">&nbsp;&nbsp;//begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;GetInterfaceInfo(nil, dwOutBufLen);</div><div class="code_line">&nbsp;&nbsp; &nbsp;GetMem(lpInfo, dwOutBufLen);</div><div class="code_line">&nbsp;&nbsp; &nbsp;try</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if GetInterfaceInfo(lpInfo, dwOutBufLen) = NO_ERROR then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for I := 0 to lpInfo^.NumAdapters - 1 do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Memo1.Lines.Add(&#39;AdapterName: &#39; + lpInfo^.Adapter[I].Name);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if GetAdapterIndex(lpInfo^.Adapter[I].Name, IfIndex) = NO_ERROR then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Memo1.Lines.Add(&#39;AdapterIndex: &#39; + IntToStr(IfIndex))</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RaiseLastOSError;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ZeroMemory(@mirIfDescr, SizeOf(TMibIfRow));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mirIfDescr.dwIndex := IfIndex;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if GetIfEntry(@mirIfDescr) = NO_ERROR then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Memo1.Lines.Add(&#39;AdapterDescription: &#39; + mirIfDescr.bDescr)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RaiseLastOSError;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;RaiseLastOSError;</div><div class="code_line">&nbsp;&nbsp; &nbsp;finally</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;FreeMem(lpInfo);</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp;end</div><div class="code_line">&nbsp;&nbsp;//else</div><div class="code_line">&nbsp;&nbsp; &nbsp;//RaiseLastOSError;</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script> <br>
<br>
<strong class='tag-b'>Автор</strong>: <a class='tag-url' href='http://forum.sources.ru/index.php?showuser=19443' target='_blank'>Rouse_</a>]]></description>
        <author>Rouse_</author>
        <category>Интернет, сети, протоколы</category>
      </item>
	
      </channel>
      </rss>
	