Bagikan melalui


Fungsi NCryptEnumKeys (ncrypt.h)

Fungsi NCryptEnumKeys mendapatkan nama kunci yang disimpan oleh penyedia.

Sintaks

SECURITY_STATUS NCryptEnumKeys(
  [in]           NCRYPT_PROV_HANDLE hProvider,
  [in, optional] LPCWSTR            pszScope,
  [out]          NCryptKeyName      **ppKeyName,
  [in, out]      PVOID              *ppEnumState,
  [in]           DWORD              dwFlags
);

Parameter

[in] hProvider

Handel penyedia penyimpanan utama untuk menghitung kunci. Handel ini diperoleh dengan fungsi NCryptOpenStorageProvider .

[in, optional] pszScope

Parameter ini saat ini tidak digunakan dan harus NULL.

[out] ppKeyName

Alamat penunjuk ke struktur NCryptKeyName yang menerima nama kunci yang diambil. Ketika aplikasi telah selesai menggunakan memori ini, bebaskan dengan memanggil fungsi NCryptFreeBuffer .

[in, out] ppEnumState

Alamat penunjuk VOID yang menerima informasi status enumerasi yang digunakan dalam panggilan berikutnya ke fungsi ini. Informasi ini hanya memiliki arti pada penyedia penyimpanan utama dan buram untuk pemanggil. Penyedia penyimpanan utama menggunakan informasi ini untuk menentukan item mana yang berikutnya dalam enumerasi. Jika variabel yang ditujukkan oleh parameter ini berisi NULL, enumerasi dimulai dari awal.

Ketika memori ini tidak lagi diperlukan, memori harus dikosongkan dengan meneruskan pointer ini ke fungsi NCryptFreeBuffer .

[in] dwFlags

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

Nilai Makna
NCRYPT_MACHINE_KEY_FLAG
Menghitung kunci untuk komputer lokal. Jika bendera ini tidak ada, kunci pengguna saat ini dijumlahkan.
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.

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 hProvider tidak valid.
NTE_INVALID_PARAMETER
Satu atau beberapa parameter tidak valid.
NTE_NO_MEMORY
Terjadi kegagalan alokasi memori.
NTE_NO_MORE_ITEMS
Akhir enumerasi telah tercapai.
NTE_SILENT_CONTEXT
Parameter dwFlags berisi bendera NCRYPT_SILENT_FLAG , tetapi kunci yang dijumlahkan memerlukan interaksi pengguna.

Keterangan

Fungsi ini hanya mengambil satu item setiap kali dipanggil. Status enumerasi disimpan dalam variabel yang diarahkan oleh parameter ppEnumState , sehingga ini harus dipertahankan di antara panggilan ke fungsi ini. Ketika kunci terakhir yang disimpan oleh penyedia telah diambil, fungsi ini akan mengembalikan NTE_NO_MORE_ITEMS lain kali dipanggil. Untuk memulai enumerasi, atur variabel yang diarahkan ke oleh parameter ppEnumState ke NULL, kosongkan memori yang diarahkan oleh parameter ppKeyName , jika bukan NULL, dan panggil fungsi ini lagi.

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