NetGroupEnum

Aus API-Wiki
Version vom 7. Oktober 2016, 21:24 Uhr von Jochen Wierum (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Die API-Funktion NetGroupEnum listet alle existierenden globalen Gruppen auf.

Declare Function NetGroupEnum Lib "netapi32.dll" ( _
                 ByVal lpwServerName As Long, _
                 ByVal Level As Long, _
                 ByRef lpBuffer As Long, _
                 ByVal PrefMaxLen As Long, _
                 ByRef lpEntriesRead As Long, _
                 ByRef lpTotalEntries As Long, _
                 ByRef lpResumeHandle As Long) As Long

Parameter

lpwServerName

[in] Zeiger auf einen Unicode String der den Rechnernamen angibt auf dem die Gruppe existiert.
Der Rechnername muss mit "\\" beginnen.
Wird für diesen Parameter NULL übergeben, wird der lokale Computer verwendet.

Level

[in] Dieser Parameter bestimmt den Typ der im Parameter lpBuffer zurückgegebenen Struktur:
0: lpBuffer zeigt auf ein Feld aus GROUP_INFO_0 Strukturen
1: lpBuffer zeigt auf ein Feld aus GROUP_INFO_1 Strukturen
2: lpBuffer zeigt auf ein Feld aus GROUP_INFO_2 Strukturen
3: lpBuffer zeigt auf ein Feld aus GROUP_INFO_3 Strukturen

lpBuffer

[out] In dieser Long Variablen wird der Zeiger auf die Rückgabedaten gespeichert. Dieser Speicherbereich wird vom System allokiert und muss nach der Verwendung mittels NetApiBufferFree freigegeben werden. Die in dem Speicherbereich abgelegten Informationen richten sich nach dem im Parameter 'Level' angegebenen Wert. Zum Auslesen der in diesem Bereich abgelegten Informationen muss auf weitere API Funktionen wie z.B. RtlMoveMemory zurückgegriffen werden.

PrefMaxLen

[in] Legt die maximale Anzahl von zurückzugebenden Bytes fest. Dies kann, vorallem beim aufzählen von sehr vielen Gruppen hilfreich sein um den benötigten Speicher gering, und damit die Performance hoch zu halten. Werden vom System mehr als die angegebenen maximalen Bytes benötigt, so werden nur die maximalen Bytes zurückgegeben und die Funktion gibt den Fehlercode ERROR_MORE_DATA zurück. Um alle Gruppen aufzulisten kann MAX_PREFERRED_LENGTH übergeben werden.

lpEntriesRead

[out] Gibt an wieviele Gruppen in lpBuffer aufgelistet wurden.

lpTotalEntries

[out] Gibt ungefähr an wieviele Gruppen insgesamt vorhanden sind. Der vom System zurückgegebene Wert muss nicht exakt stimmen.

lpResumeHandle

[in, out] Können aufgrund einer Beschränkung durch PrefMaxLen nicht alle Gruppen aufgelistet werden, so erhält diese Variable ein Handle um beim nächsten Aufruf mit der Aufzählung fortzufahren. Beim ersten Aufruf muss die Variable auf 0 gesetzt werden, für die weiteren Aufrufe darf sie nicht verändert werden. Wird für diesen Parameter NULL übergeben, so werden keine Informationen zum Fortfahren der Aufzählung gespeichert.

Rückgabe

War die Funktion erfolgreich, so erfolgt die Rückgabe des Wertes 0 (NERR_Success).

Beispiel

nicht verfügbar

Hinweise

Beachten Sie, dass die Funktion nur als Unicode Funktion implementiert ist. Um die von VB automatisch durchgeführte Umwandlung von String Parametern in ANSI Strings zu unterbinden sind die Parameter 'As Long' deklariert und müssen mit StrPtr(MyString) übergeben werden.

Betriebssystem

Die API-Funktion NetGroupEnum ist unter folgenden Betriebssystemen funktionsfähig:

  • Windows NT 3.1 oder später

Verweise