WSCInstallNameSpaceEx-Funktion (ws2spi.h)

Die WSCInstallNameSpaceEx-Funktion installiert einen Namespaceanbieter. Für Anbieter, die mehrere Namespaces unterstützen können, muss diese Funktion für jeden unterstützten Namespace aufgerufen werden, und jedes Mal muss ein eindeutiger Anbieterbezeichner bereitgestellt werden.

Syntax

INT WSCInstallNameSpaceEx(
  [in] LPWSTR lpszIdentifier,
  [in] LPWSTR lpszPathName,
  [in] DWORD  dwNameSpace,
  [in] DWORD  dwVersion,
  [in] LPGUID lpProviderId,
  [in] LPBLOB lpProviderSpecific
);

Parameter

[in] lpszIdentifier

Ein Zeiger auf eine Zeichenfolge, die den Anbieter identifiziert, der dem im lpProviderId-Parameter übergebenen GUID (Globally Unique Identifier) zugeordnet ist.

[in] lpszPathName

Ein Zeiger auf eine Unicode-Zeichenfolge, die den Ladepfad zur Anbieter-DLL enthält. Diese Zeichenfolge beachtet die üblichen Regeln für die Pfadauflösung und kann eingebettete Umgebungszeichenfolgen (z. B. %SystemRoot%) enthalten. Solche Umgebungszeichenfolgen werden erweitert, wenn die Ws2_32.dll anschließend die Anbieter-DLL im Namen einer Anwendung laden muss. Nachdem eingebettete Umgebungszeichenfolgen erweitert wurden, übergibt der Ws2_32.dll die resultierende Zeichenfolge an die LoadLibrary-Funktion , die den Anbieter in den Arbeitsspeicher lädt. Weitere Informationen finden Sie unter LoadLibrary.

[in] dwNameSpace

Der von diesem Anbieter unterstützte Namespace.

[in] dwVersion

Die Versionsnummer des Anbieters.

[in] lpProviderId

Ein Zeiger auf eine GUID für den Anbieter. Diese GUID sollte von Uuidgen.exe generiert werden.

[in] lpProviderSpecific

Ein anbieterspezifisches Datenblob, das dem Namespaceeintrag zugeordnet ist.

Rückgabewert

Wenn kein Fehler auftritt, gibt die WSCInstallNameSpaceEx-FunktionNO_ERROR (null) zurück. Andernfalls wird SOCKET_ERROR zurückgegeben, wenn die Funktion fehlschlägt, und Sie müssen den entsprechenden Fehlercode mithilfe der WSAGetLastError-Funktion abrufen.

Fehlercode Bedeutung
WSAEACCES
Die Aufrufroutine verfügt nicht über ausreichende Berechtigungen, um einen Namespace zu installieren.
WSAEINVAL
Mindestens ein Argument ist ungültig.
WSANO_RECOVERY
Ein nicht behebbarer Fehler ist aufgetreten. Dieser Fehler wird unter verschiedenen Bedingungen zurückgegeben, einschließlich der folgenden: Der Anbieter ist bereits installiert, dem Benutzer fehlen die Administratorrechte, die zum Schreiben in die Winsock-Registrierung erforderlich sind, oder ein Fehler beim Erstellen oder Installieren eines Katalogeintrags.
WSASYSCALLFAILURE
Ein Systemaufruf, der nie fehlschlagen sollte, ist fehlgeschlagen.
WSA_NOT_ENOUGH_MEMORY
Es war nicht genügend Arbeitsspeicher verfügbar. Dieser Fehler wird zurückgegeben, wenn nicht genügend Arbeitsspeicher zum Zuordnen eines neuen Katalogeintrags vorhanden ist.

Hinweise

Die Namespacekonfigurationsfunktionen wirken sich nicht auf Anwendungen aus, die bereits ausgeführt werden. Neu installierte Namensraumanbieter sind weder für Anwendungen sichtbar, noch werden die Änderungen im Aktivierungsstatus eines Namensraumanbieters angezeigt. Anwendungen, die nach dem Aufruf von WSCInstallNameSpaceEx gestartet wurden, sehen die Änderungen.

Das anbieterspezifische Datenblob, das dem Namespaceeintrag zugeordnet ist, der im lpProviderInfo-Parameter übergeben wird, kann mithilfe der WSAEnumNameSpaceProvidersEx-Funktion abgefragt werden.

Derzeit ist der einzige Namespaceanbieter, der in Windows enthalten ist, der den lpProviderInfo-Parameter verwendet, der NS_EMAIL Anbieter. Das Format des Puffers, auf den der lpProviderInfo-Parameter für einen NS_EMAIL-Namespaceanbieter verweist, ist eine NAPI_PROVIDER_INSTALLATION_BLOB-Struktur .

Die WSCInstallNameSpaceEx-Funktion kann nur von einem Benutzer aufgerufen werden, der als Mitglied der Gruppe Administratoren angemeldet ist. Wenn WSCInstallNameSpaceEx von einem Benutzer aufgerufen wird, der kein Mitglied der Gruppe Administratoren ist, schlägt der Funktionsaufruf fehl. Bei Computern unter Windows Vista oder Windows Server 2008 kann diese Funktion auch aufgrund der Benutzerkontensteuerung (UAC) fehlschlagen. Wenn eine Anwendung, die diese Funktion enthält, von einem Benutzer ausgeführt wird, der als Mitglied der Gruppe Administratoren angemeldet ist, die nicht der integrierten Administratorgruppe angehört, schlägt dieser Aufruf fehl, es sei denn, die Anwendung wurde in der Manifestdatei mit einem requestedExecutionLevel gekennzeichnet, der auf requireAdministrator festgelegt ist. Wenn in der Anwendung unter Windows Vista oder Windows Server 2008 diese Manifestdatei nicht vorhanden ist, muss ein Benutzer, der sich als Mitglied der Gruppe "Administratoren" angemeldet hat und nicht der integrierte Administrator die Anwendung in einer erweiterten Shell als integrierter Administrator (RunAs-Administrator) ausführen, damit diese Funktion erfolgreich ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ws2spi.h
Bibliothek Ws2_32.lib
DLL Ws2_32.dll

Weitere Informationen

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSCInstallNameSpace

WSCInstallNameSpaceEx32

WSCUnInstallNameSpace