Função CcUnpinRepinnedBcb (ntifs.h)

A rotina CcUnpinRepinnedBcb desafixa um BCB (bloco de controle de buffer repinned).

Sintaxe

void CcUnpinRepinnedBcb(
  [in]  PVOID            Bcb,
  [in]  BOOLEAN          WriteThrough,
  [out] PIO_STATUS_BLOCK IoStatus
);

Parâmetros

[in] Bcb

Ponteiro para o BCB repinned.

[in] WriteThrough

Defina como TRUE se o BCB precisar ser gravado.

[out] IoStatus

Ponteiro para uma estrutura de IO_STATUS_BLOCK. Se a chamada para CcUnpinRepinnedBcb for bem-sucedida, IoStatus.Status será definido como STATUS_SUCCESS. Caso contrário, ele será definido como um código de erro NTSTATUS apropriado. IoStatus.Information é definido como o número real de bytes que foram liberados com êxito para o disco.

Retornar valor

Nenhum

Comentários

Os sistemas de arquivos chamam CcUnpinRepinnedBcb para gravar um buffer fixado anteriormente no disco.

Cada chamada para CcRepinBcb deve ser correspondida por uma chamada subsequente para CcUnpinRepinnedBcb.

Como CcUnpinRepinnedBcb adquire o recurso BCB exclusivamente, o chamador deve ter muito cuidado para evitar deadlocks. Se possível, o chamador não deve ter recursos. Caso contrário, o chamador deve garantir que ele não tenha mais nada fixado no mesmo arquivo armazenado em cache. Normalmente , CcUnpinRepinnedBcb é chamado durante a conclusão da solicitação, depois que todos os outros recursos são liberados.

CcUnpinRepinnedBcb grava de forma síncrona o buffer (para solicitações de gravação) e desafixa o BCB repinnado pela chamada anterior para CcRepinBcb.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe

Confira também

CcRepinBcb