كيفية الحصول على معلومات الدليل عبر Windows Native API؟
سؤال
يمكنني الحصول على تاريخ تم إنشاؤه وحجم الملف وما إلى ذلك ملف باستخدام الرمز التالي:
// Error handling removed for brevity
HANDLE hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
LARGE_INTEGER fileSize;
GetFileSizeEx(hFile, &fileSize);
FILE_BASIC_INFO fileInfo);
GetFileInformationByHandle(hFile, FileBasicInfo, fileInfo, sizeof(fileInfo));
ولكن عندما يتم استدعاؤه مقابل دليل ، يتم تعيين جميع القيم على الصفر - كيف يمكنني الحصول على معلومات الدليل؟
شكرًا
المحلول
واجهت شيئًا كهذا بمجرد أن تضطر إلى تمرير هذه العلامة للحصول على مقبض صالح لدليل. من MSDN توثيق.
جرب هذا
HANDLE hFile = CreateFile(path, GENERIC_READ, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_BACKUP_SEMANTICS, NULL);
FILE_FLAG_BACKUP_SEMANTICS
| يجب عليك تعيين هذه العلامة للحصول على مقبض إلى دليل. يمكن تمرير مقبض الدليل إلى بعض الوظائف بدلاً من مقبض الملفات. لمزيد من المعلومات ، راجع قسم الملاحظات.
لا تنتمي إلى StackOverflow