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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour