Freigeben über


RpcCancelThreadEx-Funktion (rpcdce.h)

Die RpcCancelThreadEx-Funktion beendet die Ausführung eines Threads. Die RpcCancelThreadEx-Funktion sollte nicht verwendet werden, um die Ausführung eines asynchronen RPC-Aufrufs zu beenden. Verwenden Sie stattdessen die RpcAsyncCancelCall-Funktion , um die Ausführung eines asynchronen RPC-Aufrufs zu beenden.

Syntax

RPC_STATUS RpcCancelThreadEx(
  void *Thread,
  long Timeout
);

Parameter

Thread

Handle des abzubrechenden Threads.

Timeout

Anzahl der Sekunden, die gewartet werden müssen, bis der Thread abgebrochen wird, bevor diese Funktion zurückgegeben wird. Um anzugeben, dass ein Client unbestimmte Zeit wartet, übergeben Sie den Wert RPC_C_CANCEL_INFINITE_TIMEOUT.

Rückgabewert

Wert Bedeutung
RPC_S_OK
Der Aufruf war erfolgreich.
RPC_S_ACCESS_DENIED
Threadhandle verfügt nicht über Berechtigungen. Threadhandles müssen THREAD_SET_CONTEXT ordnungsgemäß festgelegt haben, damit die Funktion ordnungsgemäß ausgeführt wird.
RPC_S_CANNOT_SUPPORT
Wird von einem MS-DOS oder Windows 3 aufgerufen. x-Client .
 
Hinweis Eine Liste der gültigen Fehlercodes finden Sie unter RPC-Rückgabewerte.
 

Hinweise

Die RpcCancelThreadEx-Funktion ermöglicht es einem Clientthread, einen rpc-Vorgang auf einem anderen Clientthread abzubrechen. Wenn die Funktion aufgerufen wird, wird die Serverlaufzeit über den Abbruchvorgang informiert. Der Serverstub kann feststellen, ob der Aufruf abgebrochen wurde, indem RpcTestCancel aufgerufen wird. Wenn der Aufruf abgebrochen wurde, sollte der Serverstub sauber und die Steuerung an den Client zurückgeben.

Mithilfe des Timeoutparameters kann Ihre Anwendung die Anzahl von Sekunden angeben, die auf eine Antwort gewartet werden soll. Wenn der Server innerhalb dieses Intervalls nicht zurückgegeben wird, schlägt der Aufruf auf dem Client mit einer RPC_S_CALL_CANCELLED Ausnahme fehl. Der Serverstub wird weiterhin ausgeführt.

Wenn Sie das Named Pipes-Protokoll verwenden, müssen Sie ncacn_np ein endliches Timeout angeben.

Hinweis Sie können RpcCancelThreadEx mit jedem der verbindungsorientierten Protokolle (ncacn_*) außer ncacn_http und mit einem der Datagrammprotokolle außer ncadg_mq und ncalrpc verwenden.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile rpcdce.h (include Rpc.h)
Bibliothek Rpcrt4.lib
DLL Rpcrt4.dll

Weitere Informationen

RpcAsyncCancelCallRpcCancelThreadRpcTestCancelCancelncacn_httpncacn_npncadg_mqncalrpc