Función RpcCancelThread (rpcdce.h)

La función RpcCancelThread cancela un subproceso. La función RpcCancelThread no debe usarse para cancelar llamadas RPC asincrónicas; en su lugar, use la función RpcAsyncCancelCall para cancelar una llamada RPC asincrónica.

Sintaxis

RPC_STATUS RpcCancelThread(
  void *Thread
);

Parámetros

Thread

Identificador del subproceso que se va a cancelar.

Valor devuelto

Valor Significado
RPC_S_OK
La llamada se realizó correctamente.
RPC_S_ACCESS_DENIED
El identificador de subproceso no tiene privilegios. Los identificadores de subproceso deben tener THREAD_SET_CONTEXT establecer correctamente para que la función se ejecute correctamente.
RPC_S_CANNOT_SUPPORT
Llamado por un cliente MS-DOS o Windows 3.x.
 
Nota Para obtener una lista de códigos de error válidos, vea Rpc Return Values.
 

Comentarios

La función RpcCancelThread permite que un subproceso de cliente cancele un RPC en curso en otro subproceso de cliente. Cuando se llama a la función, se informa al servidor en tiempo de ejecución de la operación de cancelación. El código auxiliar del servidor puede determinar si la llamada se ha cancelado llamando a RpcTestCancel. Si se ha cancelado la llamada, el código auxiliar del servidor debe limpiar y devolver el control al cliente.

La función RpcCancelThread no se puede usar para cancelar una llamada que ha emitido una devolución de llamada estática. No cancele las llamadas a procedimientos remotos que pueden llamar a una función declarada con el atributo [callback] en el archivo IDL.

De forma predeterminada, el cliente espera para siempre que el servidor devuelva el control después de una cancelación. Para reducir este tiempo, llame a RpcMgmtSetCancelTimeout, especificando el número de segundos para esperar una respuesta. Si el servidor no vuelve dentro de este intervalo, se produce un error en la llamada al cliente con una excepción de RPC_S_CALL_FAILED . El código auxiliar del servidor continúa ejecutándose.

Si usa el protocolo de canalizaciones con nombre, ncacn_np, debe especificar un tiempo de espera finito.

Puede usar RpcCancelThread con cualquiera de los protocolos orientados a la conexión (ncacn_*) y con cualquiera de los protocolos de datagrama excepto ncadg_mq y ncalrpc.

Nota Windows XP/2000 La función RpcCancelThread no está disponible para ncacn_http. La función RpcCancelThread admite ncacn_http en sistemas operativos Windows Server 2003 o posteriores y Windows XP con Service Pack 1 (SP1) y versiones posteriores.

Requisitos

   
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 rpcdce.h (include Rpc.h)
Library Rpcrt4.lib
Archivo DLL Rpcrt4.dll

Consulte también

RpcTestCancel

ncacn_http

ncadg_mq

ncalrpc