CD-ROM
سكو :
Win9X, WinNT, WinME,
Win2000
زبان : تمام زبان های
كاربرد نویسی
تحت ویندوز
در این
شماره، روش پیدا
كردن درایو
CD-ROM بین
درایوهای
متعدد را شاهد خواهید
بود.
اصولا در نرم افزارهایی
كه بر روی
سیدی
عرضه می شوند،
داده ها و اطلاعات مورد نیاز
برنامه بر روی
سیدی
ذخیره می شوند
و برنامه هنگام اجرا داده های
مورد نیاز
خود را از روی
سیدی
مورد نظر می خواند؛
اما مشكل اصلی
اینجاست
كه بر روی هر كامپیوتر،
درایو
CD-ROM
با حرف خاصی
در دسترس است و هیچ
قاعده كلی
برای آن
وجود ندارد؛ به عنوان مثال بر روی
یك كامپیوتر،
CD-ROM
با حرف :G
مشخص شده و بر روی یك
كامپیوتر
دیگر با
حرف :I .
وظیفه یافتن
CD-ROM
حاوی
اطلاعات بر عهده برنامه می
باشد، به این
صورت كه برنامه پس از اجرا ابتدا درایو
CD-ROM
را پیدا
می كند و
پس از آن، اطلاعات و داده های
مورد نیاز
را از آن می خواند.
در
API
ویندوز،
تابعی
وجود دارد به اسم
GetDriveType
كه مشخصات كلی یك
درایو را
اعم از این
كه یك
درایو دیسكت
، دیسك
سخت،
CD-ROM
یا غیره
است به ما بازمی گرداند.
UINT GetDriveType
( LPCTSTR lpRootPathName)
پارامتری
كه به این
تابع ارسال می شود،
مسیر ریشه
درایو
مورد نظر است.
به عنوان مثال برای
بدست آوردن مشخصات درایو
:G این
رشته باید
محتوی :G
باشد و برای
درایو:A محتوی
:A
مقادیر
برگشتی
توسط این
تابع و معنی
آنها به صورت زیر
می باشد :
نوع درایو
مشخص نیست:
0
مسیر ریشه
مورد درخواست وجود ندارد: 1
:درایو مورد نظر یك درایو قابل جابجایی است:
DRIVE_REMOVABLE
درایو
مورد نظر ثابت بوده و قابل جابجایی
نیست:
DRIVE_FIXED
درایو
مورد نظر یك
درایو
شبكه ای
است:
DRIVE_REMOTE
درایو
مورد نظر یك
درایو
CD-ROM
است:
DRIVE_CDROM
درایو
مورد نظر یك
درایو
مجازی
RAM Drive است:
DRIVE_RAMDISK
با توجه به مقادیر
بالا كافی
است تابع فوق را برای
هر یك از
درایوهای
:A تا
:Z
فراخوانی
كنیم و
هر درایوی
كه مقدار بازگشتی
آن برابر
DRIVE_CDROM
بود، آن درایو یك
CD-ROM
است. علاوه بر این
می توان
درایوهای
شبكه ای و
كل درایوهای
معتبر را نیز
به كمك این
تابع بدست آورد.