RpcCancelThread-Funktion (rpcdce.h)
Die RpcCancelThread-Funktion bricht einen Thread ab. Die RpcCancelThread-Funktion sollte nicht verwendet werden, um asynchrone RPC-Aufrufe abzubrechen. Verwenden Sie stattdessen die RpcAsyncCancelCall-Funktion , um einen asynchronen RPC-Aufruf abzubrechen.
Syntax
RPC_STATUS RpcCancelThread(
void *Thread
);
Parameter
Thread
Handle des abzubrechenden Threads.
Rückgabewert
Wert | Bedeutung |
---|---|
|
Der Aufruf war erfolgreich. |
|
Threadhandle verfügt nicht über Berechtigungen. Threadhandles müssen THREAD_SET_CONTEXT ordnungsgemäß festgelegt haben, damit die Funktion ordnungsgemäß ausgeführt wird. |
|
Wird von einem MS-DOS- oder Windows 3.x-Client aufgerufen. |
Hinweise
Die RpcCancelThread-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.
Die RpcCancelThread-Funktion kann nicht verwendet werden, um einen Aufruf abzubrechen, der einen statischen Rückruf ausgegeben hat. Abbrechen Sie keine Remoteprozeduraufrufe, die möglicherweise eine Funktion aufrufen, die mit dem Attribut [callback] in der IDL-Datei deklariert wurde.
Standardmäßig wartet der Client ewig, bis der Server die Steuerung nach einem Abbruch zurückgibt. Um diese Zeit zu verkürzen, rufen Sie RpcMgmtSetCancelTimeout auf, und geben Sie die Anzahl der Sekunden an, die auf eine Antwort gewartet werden sollen. Wenn der Server innerhalb dieses Intervalls nicht zurückgegeben wird, schlägt der Aufruf auf dem Client mit einer RPC_S_CALL_FAILED Ausnahme fehl. Der Serverstub wird weiterhin ausgeführt.
Wenn Sie das Named Pipes-Protokoll verwenden, müssen Sie ncacn_np ein endliches Timeout angeben.
Sie können RpcCancelThread mit jedem der verbindungsorientierten Protokolle (ncacn_*) und mit jedem der Datagrammprotokolle mit Ausnahme von ncadg_mq und ncalrpc verwenden.
Hinweis Windows XP/2000 Die RpcCancelThread-Funktion ist für ncacn_http nicht verfügbar. Die RpcCancelThread-Funktion unterstützt ncacn_http unter Windows Server 2003 oder höher und Windows XP mit Service Pack 1 (SP1) und höher.
Anforderungen
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 |