Função FsRtlOplockGetAnyBreakOwnerProcess (ntifs.h)

FsRtlOplockGetAnyBreakOwnerProcess retorna um proprietário de um bloqueio oportunista supostamente quebrando (oplock).

Sintaxe

PEPROCESS FsRtlOplockGetAnyBreakOwnerProcess(
  POPLOCK Oplock
);

Parâmetros

Oplock

Ponteiro para a estrutura oplock opaca do arquivo. Esse ponteiro deve ter sido inicializado por uma chamada anterior para FsRtlInitializeOplock.

Retornar valor

Esse método retornará NULL se nenhum proprietário puder ser encontrado; caso contrário, ele retornará um ponteiro para o PEPROCESS (objeto de processo) de um proprietário.

Comentários

FsRtlOplockGetAnyBreakOwnerProcess seleciona um proprietário para o oplock supostamente quebrando da seguinte maneira:

  • Se o oplock tiver um proprietário exclusivo, FsRtlOplockGetAnyBreakOwnerProcess retornará um ponteiro para o EPROCESS do proprietário exclusivo.

  • Se o oplock não tiver um proprietário exclusivo e a fila de interrupção não estiver vazia, FsRtlOplockGetAnyBreakOwnerProcess retornará arbitrariamente um ponteiro para o primeiro EPROCESS na fila.

  • Caso contrário, FsRtlOplockGetAnyBreakOwnerProcess retornará NULL.

Se FsRtlOplockGetAnyBreakOwnerProcess retornar não NULL, o chamador será responsável por chamar ObDeferenceObject para liberar a referência adquirida em seu nome.

FsRtlOplockGetAnyBreakOwnerProcess não tenta verificar se uma interrupção está realmente pendente ou se o processo retornado é, de fato, o proprietário.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 2004
Cabeçalho ntifs.h

Confira também

FsRtlInitializeOplock

ObDeferenceObject