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