проблема с FILE_ATTRIBUTE_ENCRYPTED
От: sc Россия  
Дата: 01.06.07 04:12
Оценка:
Зашифровал несколько файлов. Беру у них аттрибуты:
return (GetFileAttributes(fileName.c_str()) & FILE_ATTRIBUTE_ENCRYPTED) == FILE_ATTRIBUTE_ENCRYPTED;

Всегда false. В чем может быть проблема? Может нужно еще что-то сделать, вкл/выкл, чтобы это работало?
Re: проблема с FILE_ATTRIBUTE_ENCRYPTED
От: sc Россия  
Дата: 01.06.07 04:16
Оценка:
Добавлю: os — winxp, fs — ntfs
Re: проблема с FILE_ATTRIBUTE_ENCRYPTED
От: Аноним  
Дата: 01.06.07 06:45
Оценка:
sc>Зашифровал несколько файлов. Беру у них аттрибуты:
sc>
return (GetFileAttributes(fileName.c_str()) & FILE_ATTRIBUTE_ENCRYPTED) == FILE_ATTRIBUTE_ENCRYPTED;

sc>Всегда false. В чем может быть проблема? Может нужно еще что-то сделать, вкл/выкл, чтобы это работало?

Чему равно fileName?
Re[2]: проблема с FILE_ATTRIBUTE_ENCRYPTED
От: sc Россия  
Дата: 01.06.07 07:04
Оценка:
Здравствуйте, Аноним, Вы писали:

sc>>Зашифровал несколько файлов. Беру у них аттрибуты:

sc>>
return (GetFileAttributes(fileName.c_str()) & FILE_ATTRIBUTE_ENCRYPTED) == FILE_ATTRIBUTE_ENCRYPTED;

sc>>Всегда false. В чем может быть проблема? Может нужно еще что-то сделать, вкл/выкл, чтобы это работало?

А>Чему равно fileName?

полное имя файла, например d:\somedir\somefile.someext
хочу добавить что, например, с FILE_ATTRIBUTE_COMPRESSED работает нормально. странно, ничего не пойму.
может кто-нибудь встречался с такой проблемой?
Re[3]: проблема с FILE_ATTRIBUTE_ENCRYPTED
От: Аноним  
Дата: 01.06.07 07:18
Оценка:
sc>хочу добавить что, например, с FILE_ATTRIBUTE_COMPRESSED работает нормально. странно, ничего не пойму.
sc>может кто-нибудь встречался с такой проблемой?

Запускаешь прогу под тем же юзверем, под которым шифровал? Если под другим, то может не быть прав на получение метаданных (в т.ч. и атрибутов).
Re[4]: проблема с FILE_ATTRIBUTE_ENCRYPTED
От: sc Россия  
Дата: 01.06.07 08:17
Оценка:
Здравствуйте, Аноним, Вы писали:

sc>>хочу добавить что, например, с FILE_ATTRIBUTE_COMPRESSED работает нормально. странно, ничего не пойму.

sc>>может кто-нибудь встречался с такой проблемой?

А>Запускаешь прогу под тем же юзверем, под которым шифровал? Если под другим, то может не быть прав на получение метаданных (в т.ч. и атрибутов).

сам шифровал, сам пытаюсь получить аттрибуты файла. другие аттрибуты я получаю нормально, только с encrypted проблемы.
Re[2]: проблема с FILE_ATTRIBUTE_ENCRYPTED
От: MShura  
Дата: 01.06.07 14:06
Оценка: 2 (1)
sc>Добавлю: os — winxp, fs — ntfs

Возможно дело в том, что GetFileAttributes получает аттрибуты файла из директории.
В директории хранится копия того, что хранится в записи файла.
Копия по многим причинам может не совпадать с оригиналом.
chkdsk запущенный с ключем /f это исправит (но не сообщит об этом, поскольку такое рассогласование встречается очень часто)
Вы можете получить оригинальную информацию имея handle файла, воспользовавшись функцией GetFileInformationByHandle.
Re[3]: проблема с FILE_ATTRIBUTE_ENCRYPTED
От: sc Россия  
Дата: 02.06.07 14:53
Оценка:
Здравствуйте, MShura, Вы писали:

sc>>Добавлю: os — winxp, fs — ntfs


MS>Возможно дело в том, что GetFileAttributes получает аттрибуты файла из директории.

MS>В директории хранится копия того, что хранится в записи файла.
MS>Копия по многим причинам может не совпадать с оригиналом.
MS>chkdsk запущенный с ключем /f это исправит (но не сообщит об этом, поскольку такое рассогласование встречается очень часто)
MS>Вы можете получить оригинальную информацию имея handle файла, воспользовавшись функцией GetFileInformationByHandle.
спасибо за информацию. но почему-то не помогло. да и ладно, я пока отложу это, может само потом рассосется
Re: проблема с FILE_ATTRIBUTE_ENCRYPTED
От: Аноним  
Дата: 02.06.07 18:29
Оценка:
1. Что говорит GetLastError() сразу же после GetFileAttributes()?
2. Что возвращает GetFileAttributes()?
Re: проблема с FILE_ATTRIBUTE_ENCRYPTED
От: Cout  
Дата: 03.12.07 13:39
Оценка:
Здравствуйте, sc, Вы писали:

sc>Зашифровал несколько файлов. Беру у них аттрибуты:

sc>
return (GetFileAttributes(fileName.c_str()) & FILE_ATTRIBUTE_ENCRYPTED) == FILE_ATTRIBUTE_ENCRYPTED;

sc>Всегда false. В чем может быть проблема? Может нужно еще что-то сделать, вкл/выкл, чтобы это работало?

В шестой студии в WinNT.h
#define FILE_ATTRIBUTE_ENCRYPTED 0x00000040
В СДК (2003 помоему) в WinNT.h
#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000

При значении 0x00004000 все работает
Re[2]: проблема с FILE_ATTRIBUTE_ENCRYPTED
От: McQwerty Россия  
Дата: 03.12.07 14:26
Оценка:
Здравствуйте, Cout, Вы писали:

C>Здравствуйте, sc, Вы писали:


sc>>Зашифровал несколько файлов. Беру у них аттрибуты:

sc>>
return (GetFileAttributes(fileName.c_str()) & FILE_ATTRIBUTE_ENCRYPTED) == FILE_ATTRIBUTE_ENCRYPTED;

sc>>Всегда false. В чем может быть проблема? Может нужно еще что-то сделать, вкл/выкл, чтобы это работало?

C>В шестой студии в WinNT.h

C>#define FILE_ATTRIBUTE_ENCRYPTED 0x00000040
C>В СДК (2003 помоему) в WinNT.h
C>#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000

C>При значении 0x00004000 все работает


Вот засада! Скоро, как в линуксе, будем сто лет разбираться где и как мы запущены
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.