codice di controllo FSCTL_OPLOCK_BREAK_NOTIFY
Il codice di controllo FSCTL_OPLOCK_BREAK_NOTIFY consente all'applicazione chiamante di attendere il completamento di un'interruzione di blocco opportunistico (oplock).
Questa operazione è utile solo per un'interruzione di blocco avviata già all'apertura dell'handle del chiamante. L'handle deve essere stato aperto con FILE_COMPLETE_IF_OPLOCKED. Questa operazione è senza significato se è attualmente presente un oplock e l'interruzione di oplock non è stata avviata.
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_NOTIFY, vedere la documentazione 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_NOTIFY.
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_NOTIFY.
OpenCount: non usato con questa operazione; impostato su zero.
Blocco dello stato
FltOplockFsctrl restituisce FLT_PREOP_PENDING se l'interruzione di oplock è in corso e l'IRP verrà completato al termine dell'interruzione di oplock. In questo caso, l'IRP può essere completato con STATUS_SUCCESS o STATUS_CANCELLED. In caso contrario, FltOplockFsctrl restituisce FLT_PREOP_COMPLETE.
FsRtlOplockFsctrl restituisce uno dei valori NTSTATUS seguenti per questa operazione:
Codice | Significato |
---|---|
STATUS_SUCCESS | Nessun oplock è stato mantenuto da questo handle o viene mantenuto un oplock e l'interruzione di oplock non è stata avviata. |
STATUS_INVALID_OPLOCK_PROTOCOL | L'IRP è stato annullato prima del completamento dell'operazione di FSCTL_OPLOCK_BREAK_NOTIFY. |
STATUS_PENDING | L'interruzione di oplock è in corso. L'IRP verrà completato al termine dell'interruzione di oplock. L'IRP può essere completato con STATUS_SUCCESS o STATUS_CANCELLED. Si tratta di un codice di operazione riuscita. |
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