Поделиться через


FSCTL_WRITE_USN_CLOSE_RECORD IOCTL (winioctl.h)

Создает запись в потоке журнала изменений номера обновления (USN) входного файла. Эта запись будет иметь флаг USN_REASON_CLOSE.

Чтобы выполнить эту операцию, вызовите функцию DeviceIoControl со следующими параметрами.

C++
BOOL 
WINAPI
DeviceIoControl( (HANDLE) hDevice,              // handle to volume
                 FSCTL_WRITE_USN_CLOSE_RECORD,  // dwIoControlCodeNULL,                          // lpInBuffer0,                             // nInBufferSize(LPVOID) lpOutBuffer,          // output buffer
                 (DWORD) nOutBufferSize,        // size of output buffer
                 (LPDWORD) lpBytesReturned,     // number of bytes returned
                 (LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure

Замечания

Сведения о последствиях перекрывающихся операций ввода-вывода в этой операции см. в разделе "Примечания" для DeviceIoControl.

Вы можете использовать FSCTL_WRITE_USN_CLOSE_RECORD для принудительной принудительной записи закрытия в журнал изменений для дескриптора ввода. Закрытая запись также будет содержать все текущие причины USN для этого файла. Выходной буфер вернет значение USN, связанное с этой операцией.

Дополнительные сведения см. в разделе Создание, изменение и удаление журнала изменений.

Чтобы получить дескриптор тома, вызовите CreateFile с параметром lpFileName в строке в следующей форме:

\\.\X:

В приведенной выше строке X — это буква, определяющая диск, на котором отображается том. Том должен быть NTFS 3.0 или более поздней версии. Чтобы получить версию тома NTFS, откройте командную строку с правами доступа администратора и выполните следующую команду:

fsutil fsinfo ntfsinfo X:

где X — буква диска тома.

В Windows 8 и Windows Server 2012 этот код поддерживается следующими технологиями.

Технологии Поддержанный
Протокол SMB 3.0 Нет
Отработка отказа SMB 3.0 (TFO) Нет
SMB 3.0 с масштабируемыми общими папками (SO) Нет
Файловая система общего тома кластера (CSVFS) Да
 

операции с транзакцией

Если FSCTL_WRITE_USN_CLOSE_RECORD вызывается с дескриптором, заблокированным транзакцией, он всегда завершается ошибкой.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
заголовка winioctl.h (включая Windows.h)

См. также

журналы изменений

CreateFile

DeviceIoControl

ПЕРЕКРЫВАЮЩИЕСЯ

коды управления томами