次の方法で共有


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以外の場合は、次のいずれかの関数を呼び出して、偽装トークンの参照カウントを減らす必要があります。

  • ObDereferenceObject(Windows 2000 用)
  • PsDereferenceImpersonationToken, Microsoft Windows XP 以降用

セキュリティとアクセス制御の詳細については、ドライバー開発者向けの Windows セキュリティ モデルの と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000
ターゲット プラットフォーム 万国
ヘッダー ntifs.h (FltKernel.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する hwStorPortProhibitedDDDIs(storport) する

関連項目

ObDereferenceObject

PsDereferenceImpersonationToken

PsImpersonateClient

SECURITY_IMPERSONATION_LEVEL