Ad Alanı Hizmet Sağlayıcıları
Ad alanı sağlayıcısı, WINSock ad alanı SPI ile DNS, X.500 veya NetWare Dizin Hizmetleri (NDS) gibi mevcut bir ad hizmetinin yerel programlı arabirimi arasında arabirim eşlemesi uygular. Bir ad alanı sağlayıcısı tam olarak bir ad alanını desteklese de, belirli bir ad alanı için birden çok sağlayıcının yüklenmesi mümkündür. Tek bir DLL'nin birden çok ad alanı sağlayıcısı örneği oluşturması da mümkündür. Ad alanı sağlayıcıları yüklendikçe, WSANAMESPACE_INFO yapılardan oluşan bir katalog korunur. Bir uygulama, bir bilgisayarda hangi ad alanlarının desteklendiğine karar vermek için WSAEnumNameSpaceProviderskullanabilir.
Windows Vista ve sonraki sürümlerde, geliştirilmiş bir WSANAMESPACE_INFOEX yapısı ve WSAEnumNameSpaceProvidersEx işlevi sağlanır.
64 bit platformlarda, 32 bit kataloğu listelemek için benzer WSCEnumNameSpaceProviders32 ve WSCEnumNameSpaceProvidersEx32 işlevleri sağlanır.
Ayrıntılı bilgi için Winsock Ad Alanı Hizmet Sağlayıcısı Gereksinimleri bakın.
Eski GetXbyY Hizmet Sağlayıcıları
Windows Yuvaları 2, Windows Yuvaları sürüm 1.1'de bulunan TCP/IP'ye özgü ad çözümleme olanaklarını tam olarak destekler. Bunu, SPI'ye GetXbyY işlevleri kümesini ekleyerek yapar. Ancak, bu işlev kümesinin işlenmesi SPI işlevlerinin geri kalanından biraz farklıdır. SPI'da görüntülenen GetXbyY işlevleri, GETXBYYSP_ ile başlayıp aşağıdaki tabloda özetlenmiştir.
Berkeley Stil İşlevleri
SPI işlevi adı | Açıklama |
---|---|
GETXBYYSP_gethostbyaddr | Belirtilen ana bilgisayar adresi için bir konak yapısı sağlar. |
GETXBYYSP_gethostbyname | Belirtilen konak adı için bir konak yapısı sağlar. |
GETXBYYSP_getprotobyname | Belirtilen protokol adı için bir yapısı sağlar. |
GETXBYYSP_getprotobynumber | Belirtilen protokol numarası için bir yapısı sağlar. |
GETXBYYSP_getservbyname | Belirtilen hizmet için bir hizmet yapısı sağlar. |
GETXBYYSP_getservbyport | Belirtilen bağlantı noktasında hizmet için bir hizmet yapısı sağlar. |
GETXBYYSP_gethostname | Yerel bilgisayar için standart ana bilgisayar adını döndürür. |
Zaman Uyumsuz Stil İşlevleri
SPI işlevi adı | Açıklama |
---|---|
GETXBYYSP_WSAAsyncGetHostByAddr | Belirtilen ana bilgisayar adresi için bir konak yapısı sağlar. |
GETXBYYSP_WSAAsyncGetHostByName | Belirtilen konak adı için bir konak yapısı sağlar. |
GETXBYYSP_WSAAsyncGetProtoByName | Belirtilen protokol adı için bir yapısı sağlar. |
GETXBYYSP_WSAAsyncGetProtoByNumber | Belirtilen protokol numarası için bir yapısı sağlar. |
GETXBYYSP_WSAAsyncGetServByName | Belirtilen hizmet adı için bir hizmet yapısı sağlar. |
GETXBYYSP_WSAAsyncGetServByPort | Belirtilen bağlantı noktasında hizmet için bir hizmet yapısı sağlar. |
GETXBYYSP_WSACancelAsyncRequest | Zaman uyumsuz GetXbyY işlemini iptal eder. |
SPI'daki bu GetXbyY işlevlerinin söz dizimi ve semantiği, API Belirtiminde belgelenenlerle tamamen aynıdır ve bu nedenle burada yinelenmez.
Windows Sockets 2 DLL, tam olarak bir hizmet sağlayıcısının bu hizmetleri sunmasına izin verir. Bu nedenle, başlangıçta hizmet sağlayıcılarından alınan yordam tablosuna bu işlevlerin işaretçilerini eklemeye gerek yoktur. Windows ortamlarında, bu işlevleri uygulayan DLL'nin yolu aşağıdaki kayıt defteri yolunda bulunan değerden alınır. Bu kayıt defteri girdisi varsayılan olarak mevcut değildir:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WinSock2\Parameters\GetXByYLibraryPath
Varsayılan GetXbyY Hizmet Sağlayıcısını Built-In
GetXbyY hizmet sağlayıcısının varsayılan standart Windows Yuvaları 2 çalışma zamanı bileşenleriyle tümleşiktir. Bu varsayılan sağlayıcı yukarıdaki işlevlerin tümünü uygular, bu nedenle bu işlevlerin herhangi bir ad alanı sağlayıcısı tarafından uygulanması gerekmez. Ancak, ad alanı sağlayıcısı, belirtilen kayıt defteri anahtarında bu işlevleri uygulayan DLL'nin yolu olan dizeyi depolayarak bu işlevlerin herhangi birini veya tümünü sağlayabilir (ve bu nedenle varsayılanları geçersiz kılar). Adlandırılmış sağlayıcı DLL'sinin dışarı aktarmadığı GetXbyY işlevlerinden herhangi biri yerleşik varsayılanlar aracılığıyla sağlanır. Ancak, bir sağlayıcı GetXbyY işlevlerinin zaman uyumsuz sürümlerinden herhangi birini sağlamayı seçerse iptal işleminin uygun şekilde çalışması için tüm zaman uyumsuz işlevleri sağlaması gerektiğini unutmayın.
GetXbyY hizmet sağlayıcısının varsayılan geçerli uygulaması Wsock32.dlliçinde bulunur. TCP/IP ayarlarının Denetim Masası aracılığıyla nasıl oluşturulduğuna bağlı olarak, ad çözümlemesi DNS veya yerel konak dosyaları kullanılarak gerçekleşir. DNS kullanıldığında, getxbyY hizmet sağlayıcısının varsayılan DNS sunucusuyla iletişim kurmak için standart Windows Yuvaları 1.1 API çağrılarını kullanır. Bu işlemler, varsayılan TCP/IP yığını olarak yapılandırılan TCP/IP yığını kullanılarak gerçekleşir. Ancak iki özel durum, özel bahsetmeyi hakeder.
varsayılan GETXBYYSP_gethostname uygulaması, yerel ana bilgisayar adını kayıt defterinden alır. Bu, "Bilgisayarım"a atanan ada karşılık gelir. GETXBYYSP_gethostbyname ve GETXBYYSP_WSAAsyncGetHostByName varsayılan uygulaması, sağlanan ana bilgisayar adını her zaman yerel ana bilgisayar adıyla karşılaştırır. Eşleşirse, varsayılan uygulama yerel IP adresini bulmak için Microsoft TCP/IP yığınını araştırmak için özel bir arabirim kullanır. Bu nedenle, Bir ad alanı sağlayıcısının Microsoft TCP/IP yığınından tamamen bağımsız olması için hem GETXBYYSP_gethostbyname hem de GETXBYYSP_WSAAsyncGetHostByName uygulaması gerekir.