Fungsi CryptGetOIDFunctionValue (wincrypt.h)
Fungsi CryptGetOIDFunctionValue meminta nilai yang terkait dengan OID. Kueri dibuat untuk nilai bernama tertentu yang terkait dengan OID, nama fungsi, dan jenis pengodean. Fungsi dapat mengembalikan jenis nilai yang dikueri, nilainya sendiri, atau keduanya.
Sintaks
BOOL CryptGetOIDFunctionValue(
[in] DWORD dwEncodingType,
[in] LPCSTR pszFuncName,
[in] LPCSTR pszOID,
[in] LPCWSTR pwszValueName,
[out] DWORD *pdwValueType,
[out] BYTE *pbValueData,
[in, out] DWORD *pcbValueData
);
Parameter
[in] dwEncodingType
Menentukan jenis pengodean yang akan dicocokkan. Saat ini, hanya X509_ASN_ENCODING dan PKCS_7_ASN_ENCODING yang digunakan; namun, jenis pengodean tambahan dapat ditambahkan di masa mendatang. Untuk mencocokkan kedua jenis pengodean saat ini, gunakan X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.
[in] pszFuncName
Penunjuk ke string yang dihentikan null yang berisi nama kumpulan fungsi OID.
[in] pszOID
Jika kata OID berurutan tinggi bukan nol, pszOID adalah penunjuk ke string OID yang dihentikan null seperti "2.5.29.1" atau string ASCII yang dihentikan null seperti "file." Jika kata OID urutan tinggi adalah nol, kata urutan rendah menentukan pengidentifikasi numerik yang akan digunakan sebagai pengidentifikasi objek.
[in] pwszValueName
Penunjuk ke string Unicode yang dihentikan null yang berisi nama nilai yang akan dikueri.
[out] pdwValueType
Penunjuk ke variabel untuk menerima jenis nilai. Jenis yang dikembalikan melalui parameter ini akan menjadi salah satu dari berikut ini.
Nilai | Makna |
---|---|
|
Angka 32-bit. |
|
Untai (karakter) Unicode yang berisi referensi yang tidak terpantau ke variabel lingkungan seperti "%PATH%". Aplikasi harus memastikan bahwa string memiliki karakter null yang mengakhiri sebelum menggunakannya. Untuk detail tentang kapan string tidak memiliki karakter null yang mengakhiri, lihat RegQueryValueEx. |
|
Array string Unicode yang dihentikan null. Aplikasi harus memastikan bahwa array dihentikan dengan benar oleh dua karakter null sebelum menggunakannya. Untuk detail tentang kapan array tidak dihentikan oleh dua karakter null, lihat RegQueryValueEx. |
|
String Unicode. Aplikasi harus memastikan bahwa string memiliki karakter null yang mengakhiri sebelum menggunakannya. Untuk detail tentang kapan string tidak memiliki karakter null yang mengakhiri, lihat RegQueryValueEx. |
Parameter pdwValueType dapat berupa NULL jika jenis yang dikembalikan tidak diperlukan.
[out] pbValueData
Penunjuk ke buffer untuk menerima nilai yang terkait dengan parameter pwszValueName . Buffer harus cukup besar untuk berisi karakter NULL yang mengakhiri. Parameter ini dapat berupa NULL jika data yang dikembalikan tidak diperlukan.
Parameter ini juga dapat berupa NULL untuk menemukan ukuran buffer untuk tujuan alokasi memori. Untuk informasi selengkapnya, lihat Mengambil Data Dengan Panjang Tidak Diketahui.
[in, out] pcbValueData
Penunjuk ke DWORD yang menentukan ukuran, dalam byte, dari buffer yang diacu oleh pbValueData.
Dalam kebanyakan kasus, nilai yang dikembalikan dalam *pcbValueData menyertakan ukuran karakter NULL yang mengakhiri dalam string. Untuk informasi tentang situasi di mana karakter NULL tidak disertakan, lihat bagian Keterangan dari RegQueryValueEx.
Mengembalikan nilai
Jika fungsi berhasil, fungsi mengembalikan bukan nol (TRUE).
Jika fungsi gagal, fungsi akan mengembalikan nol (FALSE). Untuk informasi kesalahan yang diperluas, hubungi GetLastError.
Fungsi ini memiliki kode kesalahan berikut.
Nilai | Deskripsi |
---|---|
|
Jika buffer yang ditentukan oleh parameter pbValueData tidak cukup besar untuk menyimpan data yang dikembalikan, fungsi mengatur kode ERROR_MORE_DATA dan menyimpan ukuran buffer yang diperlukan, dalam byte, ke dalam variabel yang ditunjukkan oleh pcbValueData. |
Persyaratan
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | wincrypt.h |
Pustaka | Crypt32.lib |
DLL | Crypt32.dll |