Partager via


structure REQUEST_OPLOCK_OUTPUT_BUFFER (winioctl.h)

Contient les informations de verrou opportuniste (oplock) retournées par le code de contrôle FSCTL_REQUEST_OPLOCK.

Syntaxe

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;

Membres

StructureVersion

Version de la structure REQUEST_OPLOCK_OUTPUT_BUFFER utilisée.

StructureLength

Longueur de cette structure, en octets.

OriginalOplockLevel

Une ou plusieurs valeurs OPLOCK_LEVEL_CACHE_XXX qui indiquent le niveau de l’oplock qui a été rompu.

Pour connaître les valeurs possibles, consultez le membre RequestedOplockLevel de la structure REQUEST_OPLOCK_INPUT_BUFFER .

NewOplockLevel

Une ou plusieurs valeurs OPLOCK_LEVEL_CACHE_XXX qui indiquent le niveau auquel un oplock est rompu, ou un niveau oplock qui peut être disponible pour l’octroi, en fonction de l’opération qui retourne cette mémoire tampon.

Pour connaître les valeurs possibles, consultez le membre RequestedOplockLevel de la structure REQUEST_OPLOCK_INPUT_BUFFER .

Flags

Une ou plusieurs valeurs REQUEST_OPLOCK_OUTPUT_FLAG_XXX .

Valeur Signification
REQUEST_OPLOCK_OUTPUT_FLAG_ACK_REQUIRED
Indique qu’un accusé de réception est requis et que l’oplock décrit dans OriginalOplockLevel restera en vigueur jusqu’à ce que l’arrêt soit reconnu avec succès.
REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED
Indique que les membres ShareMode et AccessMode contiennent respectivement les indicateurs de partage et d’accès de la demande à l’origine de l’arrêt de l’opération. Pour plus d'informations, consultez la section Notes.

AccessMode

Si l’indicateur de REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED est défini et que le niveau de OPLOCK_LEVEL_CACHE_HANDLE est perdu dans un arrêt d’opération, contient le mode d’accès de la demande à l’origine de l’arrêt.

ShareMode

Si l’indicateur de REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED est défini et que le niveau de OPLOCK_LEVEL_CACHE_HANDLE est perdu dans un arrêt d’opération, contient le mode de partage de la demande à l’origine de l’arrêt.

Remarques

L’indicateur REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED indique que les champs ShareMode et AccessMode contiennent respectivement les indicateurs de partage et d’accès de la demande à l’origine de l’arrêt de l’opération. Ces informations peuvent être fournies lors des pauses où le niveau de OPLOCK_LEVEL_CACHE_HANDLE est perdu et peuvent être utiles aux appelants qui peuvent fermer des handles dont les modes de partage et d’accès entrent en conflit avec le handle à l’origine de l’interruption. Cela peut leur permettre de conserver au moins un état de cache de handle. Notez que ce n’est pas tous les sauts où le niveau OPLOCK_LEVEL_CACHE_HANDLE est perdu que cet indicateur est défini. Le cas principal où cet indicateur sera défini est si l’arrêt est le résultat d’une opération de création qui nécessite que le OPLOCK_LEVEL_CACHE_HANDLE oplock soit rompu pour éviter d’échouer avec ERROR_SHARING_VIOLATION.

Configuration requise

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
En-tête winioctl.h (inclure Windows.h)

Voir aussi

FSCTL_REQUEST_OPLOCK

Sémantique Oplock

REQUEST_OPLOCK_INPUT_BUFFER