GetDriveType function
Determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network drive.
To determine whether a drive is a USB-type drive, call SetupDiGetDeviceRegistryProperty and specify the SPDRP_REMOVAL_POLICY property.
Syntax
UINT WINAPI GetDriveType( _In_opt_ LPCTSTR lpRootPathName );
Parameters
- lpRootPathName [in, optional]
-
The root directory for the drive.
A trailing backslash is required. If this parameter is NULL, the function uses the root of the current directory.
Return value
The return value specifies the type of drive, which can be one of the following values.
| Return code/value | Description |
|---|---|
|
The drive type cannot be determined. |
|
The root path is invalid; for example, there is no volume mounted at the specified path. |
|
The drive has removable media; for example, a floppy drive, thumb drive, or flash card reader. |
|
The drive has fixed media; for example, a hard disk drive or flash drive. |
|
The drive is a remote (network) drive. |
|
The drive is a CD-ROM drive. |
|
The drive is a RAM disk. |
Remarks
In Windows 8 and Windows Server 2012, this function is supported by the following technologies.
| Technology | Supported |
|---|---|
|
Server Message Block (SMB) 3.0 protocol |
No |
|
SMB 3.0 Transparent Failover (TFO) |
No |
|
SMB 3.0 with Scale-out File Shares (SO) |
No |
|
Cluster Shared Volume File System (CsvFS) |
Yes |
|
Resilient File System (ReFS) |
Yes |
SMB does not support volume management functions.
Requirements
|
Minimum supported client |
Windows XP [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2003 [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
|
Unicode and ANSI names |
GetDriveTypeW (Unicode) and GetDriveTypeA (ANSI) |
See also