estrutura REQUEST_OPLOCK_OUTPUT_BUFFER (winioctl.h)
Contém as informações sobre bloqueio oportunista (oplock) retornadas pelo código de controle FSCTL_REQUEST_OPLOCK.
Sintaxe
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;
Membros
StructureVersion
A versão da estrutura REQUEST_OPLOCK_OUTPUT_BUFFER que está sendo usada.
StructureLength
O comprimento dessa estrutura, em bytes.
OriginalOplockLevel
Um ou mais valores OPLOCK_LEVEL_CACHE_XXX que indicam o nível do oplock que foi quebrado.
Para obter valores possíveis, consulte o membro RequestedOplockLevel da estrutura REQUEST_OPLOCK_INPUT_BUFFER .
NewOplockLevel
Um ou mais valores OPLOCK_LEVEL_CACHE_XXX que indicam o nível para o qual um oplock está sendo quebrado ou um nível de oplock que pode estar disponível para concessão, dependendo da operação que retorna esse buffer.
Para obter valores possíveis, consulte o membro RequestedOplockLevel da estrutura REQUEST_OPLOCK_INPUT_BUFFER .
Flags
Um ou mais valores REQUEST_OPLOCK_OUTPUT_FLAG_XXX .
AccessMode
Se o sinalizador REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED estiver definido e o nível de OPLOCK_LEVEL_CACHE_HANDLE estiver sendo perdido em uma quebra de oplock, conterá o modo de acesso da solicitação que está causando a interrupção.
ShareMode
Se o sinalizador REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED estiver definido e o nível de OPLOCK_LEVEL_CACHE_HANDLE estiver sendo perdido em uma quebra de oplock, conterá o modo de compartilhamento da solicitação que está causando a interrupção.
Comentários
O sinalizador REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED indica que os campos ShareMode e AccessMode contêm os sinalizadores de compartilhamento e de acesso, respectivamente, da solicitação que está causando a interrupção do oplock. Essas informações podem ser fornecidas em intervalos em que o nível de OPLOCK_LEVEL_CACHE_HANDLE está sendo perdido e podem ser úteis para os chamadores que podem fechar identificadores cujos modos de compartilhamento e acesso entram em conflito com o identificador que está causando a interrupção. Isso pode permitir que eles mantenham pelo menos algum estado de cache de identificador. Observe que nem todas as quebras em que o nível de OPLOCK_LEVEL_CACHE_HANDLE está sendo perdido terão esse sinalizador definido. O principal caso em que esse sinalizador será definido é se a interrupção for resultado de uma operação de criação que precisa que o OPLOCK_LEVEL_CACHE_HANDLE oplock seja interrompido para evitar falhas com ERROR_SHARING_VIOLATION.
Requisitos
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Cabeçalho | winioctl.h (inclua Windows.h) |