Share via


FSCTL_OPLOCK_BREAK_ACKNOWLEDGE codice di controllo

Il codice di controllo FSCTL_OPLOCK_BREAK_ACKNOWLEDGE risponde alla notifica che un blocco opportunistico (livello 1, batch o filtro) esclusivo (oplock) 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 blocco di livello 1 interrotto al livello 2, vuole il livello 2 oplock.

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_ACKNOWLEDGE, vedere la documentazione di Microsoft Windows SDK.

Parametri

  • Oplock: puntatore a oggetti oplock opaco per il file.

  • CallbackData: solo FltOplockFsctrl . Struttura dei dati di callback (FLT_CALLBACK_DATA) per una richiesta IRP_MJ_FILE_SYSTEM_CONTROL FSCTL. Il parametro FsControlCode per l'operazione deve essere FSCTL_OPLOCK_BREAK_ACKNOWLEDGE.

  • Irp: solo FsRtlOplockFsctrl . IRP per una richiesta IRP_MJ_FILE_SYSTEM_CONTROL FSCTL. Il parametro FsControlCode per l'operazione deve essere FSCTL_OPLOCK_BREAK_ACKNOWLEDGE.

  • OpenCount: non usato con questa operazione; impostato su zero.

Blocco dello stato

FltOplockFsctrl restituisce FLT_PREOP_PENDING per questa operazione quando viene interrotto un oplock di livello 1 a livello 2 e il livello 2 è stato concesso. In caso contrario, restituisce FLT_PREOP_COMPLETE.

FsRtlOplockFsctrl restituisce uno dei valori NTSTATUS seguenti per questa operazione:

Codice Significato
STATUS_SUCCESS L'interruzione di oplock viene riconosciuta. Non vengono mantenuti altri oplock.
STATUS_INVALID_OPLOCK_PROTOCOL Nessun blocco è stato mantenuto da questo handle o l'interruzione di oplock non è attualmente in corso. Si tratta di un codice di errore.
STATUS_PENDING L'interruzione di oplock viene riconosciuta. Al ritorno, il mittente del codice di controllo FSCTL_OPLOCK_BREAK_ACKNOWLEDGE contiene un blocco di livello 2. Si tratta di un codice riuscito.

Requisiti

Tipo di requisito Requisito
Intestazione Ntifs.h (include Ntifs.h o Fltkernel.h)

Vedi anche

FLT_CALLBACK_DATA

FLT_PARAMETERS

FLT_PARAMETERS per IRP_MJ_FILE_SYSTEM_CONTROL

FltOplockFsctrl

FSCTL_OPBATCH_ACK_CLOSE_PENDING

FSCTL_OPLOCK_BREAK_ACK_NO_2

FSCTL_OPLOCK_BREAK_NOTIFY

FSCTL_REQUEST_BATCH_OPLOCK

FSCTL_REQUEST_FILTER_OPLOCK

FSCTL_REQUEST_OPLOCK_LEVEL_1

FSCTL_REQUEST_OPLOCK_LEVEL_2

FsRtlOplockFsctrl

IRP_MJ_FILE_SYSTEM_CONTROL