다음을 통해 공유


PsReferenceImpersonationToken 함수(ntifs.h)

PsReferenceImpersonationToken 루틴은 지정된 스레드에 대한 가장 토큰의 참조 수를 증가합니다.

구문

PACCESS_TOKEN PsReferenceImpersonationToken(
  [in, out] PETHREAD                      Thread,
  [out]     PBOOLEAN                      CopyOnOpen,
  [out]     PBOOLEAN                      EffectiveOnly,
  [out]     PSECURITY_IMPERSONATION_LEVEL ImpersonationLevel
);

매개 변수

[in, out] Thread

가장 토큰의 참조 수를 증분할 스레드의 주소입니다.

[out] CopyOnOpen

호출자가 할당한 부울 변수에 대한 포인터입니다. 반환 시 토큰을 직접 열 수 없는 경우 이 매개 변수는 TRUE를 받습니다. 이 경우 토큰을 복제해야 하며 중복 토큰을 대신 사용해야 합니다. 토큰을 직접 열 수 있으면 이 매개 변수는 FALSE를 받습니다.

[out] EffectiveOnly

호출자가 할당한 부울 변수에 대한 포인터입니다. 반환 시 이 매개 변수는 스레드가 클라이언트 보안 컨텍스트에서 현재 사용하지 않도록 설정된 그룹 및 권한을 사용하도록 허용된 경우 FALSE를 수신합니다. 그렇지 않으면 TRUE입니다.

[out] ImpersonationLevel

호출자가 할당한 SECURITY_IMPERSONATION_LEVEL 변수에 대한 포인터입니다. 반환 시 이 매개 변수는 스레드가 토큰에 액세스할 수 있는 가장 수준을 지정하는 값을 받습니다.

반환 값

PsReferenceImpersonationToken 은 지정된 스레드에 대한 가장 토큰에 대한 포인터를 반환합니다. 스레드가 현재 클라이언트를 가장하지 않으면 NULL 포인터가 반환됩니다.

설명

스레드가 현재 클라이언트를 가장하는 경우 PsReferenceImpersonationToken 은 가장 토큰의 참조 수를 증가시키고 토큰에 대한 포인터를 반환합니다. 반환된 포인터가 NULL이 아닌 경우 다음 함수 중 하나를 호출하여 가장 토큰의 참조 수를 줄여야 합니다.

  • Windows 2000용 ObDereferenceObject
  • PsDereferenceImpersonationToken, Microsoft Windows XP 이상용

보안 및 액세스 제어에 대한 자세한 내용은 드라이버 개발자를 위한 Windows 보안 모델 및 Windows SDK의 이러한 topics 대한 설명서를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000
대상 플랫폼 유니버설
헤더 ntifs.h(FltKernel.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport)

추가 정보

ObDereferenceObject

PsDereferenceImpersonationToken

PsImpersonateClient

SECURITY_IMPERSONATION_LEVEL