WSCUpdateProvider32-Funktion (ws2spi.h)

Die WSCUpdateProvider32-Funktion ändert den angegebenen 32-Bit-Transportanbieter in der Systemkonfigurationsdatenbank.

Hinweis Bei diesem Aufruf handelt es sich um eine strikte 32-Bit-Version von WSCUpdateProvider 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 WSCUpdateProvider32(
  [in]  LPGUID                    lpProviderId,
  [in]  const WCHAR               *lpszProviderDllPath,
  [in]  const LPWSAPROTOCOL_INFOW lpProtocolInfoList,
  [in]  DWORD                     dwNumberOfEntries,
  [out] LPINT                     lpErrno
);

Parameter

[in] lpProviderId

Ein Zeiger auf einen Globally Unique Identifier (GUID) für den Anbieter.

[in] lpszProviderDllPath

Ein Zeiger auf eine Unicode-Zeichenfolge, die den Ladepfad zur 64-Bit-DLL des Anbieters 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] lpProtocolInfoList

Ein Zeiger auf ein Array von WSAProtocol_Info Strukturen. Jede Struktur gibt ein Protokoll, eine Adressfamilie und einen Sockettyp an, der vom Anbieter unterstützt wird, oder ändert diese.

[in] dwNumberOfEntries

Die Anzahl der Einträge im Array lpProtocolInfoList .

[out] lpErrno

Ein Zeiger auf den Fehlercode, wenn die Funktion fehlschlägt.

Rückgabewert

Wenn kein Fehler auftritt, gibt WSCUpdateProvider32 null zurück. Andernfalls wird SOCKET_ERROR zurückgegeben, und ein bestimmter Fehlercode ist in lpErrno verfügbar.

Fehlercode Bedeutung
WSAEFAULT
Mindestens eins der Argumente befindet sich nicht in einem gültigen Teil des Benutzeradressraums.
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: Dem Benutzer fehlen die administratorrechtlichen Berechtigungen, die zum Schreiben in die Winsock-Registrierung erforderlich sind, oder beim Öffnen oder Schreiben eines Katalogeintrags ist ein Fehler aufgetreten.
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

WSCUpdateProvider32 ist eine strikte 32-Bit-Version von WSCUpdateProvider. 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.

Diese Funktion ändert Windows Sockets 2-Konfigurationsinformationen für den angegebenen 32-Bit-Anbieter. Sie gilt für Basisprotokolle, mehrschichtige Protokolle und Protokollketten.

Winsock 2 bietet mehrschichtige Protokolle. Ein mehrschichtiges Protokoll ist ein Protokoll, das nur Kommunikationsfunktionen auf höherer Ebene implementiert, während es sich auf einen zugrunde liegenden Transportstapel für den tatsächlichen Austausch von Daten mit einem Remoteendpunkt verlässt. Ein Beispiel für ein mehrschichtiges Protokoll wäre eine Sicherheitsebene, die dem Verbindungsaufbauprozess Protokoll hinzufügt, um die Authentifizierung durchzuführen und ein einvernehmlich vereinbartes Verschlüsselungsschema einzurichten. Ein solches Sicherheitsprotokoll erfordert im Allgemeinen die Dienste eines zugrunde liegenden zuverlässigen Transportprotokolls wie TCP oder SPX. Der Begriff Basisprotokoll bezieht sich auf ein Protokoll wie TCP oder SPX, das die Datenkommunikation mit einem Remoteendpunkt durchführen kann. Der Begriff Mehrschichtprotokoll wird verwendet, um ein Protokoll zu beschreiben, das nicht allein stehen kann. Eine Protokollkette wird dann als ein oder mehrere mehrstufige Protokolle definiert, die aneinandergereiht und durch ein Basisprotokoll verankert sind. Bei einem Basisprotokoll ist das ChainLen-Element der WSAProtocol_Info-Struktur auf BASE_PROTOCOL festgelegt, das als 1 definiert ist. Bei einem mehrschichtigen Protokoll ist das ChainLen-Element der WSAPROTOCOL_INFO-Struktur auf LAYERED_PROTOCOL festgelegt, das als Null definiert ist. Bei einer Protokollkette ist der ChainLen-Member der WSAPROTOCOL_INFO-Struktur auf größer als 1 festgelegt.

Bei Erfolg versucht WSCUpdateProvider32 , alle interessierten Anwendungen zu benachrichtigen, die sich für die Benachrichtigung über die Änderung registriert haben, indem WSAProviderConfigChange aufgerufen wird.

Die WSCUpdateProvider32-Funktion kann nur von einem Benutzer aufgerufen werden, der als Mitglied der Gruppe Administratoren angemeldet ist. Wenn WSCUpdateProvider32 von einem Benutzer aufgerufen wird, der kein Mitglied der Gruppe Administratoren ist, schlägt der Funktionsaufruf fehl.

Bei Computern, auf denen Windows Vista oder Windows Server 2008 ausgeführt wird, 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.

Jede Dateiinstallation oder dienstanbieterspezifische Konfiguration muss vom Aufrufer ausgeführt werden.

Anforderungen

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

Weitere Informationen

WSAProtocol_Info

WSAProviderConfigChange

WSAStartup

WSCDeinstallProvider32

WSCEnumProtocols32

WSCInstallProvider64_32

WSCInstallProviderAndChains64_32

WSCUpdateProvider