Function Reference


_WinAPI_IsWritable

Determines whether a disk is writable

#include <WinAPIFiles.au3>
_WinAPI_IsWritable ( $sDrive )

Parameters

$sDrive The drive letter of the disk to check, in the format D:, E:, etc.

Return Value

Success: True - The disk is writable.
False - Otherwise.
Failure: Sets the @error flag to non-zero, @extended is set to last system error code.

Remarks

The last error code = 41 means that the device is not ready, no media mounted.

See Also

Search IOCTL_DISK_IS_WRITABLE in MSDN Library.

Example

#include <WinAPI.au3>
#include <WinAPIFiles.au3>

Local $aDrive = DriveGetDrive('ALL')

If IsArray($aDrive) Then
    Local $sText
    For $i = 1 To $aDrive[0]
        If _WinAPI_IsWritable($aDrive[$i]) Then
            $sText = 'Writable'
        Else
            If @error Then
                $sText = 'No media'
                If @extended Then $sText &= ' ( @error=' & @error & ' LastError=' & _WinAPI_GetLastErrorMessage() & ')'
            Else
                $sText = 'Not writable'
            EndIf
        EndIf
        ConsoleWrite(StringUpper($aDrive[$i]) & ' => ' & $sText & @CRLF)
    Next
EndIf