change SafeCloseHandle() to take a pointer; remove unused SafeDestroyWindow
use only one buffer for ReadDirectoryChangesW