Функция ExTryConvertSharedSpinLockExclusive (wdm.h)
Подпрограмма ExTryConvertSharedSpinLockExclusive пытается преобразовать состояние доступа для блокировки спина из полученного для общего доступа в монопольный.
Синтаксис
LOGICAL ExTryConvertSharedSpinLockExclusive(
[in, out] PEX_SPIN_LOCK SpinLock
);
Параметры
[in, out] SpinLock
Указатель на блокировку спина, состояние доступа которой должно быть преобразовано в монопольный доступ. Вызывающий объект уже должен владеть этой спиновой блокировкой для общего доступа.
Возвращаемое значение
ExTryConvertSharedSpinLockExclusive возвращает значение TRUE, если преобразование выполнено успешно; В противном случае возвращается значение FALSE.
Комментарии
Если вызывающий объект получил общую блокировку спина, вызвав подпрограмму ExAcquireSpinLockSharedAtDpcLevel , вызывающий объект должен освободить преобразованную спиновую блокировку, вызвав подпрограмму ExReleaseSpinLockExclusiveFromDpcLevel . Если вызывающий объект получил общую спиновую блокировку путем вызова подпрограммы ExAcquireSpinLockShared , вызывающий объект должен освободить преобразованную спиновую блокировку, вызвав подпрограмму ExReleaseSpinLockExclusive , а значение OldIrql , предоставленное в качестве входного параметра для этой подпрограммы, должно быть значением KIRQL, возвращенным ExAcquireSpinLockShared.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | wdm.h |
Библиотека | Ntoskrnl.lib |
IRQL | DISPATCH_LEVEL |