Função RpcCancelThread (rpcdce.h)

A função RpcCancelThread cancela um thread. A função RpcCancelThread não deve ser usada para cancelar chamadas RPC assíncronas; Em vez disso, use a função RpcAsyncCancelCall para cancelar uma chamada RPC assíncrona.

Sintaxe

RPC_STATUS RpcCancelThread(
  void *Thread
);

Parâmetros

Thread

Identificador do thread a ser cancelado.

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 cliente MS-DOS ou Windows 3.x.
 
Nota Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

Comentários

A função RpcCancelThread 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.

A função RpcCancelThread não pode ser usada para cancelar uma chamada que emitiu um retorno de chamada estático. Não cancele chamadas de procedimento remoto que possam chamar uma função declarada com o atributo [callback] no arquivo IDL.

Por padrão, o cliente aguarda para sempre que o servidor retorne o controle após um cancelamento. Para reduzir esse tempo, chame RpcMgmtSetCancelTimeout, especificando o número de segundos a aguardar uma resposta. Se o servidor não retornar dentro desse intervalo, a chamada falhará no cliente com uma exceção RPC_S_CALL_FAILED . O stub do servidor continua a ser executado.

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

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

Nota Windows XP/2000 A função RpcCancelThread não está disponível para ncacn_http. A função RpcCancelThread dá suporte a ncacn_http em sistemas operacionais Windows Server 2003 ou posterior e Windows XP com Service Pack 1 (SP1) e posterior.

Requisitos

   
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

RpcTestCancel

ncacn_http

ncadg_mq

ncalrpc