title: Async calls to CreateFile and ReadFile in c++
body: <p>In my c++ windows application I'm using the <code>CreateFile</code> function to access a file. I'm using also the following functions to control my file:</p>
  
  <p><code>DeviceIOControl</code>
  <code>ReadFile</code>
  <code>SetFilePointer</code></p>
  
  <p>since I want that my application will access many positions in the file at the same time (from requests I get to my application) I want that my application will be async. I saw there is a flag for this called <code>FILE_FLAG_OVERLAPPED</code> but I don't know how to use it and when do I know when it complete its operation.
  is there any callback that I have to register?
  if you can copy here a sample it will be helpful</p>
  
  <p>thanks</p>