Fungsi WPUQueryBlockingCallback (ws2spi.h)
Fungsi WPUQueryBlockingCallback mengembalikan pointer ke fungsi panggilan balik yang harus dipanggil penyedia layanan secara berkala saat melayani operasi pemblokiran.
Sintaks
int WPUQueryBlockingCallback(
[in] DWORD dwCatalogEntryId,
[out] LPBLOCKINGCALLBACK *lplpfnCallback,
[out] PDWORD_PTR lpdwContext,
[out] LPINT lpErrno
);
Parameter
[in] dwCatalogEntryId
Deskriptor mengidentifikasi penyedia layanan panggilan.
[out] lplpfnCallback
Pointer yang menerima fungsi panggilan balik pemblokiran.
[out] lpdwContext
Pointer yang menerima nilai konteks yang harus diteruskan oleh penyedia layanan ke panggilan balik pemblokiran.
[out] lpErrno
Arahkan ke kode kesalahan.
Mengembalikan nilai
Jika tidak ada kesalahan yang terjadi, WPUQueryBlockingCallback mengembalikan nol dan menyimpan penunjuk ke fungsi panggilan balik pemblokiran di lpfnCallback dan nilai konteks terkait dalam lpdwContext. Jika tidak, kode mengembalikan SOCKET_ERROR, dan kode kesalahan tertentu tersedia di lpErrno.
Kode kesalahan | Makna |
---|---|
Parameter lpfnCallback atau lpdwContext bukan bagian yang valid dari ruang alamat proses. | |
Parameter dwCatalogEntryId tidak valid. |
Keterangan
Fungsi WPUQueryBlockingCallback mengembalikan pointer ke fungsi panggilan balik di lpfnCallback untuk dipanggil secara berkala selama operasi pemblokiran. Fungsi ini juga mengembalikan nilai konteks dalam lpdwContext untuk diteruskan ke panggilan balik pemblokiran.
Di Windows, fungsi ini dapat mengembalikan null di lpfnCallback, yang menunjukkan bahwa tidak ada hook pemblokiran yang ditentukan pengguna yang diinstal. Dalam hal ini, penyedia layanan harus menggunakan objek sinkronisasi Windows asli untuk menerapkan pemblokiran.
LPBLOCKINGCALLBACK didefinisikan sebagai berikut:
typedef BOOL ( CALLBACK FAR * LPBLOCKINGCALLBACK )( DWORD dwContext );
Panggilan balik pemblokiran akan mengembalikan TRUE jika penyedia layanan akan terus menunggu operasi pemblokiran selesai. Ini akan mengembalikan FALSE jika operasi pemblokiran telah dibatalkan dengan WSPCancelBlockingCall.
Setiap komponen alamat yang hilang akan default ke nilai yang wajar jika memungkinkan. Misalnya, nomor port yang hilang akan default ke nol.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | ws2spi.h |