Função IoRemoveShareAccess (wdm.h)

A rotina IoRemoveShareAccess remove as informações de acesso e acesso de compartilhamento para uma determinada instância aberta de um objeto de arquivo.

Sintaxe

void IoRemoveShareAccess(
  [in]      PFILE_OBJECT  FileObject,
  [in, out] PSHARE_ACCESS ShareAccess
);

Parâmetros

[in] FileObject

Ponteiro para o objeto de arquivo, que geralmente está sendo fechado pelo thread atual.

[in, out] ShareAccess

Ponteiro para a estrutura de acesso de compartilhamento que descreve como o objeto de arquivo aberto está sendo acessado no momento.

Retornar valor

Nenhum

Comentários

Essa rotina é recíproca para IoUpdateShareAccess.

IoRemoveShareAccess não é uma operação atômica. Portanto, os drivers que chamam essa rotina devem proteger o objeto de arquivo compartilhado passado para IoRemoveShareAccess por meio de algum tipo de bloqueio, como um mutex ou um bloqueio de recursos, a fim de evitar a corrupção das contagens de acesso compartilhado.

Os chamadores de IoRemoveShareAccess devem estar em execução em IRQL = PASSIVE_LEVEL e no contexto do thread que solicitou que o FileObject fosse fechado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (consulte a seção Comentários)
Regras de conformidade de DDI HwStorPortProhibitedDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

Confira também

IoCheckShareAccess

IoSetShareAccess

IoUpdateShareAccess