Skip to content

Latest commit

 

History

History
35 lines (27 loc) · 803 Bytes

sample_017.md

File metadata and controls

35 lines (27 loc) · 803 Bytes

Home

Using the GetLogicalDriveStrings

Code:

DECLARE INTEGER GetDriveType IN kernel32 STRING nDrive

DECLARE INTEGER GetLogicalDriveStrings IN kernel32;
	INTEGER nBufferLength, STRING @lpBuffer

LOCAL cBuffer, nBufsize, cName, ch
cBuffer = REPLICATE(CHR(0), 250)
	
nBufsize = GetLogicalDriveStrings(Len(cBuffer), @cBuffer)
cBuffer = PADR(cBuffer, nBufsize)
? cBuffer
	
cName = ""
FOR nBufsize=1 TO Len(cBuffer)
	ch = SUBSTR(cBuffer, nBufsize,1)
	IF ch = Chr(0)
		? cName, GetDriveType(cName)
		cName = ""
	ELSE
		cName = cName + ch
	ENDIF
ENDFOR  

Listed functions:

GetDriveType
GetLogicalDriveStrings