title: FindFirstFile and "." / ".." record attributes
body: <p>What object is the meta-data of the dot/double-dot file records as returned by FindFirstFile on a directory referring to?</p>
  
  <p>In practice they seem to behave as a curious mixture of soft and hard links. On my system the file attributes (e.g. read-only/hidden/archive flags) do reflect the state of the target they point towards, however the creation/write/access access fields always seem to equal the creation time of the directory being searched.</p>
  
  <p>I ask because a build tool I was working on decided to cache search results by first translating the file names to absolute ones and filing away the meta-data, leading broken builds when the creation-times of later directories mismatched.</p>
  
  <p>May I rely on the ftCreationTime of "." being equal to the creation time of the folder itself? This would be useful in avoiding unnecessary queries.</p>
  
  <p>For the record here is a quick-and-dirty repro:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;windows.h&gt;
  
  static void print(const WIN32_FIND_DATAA *data) {
      printf("name=%s attrib=%08lX creation=%08lX%08lX\n", data-&gt;cFileName, data-&gt;dwFileAttributes,
          data-&gt;ftCreationTime.dwHighDateTime, data-&gt;ftCreationTime.dwLowDateTime);
  }
  
  int main(void) {
      WIN32_FIND_DATAA data = { 0 };
      HANDLE handle = FindFirstFileA("C:\\Windows\\System\\*", &amp;data); 
      print(&amp;data);
      FindNextFileA(handle, &amp;data);
      print(&amp;data);
      FindFirstFileA("C:\\Windows", &amp;data); 
      print(&amp;data);
      FindFirstFileA("C:\\Windows\\System", &amp;data); 
      print(&amp;data);
      return 0;
  }
  </code></pre>