PRJ_CANCEL_COMMAND_CB Rückruffunktion (projectedfslib.h)
Benachrichtigt den Anbieter, dass ein Vorgang durch einen früheren Aufruf eines Rückrufs abgebrochen werden soll.
Syntax
PRJ_CANCEL_COMMAND_CB PrjCancelCommandCb;
void PrjCancelCommandCb(
[in] const PRJ_CALLBACK_DATA *callbackData
)
{...}
Parameter
[in] callbackData
Informationen zum Vorgang. Die folgenden callbackData-Member sind erforderlich, um diesen Rückruf zu implementieren:
- Commandid Gibt den vorgang an, der abgebrochen werden soll.
Rückgabewert
Keine
Bemerkungen
Jeder Aufruf eines Anbieterrückrufs verfügt über einen callbackData-Parameter mit einem CommandId-Feld . Wenn ein Anbieter eine Implementierung dieses Rückrufs bereitstellt, sollte er die CommandId-Werte von Rückrufen nachverfolgen, die er asynchron verarbeitet, d. h. Rückrufe, von denen er HRESULT_FROM_WIN32(ERROR_IO_PENDING) zurückgegeben hat, aber noch nicht durch Aufrufen von PrjCompleteCommand abgeschlossen wurde. Wenn der Anbieter diesen Rückruf empfängt, gibt dies an, dass die E/A, durch die der vorherige Rückruf aufgerufen wurde, entweder explizit abgebrochen wurde oder weil der Thread, für den er ausgegeben wurde, beendet wurde. Der Anbieter sollte die Verarbeitung des von CommandId identifizierten Rückrufaufrufs so bald wie möglich abbrechen.
Das Aufrufen von PrjCompleteCommand für die CommandId im CallbackData dieses Rückrufs ist kein Fehler, es handelt sich jedoch um einen No-Op, da die E/A, die den rückrufbezogenen Aufruf verursacht hat , durch CommandId identifiziert wurde, bereits beendet wurde.
ProjFS ruft PRJ_CANCEL_COMMAND_CB für eine bestimmte CommandId erst auf, nachdem der abzubrechende Rückruf aufgerufen wurde. Wenn der Anbieter jedoch so konfiguriert ist, dass mehrere gleichzeitig ausgeführte Workerthreads zugelassen werden, können der Abbruch und der ursprüngliche Aufruf gleichzeitig ausgeführt werden. Der Anbieter muss in der Lage sein, diese Situation zu bewältigen.
Dieser Rückruf ist optional. Wenn der Anbieter keine Implementierung dieses Rückrufs angibt, kann keiner der anderen Rückrufe abgebrochen werden. Der Anbieter verarbeitet alle Rückrufe synchron.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 10, Version 1809 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | projectedfslib.h |