Код элемента управления FSCTL_SUSPEND_OVERLAY
Код элемента управления FSCTL_SUSPEND_OVERLAY приостанавливает резервный источник, подключенный к тому, предотвращая доступ к резервному источнику и позволяя изменять или удалять его.
Для выполнения этой операции вызовите FltFsControlFile или ZwFsControlFile со следующими параметрами.
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
Параметры
Экземпляр [in]: только FltFsControlFile . Указатель непрозрачного экземпляра для вызывающего объекта. Этот параметр является обязательным и не может иметь значение NULL.
FileObject [in]: только FltFsControlFile . Объект указателя файла тома, для которого обновляется наложение. Этот параметр является обязательным и не может иметь значение NULL.
FileHandle [in]: только ZwFsControlFile . Дескриптор тома, для которого обновляется наложение. Этот параметр является обязательным и не может иметь значение NULL.
FsControlCode [in]: код элемента управления для операции. Используйте FSCTL_SUSPEND_OVERLAY для этой операции.
InputBuffer [in]: указатель на входной буфер, который должен содержать WOF_EXTERNAL_INFO структуру. При необходимости дополнительные данные, относящиеся к поставщику, включаются сразу после WOF_EXTERNAL_INFO. Если поставщик является WIM-файлом, после WOF_EXTERNAL_INFO включается структура WIM_PROVIDER_SUSPEND_OVERLAY_INPUT.
InputBufferLength [in]: задайте значение sizeof(WOF_EXTERNAL_INFO) плюс размер любых дополнительных входных данных поставщика.
OutputBuffer [out]: не используется. задано значение NULL.
OutputBufferLength [in]: задайте значение 0.
Блок состояния
FltFsControlFile или ZwFsControlFile возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае соответствующая функция может вернуть одно из следующих значений NTSTATUS.
Код | Значение |
---|---|
STATUS_ACCESS_DENIED | Инициатор запроса не имеет прав администратора. |
STATUS_BUFFER_TOO_SMALL | Длина входного буфера, на который указывает InputBuffer, и указанная параметром InputBufferLength, слишком мала. |
STATUS_INTERNAL_ERROR | Запрошенный том недоступен. |
STATUS_INVALID_DEVICE_REQUEST | Резервная служба отсутствует или не запущена. |
Комментарии
Если резервным источником для удаления является WIM-файл, входной буфер будет содержать структуру WOF_EXTERNAL_INFO , за которой следует структура WIM_PROVIDER_SUSPEND_OVERLAY_INPUT . InputBufferLength в этом случае будет sizeof(WOF_EXTERNAL_INFO) + sizeof(WIM_PROVIDER_REMOVE_OVERLAY_INPUT). Значение DataSourceId в WIM_PROVIDER_SUSPEND_OVERLAY_INPUT должно быть для WIM-файла, ранее добавленного в запрос FSCTL_ADD_OVERLAY .
Дополнительные резервные поставщики определяют собственные структуры входных параметров.
Требования
Тип требования | Требование |
---|---|
Заголовок | Ntifs.h (включая Ntifs.h или Fltkernel.h) |