Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






DwFlagsAndAttributes





[in] Атрибуты и флажки файла.

Ниже следуют атрибуты и флажки файла, которые используются только для объектов файла, а не для других объектов, создаваемых функцией CreateFile.

Когда CreateFile открывает существующий файл, он объединяет флажки файла с существующими его атрибутами, но игнорирует любые предоставляемые атрибуты файла.

Этот параметр может включать в себя любую комбинацию атрибутов файла (заметьте, что все другие атрибуты файла не принимают во внимание атрибут FILE_ATTRIBUTE_NORMAL).

 

Атрибут Предназначение
FILE_ATTRIBUTE_ARCHIVE Файл должен быть архивирован. Приложения используют этот атрибут, чтобы отметить файлы для резервного копирования или перемещения.
FILE_ATTRIBUTE_ENCRYPTED Файл или каталог шифруются. Для файла, это означает, что все данные в файле зашифрованы. Для каталога, это означает, что шифрование - это значение по умолчанию для недавно созданных файлов и подкаталогов. Дополнительную информацию смотри в разделе Шифрование файла. Этот флажок не действует, если также установлен и флажок FILE_ATTRIBUTE_SYSTEM.
FILE_ATTRIBUTE_HIDDEN Файл скрытый. Он не должен включаться в обычный перечень файлов каталога.
FILE_ATTRIBUTE_NORMAL У файла нет других установленных атрибутов. Этот атрибут допустим только в том случае, если он используется один.
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED Файл не будет индексироваться службой индексации содержания.
FILE_ATTRIBUTE_OFFLINE Данные файла доступны не сразу. Этот атрибут указывает, что данные файла были физически перемещены на автономное хранилище данных. Этот атрибут используется Удаленным хранилищем, программой Иерархического управления памятью. Приложения произвольно не должно изменять этот атрибут.
FILE_ATTRIBUTE_READONLY Файл доступен только для чтения. Приложения могут читать файл, но не могут записать в него или удалить его.
FILE_ATTRIBUTE_SYSTEM Файл является частью или используется исключительно операционной системой.
FILE_ATTRIBUTE_TEMPORARY Файловые системы избегают писать данные обратно на запоминающее устройство большой емкости, если доступна достаточная кэш-память, потому что приложение часто удаляет временный файл вскоре после того, как дескриптор закрывается. В этом случае, система может полностью отменить запись данных. В противном случае, данные должны быть записаны после закрытия дескриптора.

 

Этот параметр может включать в себя также и любую комбинацию нижеследующих флажков.

Флажок Предназначение
FILE_FLAG_WRITE_THROUGH Предписывает системе не записывать через посредство какого-либо промежуточного кэша, а перейти непосредственно на диск. Если флажок FILE_FLAG_NO_BUFFERING также не определен, так, чтобы кэширование системы было в действительности, то данные записываются в системном КЭШе, но сбрасываются на диск без задержки. Если к тому же FILE_FLAG_NO_BUFFERING определен так, чтобы кэширование системы не действовало, то данные немедленно сбрасываются на диск, минуя системный кэш. Операционная система также требует сквозной записи через кэш жесткого диска для постоянных носителей информации. Однако, не все аппаратные средства поддерживают эту способность сквозной записи.
FILE_FLAG_OVERLAPPED Файл открывается или создается для асинхронного ввода - вывода (I/O). Когда операция заканчивается, событие, определенное для вызова структуры OVERLAPPED устанавливается в сигнальное состояние. Операции, которые забирают значительное время для обработки данных возвращают значение ERROR_IO_PENDING. Если этот флажок устанавливается, файл может использоваться для совместных операций чтения и записи. Система не обслуживает указатель позиции в файле, поэтому Вы должны передавать позицию в файле в функции чтения и записи в структуре OVERLAPPEDили обновлять указатель позиции в файле. Когда Вы устанавливаете флажок FILE_FLAG_OVERLAPPED, функции чтение и записи файла должны установить структуру OVERLAPPED. То есть, когда определен флажок FILE_FLAG_OVERLAPPED, приложение должно исполнять перекрывающее (асинхронное) чтение и запись. Если этот флажок не определен, то операции ввода-вывода (I/O) преобразуются в последовательную форму, даже если функциям чтения и записи определяется вызов структуры OVERLAPPED.
FILE_FLAG_NO_BUFFERING Система должна открыть файл без системного кэширования. Этот флажок не имеет никакого действия на кэширование жесткого диска. Когда объединяется с FILE_FLAG_OVERLAPPED, флажок дает максимальную асинхронную производительность, потому что ввод - вывод (I/O) не опирается на синхронные операции модуля управления памятью. Однако, некоторые операции ввода-вывода (I/O) забирают больше времени, потому что данные не поддерживаются в КЭШе. Притом, метаданные файла могут все же кэшироваться. Чтобы сбросить метаданные на диск, используйте функцию FlushFileBuffers. Приложение должно удовлетворять некоторым требованиям, когда работает с файлами открытыми при помощиFILE_FLAG_NO_BUFFERING:
  • Доступ к файлу должен начинаться при смещениях байтов в пределах файла, которые являются кратными размеру сектора тома*.
