SeImpersonateClientEx 函式 (ntifs.h)
SeImpersonateClientEx 例程會導致線程模擬使用者。
語法
NTSTATUS SeImpersonateClientEx(
[in] PSECURITY_CLIENT_CONTEXT ClientContext,
[in, optional] PETHREAD ServerThread
);
參數
[in] ClientContext
使用者安全性客戶端內容的指標。
[in, optional] ServerThread
要模擬使用者之線程的指標。 如果未指定,則會使用呼叫線程。
傳回值
SeImpersonateClientEx 會傳回適當的 NTSTATUS 值,例如:
傳回碼 | Description |
---|---|
|
模擬嘗試成功。 |
|
ServerThread 參數中指定的線程沒有足夠的訪問許可權,無法模擬其安全性客戶端內容在 ClientContext 參數中指定的使用者。 |
|
在配置模擬資訊結構的記憶體時,SeImpersonateClientEx 遇到集區配置失敗。 |
備註
SeImpersonateClientEx 可用來讓線程模擬使用者。 ClientContext 中的用戶端安全性內容假設為最新狀態。
引發不受信任用戶線程的許可權狀態非常不安全, (採用使用者的線程並模擬 LocalSystem,例如) 。 如果未受信任的用戶線程已提高其許可權,則用戶可以在提升線程令牌之後擷取線程令牌,並破壞整個系統的安全性。
如果需要較高的許可權狀態,工作應該分派至工作佇列,讓系統背景工作線程可以安全地處理工作。 如此一來,就不需要模擬。
若要結束使用者的模擬,請呼叫 SeStopImpersonatingClient 例程。
PsImpersonateClient 例程可用來讓伺服器線程模擬用戶端。
如需安全性和訪問控制的詳細資訊,請參閱 適用於驅動程序開發人員的 Windows 安全性模型 ,以及 Windows SDK 中有關這些主題的檔。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 |
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |