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 .

Valore Significato
REQUEST_OPLOCK_OUTPUT_FLAG_ACK_REQUIRED
Indica che è necessario un riconoscimento e l'oplock descritto in OriginalOplockLevel continuerà a rimanere in vigore finché l'interruzione non viene riconosciuta correttamente.
REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED
Indica che i membri ShareMode e AccessMode contengono rispettivamente i flag di condivisione e di accesso della richiesta che causano l'interruzione di oplock. Per altre informazioni, vedere la sezione Osservazioni.

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)

Vedi anche

FSCTL_REQUEST_OPLOCK

Semantica oplock

REQUEST_OPLOCK_INPUT_BUFFER