كيفية الحصول على معلومات الدليل عبر Windows Native API؟

StackOverflow https://stackoverflow.com/questions/2371204

  •  24-09-2019
  •  | 
  •  

سؤال

يمكنني الحصول على تاريخ تم إنشاؤه وحجم الملف وما إلى ذلك ملف باستخدام الرمز التالي:

// 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 | يجب عليك تعيين هذه العلامة للحصول على مقبض إلى دليل. يمكن تمرير مقبض الدليل إلى بعض الوظائف بدلاً من مقبض الملفات. لمزيد من المعلومات ، راجع قسم الملاحظات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top