REQUEST_OPLOCK_OUTPUT_BUFFER struttura (winioctl.h)
Contiene le informazioni di blocco opportunistico (oplock) restituite dal codice di controllo FSCTL_REQUEST_OPLOCK .
Sintassi
typedef struct _REQUEST_OPLOCK_OUTPUT_BUFFER {
WORD StructureVersion;
WORD StructureLength;
DWORD OriginalOplockLevel;
DWORD NewOplockLevel;
DWORD Flags;
ACCESS_MASK AccessMode;
WORD ShareMode;
} REQUEST_OPLOCK_OUTPUT_BUFFER, *PREQUEST_OPLOCK_OUTPUT_BUFFER;
Members
StructureVersion
Versione della struttura REQUEST_OPLOCK_OUTPUT_BUFFER usata.
StructureLength
Lunghezza di questa struttura, in byte.
OriginalOplockLevel
Uno o più valori OPLOCK_LEVEL_CACHE_XXX che indicano il livello del blocco interrotto.
Per i valori possibili, vedere il membro RequestedOplockLevel della struttura REQUEST_OPLOCK_INPUT_BUFFER .
NewOplockLevel
Uno o più valori OPLOCK_LEVEL_CACHE_XXX che indicano il livello a cui viene interrotto un blocco o un livello di oplock che può essere disponibile per la concessione, a seconda dell'operazione che restituisce questo buffer.
Per i valori possibili, vedere il membro RequestedOplockLevel della struttura REQUEST_OPLOCK_INPUT_BUFFER .
Flags
Uno o più valori REQUEST_OPLOCK_OUTPUT_FLAG_XXX .
AccessMode
Se il flag di REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED è impostato e il livello di OPLOCK_LEVEL_CACHE_HANDLE viene perso in un'interruzione di oplock, contiene la modalità di accesso della richiesta che causa l'interruzione.
ShareMode
Se il flag REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED è impostato e il livello di OPLOCK_LEVEL_CACHE_HANDLE viene perso in un'interruzione di oplock, contiene la modalità di condivisione della richiesta che causa l'interruzione.
Commenti
Il flag REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED indica che i campi ShareMode e AccessMode contengono rispettivamente i flag di condivisione e accesso della richiesta che causano l'interruzione di oplock. Queste informazioni possono essere fornite in interruzioni in cui il livello di OPLOCK_LEVEL_CACHE_HANDLE viene perso e può essere utile ai chiamanti che possono chiudere handle i cui modi di condivisione e accesso sono in conflitto con l'handle che causa l'interruzione. Ciò può consentire loro di mantenere almeno uno stato della cache di gestione. Si noti che non tutte le interruzioni in cui il livello di OPLOCK_LEVEL_CACHE_HANDLE viene perso avrà questo flag impostato. Il caso primario in cui questo flag verrà impostato è se l'interruzione è un risultato di un'operazione di creazione che deve essere interrotta OPLOCK_LEVEL_CACHE_HANDLE per evitare l'errore con ERROR_SHARING_VIOLATION.
Requisiti
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Intestazione | winioctl.h (include Windows.h) |