Bagikan melalui


Fungsi BCryptQueryProviderRegistration (bcrypt.h)

Fungsi BCryptQueryProviderRegistration mengambil informasi tentang penyedia CNG.

Sintaks

NTSTATUS BCryptQueryProviderRegistration(
  [in]      LPCWSTR             pszProvider,
  [in]      ULONG               dwMode,
  [in]      ULONG               dwInterface,
  [in, out] ULONG               *pcbBuffer,
  [in, out] PCRYPT_PROVIDER_REG *ppBuffer
);

Parameter

[in] pszProvider

Penunjuk ke string Unicode yang dihentikan null yang berisi nama penyedia untuk mendapatkan informasi tentang.

[in] dwMode

Menentukan jenis informasi yang akan diambil. Ini bisa menjadi salah satu nilai berikut.

Nilai Makna
CRYPT_ANY
Ambil informasi apa pun untuk penyedia.
CRYPT_UM
Ambil informasi mode pengguna untuk penyedia.
CRYPT_KM
Ambil informasi mode kernel untuk penyedia.
CRYPT_MM
Ambil informasi mode pengguna dan mode kernel untuk penyedia.

[in] dwInterface

Menentukan antarmuka untuk mengambil informasi. Ini bisa menjadi salah satu nilai berikut.

Nilai Makna
BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE
Ambil antarmuka enkripsi asimetris.
BCRYPT_CIPHER_INTERFACE
Ambil antarmuka cipher.
BCRYPT_HASH_INTERFACE
Ambil antarmuka hash.
NCRYPT_KEY_STORAGE_INTERFACE
Ambil antarmuka penyimpanan utama.
BCRYPT_RNG_INTERFACE
Ambil antarmuka generator angka acak.
NCRYPT_SCHANNEL_INTERFACE
Ambil antarmuka Schannel.
BCRYPT_SECRET_AGREEMENT_INTERFACE
Ambil antarmuka perjanjian rahasia.
BCRYPT_SIGNATURE_INTERFACE
Ambil antarmuka tanda tangan.

[in, out] pcbBuffer

Penunjuk ke nilai ULONG yang, pada entri, berisi ukuran, dalam byte, dari buffer yang ditujukkan oleh parameter ppBuffer . Saat keluar, nilai ini menerima jumlah byte yang disalin ke buffer atau ukuran yang diperlukan, dalam byte, dari buffer.

Catatan Ini adalah ukuran total, dalam byte, dari seluruh buffer, bukan hanya ukuran struktur CRYPT_PROVIDER_REG . Buffer harus dapat menyimpan data lain untuk penyedia selain struktur CRYPT_PROVIDER_REG .
 

[in, out] ppBuffer

Penunjuk ke penunjuk buffer yang menerima struktur CRYPT_PROVIDER_REG dan data lain yang menjelaskan penyedia.

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 pointer NULL , fungsi ini akan mengalokasikan memori yang diperlukan, mengisinya dengan informasi penyedia, dan menempatkan pointer 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
STATUS_SUCCESS
Fungsi berhasil.
STATUS_INVALID_PARAMETER
Satu atau beberapa parameter tidak valid.
STATUS_BUFFER_TOO_SMALL
Ukuran yang ditentukan oleh parameter pcbBuffer tidak cukup besar untuk menyimpan semua data.
STATUS_NOT_FOUND
Tidak ada penyedia yang dapat ditemukan yang cocok dengan kriteria yang ditentukan.

Keterangan

BCryptQueryProviderRegistration 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

BCryptFreeBuffer

CRYPT_PROVIDER_REG