/trunk/UserDetect2/Plugins/NetworkUtils.pas |
---|
16,7 → 16,12 |
implementation |
uses |
iphlpapi, IpTypes, Iprtrmib, WinSock, Registry; |
{$IFDEF UNICODE} |
iphlpapi, IpTypes, Iprtrmib, |
{$ELSE} |
iphlp, |
{$ENDIF} |
WinSock, Registry; |
// TODO: Replace GetAdaptersInfo()? A comment at MSDN states that there might be problems with IPv6 |
// "GetAdaptersInfo returns ERROR_NO_DATA if there are only IPv6 interfaces |
27,7 → 32,7 |
pAdapterInfo: PIP_ADAPTER_INFO; |
addr: AnsiString; |
addrStr: IP_ADDR_STRING; |
BufLen: Cardinal; |
BufLen: ULONG; |
begin |
BufLen := SizeOf(IP_ADAPTER_INFO); |
Result := GetAdaptersInfo(nil, BufLen); |
59,7 → 64,7 |
pAdapterInfo: PIP_ADAPTER_INFO; |
addr: AnsiString; |
addrStr: IP_ADDR_STRING; |
BufLen: Cardinal; |
BufLen: ULONG; |
begin |
BufLen := SizeOf(IP_ADAPTER_INFO); |
Result := GetAdaptersInfo(nil, BufLen); |
91,7 → 96,7 |
pAdapterInfo: PIP_ADAPTER_INFO; |
addr: AnsiString; |
addrStr: IP_ADDR_STRING; |
BufLen: Cardinal; |
BufLen: ULONG; |
begin |
BufLen := SizeOf(IP_ADAPTER_INFO); |
Result := GetAdaptersInfo(nil, BufLen); |
151,7 → 156,7 |
function GetLocalMACAddressList(outSL: TStrings): DWORD; |
var |
pIfTable: PMIB_IFTABLE; |
TableSize: Cardinal; |
TableSize: ULONG; |
tmp: String; |
i, j: Integer; |
begin |
/trunk/UserDetect2/Plugins/iphlp.pas |
---|
0,0 → 1,165 |
unit iphlp; |
interface |
uses |
Windows; |
const |
MAX_INTERFACE_NAME_LEN = $100; |
ERROR_SUCCESS = 0; |
MAXLEN_IFDESCR = $100; |
MAXLEN_PHYSADDR = 8; |
MIB_IF_OPER_STATUS_NON_OPERATIONAL = 0 ; |
MIB_IF_OPER_STATUS_UNREACHABLE = 1; |
MIB_IF_OPER_STATUS_DISCONNECTED = 2; |
MIB_IF_OPER_STATUS_CONNECTING = 3; |
MIB_IF_OPER_STATUS_CONNECTED = 4; |
MIB_IF_OPER_STATUS_OPERATIONAL = 5; |
MIB_IF_TYPE_OTHER = 1; |
MIB_IF_TYPE_ETHERNET = 6; |
MIB_IF_TYPE_TOKENRING = 9; |
MIB_IF_TYPE_FDDI = 15; |
MIB_IF_TYPE_PPP = 23; |
MIB_IF_TYPE_LOOPBACK = 24; |
MIB_IF_TYPE_SLIP = 28; |
MIB_IF_ADMIN_STATUS_UP = 1; |
MIB_IF_ADMIN_STATUS_DOWN = 2; |
MIB_IF_ADMIN_STATUS_TESTING = 3; |
type |
MIB_IFROW = packed record |
wszName: Array[0 .. (MAX_INTERFACE_NAME_LEN*2-1)] of AnsiChar; |
dwIndex: LongInt; |
dwType: LongInt; |
dwMtu: LongInt; |
dwSpeed: LongInt; |
dwPhysAddrLen: LongInt; |
bPhysAddr: Array[0 .. (MAXLEN_PHYSADDR-1)] of Byte; |
dwAdminStatus: LongInt; |
dwOperStatus: LongInt; |
dwLastChange: LongInt; |
dwInOctets: LongInt; |
dwInUcastPkts: LongInt; |
dwInNUcastPkts: LongInt; |
dwInDiscards: LongInt; |
dwInErrors: LongInt; |
dwInUnknownProtos: LongInt; |
dwOutOctets: LongInt; |
dwOutUcastPkts: LongInt; |
dwOutNUcastPkts: LongInt; |
dwOutDiscards: LongInt; |
dwOutErrors: LongInt; |
dwOutQLen: LongInt; |
dwDescrLen: LongInt; |
bDescr: Array[0 .. (MAXLEN_IFDESCR - 1)] of AnsiChar; |
end; |
const |
MAX_HOSTNAME_LEN = 128; |
MAX_DOMAIN_NAME_LEN = 128; |
MAX_SCOPE_ID_LEN = 256; |
MAX_ADAPTER_NAME_LENGTH = 256; |
MAX_ADAPTER_DESCRIPTION_LENGTH = 128; |
MAX_ADAPTER_ADDRESS_LENGTH = 8; |
IPHelper = 'iphlpapi.dll'; |
type |
PIPAddressString = ^TIPAddressString; |
PIPMaskString = ^TIPAddressString; |
TIPAddressString = packed record |
_String: array[0..(4 * 4) - 1] of AnsiChar; |
end; |
TIPMaskString = TIPAddressString; |
PIPAddrString = ^TIPAddrString; |
TIPAddrString = packed record |
Next: PIPAddrString; |
IpAddress: TIPAddressString; |
IpMask: TIPMaskString; |
Context: DWORD; |
end; |
PFixedInfo = ^TFixedInfo; |
TFixedInfo = packed record |
HostName: array[0..MAX_HOSTNAME_LEN + 4 - 1] of AnsiChar; |
DomainName: array[0..MAX_DOMAIN_NAME_LEN + 4 - 1] of AnsiChar; |
CurrentDnsServer: PIPAddrString; |
DnsServerList: TIPAddrString; |
NodeType: UINT; |
ScopeId: array[0..MAX_SCOPE_ID_LEN + 4 - 1] of AnsiChar; |
EnableRouting, |
EnableProxy, |
EnableDns: UINT; |
end; |
IP_ADDRESS_STRING = packed record |
S: array [0..15] of AnsiChar; |
end; |
IP_MASK_STRING = IP_ADDRESS_STRING; |
PIP_MASK_STRING = ^IP_MASK_STRING; |
PIP_ADDR_STRING = ^IP_ADDR_STRING; |
IP_ADDR_STRING = packed record |
Next: PIP_ADDR_STRING; |
IpAddress: IP_ADDRESS_STRING; |
IpMask: IP_MASK_STRING; |
Context: DWORD; |
end; |
PIP_ADAPTER_INFO = ^IP_ADAPTER_INFO; |
IP_ADAPTER_INFO = packed record |
Next: PIP_ADAPTER_INFO; |
ComboIndex: DWORD; |
AdapterName: array [0..MAX_ADAPTER_NAME_LENGTH + 3] of AnsiChar; |
Description: array [0..MAX_ADAPTER_DESCRIPTION_LENGTH + 3] of AnsiChar; |
AddressLength: UINT; |
Address: array [0..MAX_ADAPTER_ADDRESS_LENGTH - 1] of BYTE; |
Index: DWORD; |
Type_: UINT; |
DhcpEnabled: UINT; |
CurrentIpAddress: PIP_ADDR_STRING; |
IpAddressList: IP_ADDR_STRING; |
GatewayList: IP_ADDR_STRING; |
DhcpServer: IP_ADDR_STRING; |
HaveWins: BOOL; |
PrimaryWinsServer: IP_ADDR_STRING; |
SecondaryWinsServer: IP_ADDR_STRING; |
LeaseObtained: Cardinal; |
LeaseExpires: Cardinal; |
end; |
const |
ANY_SIZE = 1; |
{$EXTERNALSYM ANY_SIZE} |
type |
PMIB_IFTABLE = ^MIB_IFTABLE; |
{$EXTERNALSYM PMIB_IFTABLE} |
_MIB_IFTABLE = record |
dwNumEntries: DWORD; |
table: array [0..ANY_SIZE - 1] of MIB_IFROW; |
end; |
{$EXTERNALSYM _MIB_IFTABLE} |
MIB_IFTABLE = _MIB_IFTABLE; |
{$EXTERNALSYM MIB_IFTABLE} |
TMibIftable = MIB_IFTABLE; |
PMibIftable = PMIB_IFTABLE; |
function GetAdaptersInfo(pAdapterInfo: PIP_ADAPTER_INFO; var pOutBufLen: {P}ULONG): DWORD; stdcall; |
function GetNetworkParams(pFixedInfo: PFixedInfo; var pOutBufLen: {P}ULONG): DWORD; stdcall; |
function SendArp(DestIP, SrcIP: {IPAddr}Cardinal; pMacAddr: PULONG; var PhyAddrLen: {P}ULONG) : DWORD; stdcall; |
function GetIfTable(pIfTable: PMIB_IFTABLE; var pdwSize: {P}ULONG; bOrder: BOOL): DWORD; stdcall; |
implementation |
function GetAdaptersInfo; external IPHelper Name 'GetAdaptersInfo'; |
function GetNetworkParams; external IPHelper Name 'GetNetworkParams'; |
function SendArp; external IPHelper name 'SendARP'; |
function GetIfTable; external IPHelper Name 'GetIfTable'; |
end. |
/trunk/vcl/VTSCompat.pas |
---|
119,7 → 119,7 |
end; |
{$ELSE} |
begin |
result := OpenDialog.Execute; |
result := SaveDialog.Execute; |
{$IFEND} |
end; |
/trunk/vcl/ViaThinkSoft.dpk |
---|
1,6 → 1,7 |
package dclusr; |
package ViaThinkSoft; |
{$R *.res} |
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} |
{$ALIGN 8} |
{ ASSERTIONS ON} |
{$BOOLEVAL OFF} |
11,17 → 12,19 |
{ LOCALSYMBOLS OFF} |
{$LONGSTRINGS ON} |
{$OPENSTRINGS ON} |
{$OPTIMIZATION ON} |
{$OPTIMIZATION OFF} |
{$OVERFLOWCHECKS OFF} |
{$RANGECHECKS OFF} |
{$REFERENCEINFO OFF} |
{$SAFEDIVIDE OFF} |
{ STACKFRAMES OFF} |
{ STACKFRAMES ON} |
{$TYPEDADDRESS OFF} |
{$VARSTRINGCHECKS ON} |
{$WRITEABLECONST ON} |
{$MINENUMSIZE 1} |
{$IMAGEBASE $51000000} |
{$DEFINE DEBUG} |
{$ENDIF IMPLICITBUILDING} |
{$DESCRIPTION 'ViaThinkSoft VCL Components'} |
{$LIBSUFFIX '60'} |
{$DESIGNONLY} |
/trunk/vcl/ViaThinkSoft.dproj |
---|
0,0 → 1,110 |
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
<PropertyGroup> |
<ProjectGuid>{22278885-C983-4452-8FF1-D66A194B16DA}</ProjectGuid> |
<MainSource>ViaThinkSoft.dpk</MainSource> |
<Base>True</Base> |
<Config Condition="'$(Config)'==''">Debug</Config> |
<TargetedPlatforms>1</TargetedPlatforms> |
<AppType>Package</AppType> |
<FrameworkType>VCL</FrameworkType> |
<ProjectVersion>18.1</ProjectVersion> |
<Platform Condition="'$(Platform)'==''">Win32</Platform> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''"> |
<Base_Win32>true</Base_Win32> |
<CfgParent>Base</CfgParent> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''"> |
<Cfg_1>true</Cfg_1> |
<CfgParent>Base</CfgParent> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''"> |
<Cfg_2>true</Cfg_2> |
<CfgParent>Base</CfgParent> |
<Base>true</Base> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Base)'!=''"> |
<DCC_DebugInformation>0</DCC_DebugInformation> |
<DCC_N>true</DCC_N> |
<DCC_WriteableConstants>true</DCC_WriteableConstants> |
<DllSuffix>60</DllSuffix> |
<SanitizedProjectName>ViaThinkSoft</SanitizedProjectName> |
<DCC_K>false</DCC_K> |
<GenDll>true</GenDll> |
<DCC_UNSAFE_CAST>true</DCC_UNSAFE_CAST> |
<DCC_UNSAFE_TYPE>true</DCC_UNSAFE_TYPE> |
<VerInfo_Locale>1031</VerInfo_Locale> |
<DCC_F>false</DCC_F> |
<DCC_UNSAFE_CODE>true</DCC_UNSAFE_CODE> |
<DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> |
<DCC_Description>ViaThinkSoft VCL Components</DCC_Description> |
<DCC_S>false</DCC_S> |
<DCC_E>false</DCC_E> |
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=</VerInfo_Keys> |
<DCC_ImageBase>51000000</DCC_ImageBase> |
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> |
<DCC_Namespace>Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace)</DCC_Namespace> |
<GenPackage>true</GenPackage> |
<DesignOnlyPackage>true</DesignOnlyPackage> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Base_Win32)'!=''"> |
<DCC_UsePackage>vcl;rtl;$(DCC_UsePackage)</DCC_UsePackage> |
<VerInfo_Locale>1033</VerInfo_Locale> |
<Icon_MainIcon>ViaThinkSoft_Icon.ico</Icon_MainIcon> |
<DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> |
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Cfg_1)'!=''"> |
<DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Cfg_2)'!=''"> |
<DCC_Define>DEBUG;$(DCC_Define)</DCC_Define> |
<DCC_Optimize>false</DCC_Optimize> |
<DCC_GenerateStackFrames>true</DCC_GenerateStackFrames> |
</PropertyGroup> |
<ItemGroup> |
<DelphiCompile Include="$(MainSource)"> |
<MainSource>MainSource</MainSource> |
</DelphiCompile> |
<DCCReference Include="rtl.dcp"/> |
<DCCReference Include="vcl.dcp"/> |
<DCCReference Include="designide.dcp"/> |
<DCCReference Include="VTSListView.pas"/> |
<DCCReference Include="AlphaNumSort.pas"/> |
<DCCReference Include="VTSCompat.pas"/> |
<DCCReference Include="PatchU.pas"/> |
<BuildConfiguration Include="Debug"> |
<Key>Cfg_2</Key> |
<CfgParent>Base</CfgParent> |
</BuildConfiguration> |
<BuildConfiguration Include="Base"> |
<Key>Base</Key> |
</BuildConfiguration> |
<BuildConfiguration Include="Release"> |
<Key>Cfg_1</Key> |
<CfgParent>Base</CfgParent> |
</BuildConfiguration> |
</ItemGroup> |
<ProjectExtensions> |
<Borland.Personality>Delphi.Personality.12</Borland.Personality> |
<Borland.ProjectType>Package</Borland.ProjectType> |
<BorlandProject> |
<Delphi.Personality> |
<Source> |
<Source Name="MainSource">ViaThinkSoft.dpk</Source> |
</Source> |
</Delphi.Personality> |
<Platforms> |
<Platform value="Win32">True</Platform> |
</Platforms> |
</BorlandProject> |
<ProjectFileVersion>12</ProjectFileVersion> |
</ProjectExtensions> |
<Import Project="$(BDS)\Bin\CodeGear.Delphi.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Delphi.Targets')"/> |
<Import Project="$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj" Condition="Exists('$(APPDATA)\Embarcadero\$(BDSAPPDATABASEDIR)\$(PRODUCTVERSION)\UserTools.proj')"/> |
</Project> |
/trunk/vcl/ViaThinkSoft.res |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/trunk/vcl/ViaThinkSoft_Icon.ico |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/trunk/vcl |
---|
Property changes: |
Modified: svn:ignore |
__history |
*.local |
*.identcache |
+*.stat |