يعطيني فتح مقبض على محرك أقراص فلاش رمز خطأ "وصول"
-
01-10-2019 - |
سؤال
أود أن أعرف لماذا عندما أحاول إنشاء مقبض على محرك أقراص فلاش USB ، أتلقى مسارًا لم يتم العثور عليه.
HANDLE aFile = CreateFile(_T("\\\\.\\F:\\"), GENERIC_READ, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (aFile == INVALID_HANDLE_VALUE)
{
printf("\n");
printf("Bad handle value. Error %d \n", GetLastError());
}
من هناك أريد قراءة دفق من 512 بايت (قطاع التمهيد) إلى ملف .bin ، لكن لا يبدو لي أن أتجاوز إنشاء المقبض أولاً. هل يمنع Windows التطبيقات من فتح مقبض إلى محركات أقراص قابلة للإزالة؟
المحلول
هذا الرمز لديه مشكلتان. أولا ، المسار. أنت في الواقع تحدد المجلد الجذر لمحرك الأقراص ؛ ما تحتاجه حقًا هو المجلد. قم بإزالة الذروة الخلفية الخلفية من المسار ؛ ie _t (". f:"). ثانياً ، تحتاج إلى تحديد file_share_read | file_share_write ؛ أنت تحاول فتحه في وضع حصري ، وسوف يفشل هذا. راجع وثائق MSDN لـ CreateFile لمزيد من المعلومات.
لا تنتمي إلى StackOverflow