I write a small application and using the following API to open the file:

hHandle = CreateFile(lpszFileName, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

Then I pass the hHandle to a DLL exported function, in that function, I will call

DWORD dwFlags = 0;

ASSERT(GetHandleInformation(hFile,&dwFlags) != 0)

to check if the handle is valid. However, the assert fails. And I use GetLastError to get the error code 6, which means invalid handle.

What is the problem with my codes?

Thanks