Bagikan melalui


Fungsi NCryptGetProperty (ncrypt.h)

Fungsi NCryptGetProperty mengambil nilai properti bernama untuk objek penyimpanan kunci.

Sintaks

SECURITY_STATUS NCryptGetProperty(
  [in]  NCRYPT_HANDLE hObject,
  [in]  LPCWSTR       pszProperty,
  [out] PBYTE         pbOutput,
  [in]  DWORD         cbOutput,
  [out] DWORD         *pcbResult,
  [in]  DWORD         dwFlags
);

Parameter

[in] hObject

Handel objek untuk mendapatkan properti . Ini bisa menjadi handel penyedia (NCRYPT_PROV_HANDLE) atau handel kunci (NCRYPT_KEY_HANDLE).

[in] pszProperty

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

[out] pbOutput

Alamat buffer yang menerima nilai properti. Parameter cbOutput berisi ukuran buffer ini.

Untuk menghitung ukuran yang diperlukan untuk buffer, atur parameter ini ke NULL. Ukuran, dalam byte, diperlukan dikembalikan di lokasi yang ditunjukkan oleh parameter pcbResult .

[in] cbOutput

Ukuran, dalam byte, dari buffer pbOutput .

[out] pcbResult

Penunjuk ke variabel DWORD yang menerima jumlah byte yang disalin ke buffer pbOutput .

Jika parameter pbOutput adalah NULL, ukuran, dalam byte, yang diperlukan untuk buffer ditempatkan di lokasi yang ditunjukkan oleh parameter ini.

[in] dwFlags

Bendera yang mengubah perilaku fungsi. Ini bisa nol atau nilai berikut.

Nilai Makna
NCRYPT_PERSIST_ONLY_FLAG
Abaikan nilai bawaan apa pun untuk properti ini dan hanya ambil properti kunci yang dipertahankan pengguna. Ukuran maksimum data untuk properti yang bertahan adalah NCRYPT_MAX_PROPERTY_DATA byte.
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 untuk diambil.

Nilai Makna
OWNER_SECURITY_INFORMATION
Ambil pengidentifikasi keamanan (SID) pemilik objek. Gunakan fungsi GetSecurityDescriptorOwner untuk mendapatkan SID pemilik dari struktur SECURITY_DESCRIPTOR .
GROUP_SECURITY_INFORMATION
Ambil SID grup utama objek. Gunakan fungsi GetSecurityDescriptorGroup untuk mendapatkan SID grup dari struktur SECURITY_DESCRIPTOR .
DACL_SECURITY_INFORMATION
Ambil daftar kontrol akses diskresi (DACL). Gunakan fungsi GetSecurityDescriptorSacl untuk mendapatkan DACL dari struktur SECURITY_DESCRIPTOR .
SACL_SECURITY_INFORMATION
Ambil daftar kontrol akses sistem (SACL). Gunakan fungsi GetSecurityDescriptorDacl untuk mendapatkan SACL dari struktur SECURITY_DESCRIPTOR .

Nilai kembali

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 fungsinya StartService , 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