Partager 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 lui permettant d’être modifié ou supprimé.

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 d’instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas être 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 être NULL.

  • FileHandle [in] : ZwFsControlFile uniquement. Handle du volume pour lequel la superposition est mise à jour. Ce paramètre est obligatoire et ne peut pas être 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) ainsi que la taille de toutes les données d’entrée de fournisseur supplémentaires.

  • OutputBuffer [out] : non utilisé. Défini 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 Sens
STATUS_ACCÈS_REFUSÉ Le demandeur n’a pas de privilèges d’administration.
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.
ERREUR_INTERNE_STATUT Le volume demandé n’est pas accessible.
STATUS_INVALID_DEVICE_REQUEST Le service de stockage n’est pas présent ou ne démarre pas.

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 de WIM_PROVIDER_SUSPEND_OVERLAY_INPUT . InputBufferLength dans ce cas 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 requête FSCTL_ADD_OVERLAY .

Des fournisseurs de stockage supplémentaires définissent leurs propres structures de paramètres d’entrée spécifiques.

Spécifications

Type de condition requise Besoin
En-tête de page Ntifs.h (include Ntifs.h ou Fltkernel.h)

Voir aussi

FSCTL_REMOVE_OVERLAY

FSCTL_UPDATE_OVERLAY

FSCTL_GET_EXTERNAL_BACKING

FSCTL_SET_EXTERNAL_BACKING