Ignore:
Timestamp:
Sep 28, 2012, 6:56:57 PM (13 years ago)
Author:
dmik
Message:

kernel32: Implement GetFileInformationByHandle for directories.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/oslibdos.cpp

    r21925 r22025  
    14281428   APIRET      rc;
    14291429
     1430   if (lpFileName == NULL && hFile == INVALID_HANDLE_VALUE_W)
     1431   {
     1432       SetLastError(ERROR_INVALID_PARAMETER_W);
     1433       return FALSE;
     1434   }
     1435
    14301436   // NOTE: On HPFS386, doing FIL_QUERYEASIZE on a write-only file will
    14311437   // fail with ERROR_ACCESS_DENIED. Since we don't actually care about EAs
     
    14361442        FILESTATUS3L statusL = { 0 };
    14371443
    1438         rc = DosQueryFileInfo(hFile, FIL_STANDARDL,
    1439                               &statusL, sizeof(statusL));
     1444        rc = hFile != INVALID_HANDLE_VALUE_W ?
     1445                    DosQueryFileInfo(hFile, FIL_STANDARDL,
     1446                                     &statusL, sizeof(statusL)) :
     1447                    DosQueryPathInfo(lpFileName, FIL_STANDARDL,
     1448                                     &statusL, sizeof(statusL));
    14401449        if(rc == NO_ERROR)
    14411450        {
     
    14761485        FILESTATUS3  status  = { 0 };
    14771486
    1478         rc = DosQueryFileInfo(hFile, FIL_STANDARD, &status,
    1479                               sizeof(status));
     1487        rc = hFile != INVALID_HANDLE_VALUE_W ?
     1488                    DosQueryFileInfo(hFile, FIL_STANDARD, &status,
     1489                                     sizeof(status)) :
     1490                    DosQueryPathInfo(lpFileName, FIL_STANDARD, &status,
     1491                                     sizeof(status));
    14801492        if(rc == NO_ERROR)
    14811493        {
Note: See TracChangeset for help on using the changeset viewer.