Share via


WSCDeinstallProvider-Funktion (ws2spi.h)

Die WSCDeinstallProvider-Funktion entfernt den angegebenen Transportanbieter aus der Systemkonfigurationsdatenbank.

Syntax

int WSCDeinstallProvider(
  [in]  LPGUID lpProviderId,
  [out] LPINT  lpErrno
);

Parameter

[in] lpProviderId

Ein Zeiger auf einen Globally Unique Identifier (GUID) für den Anbieter. Dieser Wert wird in jeder WSAProtocol_Info-Struktur gespeichert.

[out] lpErrno

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

Rückgabewert

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

Fehlercode Bedeutung
WSAEINVAL
Der lpProviderId-Parameter gibt keinen gültigen Anbieter an.
WSAEFAULT
Der parameter lpErrno befindet sich nicht in einem gültigen Teil des Benutzeradressraums.
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 Windows Sockets-Registrierung erforderlich sind, oder beim Öffnen 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

Die WSCDeinstallProvider-Funktion entfernt die allgemeinen Windows Sockets 2-Konfigurationsinformationen für den angegebenen Anbieter. Nachdem diese Routine erfolgreich abgeschlossen wurde, werden die in der Registrierung gespeicherten Konfigurationsinformationen geändert. Alle Ws2_32.dll Instanzen, die sich derzeit im Arbeitsspeicher befinden, können diese Änderung jedoch nicht erkennen.

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

Die WSCDeinstallProvider-Funktion kann nur von einem Benutzer aufgerufen werden, der als Mitglied der Gruppe Administratoren angemeldet ist. Wenn WSCDeinstallProvider von einem Benutzer aufgerufen wird, der kein Mitglied der Gruppe Administratoren ist, schlägt der Funktionsaufruf fehl, und WSANO_RECOVERY wird im lpErrno-Parameter zurückgegeben.

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.

Der Aufrufer dieser Funktion muss alle zusätzlichen Dateien oder Dienstanbieterspezifischen Konfigurationsinformationen entfernen, die zum vollständigen Deinstallieren des Dienstanbieters erforderlich sind.

Anforderungen

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

Weitere Informationen

WSAProviderConfigChange

WSCEnumProtocols

WSCInstallProvider