Bagikan melalui


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
REG_DWORD
Angka 32-bit.
REG_EXPAND_SZ
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.
REG_MULTI_SZ
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.
REG_SZ
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.

Catatan Saat memproses data yang dikembalikan dalam buffer, aplikasi harus menggunakan ukuran aktual data yang dikembalikan. Ukuran aktual bisa sedikit lebih kecil dari ukuran buffer yang ditentukan pada input. (Pada input, ukuran buffer biasanya ditentukan cukup besar untuk memastikan bahwa data output terbesar yang mungkin akan pas di buffer.) Pada output, variabel yang diacu oleh parameter ini diperbarui untuk mencerminkan ukuran aktual data yang disalin ke buffer.
 

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
ERROR_MORE_DATA
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

Lihat juga

Fungsi Dukungan OID