Fungsi BCryptEnumRegisteredProviders (bcrypt.h)
Fungsi BCryptEnumRegisteredProviders mengambil informasi tentang penyedia terdaftar.
Sintaks
NTSTATUS BCryptEnumRegisteredProviders(
[in, out] ULONG *pcbBuffer,
[in, out] PCRYPT_PROVIDERS *ppBuffer
);
Parameter
[in, out] pcbBuffer
Penunjuk ke nilai ULONG yang, pada entri, berisi ukuran, dalam byte, dari buffer yang diacu oleh parameter ppBuffer . Saat keluar, nilai ini menerima jumlah byte yang disalin ke buffer atau ukuran yang diperlukan, dalam byte, dari buffer.
[in, out] ppBuffer
Penunjuk ke penunjuk buffer yang menerima struktur CRYPT_PROVIDERS dan data lain yang menjelaskan pengumpulan penyedia terdaftar.
Jika parameter ini NULL, fungsi ini akan mengembalikan STATUS_BUFFER_TOO_SMALL dan menempatkan dalam nilai yang ditunjukkan oleh parameter pcbBuffer , ukuran yang diperlukan, dalam byte, dari semua data.
Jika parameter ini adalah alamat penunjuk NULL , fungsi ini akan mengalokasikan memori yang diperlukan, mengisi memori dengan informasi tentang penyedia, dan menempatkan penunjuk ke memori ini dalam parameter ini. Setelah Anda selesai menggunakan memori ini, bebaskan dengan meneruskan pointer ini ke fungsi BCryptFreeBuffer .
Jika parameter ini adalah alamat penunjuk non-NULL , fungsi ini akan menyalin informasi penyedia ke dalam buffer ini. Parameter pcbBuffer harus berisi ukuran, dalam byte, dari seluruh buffer. Jika buffer tidak cukup besar untuk menyimpan semua informasi penyedia, fungsi ini akan mengembalikan STATUS_BUFFER_TOO_SMALL.
Nilai kembali
Mengembalikan kode status yang menunjukkan keberhasilan atau kegagalan fungsi.
Kemungkinan kode pengembalian termasuk, tetapi tidak terbatas pada, berikut ini.
Menampilkan kode | Deskripsi |
---|---|
|
Fungsi berhasil. |
|
Ukuran yang ditentukan oleh parameter pcbBuffer tidak cukup besar untuk menyimpan semua data. |
|
Satu atau beberapa parameter tidak valid. |
Keterangan
Fungsi BCryptEnumRegisteredProviders dapat dipanggil dengan salah satu dari dua cara:
-
Yang pertama adalah memiliki fungsi BCryptEnumRegisteredProviders yang mengalokasikan memori. Ini dicapai dengan meneruskan alamat penunjuk NULL untuk parameter ppBuffer .
Contoh berikut menunjukkan cara menggunakan fungsi BCryptEnumRegisteredProviders untuk mengalokasikan memori dengan meneruskan alamat pointer NULL untuk parameter ppBuffer .
PCRYPT_PROVIDERS pBuffer = NULL; BCryptEnumRegisteredProviders(/*...*/, &pBuffer);
Kode ini akan mengalokasikan memori yang diperlukan untuk struktur CRYPT_PROVIDERS dan string terkait. Ketika fungsi BCryptEnumRegisteredProviders digunakan dengan cara ini, Anda harus membebaskan memori ketika tidak lagi diperlukan dengan meneruskan ppBuffer ke fungsi BCryptFreeBuffer .
- Metode kedua adalah mengalokasikan memori yang diperlukan sendiri. Ini dicapai dengan memanggil fungsi BCryptEnumRegisteredProviders dengan NULL untuk parameter ppBuffer . Fungsi BCryptEnumRegisteredProviders akan ditempatkan dalam nilai yang ditunjukkan oleh parameter pcbBuffer , ukuran yang diperlukan, dalam byte, dari struktur CRYPT_PROVIDERS dan semua string. Anda kemudian mengalokasikan memori yang diperlukan dan meneruskan alamat penunjuk buffer ini untuk parameter ppBuffer dalam panggilan kedua ke fungsi BCryptEnumRegisteredProviders .
BCryptEnumRegisteredProviders hanya dapat dipanggil dalam mode pengguna.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | bcrypt.h |
Pustaka | Bcrypt.lib |
DLL | Bcrypt.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk