'[Public] | [Private]
Declare Function RasEnumConnections Lib "RasApi32.dll" _ Alias "RasEnumConnectionsA" (lprasconn As Any, _ lpcb As Long, lpcConnections As Long) As Long 'Dove: 'lprasconn: - puntatore ad una struttura di tipo RASCONN 'lpcb: - variabile che determina la grandezza (in bytes) di lprasconn 'lpcConnections: - variabile che ritorna il numero delle connessioni attive Null 'Cosi' come la struttura RASENTRYNAME memorizzava i nomi 'delle connessioni di Accesso Remoto presenti nel sistema, 'RASCONN memorizza i nomi delle connessioni attive. 'La sua definizione e': '[Public] | [Private] Type RASCONN dwSize As Long hRASConn As Long szEntryName(RAS_MAXENTRYNAME) As Byte szDeviceType(RAS_MAXDEVICETYPE) As Byte szDeviceName(RAS_MAXDEVICENAME) As Byte End Type 'dove: 'dwSize - specifica la grandezza della struttura (in bytes) 'hRASConn - specifica l'handle della connessione di Accesso Remoto 'szEntryName - specifica il nome della connessione 'szDeviceType - specifica il tipo del dispositivo corrente ("modem", "pad", "switch", "isdn", "null") 'szDeviceName - specifica il nome del dispositivo corrente 'RAS_MAXENTRYNAME - e' una costante (=256) 'RAS_MAXDEVICETYPE - e' una costante (=16) 'RAS_MAXDEVICENAME - e' una costante (=128) 'Quindi per determinare il numero di connessioni attive: 'Definisco le variabili Dim RASConnN_Size As Long 'che indichera' la grandezza della struttura Dim RASConnN_Numb As Long 'dove verra' memorizzato il numero di connessioni attive Dim aaa As String, bbb As String 'Imposto la grandezza della struttura RASCon(0).dwSize = 412 RASConnN_Size = 256 * RASCon(0).dwSize aaa = RasEnumConnections(RASCon(0), RASConnN_Size, RASConnN_Numb) 'Analogamente a quanto visto prima, RASConnN_Numb mi 'restituira' il numero delle connessioni attive in questo 'momento, e proprio come prima, con: For i = 0 To RASConnN_Numb - 1 bbb = StrConv(RASCon(i).szEntryName(), vbUnicode) MsgBox Left(bbb, InStr(bbb, Chr(0)) - 1) Next i 'ottengo i nomi di tutte le connessioni attive. |