Compartilhar via


Função RpcCancelThreadEx (rpcdce.h)

A função RpcCancelThreadEx interrompe a execução de um thread. A função RpcCancelThreadEx não deve ser usada para interromper a execução de uma chamada RPC assíncrona; Em vez disso, use a função RpcAsyncCancelCall para interromper a execução de uma chamada RPC assíncrona.

Sintaxe

RPC_STATUS RpcCancelThreadEx(
  void *Thread,
  long Timeout
);

Parâmetros

Thread

Identificador do thread a ser cancelado.

Timeout

Número de segundos de espera para que o thread seja cancelado antes que essa função retorne. Para especificar que um cliente aguarde um período indefinido, passe o valor RPC_C_CANCEL_INFINITE_TIMEOUT.

Valor retornado

Valor Significado
RPC_S_OK
A chamada foi bem-sucedida.
RPC_S_ACCESS_DENIED
O identificador de thread não tem privilégios. Os identificadores de thread devem ter THREAD_SET_CONTEXT definidos corretamente para que a função seja executada corretamente.
RPC_S_CANNOT_SUPPORT
Chamado por um MS-DOS ou Windows 3. x client.
 
Nota Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

Comentários

A função RpcCancelThreadEx permite que um thread de cliente cancele um RPC em andamento em outro thread do cliente. Quando a função é chamada, o tempo de execução do servidor é informado da operação de cancelamento. O stub do servidor pode determinar se a chamada foi cancelada chamando RpcTestCancel. Se a chamada tiver sido cancelada, o stub do servidor deverá limpo e retornar o controle ao cliente.

Usando o parâmetro Timeout , seu aplicativo pode especificar o número de segundos para aguardar uma resposta. Se o servidor não retornar dentro desse intervalo, a chamada falhará no cliente com uma exceção RPC_S_CALL_CANCELLED. O stub do servidor continua a ser executado.

Se você estiver usando o protocolo de pipes nomeados, ncacn_np, especifique um tempo limite finito.

Nota Você pode usar RpcCancelThreadEx com qualquer um dos protocolos orientados à conexão (ncacn_*), exceto ncacn_http e com qualquer um dos protocolos de datagrama, exceto ncadg_mq e ncalrpc.
 

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 rpcdce.h (inclua Rpc.h)
Biblioteca Rpcrt4.lib
DLL Rpcrt4.dll

Confira também

RpcAsyncCancelCallRpcCancelThreadRpcTestCancelncacn_httpncacn_npncadg_mqncalrpc