- Timestamp:
- Oct 27, 2001, 10:26:06 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/hmdisk.cpp
r7224 r7234 1 /* $Id: hmdisk.cpp,v 1.2 2 2001-10-26 19:22:15sandervl Exp $ */1 /* $Id: hmdisk.cpp,v 1.23 2001-10-27 08:26:06 sandervl Exp $ */ 2 2 3 3 /* … … 26 26 27 27 #define BIT_0 (1) 28 #define BIT_1 (2) 29 #define BIT_2 (4) 28 30 #define BIT_11 (1<<11) 29 31 … … 902 904 } 903 905 else { 904 dprintf(("IOCTL_STORAGE_CHECK_VERIFY incompletely implemented")); 906 #pragma pack(1) 907 typedef struct 908 { 909 BYTE ucCommandInfo; 910 WORD usDriveUnit; 911 } ParameterBlock; 912 #pragma pack() 913 914 DWORD parsize = sizeof(ParameterBlock); 915 DWORD datasize = 2; 916 WORD status = 0; 917 DWORD rc; 918 ParameterBlock parm; 919 920 parm.ucCommandInfo = 0; 921 parm.usDriveUnit = drvInfo->driveLetter - 'A'; 922 //IOCTL_DISK (0x08), DSK_GETLOCKSTATUS (0x66) 923 rc = OSLibDosDevIOCtl(pHMHandleData->hHMHandle, 0x08, 0x66, &parm, sizeof(parm), &parsize, 924 &status, sizeof(status), &datasize); 925 if(rc != NO_ERROR) { 926 dprintf(("OSLibDosDevIOCtl failed with rc %d", rc)); 927 return FALSE; 928 } 929 dprintf(("Disk status 0x%x", status)); 930 dprintf(("WARNING: IOCTL_DISK_CHECK_VERIFY not properly implemented!!")); 931 //TODO: this doesn't seem to work 932 //if no disk present, return FALSE 933 // if(!(status & (BIT_2))) { 934 // SetLastError(ERROR_NOT_READY); //NT4, SP6 returns this 935 // return FALSE; 936 // } 937 SetLastError(NO_ERROR); 938 return TRUE; 905 939 } 906 940 SetLastError(NO_ERROR); … … 1037 1071 1038 1072 if(drvInfo->hInstAspi == NULL) { 1039 //Don't fail if wnaspi32 not loaded 1040 addr->TargetId = 0; 1041 addr->Lun = 0; 1042 SetLastError(ERROR_SUCCESS); 1043 return TRUE; 1073 SetLastError(ERROR_ACCESS_DENIED); 1074 return FALSE; 1044 1075 } 1045 1076
Note:
See TracChangeset
for help on using the changeset viewer.