تابع GetVolumeInformation

هدف
این تابع اطلاعات مربوط به یک دیسک درایو از قبیل نوع فایل سیستم ، برچسب ، شماره سریال و ... را برمی گرداند .

فراخوانی در
Delphi
این تابع در کتابخانه Windows از دلفی تعریف شده است .
function GetVolumeInformation ( lpRootPathPathName: PChar;
lpVolumeNameBuffer: Pchar; nVolumeNameSize: DWORD;
lpVolumeSerialNumber: PDWORD;
var lpMaximumComponentLength, lpFileSystemFlags: DWORD;
lpFileSystemNameBuffer: PChar; nFileSystemNameSize: DWORD ): BOOL;

پارمترها
LpRootPathName : این پارامتر از نوع رشته بوده و نام درایو مورد نظر را مشخص می کند .
LpVolumeNameBuffer : این متغیر از نوع رشته بوده و برچسب (Label) دیسک درایو مورد نظر را بر می گرداند .
lpVolumeNameSize : این متغیر از نوع عددی بوده و فضای لازم برای متغیری که شامل برچست می باشد را مشخص می کند .
lpVolumeSerialNumber : این متغیر اشاره گر به عددی می باشد که شماره سریال دیسک درایو می باشد .
lpMaximumComponentLength : این متغیر نیز از نوع عددی بوده و حداکثر طول فایل سیستم را بر می گرداند .
lpFileSystemFlags : این پارامتر از نوع عددی بوده ، و یکی از مقادیر زیر می تواند باشد :
  1. FS_CASE_IS_PRESERVED : اگر برابر با این Flag باشد فایل سیستم از قالب نام فایل در دیسک حفاظت می کند .
  2. FS_CASE_INSENSITIVE : اگر برابر با این Flag باشد ، فایل سیستم از حالت Case Insensitive (حساس به قالب) پشتیبانی می کند .
  3. FS_UNICODE_STORED_ON_DISK : اگر برابر با این Flag باشد ، فایل سیستم از Unicode پشتیبانی می کند .
  4. FS_PERSISTENT_ACLS : اگر برابر با این Flag باشد ، فایل سیستم از ACL حفاظت می کند . سیستم NTFS از ACL پشتیبانی می کند ولی FAT از ACL حفاظت نمی کند (AccessControlList) .
  5. FS_FILE_COMPRESSION : اگر برابر با این Flag باشد ، فایل سیستم از فایلهای فشرده شده پشتیبانی می کند .
  6. FS_VOL_IS_COMPRESSION : اگر برابر با این Flag باشد ، فایل سیستم از برچست درایوهای فشرده ، با استفاده از Double Space پشتیبانی می کند .



lpFileSystemNumberBuffer : این پارامتر از نوع رشته بوده و نام فایل سیستم را برمی گرداند .
lpFileSystemNameSize : این پارامتر از نوع عددی بوده و مقدار فضای لازم برای متغیر نام فایل سیستم را مشخص می کند .
خروجی تابع
اگر تابع کار خود را به درستی انجام دهد مقدار یک یا True و اگر کار خود را ناقص انجام دهد مقدار صفر یا False را برمی گرداند .