Freigeben über


NetServerTransportAddEx-Funktion (lmserver.h)

Die NetServerTransportAddEx-Funktion bindet den angegebenen Server an das Transportprotokoll. Mit dieser erweiterten Funktion kann die aufrufende Anwendung die SERVER_TRANSPORT_INFO_0, SERVER_TRANSPORT_INFO_1, SERVER_TRANSPORT_INFO_2 oder SERVER_TRANSPORT_INFO_3 Informationsebenen angeben.

Syntax

NET_API_STATUS NET_API_FUNCTION NetServerTransportAddEx(
  [in] LMSTR  servername,
  [in] DWORD  level,
  [in] LPBYTE bufptr
);

Parameter

[in] servername

Ein Zeiger auf eine Zeichenfolge, die den Namen des Remoteservers angibt, auf dem die Funktion ausgeführt werden soll. Wenn dieser Parameter NULL ist, wird der lokale Computer verwendet.

[in] level

Gibt einen Wert an, der die Informationsebene der Daten angibt. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
0
Gibt Informationen zum Transportprotokoll an, einschließlich Name, Adresse und Speicherort im Netzwerk. Der bufptr-Parameter verweist auf eine SERVER_TRANSPORT_INFO_0 Struktur.
1
Gibt Informationen zum Transportprotokoll an, einschließlich Name, Adresse, Netzwerkstandort und Domäne. Der bufptr-Parameter verweist auf eine SERVER_TRANSPORT_INFO_1-Struktur .
2
Gibt dieselben Informationen wie Ebene 1 an, wobei ein svti2_flags-Member hinzugefügt wird. Der bufptr-Parameter verweist auf eine SERVER_TRANSPORT_INFO_2 Struktur.
3
Gibt dieselben Informationen wie Ebene 2 an, wobei Anmeldeinformationen hinzugefügt werden. Der bufptr-Parameter verweist auf eine SERVER_TRANSPORT_INFO_3-Struktur .

[in] bufptr

Ein Zeiger auf den Puffer, der die Daten enthält. Das Format dieser Daten hängt vom Wert des Ebenenparameters ab.

Weitere Informationen finden Sie unter Netzwerkverwaltungsfunktionspuffer.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NERR_Success.

Wenn die Funktion fehlschlägt, kann der Rückgabewert einer der folgenden Fehlercodes sein.

Rückgabecode Beschreibung
ERROR_ACCESS_DENIED
Der Benutzer besitzt keinen Zugriff auf die angeforderten Informationen.
ERROR_DUP_NAME
Im Netzwerk ist ein doppelter Name vorhanden.
ERROR_INVALID_DOMAINNAME
Der Domänenname konnte im Netzwerk nicht gefunden werden.
ERROR_INVALID_LEVEL
Der für den Level-Parameter angegebene Wert ist ungültig.
ERROR_INVALID_PARAMETER
Ein Parameter ist ungültig.

Dieser Fehler wird zurückgegeben, wenn der Transportname oder das Element der Transportadresse im SERVER_TRANSPORT_INFO_0, SERVER_TRANSPORT_INFO_1, SERVER_TRANSPORT_INFO_2 oder SERVER_TRANSPORT_INFO_3 Struktur, auf die vom bufptr-Parameter verwiesen wird, NULL ist. Dieser Fehler wird auch zurückgegeben, wenn das Element der Transportadressenlänge im SERVER_TRANSPORT_INFO_0, SERVER_TRANSPORT_INFO_1, SERVER_TRANSPORT_INFO_2 oder SERVER_TRANSPORT_INFO_3 Struktur, auf die vom bufptr-Parameter verwiesen wird, null oder größer als MAX_PATH (definiert in der Headerdatei "Windef.h ") ist. Dieser Fehler wird auch zurückgegeben, wenn das Flags-Element der SERVER_TRANSPORT_INFO_2 oder SERVER_TRANSPORT_INFO_3 Struktur, auf die vom bufptr-Parameter verwiesen wird, einen ungültigen Wert enthält.

Dieser Fehler wird auch für andere ungültige Parameter zurückgegeben.

ERROR_NOT_ENOUGH_MEMORY
Es ist nicht genügend Arbeitsspeicher verfügbar.

Hinweise

Nur Mitglieder der lokalen Gruppe Administratoren oder Serveroperatoren können die NetServerTransportAddEx-Funktion erfolgreich ausführen.

