This example obtains the total number of partitionable disks in the system. A partitionable disk is a physical disk drive that can be formatted into partitions.
#define INCL_DOSDEVICES /* Device values */ #define INCL_DOSERRORS /* DOS error values */ #include <os2.h> #include <stdio.h> int main (VOID) { USHORT usNumDrives = 0; /* Data return buffer */ ULONG ulDataLen = sizeof(USHORT); /* Data return buffer length */ APIRET rc = NO_ERROR; /* Return code */ /* Request a count of the number of partitionable disks in the system */ rc = DosPhysicalDisk(INFO_COUNT_PARTITIONABLE_DISKS, &usNumDrives, ulDataLen, NULL, /* No parameter for this function */ 0L); if (rc != NO_ERROR) { printf("DosPhysicalDisk error: return code = %u\n", rc); return 1; } else { printf("DosPhysicalDisk: %u partitionable disk(s)\n",usNumDrives); } return NO_ERROR; }