codice di controllo FSCTL_OPLOCK_BREAK_ACK_NO_2
Il codice di controllo FSCTL_OPLOCK_BREAK_ACK_NO_2 risponde alla notifica che un blocco opportunistico (livello 1, batch o filtro) esclusivo in un file è stato interrotto.
Un'applicazione client invia questo codice di controllo per indicare che riconosce l'interruzione di oplock e che, se l'oplock è un oplock di livello 1 interrotto al livello 2, non vuole l'oplock di livello 2.
Per elaborare questo codice di controllo, un minifilter chiama FltOplockFsctrl con i parametri seguenti. Un file system o un driver di filtro legacy chiama FsRtlOplockFsctrl.
Per altre informazioni sul blocco opportunistico e sul codice di controllo FSCTL_OPLOCK_BREAK_ACK_NO_2, vedere la documentazione di Microsoft Windows SDK.
Parametri
Oplock: puntatore dell'oggetto oplock opaco per il file.
CallbackData: solo FltOplockFsctrl . Struttura dei dati di callback (FLT_CALLBACK_DATA) per una richiesta IRP_MJ_FILE_SYSTEM_CONTROL. Il parametro FsControlCode per l'operazione deve essere FSCTL_OPLOCK_BREAK_ACK_NO_2.
Irp: solo FsRtlOplockFsctrl . IRP per una richiesta IRP_MJ_FILE_SYSTEM_CONTROL IRP_MJ_FILE_SYSTEM_CONTROL. Il parametro FsControlCode per l'operazione deve essere FSCTL_OPLOCK_BREAK_ACK_NO_2.
OpenCount: non usato con questa operazione; impostato su zero.
Blocco dello stato
FltOplockFsctrl restituisce sempre FLT_PREOP_COMPLETE per questa operazione.
FsRtlOplockFsctrl restituisce uno dei valori NTSTATUS seguenti per questa operazione:
Codice | Significato |
---|---|
STATUS_SUCCESS | L'interruzione di oplock viene riconosciuta. Non vengono mantenuti gli oplock rimanenti. |
STATUS_INVALID_OPLOCK_PROTOCOL | Nessun oplock è stato mantenuto da questo handle o l'interruzione di oplock non è attualmente in corso. Si tratta di un codice di errore. |
Requisiti
Tipo di requisito | Requisito |
---|---|
Intestazione | Ntifs.h (include Ntifs.h o Fltkernel.h) |
Vedi anche
FLT_PARAMETERS per IRP_MJ_FILE_SYSTEM_CONTROL
FSCTL_OPBATCH_ACK_CLOSE_PENDING