GetDriveTypeA function (fileapi.h)
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 GetDriveTypeA(
[in, optional] LPCSTR lpRootPathName
);
Parameters
[in, optional] lpRootPathName
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.
Note
The fileapi.h header defines GetDriveType as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP [desktop apps | UWP apps] |
Minimum supported server | Windows Server 2003 [desktop apps | UWP apps] |
Target Platform | Windows |
Header | fileapi.h (include Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |