Share via


code de contrôle FSCTL_SUSPEND_OVERLAY

Le code de contrôle FSCTL_SUSPEND_OVERLAY suspend une source de stockage attachée à un volume, empêchant l’accès à la source de stockage et permettant sa modification ou sa suppression.

Pour effectuer cette opération, appelez FltFsControlFile ou ZwFsControlFile avec les paramètres suivants.

BOOL 
   WINAPI 
   DeviceIoControl( (HANDLE)       hDevice,         // handle to device
                    (DWORD)        FSCTL_SUSPEND_OVERLAY, // dwIoControlCode
                    (LPDWORD)      lpInBuffer,      // input buffer
                    (DWORD)        nInBufferSize,   // size of input buffer
                    (LPDWORD)      lpOutBuffer,     // output buffer
                    (DWORD)        nOutBufferSize,  // size of output buffer
                    (LPDWORD)      lpBytesReturned, // number of bytes returned
                    (LPOVERLAPPED) lpOverlapped );  // OVERLAPPED structure

Paramètres

  • Instance [in] : FltFsControlFile uniquement. Pointeur de instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

  • FileObject [in] : FltFsControlFile uniquement. Objet pointeur de fichier du volume pour lequel la superposition est mise à jour. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

  • FileHandle [in] : ZwFsControlFile uniquement. Handle du volume pour lequel la superposition est mise à jour. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

  • FsControlCode [in] : code de contrôle de l’opération. Utilisez FSCTL_SUSPEND_OVERLAY pour cette opération.

  • InputBuffer [in] : pointeur vers la mémoire tampon d’entrée, qui doit contenir une structure WOF_EXTERNAL_INFO . Si nécessaire, des données spécifiques au fournisseur supplémentaires sont incluses immédiatement après WOF_EXTERNAL_INFO. Si le fournisseur est un fichier WIM, une structure WIM_PROVIDER_SUSPEND_OVERLAY_INPUT est incluse après WOF_EXTERNAL_INFO.

  • InputBufferLength [in] : défini sur sizeof(WOF_EXTERNAL_INFO) plus la taille des données d’entrée supplémentaires du fournisseur.

  • OutputBuffer [out] : non utilisé. valeur de l’en-tête définie sur Null.

  • OutputBufferLength [in] : défini sur 0.

Bloc d’état

FltFsControlFile ou ZwFsControlFile retourne STATUS_SUCCESS si l’opération réussit. Sinon, la fonction appropriée peut retourner l’une des valeurs NTSTATUS suivantes.

Code Signification
STATUS_ACCESS_DENIED Le demandeur ne dispose pas de privilèges administratifs.
STATUS_BUFFER_TOO_SMALL La longueur de la mémoire tampon d’entrée pointée par InputBuffer et spécifiée par InputBufferLength est trop petite.
STATUS_INTERNAL_ERROR Le volume demandé n’est pas accessible.
STATUS_INVALID_DEVICE_REQUEST Le service de sauvegarde n’est pas présent ou n’est pas démarré.

Remarques

Lorsque la source de stockage à supprimer est un fichier WIM (Windows Imaging Format), la mémoire tampon d’entrée contient une structure WOF_EXTERNAL_INFO suivie d’une structure WIM_PROVIDER_SUSPEND_OVERLAY_INPUT . Dans ce cas , l’élément InputBufferLength sera sizeof(WOF_EXTERNAL_INFO) + sizeof(WIM_PROVIDER_REMOVE_OVERLAY_INPUT). La valeur DataSourceId dans WIM_PROVIDER_SUSPEND_OVERLAY_INPUT doit être pour un fichier WIM précédemment ajouté dans une demande de FSCTL_ADD_OVERLAY .

D’autres fournisseurs de stockage définissent leurs propres structures de paramètres d’entrée spécifiques.

Configuration requise

Type d’exigence Condition requise
En-tête Ntifs.h (inclure Ntifs.h ou Fltkernel.h)

Voir aussi

FSCTL_REMOVE_OVERLAY

FSCTL_UPDATE_OVERLAY

FSCTL_GET_EXTERNAL_BACKING

FSCTL_SET_EXTERNAL_BACKING