REQUEST_OPLOCK_OUTPUT_BUFFER-Struktur (winioctl.h)
Enthält die vom FSCTL_REQUEST_OPLOCK-Steuerungscode zurückgegebenen Informationen zur opportunistischen Sperre (Oplock).
Syntax
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;
Member
StructureVersion
Die Version der REQUEST_OPLOCK_OUTPUT_BUFFER-Struktur , die verwendet wird.
StructureLength
Die Länge dieser Struktur in Bytes.
OriginalOplockLevel
Mindestens ein OPLOCK_LEVEL_CACHE_XXX-Werte , die die Ebene des unterbrochenen Oplocks angeben.
Mögliche Werte finden Sie im RequestedOplockLevel-Member der REQUEST_OPLOCK_INPUT_BUFFER-Struktur .
NewOplockLevel
Ein oder mehrere OPLOCK_LEVEL_CACHE_XXX-Werte , die die Ebene angeben, auf die ein Oplock unterbrochen wird, oder eine oplock-Ebene, die je nach Dem Vorgang, der diesen Puffer zurückgibt, für die Gewährung verfügbar sein kann.
Mögliche Werte finden Sie im RequestedOplockLevel-Member der REQUEST_OPLOCK_INPUT_BUFFER-Struktur .
Flags
Mindestens ein REQUEST_OPLOCK_OUTPUT_FLAG_XXX-Wert .
AccessMode
Wenn das Flag REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED festgelegt ist und die OPLOCK_LEVEL_CACHE_HANDLE Ebene bei einem Oplock-Umbruch verloren geht, enthält den Zugriffsmodus der Anforderung, die den Umbruch verursacht.
ShareMode
Wenn das REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED-Flag festgelegt ist und die OPLOCK_LEVEL_CACHE_HANDLE Ebene in einem Oplock-Umbruch verloren geht, enthält den Freigabemodus der Anforderung, die den Bruch verursacht.
Hinweise
Das REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED-Flag gibt an, dass die Felder ShareMode und AccessMode die Freigabe- bzw. Zugriffsflags der Anforderung enthalten, die den Oplock-Umbruch verursachen. Diese Informationen können bei Unterbrechungen bereitgestellt werden, bei denen die OPLOCK_LEVEL_CACHE_HANDLE-Ebene verloren geht, und können für Aufrufer nützlich sein, die Handles schließen können, deren Freigabe- und Zugriffsmodi mit dem Handle in Konflikt stehen, der die Unterbrechung verursacht. Dies kann es ihnen ermöglichen, mindestens einen Handle-Cachestatus beizubehalten. Beachten Sie, dass nicht bei allen Unterbrechungen, bei denen die OPLOCK_LEVEL_CACHE_HANDLE Ebene verloren geht, dieses Flag festgelegt ist. Der primäre Fall, in dem dieses Flag festgelegt wird, ist, wenn der Umbruch ein Ergebnis eines Erstellungsvorgangs ist, bei dem der OPLOCK_LEVEL_CACHE_HANDLE Oplock unterbrochen werden muss, um einen Fehler mit ERROR_SHARING_VIOLATION zu vermeiden.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Kopfzeile | winioctl.h (einschließlich Windows.h) |