ExReleaseResourceForThreadLite 함수(wdm.h)

ExReleaseResourceForThreadLite 루틴은 표시된 스레드의 입력 리소스를 해제합니다.

구문

void ExReleaseResourceForThreadLite(
  [in, out] PERESOURCE       Resource,
  [in]      ERESOURCE_THREAD ResourceThreadId
);

매개 변수

[in, out] Resource

해제할 리소스에 대한 포인터입니다.

[in] ResourceThreadId

원래 리소스를 획득한 스레드를 식별합니다. 현재 실행 중인 스레드가 아닌 경우 호출자는 원래 리소스를 획득한 스레드에서 ExSetResourceOwnerPointerEx 루틴을 먼저 호출하여 리소스의 소유권을 이전해야 합니다.

반환 값

없음

설명

현재 실행 중인 스레드가 아닌 경우 호출자는 원래 리소스를 획득한 스레드에서 ExSetResourceOwnerPointerEx 루틴을 먼저 호출하여 리소스의 소유권을 이전해야 합니다. 이는 스레드 B가 리소스를 해제하기 전에 스레드 A가 종료되거나 삭제되지 않도록 하기 위한 것입니다.

호출자가 시스템 스레드에서 실행되지 않는 한 호출자는 이 루틴을 호출하기 전에 일반 커널 APC의 배달을 명시적으로 사용하지 않도록 설정해야 합니다. 이 요구 사항은 리소스를 조작하거나 보유하는 동안 스레드가 일시 중단되지 않도록 방지합니다. 호출자는 KeEnterCriticalRegion 루틴을 호출하여 일반 커널 APC 배달을 사용하지 않도록 설정할 수 있습니다. 리소스가 해제될 때까지 배달을 사용하지 않도록 설정해야 하며, 이때 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), HwStorPortProhibitedDDIs(storport), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm)

추가 정보

ExAcquireResourceExclusiveLite

ExAcquireResourceSharedLite

ExAcquireSharedStarveExclusive

ExAcquireSharedWaitForExclusive

ExGetCurrentResourceThread

ExInitializeResourceLite

ExReinitializeResourceLite