Freigeben über


WSCEnableNSProvider-Funktion (ws2spi.h)

Die WSCEnableNSProvider-Funktion ändert den Zustand eines bestimmten Namespaceanbieters. Es soll dem Endbenutzer die Möglichkeit geben, den Status der Namespaceanbieter zu ändern.

Syntax

INT WSCEnableNSProvider(
  [in] LPGUID lpProviderId,
  [in] BOOL   fEnable
);

Parameter

[in] lpProviderId

Ein Zeiger auf eine GUID (Globally Unique Identifier) für den Namespaceanbieter.

[in] fEnable

Ein boolescher Wert, bei dem der Anbieter bei TRUE auf den aktiven Zustand festgelegt ist. Bei FALSE ist der Anbieter deaktiviert und steht nicht für Abfragevorgänge oder Dienstregistrierungen zur Verfügung.

Rückgabewert

Wenn kein Fehler auftritt, gibt die WSCEnableNSProvider-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
WSAEFAULT
Der parameter lpProviderId verweist auf arbeitsspeicher, der sich nicht in einem gültigen Teil des Benutzeradressraums befindet.
WSAEINVAL
Der angegebene Namespaceanbieterbezeichner ist ungültig.
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 WSCEnableNSProvider-Funktion soll verwendet werden, um den Status der Namespaceanbieter zu ändern. Ein unabhängiger Softwarehersteller (Independent Software Vendor, ISV) sollte normalerweise keinen anderen ISV-Namespaceanbieter deaktivieren, um seinen eigenen zu aktivieren. Die Auswahl sollte dem Benutzer überlassen werden.

Die WSCEnableNSProvider-Funktion wirkt sich nicht auf Anwendungen aus, die bereits ausgeführt werden. Neu installierte Namespaceanbieter sind weder für Anwendungen sichtbar, noch sind die Änderungen im Aktivierungsstatus eines Namespaceanbieters sichtbar. Anwendungen, die nach dem Aufruf von WSCEnableNSProvider gestartet wurden, sehen die Änderungen.

Die WSCEnableNSProvider-Funktion kann nur von einem Benutzer aufgerufen werden, der als Mitglied der Gruppe Administratoren angemeldet ist. Wenn WSCEnableNSProvider 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 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 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

WSCEnumProtocols

WSCInstallNameSpace

WSCUnInstallNameSpace

WSCWriteNameSpaceOrder