使用CreateFile函数打开文件夹,但读取的时候返回错误0x57,提示参数不正确。不知道为什么。求高手们帮忙解决一下吧。代码如下:HANDLE hDir = CreateFile( _T("D:\\123"),   // 文件夹123确实存在
                          GENERIC_READ,    // 只读
                          0,               // 独占
                              NULL, 
                          OPEN_EXISTING, 
                          FILE_FLAG_BACKUP_SEMANTICS, 
                          NULL ) ;
if ( hDir == INVALID_INVALID_HANDLE_VALUE )
return ;DWORD dwTmp, ddd ;
BYTE pBuffer = new BYTE[512] ;
if ( !ReadFile( hDir, pBuffer, 512, &dwTmp, NULL ) )
{
ddd = GetLastError() ;
delete[] pBuffer ;
CloseHandle( hDir ) ;
return FALSE ;
}上述代码中CreateFile打开文件夹句柄能正常过,但ReadFile就不行,不知道为什么,ddd的值为0x57(ERROR_INVALID_PARAMETER),到底是哪个参数出错了呢?求助啊!CreateFileReadFile文件夹

解决方案 »

  1.   

    ReadFile我只知道能读文件,读串口,从没听说过能读文件夹,或许是我孤陋寡闻了。
      

  2.   

    不能读取文件夹数据的话,CreateFile打开的文件夹句柄有什么用呢?
      

  3.   


    不能读取文件夹数据的话,CreateFile打开的文件夹句柄有什么用呢? 
      

  4.   

    CreateFile打开的文件夹句柄可以用于传给某些win32函数
    至于文件夹所在扇区那就纯属空想了,文件所在硬件地址由系统管理,一个文件都可能分散在磁盘上多个物理位置,你要哪个扇区?