PNRP ve WSANSPIoctl
PNRP, aşağıdaki değişiklikler hakkında bildirim almak için WSANSPIoctl işlevini kullanır:
- Ağ bulut listesi
- Ad çözümleme isteğinin sonuçlarının kullanılabilirliği
WSALookupServiceBeginilk çağrısı, bir istemciye bildirilmesi gereken bilgi türünü tanımlar. İstemciye Windows iletisi, tamamlama yordamı, WSAEVENT nesnesi tanıtıcısı veya bağlantı noktası ile bildirimde bulunabilirsiniz. Seçenekler ve lpCompletion parametresini ayarlama hakkında daha fazla bilgi için bkz. WSANSPIoctl .
WSALookupServiceNextçağrısının ardından bildirim almaya devam etmek için bir uygulamanın WSANSPIoctl yeniden çağırması gerekir.
WSANSPIoctl çağrılsa bile WSALookupServiceNext işlevi bloklar. WSALookupServiceNext çağırmadan önce, engelleme bir sorunsa uygulamanın bildirim alana kadar beklemesi gerekir.
Bu işlev çağrılırken parametreler aşağıdaki değerlere sahip olmalıdır:
-
hLookup
-
dwControlCode
-
SIO_NSP_NOTIFY_CHANGEolmalıdır.
-
lpvInBuffer
-
null olmalıdır.
-
cbInBuffer
-
Sıfır (0) olmalıdır.
-
lpvOutBuffer
-
null olmalıdır.
-
cbOutBuffer
-
Sıfır (0) olmalıdır.
-
lpcbBytesReturned
-
null olmalıdır.
-
lpCompletion
-
NULL veya WSACOMPLETION yapısının işaretçisini belirtir.
Bildirim alındıktan sonra, sonuçları almak için WSALookupServiceNextbir kez çağırın.
Aramayı sonlandırmak için WSALookupServiceEndöğesini arayın.
Çözüm Bildirimleri
Bir ad çözümleme girdisi eklendiğinde istemciye bildirimde bulunabilirsiniz. İstemci daha sonra çözüm verilerini almak için WSALookupServiceNext çağırır.
İstemci bu tekniği kullanmıyorsa, belirtilen zaman aşımı gerçekleşene kadar WSALookupServiceNextçağrısı engellenebilir.
Bulut Listesi Bildirimleri
Bir bulut kümesinde değişiklik olduğunda istemciye bildirimde bulunabilirsiniz.
WSALookupServiceNext işlevi, WSA_E_NO_MORE bir küme sınırlayıcısı olarak döndürür. İstemci uygulaması, bu ileti döndürülene kadar var olan bulutları listelemeli ve ardından sonraki değişiklikleri gerçekleşirken almak için bir bildirim düzeni kullanmalıdır. İstemci uygulaması WSALookupServiceNext da çağırabilir, ancak bir değişiklik gerçekleşene kadar çağrı engellenir.
WSALookupServiceNext işlevi, WSAQUERYSET yapısında bir bulut döndürür. aşağıdaki bayraklardan biri dwOutputFlags üyesinde döndürülür.
Değer | Açıklama |
---|---|
RESULT_IS_ADDED | Döndürülen bulut eklenir. |
RESULT_IS_CHANGED | Döndürülen bulut değiştirilir. |
RESULT_IS_DELETED | Döndürülen bulut silinir ve geçerli değildir. |
İlgili konular
-
WSALookupServiceBegin
-
WSALookupServiceEnd
-
WSAQUERYSET