// ntifs.h
// CTL_CODE(0x0009, 0x03d, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_QUERY_USN_JOURNAL 0x000900F4
View the official Windows Driver Kit DDI reference// winioctl.h
// CTL_CODE(0x0009, 0x03d, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define FSCTL_QUERY_USN_JOURNAL 0x000900F4
View the official Win32 API referenceNo description available.
The FSCTL_QUERY_USN_JOURNAL control code queries for information on the current update sequence number (USN) change journal, its records, and its capacity. See Remarks.
FSCTL_QUERY_USN_JOURNAL
To perform this operation, call FltFsControlFile or ZwFsControlFile with the following parameters.
FileObject [in]: Parameter for FltFsControlFile only. A file object pointer for the remote volume. This parameter is required and can't be NULL.
FileHandle [in]: Parameter for ZwFsControlFile only. A handle for the remote volume. This parameter is required and can't be NULL.
FsControlCode [in]: A control code for the operation. Use FSCTL_QUERY_USN_JOURNAL for this operation.
InputBuffer [in]: Not used.
InputBufferLength [in]: Not used.
OutputBuffer [out]: Pointer to a USN_JOURNAL_DATA structure that receives the information about the change journal.
OutputBufferLength [in]: Size in bytes of the buffer at OutputBuffer.
FltFsControlFile or ZwFsControlFile returns STATUS_SUCCESS if the operation succeeds. Otherwise, the appropriate function returns the appropriate NTSTATUS error code.
Queries for information on the current update sequence number (USN) change journal, its records, and its capacity.
| C++ |
|---|
BOOL WINAPI DeviceIoControl( (HANDLE) Device, // handle to volume (DWORD) FSCTL_QUERY_USN_JOURNAL,// dwIoControlCode (LPVOID) NULL, // lpInBuffer (DWORD) 0, // nInBufferSize (LPVOID) lpOutBuffer, // output buffer (DWORD) nOutBufferSize, // size of output buffer (LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure |
To perform this operation, call the DeviceIoControl function using the following parameters.
Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful.
Otherwise, Status to the appropriate error condition as a NTSTATUS code.
For more information, see NTSTATUS Values.
For the implications of overlapped I/O on this operation, see the Remarks section of the DeviceIoControl topic.
For more information, see Creating, Modifying, and Deleting a Change Journal.
To retrieve a handle to a volume, call CreateFile with the lpFileName parameter set to a string in the following form:
\.*X*:
In the preceding string, X is the letter identifying the drive on which the volume appears. The volume must be formatted with the NTFS filesystem.
In Windows 8 and Windows Server 2012, this code is supported by the following technologies.
| Technology | Supported |
|---|---|
| Server Message Block (SMB) 3.0 protocol | No |
| SMB 3.0 Transparent Failover (TFO) | No |
| SMB 3.0 with Scale-out File Shares (SO) | No |
| Cluster Shared Volume File System (CsvFS) | Yes |
An application may experience false positives on CsvFs pause/resume.
Volume Management Control Codes