2.7.1 FILE_NOTIFY_INFORMATION
The FILE_NOTIFY_INFORMATION structure contains the changes for which the client is being notified. The structure consists of the following.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
NextEntryOffset |
|||||||||||||||||||||||||||||||
Action |
|||||||||||||||||||||||||||||||
FileNameLength |
|||||||||||||||||||||||||||||||
FileName (variable) |
NextEntryOffset (4 bytes): The offset, in bytes, from the beginning of this structure to the subsequent FILE_NOTIFY_INFORMATION structure. If there are no subsequent structures, the NextEntryOffset field MUST be 0. NextEntryOffset MUST always be an integral multiple of 4. The FileName array MUST be padded to the next 4-byte boundary counted from the beginning of the structure.
Action (4 bytes): The changes that occurred on the file. This field MUST contain one of the following values.<181>
-
Value
Meaning
FILE_ACTION_ADDED
0x00000001
The file was renamed, and FileName contains the new name. This notification is only sent when the rename operation changes the directory the file resides in. The client will also receive a FILE_ACTION_REMOVED notification. This notification will not be received if the file is renamed within a directory.
FILE_ACTION_REMOVED
0x00000002
The file was renamed, and FileName contains the old name. This notification is only sent when the rename operation changes the directory the file resides in. The client will also receive a FILE_ACTION_ADDED notification. This notification will not be received if the file is renamed within a directory.
FILE_ACTION_MODIFIED
0x00000003
The file was modified. This can be a change to the data or attributes of the file.
FILE_ACTION_RENAMED_OLD_NAME
0x00000004
The file was renamed, and FileName contains the old name. This notification is only sent when the rename operation does not change the directory the file resides in. The client will also receive a FILE_ACTION_RENAMED_NEW_NAME notification. This notification will not be received if the file is renamed to a different directory.
FILE_ACTION_RENAMED_NEW_NAME
0x00000005
The file was renamed, and FileName contains the new name. This notification is only sent when the rename operation does not change the directory the file resides in. The client will also receive a FILE_ACTION_RENAMED_OLD_NAME notification. This notification will not be received if the file is renamed to a different directory.
FILE_ACTION_ADDED_STREAM
0x00000006
The file was added to a named stream.
FILE_ACTION_REMOVED_STREAM
0x00000007
The file was removed from the named stream.
FILE_ACTION_MODIFIED_STREAM
0x00000008
The file was modified. This can be a change to the data or attributes of the file.
FILE_ACTION_REMOVED_BY_DELETE
0x00000009
An object ID was removed because the file the object ID referred to was deleted.
This notification is only sent when the directory being monitored is the special directory "\$Extend\$ObjId:$O:$INDEX_ALLOCATION".
FILE_ACTION_ID_NOT_TUNNELLED
0x0000000A
An attempt to tunnel object ID information to a file being created or renamed failed because the object ID is in use by another file on the same volume.
This notification is only sent when the directory being monitored is the special directory "\$Extend\$ObjId:$O:$INDEX_ALLOCATION".
FILE_ACTION_TUNNELLED_ID_COLLISION
0x0000000B
An attempt to tunnel object ID information to a file being renamed failed because the file already has an object ID.
This notification is only sent when the directory being monitored is the special directory "\$Extend\$ObjId:$O:$INDEX_ALLOCATION".
If two or more files have been renamed, the corresponding FILE_NOTIFY_INFORMATION entries for each file rename MUST be consecutive in this response for the client to make the correct correspondence between old and new names.
FileNameLength (4 bytes): The length, in bytes, of the file name in the FileName field.
FileName (variable): A Unicode string with the name of the file that changed.