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 |