Tipp 5.21 - DFÜ-Verbindungen ermitteln
Wie kann ich die verfügbare DFÜ-Verbindungen ermitteln?
Mit dieser Funktion können Sie die verfügbare DFÜ-Verbindungen ermitteln. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.
Verwendete Win32-Api-Aufrufe und Typen: RasEnumEntries - RAS_ENTRYNAME
Beispiel:
Option Explicit Public Const RAS_MAXENTRYNAME As Long = 256 Public Type RAS_ENTRYNAME dwSize As Long szEntryName(RAS_MAXENTRYNAME) As Byte End Type Public Declare Function RasEnumEntries _ Lib "RasApi32.dll" Alias _ "RasEnumEntriesA" (ByVal Reserved As String, _ ByVal lpszPhonebook As String, _ lprasentryname As Any, _ lpcb As Long, _ lpcEntries As Long) As Long Public Function CountDFUEConnections( _ asNames() As String) _ As Long '// ----------------------------------------------------- '// Methode: | Ermittelt alle verfügb. DFUE-Verbindg. '// ----------------------------------------------------- '// Parameter: | asNames - Array für die DFUE-Verbindg. '// ----------------------------------------------------- '// Rückgabe: | Anzahl gefundener DFUE-Verbindungen '// ----------------------------------------------------- '// Autor: | Stefan Kulpa '// | EDV Innovation & Consulting - Dormagen '// ----------------------------------------------------- '// Beispiel: '// Dim asNames() As String '// Dim lCount As Long '// If CountDFUEConnections(asNames) > 0 Then '// For lCount = LBound(asNames) To UBound(asNames) '// Debug.Print asNames(lCount) '// Next '// End If '// ----------------------------------------------------- Dim lEntries As Long Dim lCount As Long Dim lSize As Long Dim lLoop As Long Dim sName As String Dim auRasEntryNames(255) As RAS_ENTRYNAME lCount = 0 Erase asNames auRasEntryNames(0).dwSize = 264 lSize = 256 * auRasEntryNames(0).dwSize Call RasEnumEntries(vbNullString, _ vbNullString, _ auRasEntryNames(0), _ lSize, _ lEntries) For lLoop = 0 To lEntries - 1 sName = StrConv(auRasEntryNames(lLoop).szEntryName(), _ vbUnicode) lCount = lCount + 1 ReDim Preserve asNames(lCount) asNames(lCount) = _ VBA.Left(sName, VBA.InStr(sName, vbNullChar) - 1) Next lLoop CountDFUEConnections = lCount End Function