code_junkie

How to use ReadDirectoryChangesW() method with completion routine?

Nov 12th, 2011
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. VOID CALLBACK FileIOCompletionRoutine(
  2. [in] DWORD dwErrorCode,
  3. [in] DWORD dwNumberOfBytesTransfered,
  4. [in] LPOVERLAPPED lpOverlapped
  5. );
  6.  
  7. typedef struct MyOVERLAPPED {
  8. OVERLAPPED overlapped;
  9. MyData *data;
  10. } MyOVERLAPPED;
  11.  
  12. MyOVERLAPPED *overlapped = malloc(sizeof(*overlapped));
  13. memset(overlapped, 0, sizeof(*overlapped));
  14. overlapped->data = // my data here
  15. ReadDirectoryChangesW(/* ... */, &overlapped->overlapped, MyCallback);
  16.  
  17. static void CALLBACK MyCallback(DWORD errorCode, DWORD tferred, LPOVERLAPPED over)
  18. {
  19. MyOVERLAPPED *overlapped = (MyOVERLAPPED *) over;
  20. MyData *data = overlapped->data;
  21. free(over);
  22. // etc.
  23. }
Add Comment
Please, Sign In to add comment