どのようにWindowsのネイティブ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