Rubrik: Internet & Netzwerk | 22.03.05 |
RasHangUp-Funktion Diese Funktion trennt eine DFÜ-Verbindung und gibt die benötigten Ressourcen frei. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 7.646 |
Deklaration:
Declare Function RasHangUp Lib "rasapi32.dll" _ Alias "RasHangUpA" ( _ ByVal hrasconn As Long) As Long
Beschreibung:
Diese Funktion trennt eine DFÜ-Verbindung und gibt die benötigten Ressourcen frei.
Parameter:
hrasconn | Erwartet das Handle einer DFÜ Verbindung, die getrennt werden soll. |
Rückgabewert:
Ist die Funktion erfolgreich, so wird der Wert "1" zurückgegeben, andernfallswird ein Fehlercode zurückgegeben.
Beispiel:
Private Declare Function RasEnumConnections Lib "rasapi32.dll" _ Alias "RasEnumConnectionsA" ( _ lprasconn As Any, _ lpcb As Long, _ lpcConnections As Long) As Long Private Declare Function RasHangUp Lib "rasapi32.dll" _ Alias "RasHangUpA" ( _ ByVal hrasconn As Long) As Long Private Const RAS_MAXENTRYNAME = 256 ' Maximale Anzahl der Zeichen für den ' Namen einer DFÜ-Verbindung Private Const RAS_MAXDEVICETYPE = 16 ' Maximale Anzahl der Zeichen für den Gerätetyp Private Const RAS_MAXDEVICENAME = 128 ' Maximale Anzahl der Zeichen für den ' Namen des Gerätes 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 Dim Connections() As RASCONN
' Aktive Verbindungen ermitteln Private Sub Command1_Click() Dim i As Integer, TmpRasName As String Dim ConCount As Long, Retval As Long ' Listeninhalt löschen List1.Clear ' Array neu dimensionieren ReDim Connections(0 To 255) ' Struktur RASCONN vorinitialisieren Connections(0).dwSize = Len(Connections(0)) + 1 ' Alle aktiven Verbindungen ermitteln Retval = RasEnumConnections(Connections(0), Connections(0).dwSize * _ 255, ConCount) If Retval << 0 Then MsgBox "Die Funktion konnte nicht ausgeführt werden:" Exit Sub ElseIf ConCount = 0 Then MsgBox "Es ist keine Verbindung aktiv" Exit Sub End If ' Ermittelte Verbindungen der Liste hinzufügen For i = 0 To ConCount - 1 TmpRasName = StrConv(Connections(i).szEntryName, vbUnicode) List1.AddItem Left$(TmpRasName, InStr(TmpRasName, vbNullChar) - 1) List1.ItemData(List1.NewIndex) = Connections(i).hrasconn Next i End Sub
' Trennen der Verbindung Private Sub List1_DblClick() Dim MsgRet As Long MsgRet = MsgBox("Wollen Sie die aktive Verbindung " & List1.Text & " _ wirklich trennen ?", vbYesNo + vbInformation, "Verbindung Trennen") If MsgRet = vbNo Then Exit Sub Call RasHangUp(List1.ItemData(List1.ListIndex)) End Sub