Funzione FltOplockBreakToNone (fltkernel.h)
La routine FltOplockBreakToNone interrompe immediatamente tutti i blocchi opportunistici (oplock) senza considerare alcuna chiave oplock.
Sintassi
FLT_PREOP_CALLBACK_STATUS FLTAPI FltOplockBreakToNone(
[in] POPLOCK Oplock,
[in] PFLT_CALLBACK_DATA CallbackData,
[in, optional] PVOID Context,
[in, optional] PFLTOPLOCK_WAIT_COMPLETE_ROUTINE WaitCompletionRoutine,
[in, optional] PFLTOPLOCK_PREPOST_CALLBACKDATA_ROUTINE PrePostCallbackDataRoutine
);
Parametri
[in] Oplock
Puntatore a oplock opaco per il file. Questo puntatore deve essere stato inizializzato da una chiamata precedente a FltInitializeOplock.
[in] CallbackData
Puntatore alla struttura dei dati di callback (FLT_CALLBACK_DATA) per l'operazione di I/O.
[in, optional] Context
Puntatore alle informazioni sul contesto definite dal chiamante da passare alle routine di callback a cui puntano i parametri WaitCompletionRoutine e PrePostCallbackDataRoutine .
[in, optional] WaitCompletionRoutine
Puntatore a una routine di callback fornita dal chiamante. Se è in corso un'interruzione di blocco, questa routine viene chiamata al completamento dell'interruzione. Questo parametro è facoltativo e può essere NULL. Se è NULL, il chiamante viene inserito in uno stato di attesa fino al completamento dell'interruzione di oplock.
Questa routine viene dichiarata come segue:
typedef VOID
(*PFLTOPLOCK_WAIT_COMPLETE_ROUTINE) (
__in PFLT_CALLBACK_DATA CallbackData,
__in_opt PVOID Context
);
Questa routine presenta i parametri seguenti:
CallbackData
Puntatore alla struttura dei dati di callback per l'operazione di I/O.
Contesto
Puntatore alle informazioni di contesto passato nel parametro Context a FltOplockBreakToNone.
[in, optional] PrePostCallbackDataRoutine
Puntatore a una routine di callback fornita dal chiamante da chiamare se l'operazione di I/O deve essere inserita nella penna. La routine viene chiamata prima che il pacchetto oplock pend l'IRP. Questo parametro è facoltativo e può essere NULL.
Questa routine viene dichiarata come segue:
typedef VOID
(*PFLTOPLOCK_PREPOST_CALLBACKDATA_ROUTINE) (
__in PFLT_CALLBACK_DATA CallbackData,
__in_opt PVOID Context
);
Questa routine presenta i parametri seguenti:
CallbackData
Puntatore alla struttura dei dati di callback per l'operazione di I/O.
Contesto
Puntatore alle informazioni di contesto passato nel parametro Context a FltOplockBreakToNone.
Valore restituito
FltOplockBreakToNone restituisce uno dei codici di FLT_PREOP_CALLBACK_STATUS seguenti:
Codice restituito | Descrizione |
---|---|
|
FltOplockBreakToNone ha rilevato un errore di allocazione del pool o una chiamata alla funzione FsRtlOplockBreakToNoneEx ha restituito un errore. FltOplockBreakToNone imposterà il codice di errore nel membro Status della struttura IO_STATUS_BLOCK del membro IoStatus . La struttura IO_STATUS_BLOCK viene specificata nel membro IoStatus della struttura dei dati di callback FLT_CALLBACK_DATA . Il parametro CallbackData punta a questo FLT_CALLBACK_DATA. |
|
È stata avviata un'interruzione di blocco, che ha causato la pubblicazione dell'operazione di I/O in una coda di lavoro da parte di Gestione filtri. L'operazione di I/O è rappresentata dai dati di callback a cui punta il parametro CallbackData . |
|
I dati di callback a cui punta il parametro CallbackData non sono stati eseguiti tramite penna e l'operazione di I/O è stata eseguita immediatamente. |
Commenti
Per altre informazioni sui blocchi opportunistici, vedere la documentazione di Microsoft Windows SDK.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | La routine FltOplockBreakToNone è disponibile a partire da Windows 7. |
Piattaforma di destinazione | Universale |
Intestazione | fltkernel.h (include Fltkernel.h) |
Libreria | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |