关于GetFileSize的有关问题,高手帮小弟我看看小弟我哪里用错了~多谢

关于GetFileSize的问题,高手帮我看看我哪里用错了~!谢谢。
程序我是这么写的:
fh   =   CreateFile( vFileName,
GENERIC_READ,
0,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);

if   (GetFileSize(fh,NULL)   ==   0)
{
CloseHandle(fh);
return   res_AI_FileEmpty;
}

DWORD   dw;
dwSize   =   GetFileSize(fh,   &dw);

其中vFileName是通过C#的string类型传进来的,
等于0x0012eb88   "D:\0003.bmp "

但是结果dwSize=4294967295,
这么大的数,分明不对,
请高手告诉我哪里出了问题,
谢谢。

------解决方案--------------------
dwSize = GetFileSize(fh, &dw);

if (dwSize == INVALID_FILE_SIZE)
{
DWORD dwError = GetLastError() ;

// Deal with that failure.
.
.
.
}
------解决方案--------------------
错误代码6,表示句柄无效吧。(通过Error lookupc查的)
------解决方案--------------------
文件名错了的可能性非常大,你把怎么得到vFileName这段代码拿出来看看。
------解决方案--------------------
up