Función WPUQueryBlockingCallback (ws2spi.h)

La función WPUQueryBlockingCallback devuelve un puntero a una función de devolución de llamada que el proveedor de servicios debe invocar periódicamente durante el mantenimiento de las operaciones de bloqueo.

Sintaxis

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

Parámetros

[in] dwCatalogEntryId

Descriptor que identifica al proveedor de servicios de llamada.

[out] lplpfnCallback

Puntero que recibe la función de devolución de llamada de bloqueo.

[out] lpdwContext

Puntero que recibe un valor de contexto que el proveedor de servicios debe pasar a la devolución de llamada de bloqueo.

[out] lpErrno

Puntero al código de error.

Valor devuelto

Si no se produce ningún error, WPUQueryBlockingCallback devuelve cero y almacena un puntero a una función de devolución de llamada de bloqueo en lpfnCallback y un valor de contexto asociado en lpdwContext. De lo contrario, devuelve SOCKET_ERROR y hay disponible un código de error específico en lpErrno.

Código de error Significado
WSAEFAULT
El parámetro lpfnCallback o lpdwContext no es una parte válida del espacio de direcciones del proceso.
WSAEINVAL
El parámetro dwCatalogEntryId no es válido.
 
 

Comentarios

La función WPUQueryBlockingCallback devuelve un puntero a una función de devolución de llamada en lpfnCallback para invocarse periódicamente durante las operaciones de bloqueo. Esta función también devuelve un valor de contexto en lpdwContext que se pasará a la devolución de llamada de bloqueo.

En Windows, esta función puede devolver null en lpfnCallback, lo que indica que no se ha instalado ningún enlace de bloqueo definido por el usuario. En este caso, el proveedor de servicios debe usar los objetos nativos de sincronización de Windows para implementar el bloqueo.

LPBLOCKINGCALLBACK se define de la siguiente manera:

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

La devolución de llamada de bloqueo devolverá TRUE si el proveedor de servicios va a seguir esperando a que se complete la operación de bloqueo. Devolverá FALSE si la operación de bloqueo se ha cancelado con WSPCancelBlockingCall.

Si es posible, los componentes que falten de la dirección tendrán como valor predeterminado un valor razonable. Por ejemplo, un número de puerto que falta tendrá como valor predeterminado cero.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado ws2spi.h

Consulte también

WSPCancelBlockingCall