Bagikan melalui


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
WSAEFAULT
Parameter lpfnCallback atau lpdwContext bukan bagian yang valid dari ruang alamat proses.
WSAEINVAL
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

Lihat juga

WSPCancelBlockingCall