If the object to which the handle refers is a file object and the handle was opened
for synchronous access (by specifying FILE_SYNCHRONOUS_IO_ALERT or FILE_
SYNCHRONOUS_IO_NONALERT as CreateOptions), queries of this information class will be
synchronized with other file operations on the handle.
Do not call this routine from kernel-mode code; instead, call the ZwXxx equivalent.
又查了一下The downfall of this API is that certain objects may hang when you attempt to query them. This is because those objects, for example, are opened with SYNC access and some of them really mean business. There are pipes opened on the system that if you attempt to query them will hang indefinitely.