Platform SDK: Hardware

MARK_HANDLE_INFO

The MARK_HANDLE_INFO structure contains information used to mark a specified file or directory and its change journal record with data about changes. The FSCTL_MARK_HANDLE operation for the DeviceIoControl function uses this information.

typedef struct {
  DWORD UsnSourceInfo;
  HANDLE VolumeHandle;
  DWORD HandleInfo;
} MARK_HANDLE_INFO, *PMARK_HANDLE_INFO;

Members

UsnSourceInfo
Information regarding the type of changes being made. The operation does not modify the file or directory externally from the point of view of the application that created it. The following values are defined.
Value Meaning
USN_SOURCE_DATA_MANAGEMENT The operation provides information about a change to the file or directory made by the operating system.

A typical use is when Remote Storage moves data from external to local storage. Remote Storage is the hierarchical storage management software in Windows 2000. Such a move usually at a minimum adds the USN_REASON_DATA_OVERWRITE flag to a USN record. However, the data has not changed from the users' point of view. By noting USN_SOURCE_DATA_MANAGEMENT in the SourceInfo member of the USN_RECORD structure holding the record, you can determine that although a write operation was performed on the item, data has not changed.

USN_SOURCE_AUXILIARY_DATA The operation adds a private data stream to a file or directory.

An example might be a virus detector adding checksum information. As the virus detector modifies the item, the system generates USN records. USN_SOURCE_AUXILIARY_DATA indicates that the modifications did not change the application data.


VolumeHandle
Direct Access to Storage Device (DASD) handle to the volume on which the file or directory resides. This handle is required to check the privileges for this operation. To obtain a DASD handle to a volume, pass in the lpFileName parameter for the CreateFile function a value of the following form:
\\.\X:

where X is the letter identifying the drive on which the volume appears. The volume must be an NTFS volume on Windows 2000.

HandleInfo
Reserved; must be set to zero.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Unsupported.
  Header: Declared in Winioctl.h.

See Also

Device Input and Output Overview, Device Input and Output Structures, CreateFile, DeviceIoControl, FSCTL_MARK_HANDLE, USN_RECORD