Compartilhar via


Função WPUQueryBlockingCallback (ws2spi.h)

A função WPUQueryBlockingCallback retorna um ponteiro para uma função de retorno de chamada que o provedor de serviços deve invocar periodicamente durante as operações de bloqueio de manutenção.

Sintaxe

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

Parâmetros

[in] dwCatalogEntryId

Descritor que identifica o provedor de serviços de chamada.

[out] lplpfnCallback

Ponteiro que recebe a função de retorno de chamada de bloqueio.

[out] lpdwContext

Ponteiro que recebe um valor de contexto que o provedor de serviços deve passar para o retorno de chamada de bloqueio.

[out] lpErrno

Ponteiro para o código de erro.

Retornar valor

Se nenhum erro ocorrer, WPUQueryBlockingCallback retornará zero e armazenará um ponteiro para uma função de retorno de chamada de bloqueio em lpfnCallback e um valor de contexto associado em lpdwContext. Caso contrário, ele retornará SOCKET_ERROR e um código de erro específico estará disponível em lpErrno.

Código do erro Significado
WSAEFAULT
O parâmetro lpfnCallback ou lpdwContext não é uma parte válida do espaço de endereço do processo.
WSAEINVAL
O parâmetro dwCatalogEntryId é inválido.
 
 

Comentários

A função WPUQueryBlockingCallback retorna um ponteiro para uma função de retorno de chamada em lpfnCallback a ser invocada periodicamente durante operações de bloqueio. Essa função também retorna um valor de contexto em lpdwContext a ser passado para o retorno de chamada de bloqueio.

No Windows, essa função pode retornar nulo em lpfnCallback, indicando que nenhum gancho de bloqueio definido pelo usuário está instalado. Nesse caso, o provedor de serviços deve usar os objetos nativos de sincronização do Windows para implementar o bloqueio.

LPBLOCKINGCALLBACK é definido da seguinte maneira:

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

O retorno de chamada de bloqueio retornará TRUE se o provedor de serviços continuar aguardando a conclusão da operação de bloqueio. Ele retornará FALSE se a operação de bloqueio tiver sido cancelada com o WSPCancelBlockingCall.

Todos os componentes ausentes do endereço usarão como padrão um valor razoável, se possível. Por exemplo, um número de porta ausente será padronizado como zero.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho ws2spi.h

Confira também

WSPCancelBlockingCall