Fungsi NCryptSetProperty (ncrypt.h)

Fungsi NCryptSetProperty menetapkan nilai untuk properti bernama untuk objek penyimpanan kunci CNG.

Sintaks

SECURITY_STATUS NCryptSetProperty(
  [in] NCRYPT_HANDLE hObject,
  [in] LPCWSTR       pszProperty,
  [in] PBYTE         pbInput,
  [in] DWORD         cbInput,
  [in] DWORD         dwFlags
);

Parameter

[in] hObject

Handel objek penyimpanan kunci untuk mengatur properti .

[in] pszProperty

Penunjuk ke string Unicode yang dihentikan null yang berisi nama properti yang akan diatur. Ini bisa menjadi salah satu Pengidentifikasi Properti Penyimpanan Kunci yang telah ditentukan sebelumnya atau pengidentifikasi properti kustom.

[in] pbInput

Alamat buffer yang berisi nilai properti baru. Parameter cbInput berisi ukuran buffer ini.

[in] cbInput

Ukuran, dalam byte, dari buffer pbInput .

[in] dwFlags

Bendera yang mengubah perilaku fungsi. Ini bisa menjadi nol atau kombinasi dari satu atau beberapa nilai berikut.

Nilai Makna
NCRYPT_PERSIST_FLAG
Properti harus disimpan dalam penyimpanan kunci bersama dengan materi kunci. Bendera ini hanya dapat digunakan ketika parameter hObject adalah handel dari kunci yang bertahan. Ukuran maksimum data untuk properti yang bertahan adalah NCRYPT_MAX_PROPERTY_DATA byte.
NCRYPT_PERSIST_ONLY_FLAG
Jangan timpa nilai bawaan apa pun untuk properti ini dan hanya atur properti kunci yang dipertahankan pengguna. Ukuran maksimum data untuk properti yang bertahan adalah NCRYPT_MAX_PROPERTY_DATA byte. Bendera ini tidak dapat digunakan dengan properti NCRYPT_SECURITY_DESCR_PROPERTY .
NCRYPT_SILENT_FLAG
Meminta agar penyedia layanan utama (KSP) tidak menampilkan antarmuka pengguna apa pun. Jika penyedia harus menampilkan UI untuk beroperasi, panggilan gagal dan KSP harus mengatur kode kesalahan NTE_SILENT_CONTEXT sebagai kesalahan terakhir.
 

Untuk properti NCRYPT_SECURITY_DESCR_PROPERTY , parameter ini juga harus berisi salah satu nilai berikut, yang mengidentifikasi bagian dari deskriptor keamanan yang akan diatur.

Nilai Makna
OWNER_SECURITY_INFORMATION
Atur pengidentifikasi keamanan (SID) pemilik objek. Gunakan fungsi SetSecurityDescriptorOwner untuk mengatur SID pemilik dalam struktur SECURITY_DESCRIPTOR .
GROUP_SECURITY_INFORMATION
Atur SID grup utama objek. Gunakan fungsi SetSecurityDescriptorGroup untuk mengatur SID grup dalam struktur SECURITY_DESCRIPTOR .
DACL_SECURITY_INFORMATION
Atur daftar kontrol akses diskresi (DACL). Gunakan fungsi SetSecurityDescriptorDacl untuk mengatur DACL dalam struktur SECURITY_DESCRIPTOR .
SACL_SECURITY_INFORMATION
Atur daftar kontrol akses sistem (SACL). Gunakan fungsi SetSecurityDescriptorSacl untuk mengatur SACL dalam struktur SECURITY_DESCRIPTOR .
LABEL_SECURITY_INFORMATION
Atur entri kontrol akses label wajib di SACL objek. Gunakan fungsi SetSecurityDescriptorSacl untuk mengatur SACL dalam struktur SECURITY_DESCRIPTOR . Untuk informasi selengkapnya tentang entri kontrol akses label wajib, lihat Desain Mekanisme Integritas Windows.

Mengembalikan nilai

Mengembalikan kode status yang menunjukkan keberhasilan atau kegagalan fungsi.

Kemungkinan kode pengembalian termasuk, tetapi tidak terbatas pada, berikut ini.

Menampilkan kode Deskripsi
ERROR_SUCCESS
Fungsi berhasil.
NTE_BAD_FLAGS
Parameter dwFlags berisi nilai yang tidak valid.
NTE_INVALID_HANDLE
Parameter hObject tidak valid.
NTE_INVALID_PARAMETER
Satu atau beberapa parameter tidak valid.
NTE_NO_MEMORY
Terjadi kegagalan alokasi memori.
NTE_NOT_SUPPORTED
Properti yang ditentukan tidak didukung untuk objek.

Keterangan

Layanan tidak boleh memanggil fungsi ini dari Fungsi StartService-nya. Jika layanan memanggil fungsi ini dari fungsi StartService-nya, kebuntuan dapat terjadi, dan layanan mungkin berhenti merespons.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header ncrypt.h
Pustaka Ncrypt.lib
DLL Ncrypt.dll