Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма FltAcquirePushLockSharedEx получает указанную блокировку push-уведомлений для общего доступа вызывающим потоком.
Синтаксис
VOID FLTAPI FltAcquirePushLockSharedEx(
PEX_PUSH_LOCK PushLock,
ULONG Flags
);
Параметры
PushLock
Непрозрачный указатель блокировки принудительной блокировки. Этот указатель должен быть инициализирован предыдущим вызовом FltInitializePushLock.
Flags
Битовая маска флагов, управляющих атрибутами блокировки.
Возвращаемое значение
Никакой.
Замечания
Подпрограмма FltAcquirePushLockSharedEx получает указанную блокировку push-уведомлений для общего доступа вызывающим потоком.
Блокировки push-уведомлений похожи на структуры ERESOURCE (также называемые ресурсами), в том, что они могут быть приобретены для общего или эксклюзивного доступа. Дополнительные сведения о push-блокировках см. в справочной записи для FltInitializePushLock.
В отличие от структур ERESOURCE, блокировки push-уведомлений нельзя получить рекурсивно. Если вызывающий объект уже приобрел блокировку принудительной передачи для эксклюзивного доступа, система зависнет. Если вызывающий объект уже приобрел блокировку push-уведомлений для общего доступа, он может снова получить общий доступ. Однако каждый вызов FltAcquirePushLockShared должен соответствовать последующему вызову FltReleasePushLock.
Когда вызывающий объект получит общий доступ к заданной блокировке push-уведомлений, зависит от следующего:
Если блокировка принудительной передачи в настоящее время не защищена, общий доступ предоставляется немедленно текущему потоку.
Если блокировка push-уведомлений уже была приобретена для общего доступа другим потоком, и поток не ожидает монопольного доступа к принудительной блокировке, общий доступ предоставляется вызывающему объекту немедленно. Вызывающий объект помещается в состояние ожидания, если есть эксклюзивный официант.
Если блокировка принудительной передачи уже была приобретена для монопольного доступа другим потоком или если существует другой поток, ожидающий монопольного доступа, текущий поток помещается в состояние ожидания до тех пор, пока блокировка принудительной передачи не будет получена.
Требования
| Требование | Ценность |
|---|---|
| заголовка | fltkernel.h |
| библиотеки | FltMgr.lib |