What is the sequence of callbacks called when Explorer opens the directory?
1. A directory to enumerate is opened. If the metadata cache isn't used and the directory isn't already opened (in parallel by this or another process) then the OnGetFileInfo callback is called. Then the OnOpenFile callback is called.
2. OnEnumerateDirectory callback is called one or more times.
3. The OnCloseFile callback is called.
Note that when the user navigates to the directory, Explorer attempts to read the file metadata and thumbnails (depending on file type) from the files. This means that Explorer often opens files in the directory and reads some data from those files.