Condividi tramite


Funzione WPUQueryBlockingCallback (ws2spi.h)

La funzione WPUQueryBlockingCallback restituisce un puntatore a una funzione di callback che il provider di servizi deve richiamare periodicamente durante la manutenzione delle operazioni di blocco.

Sintassi

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

Parametri

[in] dwCatalogEntryId

Descrittore che identifica il provider di servizi chiamante.

[out] lplpfnCallback

Puntatore che riceve la funzione di callback di blocco.

[out] lpdwContext

Puntatore che riceve un valore di contesto che il provider di servizi deve passare al callback di blocco.

[out] lpErrno

Puntatore al codice di errore.

Valore restituito

Se non si verifica alcun errore, WPUQueryBlockingCallback restituisce zero e archivia un puntatore a una funzione di callback di blocco in lpfnCallback e un valore di contesto associato in lpdwContext. In caso contrario, restituisce SOCKET_ERROR e un codice di errore specifico è disponibile in lpErrno.

Codice di errore Significato
WSAEFAULT
Il parametro lpfnCallback o lpdwContext non è una parte valida dello spazio degli indirizzi del processo.
WSAEINVAL
Il parametro dwCatalogEntryId non è valido.
 
 

Commenti

La funzione WPUQueryBlockingCallback restituisce un puntatore a una funzione di callback in lpfnCallback da richiamare periodicamente durante le operazioni di blocco. Questa funzione restituisce anche un valore di contesto in lpdwContext da passare al callback di blocco.

In Windows questa funzione può restituire null in lpfnCallback, che indica che non è installato alcun hook definito dall'utente. In questo caso, il provider di servizi deve usare gli oggetti di sincronizzazione di Windows nativi per implementare il blocco.

LPBLOCKINGCALLBACK è definito come segue:

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

Il callback di blocco restituirà TRUE se il provider di servizi continua ad attendere il completamento dell'operazione di blocco. Restituisce FALSE se l'operazione di blocco è stata annullata con WSPCancelBlockingCall.

Se possibile, i componenti mancanti dell'indirizzo verranno predefiniti a un valore ragionevole. Ad esempio, un numero di porta mancante verrà predefinito su zero.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione ws2spi.h

Vedi anche

WSPCancelBlockingCall