Função CcUnpinRepinnedBcb (ntifs.h)
A rotina CcUnpinRepinnedBcb desafixa um bloco de controle de buffer repinnado (BCB).
Sintaxe
void CcUnpinRepinnedBcb(
[in] PVOID Bcb,
[in] BOOLEAN WriteThrough,
[out] PIO_STATUS_BLOCK IoStatus
);
Parâmetros
[in] Bcb
Ponteiro para o BCB repinnado.
[in] WriteThrough
Defina como verdadeiro se o BCB deve ser gravado.
[out] IoStatus
Ponteiro para uma estrutura IO_STATUS_BLOCK. Se a chamada para CcUnpinRepinnedBcb for bem-sucedida, IoStatus.Status será definida 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.
Valor de retorno
Nenhum
Observações
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 exclusivamente o recurso BCB, 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 tem 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 foram liberados.
CcUnpinRepinnedBcb grava o buffer de forma síncrona (para solicitações de gravação) e desafixa o BCB repinnado pela chamada anterior para ccRepinBcb.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino |
Universal |
cabeçalho | ntifs.h (inclua Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL |
NtosKrnl.exe |