DosPhysicalDisk (FAPI): Difference between revisions
Appearance
Created page with "==Description== This call obtains information about partitionable disks. ==Syntax== <PRE> DosPhysicalDisk (Function, DataPtr, DataLen, ParmPtr, ParmLen) </PRE> ==Parame..." |
(No difference)
|
Revision as of 04:07, 28 June 2016
Description
This call obtains information about partitionable disks.
Syntax
DosPhysicalDisk (Function, DataPtr, DataLen, ParmPtr, ParmLen)
Parameters
- Function (USHORT) - input
- The functions supported are:
Value Definition 1 Obtain total number of partitionable disks 2 Obtain a handle to use with Category 9 IOCTLs 3 Release a handle for a partitionable disk.
- DataPtr (PBYTE) - output
- Address of the buffer where the returned information is placed.
- DataLen (USHORT) - input
- Length of the data buffer. The output data for each function is described below.
FUNCTION DATALEN RETURNED INFORMATION 1 2 Total number of partitionable disks in the system, 1-based. 2 2 Handle for the specified partitionable disk for the category 9 IOCTLs. 3 0 None. Pointer must be zero.
All lengths are in bytes.
- ParmPtr (PBYTE) - input
- Address of the buffer used for input parameters.
- ParmLen (USHORT) - input
- Length of the parameter buffer.
The input parameters required for each function are:
FUNCTION PARMLEN INPUT PARAMETERS
1 0 None. Must be set to zero.
2 String length ASCIIZ string that specifies the partitionable disk.
3 2 Handle obtained from function 2.
Note: All lengths are in bytes.
Return Code
rc (USHORT) - return
Return code descriptions are:
- 0 NO_ERROR
- ERROR_INVALID_FUNCTION
- ERROR_ACCESS_DENIED
- ERROR_INVALID_HANDLE
- 33 ERROR_LOCK_VIOLATION
- 87 ERROR_INVALID_PARAMETER
Remarks
The ASCIIZ string used to specify the partitionable disk must be of the following format:
number : <null byte>
Where:
number
specifies the partitionable disk (1-based) number in ASCII
:
must be present
<null byte>
the byte of 0 for the ASCIIZ string
The handle returned for the specified partitionable disk can only be used with the DosDevIOCtl call for the Category 9 Generic IOCTL. Use of the handle for a physical partitionable disk is not permitted for handle-based file system function calls, such as DosRead or DosClose.
Example Code
C Binding
#define INCL_DOSDEVICES USHORT rc = DosPhysicalDisk(Function, DataPtr, DataLen, ParmPtr, ParmLen); USHORT Function; /* Type of information */ PBYTE DataPtr; /* Pointer to return buffer */ USHORT DataLen; /* Return buffer length */ PBYTE ParmPtr; /* Pointer to user-supplied information */ USHORT ParmLen; /* Length of user-supplied information */ USHORT rc; /* return code */
MASM Binding
EXTRN DosPhysicalDisk:FAR INCL_DOSDEVICES EQU 1 PUSH WORD Function ;Type of information PUSH@ OTHER DataPtr ;Return buffer (returned) PUSH WORD DataLen ;Return buffer length PUSH@ OTHER ParmPtr ;User-supplied information PUSH WORD ParmLen ;Length of user-supplied information CALL DosPhysicalDisk Returns WORD