Megosztás a következőn keresztül:


Névtérszolgáltatók

A névtérszolgáltató a Winsock névtér SPI és egy meglévő névszolgáltatás natív programozott felülete( például DNS, X.500 vagy NetWare Directory Services ( NDS) közötti interfész-leképezést valósít meg. Bár egy névtérszolgáltató pontosan egy névteret támogat, több szolgáltató is települhet egy adott névtérre. Egy DLL több névtérszolgáltató egy példányát is létrehozhatja. A névtérszolgáltatók telepítésekor a rendszer megőrzi WSANAMESPACE_INFO struktúrák katalógusát. Az alkalmazások WSAEnumNameSpaceProviders használatával deríthetik fel, hogy mely névterek támogatottak a számítógépen.

Windows Vista és újabb rendszereken továbbfejlesztett WSANAMESPACE_INFOEX szerkezet és WSAEnumNameSpaceProvidersEx függvény érhető el.

A 64 bites platformokon hasonló WSCEnumNameSpaceProviders32 és WSCEnumNameSpaceProvidersEx32 függvények érhetők el a 32 bites katalógus számbavételéhez.

Részletes információkért tekintse meg Winsock névtérszolgáltatói követelményeit.

Örökölt GetXbyY-szolgáltatók

A Windows Sockets 2 teljes mértékben támogatja a Windows Sockets 1.1-es verziójában található TCP-/IP-specifikus névfeloldási lehetőségeket. Ezt úgy teszi, hogy beleveszi a GetXbyY függvényeket a SPI-be. Ennek a függvénykészletnek a kezelése azonban némileg eltér a SPI többi függvényétől. Az SPI-ben megjelenő GetXbyY függvények GETXBYYSP_ jelennek meg, és az alábbi táblázatban vannak összefoglalva.

Berkeley Style Functions

SPI függvény neve Leírás
GETXBYYSP_gethostbyaddr Egy gazdagép struktúrát biztosít a megadott gazdagépcímhez.
GETXBYYSP_gethostbyname Egy gazdagép struktúrát biztosít a megadott gazdagépnévhez.
GETXBYYSP_getprotobyname Egy protoent struktúrát biztosít a megadott protokollnévhez.
GETXBYYSP_getprotobynumber Egy protoent struktúrát biztosít a megadott protokollszámhoz.
GETXBYYSP_getservbyname Egy kiszolgálói struktúrát biztosít a megadott szolgáltatásnévhez
GETXBYYSP_getservbyport Egy kiszolgálói struktúrát biztosít a szolgáltatás számára a megadott porton.
GETXBYYSP_gethostname A helyi számítógép szokásos gazdagépnevét adja vissza.

 

Aszinkron stílusfüggvények

SPI függvény neve Leírás
GETXBYYSP_WSAAsyncGetHostByAddr Egy gazdagép struktúrát biztosít a megadott gazdagépcímhez.
GETXBYYSP_WSAAsyncGetHostByName Egy gazdagép struktúrát biztosít a megadott gazdagépnévhez.
GETXBYYSP_WSAAsyncGetProtoByName Egy protoent struktúrát biztosít a megadott protokollnévhez.
GETXBYYSP_WSAAsyncGetProtoByNumber Egy protoent struktúrát biztosít a megadott protokollszámhoz.
GETXBYYSP_WSAAsyncGetServByName Egy kiszolgálói struktúrát biztosít a megadott szolgáltatásnévhez.
GETXBYYSP_WSAAsyncGetServByPort Egy kiszolgálói struktúrát biztosít a szolgáltatás számára a megadott porton.
GETXBYYSP_WSACancelAsyncRequest Megszakít egy aszinkron GetXbyY műveletet.

 

Ezen GetXbyY függvények szintaxisa és szemantikája pontosan megegyezik az API-specifikációban dokumentáltakkal, ezért itt nem ismétlődnek.

A Windows Sockets 2 DLL pontosan egy szolgáltató számára teszi lehetővé ezeket a szolgáltatásokat. Ezért az indításkor a szolgáltatóktól kapott eljárástáblában nem szükséges ezekre a függvényekre mutató mutatókat felvenni. Windows-környezetekben a függvényeket megvalósító DLL elérési útja az alábbi beállításjegyzék-elérési útban található értékből lesz lekérve. Ez a beállításjegyzék-bejegyzés alapértelmezés szerint nem létezik:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WinSock2\Paraméterek\GetXByYLibraryPath

Built-In Alapértelmezett GetXbyY-szolgáltató

Egy alapértelmezett GetXbyY szolgáltató integrálva van a standard Windows Sockets 2 futtatókörnyezeti összetevőkbe. Ez az alapértelmezett szolgáltató a fenti függvények mindegyikét implementálja, ezért nem szükséges, hogy ezeket a függvényeket egy névtérszolgáltató implementálja. A névtérszolgáltató azonban szabadon biztosíthatja ezen függvények bármelyikét vagy mindegyikét (és így felülbírálhatja az alapértelmezett értékeket) a megadott beállításkulcsban ezeket a függvényeket implementáló DLL elérési útját tartalmazó sztringet egyszerűen tárolva. Az elnevezett szolgáltató DLL által nem exportált GetXbyY függvények bármelyike a beépített alapértelmezett értékekkel lesz ellátva. Vegye figyelembe azonban, hogy ha egy szolgáltató úgy dönt, hogy a GetXbyY függvények aszinkron verzióját adja meg, az összes aszinkron függvényt meg kell adnia, hogy a megszakítási művelet megfelelően működjön.

Az alapértelmezett GetXbyY szolgáltató jelenlegi implementációja a Wsock32.dllbelül található. Attól függően, hogy a TCP/IP-beállítások hogyan lettek létrehozva a Vezérlőpulton keresztül, a névfeloldás DNS vagy helyi gazdagépfájlok használatával történik. A DNS használata esetén az alapértelmezett GetXbyY szolgáltató szabványos Windows Sockets 1.1 API-hívásokat használ a DNS-kiszolgálóval való kommunikációhoz. Ezek a tranzakciók az alapértelmezett TCP/IP-veremként konfigurált TCP/IP-verem használatával történnek. Két különleges eset azonban külön említést érdemel.

A GETXBYYSP_gethostname alapértelmezett implementációja beolvasja a helyi gazdagép nevét a beállításjegyzékből. Ez a "Saját számítógép" névnek felel meg. A GETXBYYSP_gethostbyname és GETXBYYSP_WSAAsyncGetHostByName alapértelmezett implementációja mindig összehasonlítja a megadott gazdagépnevet a helyi gazdagép nevével. Ha egyeznek, az alapértelmezett implementáció egy privát felületet használ a Microsoft TCP/IP-verem mintavételéhez a helyi IP-cím felderítése érdekében. Így ahhoz, hogy teljesen független legyen a Microsoft TCP/IP-veremétől, a névtérszolgáltatónak GETXBYYSP_gethostbyname és GETXBYYSP_WSAAsyncGetHostByName is implementálnia kell.