Partager via


WpUQueryBlockingCallback, fonction (ws2spi.h)

La fonction WPUQueryBlockingCallback retourne un pointeur vers une fonction de rappel que le fournisseur de services doit appeler régulièrement lors de la maintenance des opérations de blocage.

Syntaxe

int WPUQueryBlockingCallback(
  [in]  DWORD              dwCatalogEntryId,
  [out] LPBLOCKINGCALLBACK *lplpfnCallback,
  [out] PDWORD_PTR         lpdwContext,
  [out] LPINT              lpErrno
);

Paramètres

[in] dwCatalogEntryId

Descripteur identifiant le fournisseur de services appelant.

[out] lplpfnCallback

Pointeur qui reçoit la fonction de rappel bloquante.

[out] lpdwContext

Pointeur qui reçoit une valeur de contexte que le fournisseur de services doit passer au rappel bloquant.

[out] lpErrno

Pointeur vers le code d’erreur.

Valeur retournée

Si aucune erreur ne se produit, WPUQueryBlockingCallback retourne zéro et stocke un pointeur vers une fonction de rappel bloquante dans lpfnCallback et une valeur de contexte associée dans lpdwContext. Sinon, elle retourne SOCKET_ERROR et un code d’erreur spécifique est disponible dans lpErrno.

Code d'erreur Signification
WSAEFAULT
Le paramètre lpfnCallback ou lpdwContext n’est pas une partie valide de l’espace d’adressage du processus.
WSAEINVAL
Le paramètre dwCatalogEntryId n’est pas valide.
 
 

Remarques

La fonction WPUQueryBlockingCallback retourne un pointeur vers une fonction de rappel dans lpfnCallback à appeler régulièrement pendant les opérations de blocage. Cette fonction retourne également une valeur de contexte dans lpdwContext à passer dans le rappel bloquant.

Dans Windows, cette fonction peut retourner null dans lpfnCallback, indiquant qu’aucun hook bloquant défini par l’utilisateur n’est installé. Dans ce cas, le fournisseur de services doit utiliser les objets de synchronisation Windows natifs pour implémenter le blocage.

LPBLOCKINGCALLBACK est défini comme suit :

typedef BOOL ( CALLBACK FAR * LPBLOCKINGCALLBACK )( DWORD dwContext );

Le rappel de blocage retourne TRUE si le fournisseur de services doit continuer à attendre la fin de l’opération de blocage. Elle retourne FALSE si l’opération de blocage a été annulée avec WSPCancelBlockingCall.

Si possible, tous les composants manquants de l’adresse ont une valeur raisonnable par défaut. Par exemple, un numéro de port manquant est égal à zéro par défaut.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête ws2spi.h

Voir aussi

WSPCancelBlockingCall