WSCInstallNameSpaceEx32-Funktion (ws2spi.h)

Die WSCInstallNameSpaceEx32-Funktion installiert einen angegebenen 32-Bit-Namespaceanbieter. Für Anbieter, die mehrere Namensräume unterstützen können, muss diese Funktion für jeden unterstützten Namespace aufgerufen werden, und jedes Mal muss ein eindeutiger Anbieterbezeichner angegeben werden.

**Hinweis** Bei diesem Aufruf handelt es sich um eine streng 32-Bit-Version von WSCInstallNameSpaceEx32 zur Verwendung auf 64-Bit-Plattformen. Es wird bereitgestellt, um 64-Bit-Prozessen den Zugriff auf die 32-Bit-Kataloge zu ermöglichen.
 

Syntax

INT WSCInstallNameSpaceEx32(
  [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, der den Anbieter identifiziert, der dem globalen eindeutigen Bezeichner (GUID) zugeordnet ist, der im lpProviderId-Parameter übergeben wird.

[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 WSCInstallNameSpaceEx32-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 aufrufende Routine 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 beim Erstellen oder Installieren eines Katalogeintrags ist ein Fehler aufgetreten.
WSASYSCALLFAILURE
Ein Systemaufruf, der niemals fehlschlagen sollte, ist fehlgeschlagen.
WSA_NOT_ENOUGH_MEMORY
Nicht genügend Arbeitsspeicher war verfügbar. Dieser Fehler wird zurückgegeben, wenn nicht genügend Arbeitsspeicher vorhanden ist, um einen neuen Katalogeintrag zuzuweisen.

Hinweise

WSCInstallNameSpaceEx32 ist eine streng 32-Bit-Version von WSCInstallNameSpaceEx. Auf einem 64-Bit-Computer werden alle Aufrufe, die nicht speziell 32-Bit-Aufrufe (z. B. alle Funktionen, die nicht auf "32" enden) im nativen 64-Bit-Katalog ausgeführt. Prozesse, die auf einem 64-Bit-Computer ausgeführt werden, müssen die spezifischen 32-Bit-Funktionsaufrufe verwenden, um mit einem strikten 32-Bit-Katalog zu arbeiten und die Kompatibilität aufrechtzuerhalten. Die Definitionen und Semantik der spezifischen 32-Bit-Aufrufe sind identisch mit ihren nativen Gegenstücken.

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. Bei Anwendungen, die nach dem Aufruf von WSCInstallNameSpaceEx32 gestartet wurden, werden die Änderungen angezeigt.

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

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

Die WSCInstallNameSpaceEx32-Funktionkann nur von einem Benutzer aufgerufen werden, der als Mitglied der Gruppe Administratoren angemeldet ist. Wenn WSCInstallNameSpaceEx32 von einem Benutzer aufgerufen wird, der kein Mitglied der Gruppe Administratoren ist, schlägt der Funktionsaufruf fehl. Bei Computern, die unter Windows Vista oder Windows Server 2008 ausgeführt werden, kann diese Funktion auch aufgrund der Benutzerkontensteuerung (UAC) fehlschlagen. Wenn eine Anwendung, die diese Funktion enthält, von einem Benutzer ausgeführt wird, der nicht als mitglied der Gruppe Administratoren als der integrierte Administrator angemeldet ist, schlägt dieser Aufruf fehl, es sei denn, die Anwendung wurde in der Manifestdatei mit einem requestedExecutionLevel-Wert gekennzeichnet, der auf requireAdministrator festgelegt ist. Wenn in der Anwendung unter Windows Vista oder Windows Server 2008 diese Manifestdatei fehlt, muss ein Benutzer, der sich als Mitglied der Gruppe Administratoren angemeldet hat, nicht der integrierte Administrator, die Anwendung dann 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

WSCEnumNameSpaceProviders32

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpace32

WSCInstallNameSpaceEx

WSCUnInstallNameSpace32