PrivateConst MAX_IDE_DRIVES AsLong=4 PrivateConst IDENTIFY_BUFFER_SIZE AsLong=512 PrivateConst DFP_SEND_DRIVE_COMMAND AsLong=&H7C084 PrivateConst DFP_RECEIVE_DRIVE_DATA AsLong=&H7C088 Private Type GETVERSIONOUTPARAMS bVersion AsByte' Binary driver version. bRevision AsByte' Binary driver revision. bReserved AsByte' Not used. bIDEDeviceMap AsByte' Bit map of IDE devices. fCapabilities AsLong' Bit mask of driver capabilities. dwReserved(3) AsLong' For future use. End Type Private Type IDEREGS bFeaturesReg AsByte' Used for specifying SMART "commands". bSectorCountReg AsByte' IDE sector count register bSectorNumberReg AsByte' IDE sector number register bCylLowReg AsByte' IDE low order cylinder value bCylHighReg AsByte' IDE high order cylinder value bDriveHeadReg AsByte' IDE drive/head register bCommandReg AsByte' Actual IDE command. End Type Private Type SENDCMDINPARAMS cBufferSize AsLong' Buffer size in bytes irDriveRegs As IDEREGS ' Structure with drive register values. bDriveNumber AsByte' Physical drive number to send bReserved(2) AsByte' Reserved for future expansion. dwReserved(3) AsLong' For future use. bBuffer(0) AsByte' Input buffer. End Type PrivateConst IDE_ATAPI_ID AsLong=&HA1 ' Returns ID sector for ATAPI. PrivateConst IDE_ID_FUNCTION AsLong=&HEC ' Returns ID sector for ATA. PrivateConst IDE_EXECUTE_SMART_FUNCTION AsLong=&HB0 ' Performs SMART cmd. Private Type DRIVERSTATUS bReserved(1) AsByte' Reserved for future expansion. dwReserved(1) AsLong' Reserved for future expansion. End Type Private Type SENDCMDOUTPARAMS cBufferSize AsLong' Size of bBuffer in bytes drvStatus As DRIVERSTATUS ' Driver status structure. bBuffer(0) AsByte' Buffer of arbitrary length in which to store the data read from the ' drive. End Type Private Type ATTRTHRESHOLD bAttrID AsByte' Identifies which attribute bWarrantyThreshold AsByte' Triggering value bReserved(9) AsByte' End Type Private Type IDSECTOR wGenConfig AsInteger wNumCyls AsInteger wReserved AsInteger wNumHeads AsInteger wBytesPerTrack AsInteger wBytesPerSector AsInteger wSectorsPerTrack AsInteger wVendorUnique(2) AsInteger sSerialNumber(19) AsByte wBufferType AsInteger sFirmwareRev(7) AsByte sModelNumber(39) AsByte End Type PrivateConst VER_PLATFORM_WIN32s AsLong=0 PrivateConst VER_PLATFORM_WIN32_WINDOWS AsLong=1 PrivateConst VER_PLATFORM_WIN32_NT AsLong=2 Private Type OSVERSIONINFO dwOSVersionInfoSize AsLong dwMajorVersion AsLong dwMinorVersion AsLong dwBuildNumber AsLong dwPlatformId AsLong szCSDVersion AsString*128' Maintenance string for PSS usage End Type