>>SABDU001 ------------------ SABDU001.DLL API: OverView ------------------------ Dynamic Load Library Routines The SABDU001 Dynameic Load Library contains a set of routines for creating and manipulating diskette type objects. The sets of routines are: DiskDrive This are the ones that are usually used. They operate at the logical level. DDrive Drive object FDrive File object MDrive Memory object VDrive Virtual object DebugOut Debugging routines HandleStatus Callback routine used to communicate progress during long running operations (i.e. formatting a diskette) and status. >>DDrive ------------------ SABDU001.DLL API: DDrive objects ------------------ A DDrive (Diskette Drive) is a specialized version of the VDrive (Virtual Drive). It is an object that represents a physical drive. The following functions are available to manipulate it: DDriveCreate Creates a DDrive object DDriveDelete Deletes a DDrive object DDriveFormatTrack Formats a track DDriveForceReset Issues a reset to the drive DDriveReadSectors Reads a group of sectors from the drive DDriveReset Issues a reset to the drive if it was used DDriveSetRead Sets up for reading from the drive DDriveSetWrite Sets up for writing to the drive DDriveWriteSectors Writes a group of sectors to the drive >>DDriveCreate ------------------ SABDU001.DLL API: DDriveCreate -------------------- VOID far * FAR PASCAL DDriveCreate ( char cDrive ) Creates a DDrive object associated with drive cDrive and returns a pointer to it. Example: VOID far *pDriveA ; pDriveA = DDriveCreate ( 'A' ) ; >>DDriveDelete ------------------ SABDU001.DLL API: DDriveDelete -------------------- VOID FAR PASCAL DDriveDelete ( pDDrive ) Deletes the DDrive object pointed to by pDDrive. Example: VOID far *pDriveA ; pDriveA = DDriveCreate ( 'A' ) ; ... DDriveDelete ( pDriveA ) ; pDriveA = NULL ; >>DDriveSetRead ------------------ SABDU001.DLL API: DDriveSetRead ------------------- UINT FAR PASCAL DDriveSetRead ( VOID far *pDDrive, UINT nTempType, UINT nCylinders ) Prepares the DDrive object pointed to by pDDrive for reading. nTempType defines the type of diskette expected: FD0360 FD0720 FD1200 FD1440 FD2880 nCylinders defines the number of cylinders. Example: VOID far *pDriveA ; pDriveA = DDriveCreate ( 'A' ) ; ... DDriveSetRead ( pDriveA, FD0360, NULL ) ; >>DDriveSetWrite ------------------ SABDU001.DLL API: DDriveSetWrite ------------------ UINT FAR PASCAL DDriveSetWrite ( VOID far *pDDrive, UINT nTempType, UINT nCylinders ) Prepares the DDrive object pointed to by pDDrive for writing. nTempType defines the type of diskette expected: FD0360 FD0720 FD1200 FD1440 FD2880 nCylinders defines the number of cylinders. Example: VOID far *pDriveA ; pDriveA = DDriveCreate ( 'A' ) ; ... DDriveSetWrite ( pDriveA, FD0360, NULL ) ; >>DDriveReset ------------------ SABDU001.DLL API: DDriveReset --------------------- UINT FAR PASCAL DDriveReset ( VOID far *pDDrive ) Resets the DDrive object pointed to by pDDrive. Example: VOID far *pDriveA ; pDriveA = DDriveCreate ( 'A' ) ; ... DDriveReset ( pDriveA ) ; >>DDriveForceReset ------------------ SABDU001.DLL API: DDriveForceReset ---------------- UINT FAR PASCAL DDriveForceReset ( VOID far *pDDrive ) Resets the DDrive object pointed to by pDDrive. Example: VOID far *pDriveA ; pDriveA = DDriveCreate ( 'A' ) ; ... DDriveForceReset ( pDriveA ) ; >>DDriveFormatTrack ------------------ SABDU001.DLL API: DDriveFormatTrack --------------- UINT FAR PASCAL DDriveForceReset ( VOID far *pDDrive, UNIT nCylinder, UNIT nHead ) Formats the track pointed to by DDrive object pointer Example: VOID far *pDriveA ; pDriveA = DDriveCreate ( pDriveA ) ; ... DDriveFormatTrack ( pDriveA, nCylinder, nHead ) ; >>DDriveReadSectors ------------------ SABDU001.DLL API: DDriveReadSectors --------------- UINT FAR PASCAL DDriveReadSectors ( VOID far *pDDrive, UNIT nCylinder, UNIT nHead, UINT nSector, UINT nCount, LPBYTE lpcBuffer ) Reads a group of sectors from the drive pointerd to by pDDrive nCylinder Cylinder to read from nHead Head to read with nSector Starting sector nCount Number of sectors to read lpcBuffer Buffer to contain the data read. Example: VOID far *pDriveA ; pDriveA = DDriveCreate ( pDriveA ) ; ... DDriveReadSectors ( pDriveA, nCylinder, nHead, nSector, nCount, lpcBuffer ) ; >>DDriveWriteSectors ------------------ SABDU001.DLL API: DDriveWriteSectors -------------- UINT FAR PASCAL DDriveWriteSectors ( VOID far *pDDrive, UNIT nCylinder, UNIT nHead, UINT nSector, UINT nCount, LPBYTE lpcBuffer ) Writes a group of sectors from the drive pointerd to by pDDrive nCylinder Cylinder to read from nHead Head to read with nSector Starting sector nCount Number of sectors to read lpcBuffer Buffer to contain the data read. Example: VOID far *pDriveA ; pDriveA = DDriveCreate ( pDriveA ) ; ... DDriveWriteSectors ( pDriveA, nCylinder, nHead, nSector, nCount, lpcBuffer ) ; >>DebugOut ------------------ SABDU001.DLL API: DebugOut objects ---------------- A DebugOut object is a debugging aid: The following functions are available to manipulate it: DebugOutCreate Creates debug object DebugOutOutputIf Outputs a message DebugOutScan Scans command line for control information DebugOutczDebugBuffer Returns pointer to debug buffer >>DebugOutCreate ------------------ SABDU001.DLL API: DebugOutCreate ------------------ VOID far * FAR PASCAL CEXPORT DebugOutCreate ( LPCSTR lpczCmdLine ) ; Command line: [/Dxxxxxxxx [/Myyyyyyyy] [/Ffilename]] xxxxxxxx is a hex string each bit of which can be used to control the sending of trace messages yyyyyyyy is a hex string each bit of which indicates if a control message should be displayed in a MessageBox filename trace file name Returns a pointer to a debug object. >>DebugOutScan ------------------ SABDU001.DLL API: DebugOutScan -------------------- VOID FAR PASCAL CEXPORT DebugOutScan ( LPCSTR lpczCmdLine ) ; Command line: [/Dxxxxxxxx [/Myyyyyyyy] [/Ffilename]] xxxxxxxx is a hex string each bit of which can be used to control the sending of trace messages yyyyyyyy is a hex string each bit of which indicates if a control message should be displayed in a MessageBox filename trace file name >>DebugOutOutputIf ------------------ SABDU001.DLL API: DebugOutOutputIf ---------------- VOID FAR PASCAL CEXPORT DebugOutOutputIf ( unsigned long ulDFlag, LPCSTR lpczText, LPCSTR lpczTitle, UINT nMFlags ) ; ulDFlag is matched with /D and /M from command line to determine if message should be output to trace or displayed in a MessageBox. lpczText pointer to text of trace message lpczTitle pointer to title of trace message nMFlags MessageBox flags >>DebugOutczDebugBuffer ------------------ SABDU001.DLL API: DebugOutczDebugBuffer ----------- char far * FAR PASCAL CEXPORT DebugOutczDebugBuffer ( VOID ) ; Returns pointer to debug buffer that can be used to format messages. >>DiskDrive ------------------ SABDU001.DLL API: DiskDrive objects --------------- A DiskDrive is a wrapper that encapsolates a virtual (VDrive) object and provides all of the functions needed to manipulate it The following functions are available to manipulate it: DiskDriveCompare Compares two DiskDrive objects DiskDriveCopy Copies a DiskDrive object DiskDriveCreateDrive Creates a DiskDrive object DiskDriveCreateFile Creates a DiskDrive object DiskDriveCreateMemory Creates a DiskDrive object DiskDriveCreateVDrive Creates a DiskDrive object DiskDriveDelete Deletes a DiskDrive object DiskDriveForceReset Forces a reset of the assocated VDrive DiskDriveFormat Formats a DiskDrive object DiskDriveFormatTrack Formats a track DiskDriveGetVolumeSerial Gets the volume serial DiskDriveHasData Returns TRUE if object valid DiskDriveLetter Returns DiskDrive object letter DiskDriveReadSectors Reads a group of sectors from DiskDrive DiskDriveReset Resets the associated VDrive if used DiskDriveSetRead Sets the associated VDrive for reading DiskDriveSetType Sets the type (density) of VDrive DiskDriveSetVolumeSerial Sets the volume serial DiskDriveSetWrite Sets the associated VDrive for writing DiskDriveSetWriteFormatOption Turns on/off WriteFormatOption DiskDriveSetWriteVerifyOption Turns on/off WriteVerifyOption DiskDriveTruncate Sets truncation mode on DiskDriveTruncateReverse Sets truncation mode off DiskDriveType Returns type (density) DiskDriveUsedCylinders Returns cylinders used DiskDriveUsedHeads Returns heads used DiskDriveUsedSectorSize Returns sector size DiskDriveUsedSectors Returns sectors used DiskDriveWriteBootSector Writes boot sector of DiskDrive DiskDriveWriteSectors Writes a group of sectors to DiskDrive >>DiskDriveCreateDrive ------------------ SABDU001.DLL API: DiskDriveCreateDrive ------------ UINT FAR PASCAL DiskDriveCreateDrive ( char cDrive UINT nType, UINT nCylinders, lpfnHANDLESTATUS lpfnNewHandleStatus ) nType = FD0360 FD0720 FD1200 FD1200H FD1440 FD1440H FD2880 lpfnNewHandleStatus points to a callback routine that handles event notifications including errors. Creates a DiskDrive object using a physical drive as the base for the VDrive object within it. Returns pointer to DiskDrive object. Example: VOID far *pDiskDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1200, 80, lpfnNewHandleStatus ) >>DiskDriveCreateMemory ------------------ SABDU001.DLL API: DiskDriveCreateMemory ----------- UINT FAR PASCAL DiskDriveCreateMemory ( UINT nMemory UINT nType, UINT nCylinders, lpfnHANDLESTATUS lpfnNewHandleStatus ) nType = FD0360 FD0720 FD1200 FD1200H FD1440 FD1440H FD2880 lpfnNewHandleStatus points to a callback routine that handles event notifications including errors. Creates a DiskDrive object using a memory object as the base for the VDrive object within it. Returns pointer to DiskDrive object. Example: VOID far *pDiskDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pDiskDriveA = DiskDriveCreateMemory ( 1, FD1200, 80, lpfnNewHandleStatus ) >>DiskDriveCreateFile ------------------ SABDU001.DLL API: DiskDriveCreateFile ------------- UINT FAR PASCAL DiskDriveCreateFile ( LPCSTR lpczFileName, LPCSTR lpczApplicationTitle, LPCSTR lpczVersion, UINT nType, UINT nCylinders, lpfnHANDLESTATUS lpfnNewHandleStatus ) nType = FD0360 FD0720 FD1200 FD1200H FD1440 FD1440H FD2880 lpfnNewHandleStatus points to a callback routine that handles event notifications including errors. Creates a DiskDrive object using a file object as the base for the VDrive object within it. Returns pointer to DiskDrive object. Example: VOID far *pDiskDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pDiskDriveA = DiskDriveCreateFile ( "FileName.SD", "SAB Diskette Utility", "2.00", FD1200, 80, lpfnNewHandleStatus ) >>DiskDriveCreateVDrive ------------------ SABDU001.DLL API: DiskDriveCreateVDrive ----------- UINT FAR PASCAL DiskDriveCreateVDrive ( VOID far * pVDrive, UINT nType, UINT nCylinders, lpfnHANDLESTATUS lpfnNewHandleStatus ) nType = FD0360 FD0720 FD1200 FD1200H FD1440 FD1440H FD2880 lpfnNewHandleStatus points to a callback routine that handles event notifications including errors. Creates a DiskDrive object using a virtual drive object as the base for the VDrive object within it. Returns pointer to DiskDrive object. Example: VOID far *pDiskDriveA ; VOID far *pVDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateFile ( pVDriveA, FD1200, 80, lpfnNewHandleStatus ) >>DiskDriveDelete ------------------ SABDU001.DLL API: DiskDriveDelete ----------------- UINT FAR PASCAL DiskDriveDelete ( VOID far * pVDrive, ) Deletes a DiskDrive object. Example: VOID far *pDiskDriveA ; VOID far *pVDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateFile ( pVDriveA, FD1200, 80, lpfnNewHandleStatus ) ... DiskDriveDelete ( pDiskDriveA ) ; pDiskDriveA = NULL ; >>DiskDriveCopy ------------------ SABDU001.DLL API: DiskDriveCopy ------------------- UINT FAR PASCAL DiskDriveCopy ( VOID far * pDiskDriveTarget, VOID far * pDiskDriveSource ) Copies a DiskDrive object ; Example: VOID far *pDiskDriveA ; VOID far *pDiskDriveB ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; pDiskDriveB = DiskDriveCreateDrive ( 'B', DiskDriveType( pDiskDriveA ), 0, lpfnNewHandleStatus ) ; DiskDriveCopy ( pDiskDriveB, pDiskDriveA ) ; >>DiskDriveCompare ------------------ SABDU001.DLL API: DiskDriveCompare ---------------- UINT FAR PASCAL DiskDriveCompare ( VOID far * pDiskDriveTarget, VOID far * pDiskDriveSource ) Compares two DiskDrive objects. Returns TRUE if they are the same. Example: VOID far *pDiskDriveA ; VOID far *pDiskDriveB ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; pDiskDriveB = DiskDriveCreateDrive ( 'B', DiskDriveType( pDiskDriveA ), 0, lpfnNewHandleStatus ) ; DiskDriveCompare ( pDiskDriveB, pDiskDriveA ) ; >>DiskDriveFormatTrack ------------------ SABDU001.DLL API: DiskDriveFormatTrack ------------ UINT FAR PASCAL DiskDriveFormatTrack ( VOID far * pDiskDrive, UINT nCylinder, UINT nHead, lpfnHANDLESTATUS lpfnHandleStatus ) Formats a track. Returns FALSE if successfull Example: VOID far *pDiskDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1200, 80, lpfnNewHandleStatus ) ; DiskDriveFormatTrack ( pDiskDriveB, 0, 1, lpfnNewHandleStatus ) ; >>DiskDriveReadSectors ------------------ SABDU001.DLL API: DiskDriveReadSectors ------------ UINT FAR PASCAL DiskDriveReadSectors ( VOID far * pDiskDrive, UINT nCylinder, UINT nHead, UINT nSector, UINT nCount, LPBYTE lpbyBuffer, lpfnHANDLESTATUS lpfnHandleStatus ) Reads a group of sectors. Returns FALSE if successfull Example: VOID far *pDiskDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; DiskDriveReadSectors ( pDiskDriveA, 0, 1, 0, 18, lpfnNewHandleStatus ) ; >>DiskDriveWriteSectors ------------------ SABDU001.DLL API: DiskDriveWriteSectors ----------- UINT FAR PASCAL DiskDriveWriteSectors ( VOID far * pDiskDrive, UINT nCylinder, UINT nHead, UINT nSector, UINT nCount, LPBYTE lpbyBuffer, lpfnHANDLESTATUS lpfnHandleStatus ) Writes a group of sectors. Returns FALSE if successfull Example: VOID far *pDiskDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0, lpfnNewHandleStatus ) ; DiskDriveWriteSectors ( pDiskDriveA, 0, 1, 0, 18, lpfnNewHandleStatus ) ; >>DiskDriveLetter ------------------ SABDU001.DLL API: DiskDriveWriteLetter ------------ UINT FAR PASCAL DiskDriveLetter ( VOID far * pDiskDrive, ) Returns letter of virtual drive. Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0, lpfnNewHandleStatus ) ; ... cDriveLetter = DiskDriveLetter ( pDiskDriveA ) ; >>DiskDriveSetRead ------------------ SABDU001.DLL API: DiskDriveSetRead --------------- UINT FAR PASCAL DiskDriveSetRead ( VOID far * pDiskDrive, ) Sets contained virtual drive for reading. Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0, lpfnNewHandleStatus ) ; ... DiskDriveSetRead ( pDiskDriveA ) ; >>DiskDriveSetWrite ------------------ SABDU001.DLL API: DiskDriveSetWrite--------------- UINT FAR PASCAL DiskDriveSetWrite ( VOID far * pDiskDrive, ) Sets contained virtual drive for writing. Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0, lpfnNewHandleStatus ) ; ... DiskDriveSetWrite ( pDiskDriveA ) ; >>DiskDriveSetWriteFormatOption ------------------ SABDU001.DLL API: DiskDriveSetWriteFormatOption -- UINT FAR PASCAL DiskDriveSetWriteFormatOption ( VOID far * pDiskDrive, UINT nWriteFormatOptionNew ) nWriteFormatOptionNew 1 AUTOMATIC 2 ALWAYS 3 NEVER 4 FAST Sets write format option. Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0, lpfnNewHandleStatus ) ; ... DiskDriveSetWriteFormatOption ( pDiskDriveA, AUTOMATIC ) ; >>DiskDriveSetWriteVerifyOption ------------------ SABDU001.DLL API: DiskDriveSetWriteVerifyOption -- UINT FAR PASCAL DiskDriveSetWriteVerifyOption ( VOID far * pDiskDrive, BOOL bWriteVerifyOptionNew ) Sets write verify option. Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0, lpfnNewHandleStatus ) ; ... DiskDriveSetWriteVerifyOption ( pDiskDriveA, TRUE ) ; >>DiskDriveReset ------------------ SABDU001.DLL API: DiskDriveReset ------------------ UINT FAR PASCAL DiskDriveReset ( VOID far * pDiskDrive ) Resets virtual drive Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0, lpfnNewHandleStatus ) ; ... DiskDriveReset ( pDiskDriveA ) ; >>DiskDriveForceReset ------------------ SABDU001.DLL API: DiskDriveForceReset ------------- UINT FAR PASCAL DiskDriveForceReset ( VOID far * pDiskDrive ) Forces reset of virtual drive Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', FD1440, 0, lpfnNewHandleStatus ) ; ... DiskDriveForceReset ( pDiskDriveA ) ; >>DiskDriveType ------------------ SABDU001.DLL API: DiskDriveType ------------------- UINT FAR PASCAL DiskDriveType ( VOID far * pDiskDrive ) Returns type ( density ). Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; UINT nType ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... nType = DiskDriveType ( pDiskDriveA ) ; >>DiskDriveHasData ------------------ SABDU001.DLL API: DiskDriveHasData ---------------- UINT FAR PASCAL DiskDriveHasData ( VOID far * pDiskDrive ) Returns TRUE if DiskDrive is valid object. Example: VOID far *pDiskDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... if ( DiskDriveHasData ( pDiskDriveA ) ) ...; >>DiskDriveFormat ------------------ SABDU001.DLL API: DiskDriveFormat ----------------- UINT FAR PASCAL DiskDriveFormat ( VOID far * pDiskDrive, LPCSTR lpczVolumeSerial, UNIT nFormatOption, LPBYTE lpbyBootSector, lpfnHANDLESTATUS lpfnHandleStatus ) Returns FALSE if successfull. Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; UINT nType ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... DiskDriveFormat ( pDiskDriveA, "VOL 1", FORMATFAST, NULL, NULL ) ; >>DiskDriveSetType ------------------ SABDU001.DLL API: DiskDriveSetType ---------------- UINT FAR PASCAL DiskDriveSetType ( VOID far * pDiskDrive, UINT nNewType ) Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... DiskDriveSetType ( pDiskDriveA, FD1200 ) ; >>DiskDriveUsedCylinders ------------------ SABDU001.DLL API: DiskDriveUsedCylinders ---------- UINT FAR PASCAL DiskDriveUsedCylinders ( VOID far * pDiskDrive ) Returns number of cylinders. Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; UINT nCylinder ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... nCylinder = DiskDriveUsedCylinders ( pDiskDriveA ) ; >>DiskDriveUsedHeads ------------------ SABDU001.DLL API: DiskDriveHeads ------------------ UINT FAR PASCAL DiskDriveUsedHeads ( VOID far * pDiskDrive ) Returns number of heads. Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; UINT nHeads ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... nHeads = DiskDriveUsedHeads ( pDiskDriveA ) ; >>DiskDriveUsedSectors ------------------ SABDU001.DLL API: DiskDriveUsedSectors ------------ UINT FAR PASCAL DiskDriveUsedSectors ( VOID far * pDiskDrive ) Returns number of sectors in a track. Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; UINT nSectors ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... nSectors = DiskDriveUsedSectors ( pDiskDriveA ) ; >>DiskDriveUsedSectorSize ------------------ SABDU001.DLL API: DiskDriveUsedSectorSize---------- UINT FAR PASCAL DiskDriveUsedSectorSize ( VOID far * pDiskDrive ) Returns sector size. Example: VOID far *pDiskDriveA ; LPSTR *lpczOldVolumeSerial ; FARPROC lpfnNewHandleStatus ; UINT nSectorSize ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... nSectorSize = DiskDriveUsedSectorSize ( pDiskDriveA ) ; >>DiskDriveGetVolumeSerial ------------------ SABDU001.DLL API: DiskDriveGetVolumeSerial -------- UINT FAR PASCAL DiskDriveGetVolumeSerial ( VOID far * pDiskDrive, LPSTR lpczOldVolumeSerial ) Example: VOID far *pDiskDriveA ; char cDriveLetter ; FARPROC lpfnNewHandleStatus ; UINT nType ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... DiskDriveGetVolumeSerial ( pDiskDriveA, lpczOldVolumeSerial ) ; >>DiskDriveSetVolumeSerial ------------------ SABDU001.DLL API: DiskDriveSetVolumeSerial -------- UINT FAR PASCAL DiskDriveSetVolumeSerial ( VOID far * pDiskDrive, LPSTR lpczNewVolumeSerial ) Returns FALSE if successfull. Example: VOID far *pDiskDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... DiskDriveSetVolumeSerial ( pDiskDriveA, "Vol 1" ) ; >>DiskDriveTruncate ------------------ SABDU001.DLL API: DiskDriveTruncate --------------- UINT FAR PASCAL DiskDriveTruncate ( VOID far * pDiskDrive ) Turns on truncation. Example: VOID far *pDiskDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... DiskDriveTypeTruncate ( pDiskDriveA ) ; >>DiskDriveTruncateRevers ------------------ SABDU001.DLL API: DiskDriveTruncateReverse -------- UINT FAR PASCAL DiskDriveTruncateReverse ( VOID far * pDiskDrive ) Turns off truncation. Example: VOID far *pDiskDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... DiskDriveTruncateReverse ( pDiskDriveA ) ; >>DiskDriveWriteBootSector ------------------ SABDU001.DLL API: DiskDriveWriteBootSector -------- UINT FAR PASCAL DiskDriveWriteBootSector ( VOID far * pDiskDrive, lpbyModelBootSector, lpfnHANDLESTATUS lpfnNewHandleStatus ) Returns false if successfull. Example: VOID far *pDiskDriveA ; FARPROC lpfnNewHandleStatus ; lpfnNewHandleStatus = MakeProcInstance ( hInstance, NewHandleStatus ) ; pVDriveA = VDrive ( 'A' ) ; pDiskDriveA = DiskDriveCreateDrive ( 'A', 0, 0, lpfnNewHandleStatus ) ; ... DiskDriveTypeWriteBootSector ( pDiskDriveA, NULL, NULL ) ; >>FDrive ------------------ SABDU001.DLL API: FDrive objects ------------------ A FDrive (File Drive) is a specialized version of the VDrive (Virtual Drive). It is an object that represents a diskette image file. The following functions are available to manipulate it: FDriveCreate Creates a FDrive object FDriveDelete Deletes a FDrive object FDriveForceReset Issues a reset to the drive FDriveFormatTrack Formats a track FDriveReadSectors Reads a group of sectors from the drive FDriveReset Issues a reset to the drive if it was used FDriveSetRead Sets up for reading from the drive FDriveSetWrite Sets up for writing to the drive FDriveWriteSectors Writes a group of sectors to the drive >>FDriveCreate ------------------ SABDU001.DLL API: FDriveCreate -------------------- VOID far * FAR PASCAL FDriveCreate ( LPCSTR lpczFileName, LPCSTR lpczApplicationTitle, LPCSTR lpczVersion ) Creates a FDrive object associated with drive cDrive and returns a pointer to it. Example: VOID far *pDriveA ; pDriveA = FDriveCreate ( 'A' ) ; >>FDriveDelete ------------------ SABDU001.DLL API: FDriveDelete -------------------- VOID FAR PASCAL FDriveDelete ( pFDrive ) Deletes the FDrive object pointed to by pFDrive. Example: VOID far *pDriveA ; pDriveA = FDriveCreate ( 'A' ) ; ... FDriveDelete ( pDriveA ) ; pDriveA = NULL ; >>FDriveSetRead ------------------ SABDU001.DLL API: FDriveSetRead ------------------- UINT FAR PASCAL FDriveSetRead ( VOID far *pFDrive, UINT nTempType, UINT nCylinders ) Prepares the FDrive object pointed to by pFDrive for reading. nTempType defines the type of diskette expected: FD0360 FD0720 FD1200 FD1440 FD2880 nCylinders defines the number of cylinders. Example: VOID far *pDriveA ; pDriveA = FDriveCreate ( 'A' ) ; ... FDriveSetRead ( pDriveA, FD0360, NULL ) ; >>FDriveSetWrite ------------------ SABDU001.DLL API: FDriveSetWrite ------------------ UINT FAR PASCAL FDriveSetWrite ( VOID far *pFDrive, UINT nTempType, UINT nCylinders ) Prepares the FDrive object pointed to by pFDrive for writing. nTempType defines the type of diskette expected: FD0360 FD0720 FD1200 FD1440 FD2880 nCylinders defines the number of cylinders. Example: VOID far *pDriveA ; pDriveA = FDriveCreate ( 'A' ) ; ... FDriveSetWrite ( pDriveA, FD0360, NULL ) ; >>FDriveReset ------------------ SABDU001.DLL API: FDriveReset --------------------- UINT FAR PASCAL FDriveReset ( VOID far *pFDrive ) Resets the FDrive object pointed to by pFDrive. Example: VOID far *pDriveA ; pDriveA = FDriveCreate ( 'A' ) ; ... FDriveReset ( pDriveA ) ; >>FDriveForceReset ------------------ SABDU001.DLL API: FDriveForceReset ---------------- UINT FAR PASCAL FDriveForceReset ( VOID far *pFDrive ) Resets the FDrive object pointed to by pFDrive. Example: VOID far *pDriveA ; pDriveA = FDriveCreate ( 'A' ) ; ... FDriveForceReset ( pDriveA ) ; >>FDriveFormatTrack ------------------ SABDU001.DLL API: FDriveFormatTrack --------------- UINT FAR PASCAL FDriveForceReset ( VOID far *pFDrive, UNIT nCylinder, UNIT nHead ) Formats the track pointed to by FDrive object pointer Example: VOID far *pDriveA ; pDriveA = FDriveCreate ( pDriveA ) ; ... FDriveFormatTrack ( pDriveA, nCylinder, nHead ) ; >>FDriveReadSectors ------------------ SABDU001.DLL API: FDriveReadSectors --------------- UINT FAR PASCAL FDriveReadSectors ( VOID far *pFDrive, UNIT nCylinder, UNIT nHead, UINT nSector, UINT nCount, LPBYTE lpcBuffer ) Reads a group of sectors from the drive pointerd to by pFDrive nCylinder Cylinder to read from nHead Head to read with nSector Starting sector nCount Number of sectors to read lpcBuffer Buffer to contain the data read. Example: VOID far *pDriveA ; pDriveA = FDriveCreate ( pDriveA ) ; ... FDriveReadSectors ( pDriveA, nCylinder, nHead, nSector, nCount, lpcBuffer ) ; >>FDriveWriteSectors ------------------ SABDU001.DLL API: FDriveWriteSectors -------------- UINT FAR PASCAL FDriveWriteSectors ( VOID far *pFDrive, UNIT nCylinder, UNIT nHead, UINT nSector, UINT nCount, LPBYTE lpcBuffer ) Writes a group of sectors from the drive pointerd to by pFDrive nCylinder Cylinder to read from nHead Head to read with nSector Starting sector nCount Number of sectors to read lpcBuffer Buffer to contain the data read. Example: VOID far *pDriveA ; pDriveA = FDriveCreate ( pDriveA ) ; ... FDriveWriteSectors ( pDriveA, nCylinder, nHead, nSector, nCount, lpcBuffer ) ; >>HandleStatus ------------------ SABDU001.DLL Callback: HandleStatus --------------- typedef int (FAR PASCAL __export * lpfnHANDLESTATUS)( UINT nStatus1, UINT nStatus2, UINT nParam1, UINT nParam2, LONG lParam1, LONG lParam2 ) ; int FAR PASCAL __export HandleStatus ( UINT nStatus1, UINT nStatus2, UINT nParam1, UINT nParam2, LONG lParam1, LONG lParam2 ) ; nStatus1 ------------------- nStatus2 nParam1 nParam2 --------------------------- --------------------- -------------------- lParam1 lParam2 --------------------- --------------- STATUS1_INIT hWnd hInstance STATUS1_START STATUS1_BOOT_SECTOR STATUS1_DIRECTORY STATUS1_FAT STATUS1_SYSTEM_FILE STATUS1_CYLINDER cylinder percent complete STATUS1_HEAD STATUS1_END STATUS1_ERROR STATUS2_FILE STATUS3_OPEN_FAIL file name pointer STATUS2_FILE STATUS3_OPEN_FILE_IO_ERROR file name pointer STATUS2_FILE STATUS3_OPEN_INPUT_BAD file name pointer STATUS2_FILE STATUS3_OPEN_FLAGS_BAD file name pointer STATUS2_FILE STATUS3_OPEN_NOT_SUPPORTED file name pointer STATUS2_READ cylinder head STATUS2_WRITE cylinder head STATUS2_FORMAT cylinder head STATUS2_FILE_READ file name pointer STATUS2_FILE_WRITE file name pointer STATUS2_DISK_SPACE space needed space available STATUS2_HEAD cylinder head STATUS2_MEMORY STATUS2_SYSTEM STATUS2_FAT STATUS2_DIRECTORY STATUS2_BOOT_SECTOR STATUS2_SYSTEM_FILE_MISSING STATUS2_SYSTEM_FILE_OPEN STATUS2_COMPARE cylinder head STATUS2_DPT >>MDrive ------------------ SABDU001.DLL API: MDrive objects ------------------ A MDrive (Memory Drive) is a specialized version of the VDrive (Virtual Drive). It is an object that represents a diskette image in memory. The following functions are available to manipulate it: MDriveCreate Creates a MDrive object MDriveDelete Deletes a MDrive object MDriveForceReset Issues a reset to the drive MDriveFormatTrack Formats a track MDriveReadSectors Reads a group of sectors from the drive MDriveReset Issues a reset to the drive if it was used MDriveSetRead Sets up for reading from the drive MDriveSetWrite Sets up for writing to the drive MDriveWriteSectors Writes a group of sectors to the drive >>MDriveCreate ------------------ SABDU001.DLL API: MDriveCreate -------------------- VOID far * FAR PASCAL MDriveCreate ( UINT nMemory ) Creates a MDrive object associated with identifier nMemory and returns a pointer to it. Example: VOID far *pDriveA ; pDriveA = MDriveCreate ( 1 ) ; >>MDriveDelete ------------------ SABDU001.DLL API: MDriveDelete -------------------- VOID FAR PASCAL MDriveDelete ( pMDrive ) Deletes the MDrive object pointed to by pMDrive. Example: VOID far *pDriveA ; pDriveA = MDriveCreate ( 'A' ) ; ... MDriveDelete ( pDriveA ) ; pDriveA = NULL ; >>MDriveSetRead ------------------ SABDU001.DLL API: MDriveSetRead ------------------- UINT FAR PASCAL MDriveSetRead ( VOID far *pMDrive, UINT nTempType, UINT nCylinders ) Prepares the MDrive object pointed to by pMDrive for reading. nTempType defines the type of diskette expected: FD0360 FD0720 FD1200 FD1440 FD2880 nCylinders defines the number of cylinders. Example: VOID far *pDriveA ; pDriveA = MDriveCreate ( 'A' ) ; ... MDriveSetRead ( pDriveA, FD0360, NULL ) ; >>MDriveSetWrite ------------------ SABDU001.DLL API: MDriveSetWrite ------------------ UINT FAR PASCAL MDriveSetWrite ( VOID far *pMDrive, UINT nTempType, UINT nCylinders ) Prepares the MDrive object pointed to by pMDrive for writing. nTempType defines the type of diskette expected: FD0360 FD0720 FD1200 FD1440 FD2880 nCylinders defines the number of cylinders. Example: VOID far *pDriveA ; pDriveA = MDriveCreate ( 'A' ) ; ... MDriveSetWrite ( pDriveA, FD0360, NULL ) ; >>MDriveReset ------------------ SABDU001.DLL API: MDriveReset --------------------- UINT FAR PASCAL MDriveReset ( VOID far *pMDrive ) Resets the MDrive object pointed to by pMDrive. Example: VOID far *pDriveA ; pDriveA = MDriveCreate ( 'A' ) ; ... MDriveReset ( pDriveA ) ; >>MDriveForceReset ------------------ SABDU001.DLL API: MDriveForceReset ---------------- UINT FAR PASCAL MDriveForceReset ( VOID far *pMDrive ) Resets the MDrive object pointed to by pMDrive. Example: VOID far *pDriveA ; pDriveA = MDriveCreate ( 'A' ) ; ... MDriveForceReset ( pDriveA ) ; >>MDriveFormatTrack ------------------ SABDU001.DLL API: MDriveFormatTrack --------------- UINT FAR PASCAL MDriveForceReset ( VOID far *pMDrive, UNIT nCylinder, UNIT nHead ) Formats the track pointed to by MDrive object pointer Example: VOID far *pDriveA ; pDriveA = MDriveCreate ( pDriveA ) ; ... MDriveFormatTrack ( pDriveA, nCylinder, nHead ) ; >>MDriveReadSectors ------------------ SABDU001.DLL API: MDriveReadSectors --------------- UINT FAR PASCAL MDriveReadSectors ( VOID far *pMDrive, UNIT nCylinder, UNIT nHead, UINT nSector, UINT nCount, LPBYTE lpcBuffer ) Reads a group of sectors from the drive pointerd to by pMDrive nCylinder Cylinder to read from nHead Head to read with nSector Starting sector nCount Number of sectors to read lpcBuffer Buffer to contain the data read. Example: VOID far *pDriveA ; pDriveA = MDriveCreate ( pDriveA ) ; ... MDriveReadSectors ( pDriveA, nCylinder, nHead, nSector, nCount, lpcBuffer ) ; >>MDriveWriteSectors ------------------ SABDU001.DLL API: MDriveWriteSectors -------------- UINT FAR PASCAL MDriveWriteSectors ( VOID far *pMDrive, UNIT nCylinder, UNIT nHead, UINT nSector, UINT nCount, LPBYTE lpcBuffer ) Writes a group of sectors from the drive pointerd to by pMDrive nCylinder Cylinder to read from nHead Head to read with nSector Starting sector nCount Number of sectors to read lpcBuffer Buffer to contain the data read. Example: VOID far *pDriveA ; pDriveA = MDriveCreate ( pDriveA ) ; ... MDriveWriteSectors ( pDriveA, nCylinder, nHead, nSector, nCount, lpcBuffer ) ; >>VDrive ------------------ SABDU001.DLL API: VDrive objects ------------------ A VDrive (Virtual Drive) is an object that represents a diskette image. The following functions are available to manipulate it: VDriveFlag Returns the flags for the virtual drive VDriveForceReset Forces a reset of the virtual drive VDriveFormatTrack Formats a track VDriveIsRemote Returns TRUE if media is remote VDriveIsRemovable Returns TRUE if media is removable VDriveIsUseable Returns TRUE if media is useable VDriveIsUsed Returns TRUE if virtual drive was used VDriveLetter Returns letter of vitual drive VDriveNumberOfCylinders Returns number of cylinders VDriveNumberOfHeads Returns number of heads VDriveNumberOfSectors Returns number of sectors VDriveReadSectors Reads a group of sectors from the vitual drive VDriveReset Resets the virtual drive if it was used VDriveSetRead Sets up the virtual drive for reading VDriveSetType Sets the type (density) of the virtual drive VDriveSetWrite Sets up the virtual drive for writing VDriveType Returns the type (density) of the virtual drive VDriveWriteSectors Writes a group of sectors to the virutal drive >>VDriveSetType ------------------ SABDU001.DLL API: VDriveSetType ------------------- UINT FAR PASCAL VDriveSetType ( VOID far *pCVDrive, UINT nType ) Sets the type (density) for the virtual drive. nType = FD0360 FD0720 FD1200 FD1200H FD1440 FD1440H FD2880 Returns nType if successfull or FD0000 if not. Example: VOID far *pDriveA ; VDriveSetType ( pDriveA, FD0720 ) ; >>VDriveLetter ------------------ SABDU001.DLL API: VDriveLetter -------------------- char FAR PASCAL VDriveLetter ( VOID far *pCVDrive ) Returns the drive letter. Example: VOID far *pDriveA ; char cDrive ; cDrive = VDriveLetter ( pDriveA ) ; >>VDriveType ------------------ SABDU001.DLL API: VDriveType ---------------------- UINT FAR PASCAL VDriveType ( VOID far *pCVDrive ) Returns the drive type (density). Example: VOID far *pDriveA ; UINT nType ; nType = VDriveType ( pDriveA ) ; >>VDriveFlag ------------------ SABDU001.DLL API: VDriveFlag ---------------------- UINT FAR PASCAL VDriveFlag ( VOID far *pCVDrive ) Returns the drive flag. Example: VOID far *pDriveA ; UINT nFlag ; nFlag = VDriveFlag ( pDriveA ) ; >>VDriveNumberOfCylinders ------------------ SABDU001.DLL API: VDriveNumberOfCylinders --------- UINT FAR PASCAL VDriveNumberOfCylinders ( VOID far *pCVDrive ) Returns the number of cylinders. Example: VOID far *pDriveA ; UINT nCylinders ; nCylinders = VDriveNumberOfCylinders ( pDriveA ) ; >>VDriveNumberOfHeads ------------------ SABDU001.DLL API: VDriveNumberOfHeads ------------- UINT FAR PASCAL VDriveNumberOfHeads ( VOID far *pCVDrive ) Returns the number of heads. Example: VOID far *pDriveA ; UINT nHeads ; nHeads = VDriveNumberOfHeads ( pDriveA ) ; >>VDriveNumberOfSectors ------------------ SABDU001.DLL API: VDriveNumberOfSectors ----------- UINT FAR PASCAL VDriveNumberOfSectors ( VOID far *pCVDrive ) Returns the number of sectors. Example: VOID far *pDriveA ; UINT nSectors ; nSectors = VDriveNumberOfSectors ( pDriveA ) ; >>VDriveIsRemote ------------------ SABDU001.DLL API: VDriveIsRemote ------------------ BOOL FAR PASCAL VDriveIsRemote ( VOID far *pCVDrive ) Returns TRUE if the media is remote. Example: VOID far *pDriveA ; BOOL bRemote ; bRemote = VDriveIsRemote ( pDriveA ) ; >>VDriveIsRemovable ------------------ SABDU001.DLL API: VDriveIsRemovable --------------- BOOL FAR PASCAL VDriveIsRemovable ( VOID far *pCVDrive ) Returns TRUE if the media is removable. Example: VOID far *pDriveA ; BOOL bRemovable ; bRemovable = VDriveIsRemovable ( pDriveA ) ; >>VDriveIsUseable ------------------ SABDU001.DLL API: VDriveIsUseable ----------------- BOOL FAR PASCAL VDriveIsUseable ( VOID far *pCVDrive ) Returns TRUE if the media is useable. Example: VOID far *pDriveA ; BOOL bUseable ; bUseable = VDriveIsUseable ( pDriveA ) ; >>VDriveIsUsed ------------------ SABDU001.DLL API: VDriveIsUsed -------------------- BOOL FAR PASCAL VDriveIsUsead ( VOID far *pCVDrive ) Returns TRUE if the media is used. Example: VOID far *pDriveA ; BOOL bUsed ; bUsed = VDriveIsUsed ( pDriveA ) ; >>VDriveReset ------------------ SABDU001.DLL API: VDriveReset --------------------- UINT FAR PASCAL VDriveReset ( VOID far *pCVDrive ) Returns FALSE if successfull. Example: VOID far *pDriveA ; BOOL bReset ; bReset = !VDriveReset ( pDriveA ) ; >>VDriveFormatTrack ------------------ SABDU001.DLL API: VDriveFormatTrack --------------- UINT FAR PASCAL VDriveFormatTrack ( VOID far *pCVDrive, UINT nCylinder, UINT nHead ) Returns FALSE if successfull. Example: VOID far *pDriveA ; BOOL bFormat ; bReset = !VDriveFormatTrack ( pDriveA, nCylinder, nHead ) ; >>VDriveReadSectors ------------------ SABDU001.DLL API: VDriveReadSectors --------------- UINT FAR PASCAL VDriveReadSectors ( VOID far *pCVDrive, UINT nCylinder, UINT nHead ) Returns FALSE if successfull. Example: VOID far *pDriveA ; BOOL bRead ; bRead = !VDriveReadSectors ( pDriveA, nCylinder, nHead, nSector, nCount, LPBYTE lpcBuffer ) ; >>VDriveWriteSectors ------------------ SABDU001.DLL API: VDriveWriteSectors -------------- UINT FAR PASCAL VDriveWriteSectors ( VOID far *pCVDrive, UINT nCylinder, UINT nHead ) Returns FALSE if successfull. Example: VOID far *pDriveA ; BOOL bWrite ; bWrite = !VDriveWriteSectors ( pDriveA, nCylinder, nHead, nSector, nCount, LPBYTE lpcBuffer ) ;