掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
不要なMACアドレスを取得しない為には? (ID:2609)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
GetAdaptersInfoを使うとどうなりますか? 次のような形で使います。 lngRes := GetAdaptersInfo(nil, @lngLen); // 戻り値lngResでエラーチェック // ERROR_BUFFER_OVERFLOWだったらメモリを確保 AdapterMem := GetMemory(lngLen); lngRes := GetAdaptersInfo(AdapterMem, @lngLen): lngLenは、SizeOf(TIPAdapterInfo)の倍数になるので、複数枚のLANカードの場合は、lngLen div SizeOf(TIPAdapterInfo)が枚数になります。 // [AdaptInfo.pas]--------------------------------------------- unit AdaptInfo; interface uses Windows, Messages, SysUtils, Classes, nb30; const //アダプタ名の最大長を示す定数の宣言 MAX_ADAPTER_NAME_LENGTH = 256; //アダプタ説明の最大長を示す定数の宣言 MAX_ADAPTER_DESCRIPTION_LENGTH = 128; //アダプタアドレスの最大長を示す定数の宣言 MAX_ADAPTER_ADDRESS_LENGTH = 8; type PAstat = ^TAstat; TAstat = packed record adapt: TAdapterStatus; NameBuff: array [0 .. 29] of TNameBuffer; end; IP_ADDRESS_STRING=packed record IpAddressString: array[0..15] of Byte; end; IP_Mask_STRING=packed record IpMaskString: array[0..15] of Byte; end; IP_ADDR_STRING=packed record Next: Longint; IpAddress: IP_ADDRESS_STRING; IpMask: IP_MASK_STRING; Context: Longint; end; PIPAdapterInfo = ^TIPAdapterInfo; TIPAdapterInfo = packed record Next: LongInt; ComboIndex: LongInt; AdapterName: array[0..MAX_ADAPTER_NAME_LENGTH + 4 - 1] of Char; Description: array[0..MAX_ADAPTER_DESCRIPTION_LENGTH + 4 - 1] of Char; AddressLength: LongInt; Address: array[0..MAX_ADAPTER_ADDRESS_LENGTH - 1] of Byte; Index: LongInt; lngType: LongInt; DhcpEnabled: LongInt; CurrentIpAddress: LongInt; IpAddressList: IP_ADDR_STRING; GatewayList: IP_ADDR_STRING; DhcpServer: IP_ADDR_STRING; HaveWins: LongInt; PrimaryWinsServer: IP_ADDR_STRING; SecondaryWinsServer: IP_ADDR_STRING; LeaseObtained: LongInt; LeaseExpires: LongInt; end; function GetAdaptersInfo(pAdapterInfo: PIPAdapterInfo; pOutBufLen: PLongInt):Longint; stdcall; implementation Function GetAdaptersInfo; external 'iphlpapi.dll' name 'GetAdaptersInfo'; end. //[ここまで]---------------------------
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.