Share via


Función RpcCancelThreadEx (rpcdce.h)

La función RpcCancelThreadEx detiene la ejecución de un subproceso. La función RpcCancelThreadEx no debe usarse para detener la ejecución de una llamada RPC asincrónica; en su lugar, use la función RpcAsyncCancelCall para detener la ejecución de una llamada RPC asincrónica.

Sintaxis

RPC_STATUS RpcCancelThreadEx(
  void *Thread,
  long Timeout
);

Parámetros

Thread

Identificador del subproceso que se va a cancelar.

Timeout

Número de segundos para esperar a que se cancele el subproceso antes de que esta función devuelva. Para especificar que un cliente espera una cantidad indefinida de tiempo, pase el valor RPC_C_CANCEL_INFINITE_TIMEOUT.

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 MS-DOS o Windows 3. x client.
 
Nota Para obtener una lista de códigos de error válidos, vea Rpc Return Values.
 

Comentarios

La función RpcCancelThreadEx 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.

Con el parámetro Timeout , la aplicación puede especificar 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_CANCELLED. 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.

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

Requisitos

Requisito Value
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

RpcAsyncCancelCallRpcCancelThreadRpcTestCancelncacn_httpncacn_np ncadg_mqncalrpc