Partager via


Fonction CcUnpinRepinnedBcb (ntifs.h)

La routine CcUnpinRepinnedBcb dissocie un bloc de contrôle de mémoire tampon réinpiné (BCB).

Syntaxe

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

Paramètres

[in] Bcb

Pointeur vers le BCB repiné.

[in] WriteThrough

Définissez sur TRUE si le BCB doit être écrit.

[out] IoStatus

Pointeur vers une structure IO_STATUS_BLOCK. Si l’appel à CcUnpinRepinnedBcb réussit, IoStatus.Status est défini sur STATUS_SUCCESS. Sinon, il est défini sur un code d’erreur NTSTATUS approprié. IoStatus.Information est défini sur le nombre réel d’octets qui ont été correctement vidés sur le disque.

Valeur de retour

None

Remarques

Les systèmes de fichiers appellent CcUnpinRepinnedBcb pour écrire une mémoire tampon précédemment épinglée sur le disque.

Chaque appel à CcRepinBcb doit être mis en correspondance par un appel suivant à CcUnpinRepinnedBcb.

Étant donné que CcUnpinRepinnedBcb acquiert exclusivement la ressource BCB, l’appelant doit être extrêmement prudent pour éviter les blocages. Si possible, l’appelant ne doit posséder aucune ressource. Sinon, l’appelant doit garantir qu’il n’a rien d’autre épinglé dans le même fichier mis en cache. Normalement, CcUnpinRepinnedBcb est appelé lors de l’achèvement de la demande, une fois que toutes les autres ressources ont été libérées.

CcUnpinRepinnedBcb écrit de manière synchrone la mémoire tampon (pour les demandes d’écriture directe) et désépine le BCB réinscrit par l’appel précédent à CcRepinBcb.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe

Voir aussi

CcRepinBcb