` Comment on an Icetips Article
Icetips - Templates, Tools & Utilities for Clarion Developers

Templates, Tools and Utilities
for Clarion Developers

Add a comment to an Icetips Article

Please add your comments to this article. Please note that you must provide both a name and a valid email address in order for us to publish your comment. Comments are moderated and are not visible until they have been approved. Spam is never approved!

Your Name:  
Email:  
Header text/Subject:  

Please enter your comment in the box below:

Back to article list   Search Articles     Add Comment     Printer friendly     Direct link  

Par2: 32 bit Disk serial number
1998-12-20 -- Arnor Baldvinsson
 
>The 16 Bit versions of getting the disk information (int86x) returns the >Serial Number, the Volume Label, and the File System Type (FAT32, FAT16, >Etc). Could someone please point me in the right direction to the 32 Bit >version of this routine? For this you can use the GetVolumeInformation api call - it does a lot more than just get the volume label. Here are some code snippets: "After global includes" FORMAT_MESSAGE_ALLOCATE_BUFFER EQUATE(00000100H) FORMAT_MESSAGE_ARGUMENT_ARRAY EQUATE(00002000H) FORMAT_MESSAGE_FROM_HMODULE EQUATE(00000800H) FORMAT_MESSAGE_FROM_STRING EQUATE(00000400H) FORMAT_MESSAGE_FROM_SYSTEM EQUATE(00001000H) FORMAT_MESSAGE_IGNORE_INSERTS EQUATE(00000200H) FORMAT_MESSAGE_MAX_WIDTH_MASK EQUATE(000000FFH) va_list EQUATE(LONG) !*LPCSTR "Inside the global Map" COMPILE('***',_WIDTH32_) MODULE('WIN32.LIB') GetDriveType(*LPCSTR),UNSIGNED,PASCAL,RAW,NAME('GetDriveTypeA') CopyFileA(*LPCSTR,*LPCSTR,BOOL),BOOL,PASCAL,RAW GetVolumeInformationA(*LPCSTR,*LPSTR,DWORD,*DWORD,*DWORD,*DWORD,| *LPSTR ,DWORD),BOOL,PASCAL,RAW GetLastError(),DWORD,PASCAL FormatMessageA(DWORD,LPCVOID,DWORD,DWORD,*LPSTR,DWORD,va_list),DWORD,PASCAL,RAW END *** Some code: GetVolumeID ROUTINE LOC:RootPathName = CHR(64+LOC:Entries) & ':\' LOC:VolNameSize = SIZE(LOC:VolNameBuffer) LOC:FileSystemSize = SIZE(LOC:FileSystem) X# = GetVolumeInformationA(LOC:RootPathName, | LOC:VolNameBuffer, | LOC:VolNameSize, | LOC:VolSerialNr, | LOC:MaxFCL, | LOC:MaxFCF, | LOC:FileSystem, | LOC:FileSystemSize) LOC:VolNameBuffer = LOWER(LOC:VolNameBuffer) Variables: LOC:RootPathName CSTRING(255) LOC:VolNameBuffer CSTRING(255) LOC:VolNameSize ULONG LOC:VolSerialNr ULONG LOC:MaxFCL ULONG LOC:MaxFCF ULONG LOC:FileSystem CSTRING(255) LOC:FileSystemSize LONG


Today is November 23, 2024, 2:16 am
This article has been viewed 35229 times.



Back to article list   Search Articles   Add Comment   Printer friendly

Login

User Name:

Password: