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 のこれらのトピックに関するドキュメントを参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000
対象プラットフォーム ユニバーサル
Header ntifs.h (FltKernel.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport)

こちらもご覧ください

ObDereferenceObject

PsDereferenceImpersonationToken

PsImpersonateClient

SECURITY_IMPERSONATION_LEVEL