PRJ_CANCEL_COMMAND_CB funzione di callback (projectedfslib.h)

Notifica al provider che un'operazione in base a una chiamata precedente di un callback deve essere annullata.

Sintassi

PRJ_CANCEL_COMMAND_CB PrjCancelCommandCb;

void PrjCancelCommandCb(
  [in] const PRJ_CALLBACK_DATA *callbackData
)
{...}

Parametri

[in] callbackData

Informazioni sull'operazione. I membri callbackData seguenti sono necessari per implementare questo callback:

Commandid Identifica l'operazione da annullare.

Valore restituito

nessuno

Osservazioni

Ogni chiamata di un callback del provider ha un parametro callbackData con un campo CommandId . Se un provider fornisce un'implementazione di questo callback, deve tenere traccia dei valori CommandId dei callback elaborati in modo asincrono, ad esempio i callback da cui è stato restituito HRESULT_FROM_WIN32(ERROR_IO_PENDING) ma non ancora completato chiamando PrjCompleteCommand. Se il provider riceve questo callback, indica che l'I/O che ha causato l'annullamento del callback precedente è stato annullato, in modo esplicito o perché il thread è stato rilasciato al termine. Il provider deve annullare l'elaborazione della chiamata di callback identificata da CommandId il prima possibile.

La chiamata a PrjCompleteCommand per il CommandId nel callback di questo callbackData non è un errore, ma non è un'operazione op perché l'I/O che ha causato la chiamata di callback identificata da CommandId è già stata terminata.

ProjFS richiama PRJ_CANCEL_COMMAND_CB per un commandId specificato solo dopo l'annullamento del callback da annullare. Tuttavia, se il provider è configurato per consentire più di un thread di lavoro contemporaneamente in esecuzione, l'annullamento e la chiamata originale possono essere eseguiti simultaneamente. Il provider deve essere in grado di gestire questa situazione.

Questo callback è facoltativo. Se il provider non fornisce un'implementazione di questo callback, nessuno degli altri callback sarà annullabile. Il provider elabora tutti i callback in modo sincrono.

Requisiti

   
Client minimo supportato Windows 10, versione 1809 [solo app desktop]
Server minimo supportato Windows Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione projectedfslib.h