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) |