* Примечание переводчика: том - логический раздел диска, создаваемый при его форматировании.
  • Доступ к файлу должен быть равен числу байтов, которые являются кратными размеру сектора тома. Например, если размер сектора - 512 байтов, приложение может запросить чтение и запись 512, 1024, или 2048 байтов, а не 335, 981 или 7171 байтов.
  • Адреса буферов для операций чтения и записи должны быть выровнены по сектору (выровнены по адресам в памяти, которые являются кратными размеру сектора тома). В зависимости от диска, это требование может быть не реализовано.
Одним из способов выравнивания буфера кратно размеру сектора тома, является использование функцииVirtualAlloc, которая назначает буфера. Она выделяет память, выровненную по адресам, которые являются кратными размеру страницы памяти операционной системы. Поскольку и страница памяти, и размеры сектора тома являются степенью 2, эта память также выравнивается по адресам, которые являются кратными размеру сектора тома. Приложение может выяснить размер сектора тома при помощи вызова функции GetDiskFreeSpace.
FILE_FLAG_RANDOM_ACCESS Указывает на получение произвольного доступа к файлу. Система может использовать это как указание, чтобы оптимизировать кэширование файлов.
FILE_FLAG_SEQUENTIAL_SCAN Указывает на получение последовательного доступа к файлу от начала до конца. Система может использовать это как указание, чтобы оптимизировать кэширование файлов. Если приложение перемещает указатель для произвольного доступа к файлу, оптимума кэширования может не произойти; однако, корректная операция все еще гарантируется. Установка этого флажка может увеличить производительность приложений, которые читают большие файлы, используя последовательный доступ. Прирост производительности может быть ещё более заметным для приложений, которые читают большие файлы главным образом последовательно, но иногда перескакивают на небольшие последовательности байтов.
FILE_FLAG_DELETE_ON_CLOSE Система должна удалить файл немедленно после того, как все его дескрипторы были закрыты, не только заданный дескриптор, но также и любые другие открытые или дублированные дескрипторы. Если существуют открытые дескрипторы файлов, вызовы завершаются ошибкой, если они не были все открыты с режимом совместного доступа FILE_SHARE_DELETE. Последовательные запросы на открытие файла завершатся ошибкой, если не используется флажок режима совместного доступа FILE_SHARE_DELETE.
FILE_FLAG_BACKUP_SEMANTICS Файл открывается или создается для операции восстановления, или резервного копирования. Система гарантирует, что вызывающий процесс отменяет проверку безопасности файла, обеспечивая его привилегиямиSE_BACKUP_NAME и SE_RESTORE_NAME. Подробную информацию, см. в статье Изменение привилегий в маркере. Вы можете также установить этот флажок, чтобы получить дескриптор каталога. Дескриптор каталога может передаваться некоторым функциям вместо дескриптора файла. Дополнительную информацию смотри в статьеПолучение дескриптора каталога. Windows Me/98/95: Этот флажок не поддерживается.
FILE_FLAG_POSIX_SEMANTICS Указывает на получение доступа к файлу согласно правилам POSIX. Они включают разрешение нескольким файлам иметь имена, которые отличаются только регистром, если файловые системы поддерживают такое именование. Используйте осторожно этот параметр, потому что файлы, созданные с этим флажком не могут быть доступны приложениям, написанным для MS DOS или 16-битового Windows.
FILE_FLAG_OPEN_REPARSE_POINT Система должна запретить режим работы монтирования в точках повторной обработки NTFS. Когда файл открывается, дескриптор файла возвращается, является ли фильтр, который управляет точкой монтирования, рабочим или нет. Этот флажок не может использоваться с флажком CREATE_ALWAYS.
FILE_FLAG_OPEN_NO_RECALL Указывает, что требуются данные файла, но они должны продолжать постоянно находиться в удаленном хранилище. Они не должны переноситься обратно на локальное запоминающее устройство. Этот флажок предназначен для использования системами удаленных хранилищ.

 

Если функция CreateFile открывает клиентскую сторону именованного канала, параметр dwFlagsAndAttributes может также содержать и информацию о Качестве службы системы безопасности. Подробную информацию см. в статье Уровни заимствования прав. Когда вызывающая программа устанавливает флажок SECURITY_SQOS_PRESENT, параметр dwFlagsAndAttributes может содержать одно или несколько нижеследующих значений.

Значение Предназначение
SECURITY_ANONYMOUS Представляет клиента на Анонимном уровне заимствования прав.
SECURITY_IDENTIFICATION Представляет клиента на Идентифицирующем уровне заимствования прав.
SECURITY_IMPERSONATION Представляет клиента на Инперсонирующем * уровне заимствования прав. Примечание переводчика: инперсонация - выдача себя за кого-либо другого
SECURITY_DELEGATION Представляет клиента на Делегирующем уровне заимствования прав.
SECURITY_CONTEXT_TRACKING Отслеживающий режим системы безопасности является динамическим. Если этот флажок не установлен, отслеживающий режим системы безопасности, является статическим.
SECURITY_EFFECTIVE_ONLY Серверу доступно содержание только разрешенное конфигурацией системы безопасности клиента. Если Вы не устанавливаете этот флажок, доступным становится содержание всех конфигураций системы безопасности клиента. Это дает возможность клиенту ограничивать группы и права доступа, которые сервер может использовать при исполнении роли клиента.

 

Date: 2015-07-27; view: 529; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию