Функция ExReleaseResourceForThreadLite (wdm.h)
Подпрограмма ExReleaseResourceForThreadLite освобождает входной ресурс указанного потока.
Синтаксис
void ExReleaseResourceForThreadLite(
[in, out] PERESOURCE Resource,
[in] ERESOURCE_THREAD ResourceThreadId
);
Параметры
[in, out] Resource
Указатель на ресурс для выпуска.
[in] ResourceThreadId
Определяет поток, который первоначально приобрел ресурс. Если этот поток не выполняется в данный момент, вызывающий объект должен передать владение ресурсом путем вызова подпрограммы ExSetResourceOwnerPointerEx сначала на потоке, который первоначально приобрел ресурс.
Возвращаемое значение
Никакой
Замечания
Если этот поток не выполняется в данный момент, вызывающий объект должен передать владение ресурсом путем вызова подпрограммы ExSetResourceOwnerPointerEx сначала на потоке, который первоначально приобрел ресурс. Это необходимо, чтобы поток A не был завершен или удален до того, как поток B может освободить ресурс.
Если вызывающий объект не запущен в системном потоке, вызывающий объект должен явно отключить доставку обычных API ядра перед вызовом этой процедуры. Это требование предотвращает приостановку потоков во время работы или хранения ресурса. Вызывающий объект может отключить обычную доставку APC ядра, вызвав подпрограмму KeEnterCriticalRegion. Доставка должна оставаться отключенной до тех пор, пока ресурс не будет освобожден, в какой момент его можно повторно включить, вызвав подпрограмму KeLeaveCriticalReg ion. Дополнительные сведения см. в разделе Отключение API.
Это требование не применяется к вызовам ExReleaseResourceForThreadLite из системного потока. Вызывающий объект, работающий в системном потоке, не должен явно отключать API перед вызовом этой процедуры.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 2000. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
правил соответствия DDI | ExclusiveResourceAccess(wdm), HwStorPortProhibitedDDIs(storport), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm) |
См. также
ExAcquireResourceExclusiveLite
ExAcquireSharedStarveExclusive