Bagikan melalui


Fungsi SaferComputeTokenFromLevel (winsafer.h)

Fungsi SaferComputeTokenFromLevel membatasi token menggunakan pembatasan yang ditentukan oleh SAFER_LEVEL_HANDLE.

Sintaks

BOOL SaferComputeTokenFromLevel(
  [in]                SAFER_LEVEL_HANDLE LevelHandle,
  [in, optional]      HANDLE             InAccessToken,
  [out]               PHANDLE            OutAccessToken,
  [in]                DWORD              dwFlags,
  [in, out, optional] LPVOID             lpReserved
);

Parameter

[in] LevelHandle

SAFER_LEVEL_HANDLE yang berisi pembatasan untuk ditempatkan pada token input. Jangan meneruskan handel dengan LevelId SAFER_LEVELID_FULLYTRUSTED atau SAFER_LEVELID_DISALLOWED ke fungsi ini. Ini karena SAFER_LEVELID_FULLYTRUSTED tidak dibatasi dan SAFER_LEVELID_DISALLOWED tidak berisi token.

[in, optional] InAccessToken

Token yang akan dibatasi. Jika parameter ini NULL, token utas saat ini akan digunakan. Jika utas saat ini tidak berisi token, token proses saat ini digunakan.

[out] OutAccessToken

Token terbatas yang dihasilkan.

[in] dwFlags

Menentukan perilaku metode . Nilainya bisa NULL atau satu atau beberapa nilai berikut yang digabungkan dengan menggunakan operasi bitwise-OR.

Nilai Makna
SAFER_TOKEN_NULL_IF_EQUAL
1 (0x1)
Jika parameter OutAccessToken tidak lebih ketat daripada parameter InAccessToken , parameter OutAccessToken mengembalikan NULL.
SAFER_TOKEN_COMPARE_ONLY
2 (0x2)
Token yang ditentukan oleh parameter InAccessToken dibandingkan dengan token yang akan dibuat jika pembatasan yang ditentukan oleh parameter LevelHandle diterapkan. Token terbatas sebenarnya tidak dibuat.

Pada output, nilai parameter lpReserved menentukan hasil perbandingan.

SAFER_TOKEN_MAKE_INERT
4 (0x4)
Jika bendera ini diatur, sistem tidak memeriksa aturan AppLocker atau menerapkan Kebijakan Pembatasan Perangkat Lunak. Untuk AppLocker, bendera ini menonaktifkan pemeriksaan untuk keempat koleksi aturan: Executable, Windows Installer, Script, dan DLL.

Atur bendera ini saat membuat program penyetelan yang harus menjalankan DLL yang diekstrak selama penginstalan.

Token dapat dikueri untuk keberadaan bendera ini dengan menggunakan GetTokenInformation.

Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: AppLocker tidak didukung.

SAFER_TOKEN_WANT_FLAGS
8 (0x8)
Pada output, nilai parameter lpReserved menentukan kumpulan bendera yang digunakan untuk membuat token terbatas.

[in, out, optional] lpReserved

Jika bendera SAFER_TOKEN_COMPARE_ONLY diatur, parameter ini, pada output, menentukan hasil perbandingan token. Nilai output adalah LPDWORD. Nilai –1 menunjukkan bahwa token yang dihasilkan akan kurang istimewa daripada token yang ditentukan oleh parameter InAccessToken .

Jika bendera SAFER_TOKEN_WANT_FLAGS diatur, dan bendera SAFER_TOKEN_COMPARE_ONLY tidak diatur, parameter ini adalah nilai LPDWORD yang menentukan bendera yang digunakan untuk membuat token terbatas.

Nilai kembali

TRUE jika fungsi berhasil; jika tidak, FALSE. Untuk informasi yang diperluas, hubungi GetLastError.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header winsafer.h
Pustaka Advapi32.lib
DLL Advapi32.dll
Set API ext-ms-win-advapi32-safer-l1-1-0 (diperkenalkan dalam Windows 8)