Wenn Sie einem Server mithilfe eines Aufrufs der NetServerTransportAddEx-Funktion ein Transportprotokoll hinzufügen, bleibt die Verbindung nach dem Neustart oder Neustart des Servers nicht erhalten.

Die NetServerComputerNameAdd-Funktion ist eine Hilfsfunktion. Es kombiniert die Features der NetServerTransportEnum-Funktion und der NetServerTransportAddEx-Funktion , sodass Sie einen emulierten Servernamen angeben können.

Unter Windows Server 2008 und Windows Vista mit Service Pack 1 (SP1) wird jeder beim Windows-Remotedateiserver (SRV) registrierte Name entweder als bereichsbezogener Name oder als nicht bereichsbezogener Name angegeben. Jede Freigabe, die dem System hinzugefügt wird, wird dann entweder an alle Nicht-Bereichsnamen oder an einen einzelnen Bereichsnamen angefügt. Anwendungen, die die Bereichsfeatures verwenden möchten, sind sowohl für die Registrierung des neuen Namens als bereichsbezogenen Endpunkt als auch für die Erstellung der Freigaben mit einem entsprechenden Bereich verantwortlich. Auf diese Weise sind legacy-Verwendungen der Funktionen Netzwerkverwaltung und Netzwerkfreigabeverwaltung in keiner Weise betroffen, da freigaben und Namen weiterhin als nicht bereichsbezogene Namen registriert werden.

Ein bereichsbezogener Endpunkt wird erstellt, indem die NetServerTransportAddEx-Funktion aufgerufen wird, wobei der Levelparameter auf 2 festgelegt ist und der bufptr-Parameter auf eine SERVER_TRANSPORT_INFO_2-Struktur verweist, wobei der SVTI2_SCOPED_NAME Bitwert in svti2_flags Member festgelegt ist. Ein bereichsbezogener Endpunkt wird auch erstellt, indem die NetServerTransportAddEx-Funktion aufgerufen wird, wobei der Levelparameter auf 3 festgelegt ist und der bufptr-Parameter auf eine SERVER_TRANSPORT_INFO_3-Struktur verweist, wobei der SVTI2_SCOPED_NAME Bitwert in svti3_flags Member festgelegt ist.

Wenn der SVTI2_SCOPED_NAME Bitwert für einen Transport festgelegt ist, können Freigaben mit einem entsprechenden Servernamen (dem shi503_servername Member der SHARE_INFO_503-Struktur ) auf bereichsbezogene Weise mithilfe der NetShareAdd-Funktion hinzugefügt werden. Wenn kein Transport mit dem SVTI2_SCOPED_NAME Bitwert und dem in shi503_servername Member angegebenen Namen registriert ist, ist die freigabebezogene Add nicht erfolgreich.

Die NetShareAdd-Funktion wird verwendet, um eine bereichsbezogene Freigabe auf einem Remoteserver hinzuzufügen, der im servername-Parameter angegeben ist. Der remote Server, der im shi503_servername Member des SHARE_INFO_503 angegeben ist, der im bufptr-Parameter übergeben wurde, muss an ein Transportprotokoll gebunden worden sein, wobei die NetServerTransportAddEx-Funktion als bereichsbezogener Endpunkt verwendet wurde. Das SVTI2_SCOPED_NAME-Flag muss im shi503_servername Member der SERVER_TRANSPORT_INFO_2 oder SERVER_TRANSPORT_INFO_3 Struktur für das Transportprotokoll angegeben worden sein. Die NetShareDelEx-Funktion wird verwendet, um eine bereichsbezogene Freigabe zu löschen. Die Funktionen NetShareGetInfo und NetShareSetInfo dienen zum Abrufen und Festlegen von Informationen zu einer bereichsbezogenen Freigabe.

Bereichsbezogene Endpunkte werden in der Regel vom Clusternamespace verwendet.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile lmserver.h (lm.h einschließen)
Bibliothek Netapi32.lib
DLL Netapi32.dll

Weitere Informationen

NetServerComputerNameAdd

NetServerComputerNameDel

NetServerTransportAdd

NetServerTransportDel

NetServerTransportEnum

NetShareAdd

NetShareDelEx

NetShareGetInfo

NetShareSetInfo

Netzwerkverwaltungsfunktionen

Übersicht über die Netzwerkverwaltung

SERVER_TRANSPORT_INFO_0

SERVER_TRANSPORT_INFO_1

SERVER_TRANSPORT_INFO_2

SERVER_TRANSPORT_INFO_3

SHARE_INFO_503

Server- und Arbeitsstationstransportfunktionen