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.
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 |
---|---|
Die aufrufende Routine verfügt nicht über ausreichende Berechtigungen, um einen Namespace zu installieren. | |
Mindestens ein Argument ist ungültig. | |
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. | |
Ein Systemaufruf, der niemals fehlschlagen sollte, ist fehlgeschlagen. | |
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 |