Функция IoCheckShareAccessEx (wdm.h)
Подпрограмма IoCheckShareAccessEx вызывается драйверами файловой системы (FSD) или другими драйверами верхнего уровня, чтобы проверить, разрешен ли общий доступ к объекту файла.
Синтаксис
NTSTATUS IoCheckShareAccessEx(
[in] ACCESS_MASK DesiredAccess,
[in] ULONG DesiredShareAccess,
[in, out] PFILE_OBJECT FileObject,
[in, out] PSHARE_ACCESS ShareAccess,
[in] BOOLEAN Update,
[in] PBOOLEAN WritePermission
);
Параметры
[in] DesiredAccess
Указывает значение ACCESS_MASK, указывающее требуемый тип доступа к заданному объекту файла.
[in] DesiredShareAccess
Указывает требуемый тип общего доступа к объекту файла для текущего открытого запроса. Значение этого параметра обычно совпадает с параметром ShareAccess, передаваемым в файловую систему или драйвером высокого уровня диспетчером операций ввода-вывода при выполнении открытого запроса. Это значение может быть равно нулю или любому сочетанию следующих значений:
FILE_SHARE_READ
FILE_SHARE_WRITE
FILE_SHARE_DELETE
[in, out] FileObject
Указатель на объект файла, для которого требуется проверить доступ к текущему открытому запросу.
[in, out] ShareAccess
Указатель на общую структуру данных общего доступа, связанную с FileObject. Драйверы должны рассматривать эту структуру как непрозрачную.
[in] Update
Указывает, следует ли обновлять состояние общего доступа для FileObject. Логическое значение TRUE означает, что эта подпрограмма обновит сведения о доступе к общей папке для объекта файла, если разрешен открытый запрос.
[in] WritePermission
Указывает, имеет ли общий доступ разрешение на запись. Это значение равно TRUE, если у общей папки есть разрешение на запись; в противном случае — ЗНАЧЕНИЕ FALSE. Если значение равно FALSE, а доступ к общей папке имеет разрешение на запись, и вызывающий пытается получить монопольный доступ на чтение, разрешение записи будет понижено до FILE_SHARE_READ. Это значение равно NULL, если проверка разрешений на запись не выполняется при доступе к общей папке.
Возвращаемое значение
Подпрограмма IoCheckShareAccessEx STATUS_SUCCESS возвращает STATUS_SUCCESS, если доступ запрашивающего к объекту файла совместим с тем, как он открыт в данный момент. Если запрос отклоняется из-за нарушения общего доступа, возвращается STATUS_SHARING_VIOLATION.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows 7 и более поздних версиях Windows. |
целевая платформа | Всеобщий |
заголовка | wdm.h |
библиотеки | Ntoskrnl.lib |