Freigeben über


Konfiguration und Installation des Namespaceanbieters

Wie bereits erwähnt, muss die Installationsanwendung für einen Namespaceanbieter WSCInstallNameSpace oder WSCInstallNameSpaceEx aufrufen, um sich beim Ws2_32.dll zu registrieren und statische Konfigurationsinformationen anzugeben. Für die Installation im 32-Bit-Katalog auf einer 64-Bit-Plattform muss der Namespaceanbieter WSCInstallNameSpace32 oder WSCInstallNameSpaceEx32 aufrufen. Der Ws2_32.dll verwendet diese Informationen, um seine Routingfunktion und die Implementierung von WSAEnumNameSpaceProviders und WSAEnumNameSpaceProvidersEx auszuführen. Die WSCUnInstallNameSpace-Funktion wird verwendet, um einen Namespaceanbieter aus der Registrierung zu entfernen, und die WSCEnableNSProvider-Funktion wird verwendet, um einen Anbieter zwischen dem aktiven und dem inaktiven Zustand umzuschalten.

Auf einer 64-Bit-Plattform sind WSCUnInstallNameSpace32 und WSCEnableNSProvider32 ähnliche Funktionen für den 32-Bit-Katalog.

Die Ergebnisse dieser drei Vorgänge sind für Anwendungen, die derzeit geladen und ausgeführt werden, nicht sichtbar. Nur Anwendungen, die nach dem Auftreten dieser Vorgänge mit der Ausführung beginnen, sind davon betroffen.

Diese Architektur unterstützt explizit die Instanziierung mehrerer Namespaceanbieter innerhalb einer einzelnen DLL. Jedem solchen Anbieter muss jedoch ein eindeutiger Namespaceanbieterbezeichner (GUID) zugeordnet sein, und ein separater Aufruf von WSCInstallNameSpace oder WSCInstallNameSpaceEx muss für jede Instanziierung erfolgen (auf 64-Bit-Plattformen sind die Funktionen für den 32-Bit-Katalog WSCInstallNameSpace32 und WSCInstallNameSpaceEx32). Ein solcher Anbieter kann bestimmen, welche Instanziierung aufgerufen wird, da der Namespaceanbieterbezeichner (NSP) in jeder NSP-Funktion als Parameter angezeigt wird.