Bagikan melalui


Fungsi CryptGetOIDFunctionAddress (wincrypt.h)

Fungsi CryptGetOIDFunctionAddress mencari daftar fungsi terdaftar dan terinstal untuk kecocokan jenis pengodean dan pengidentifikasi objek (OID). Jika kecocokan ditemukan, DLL yang berisi fungsi adalah, jika perlu, dimuat. Jika kecocokan ditemukan, penunjuk ke alamat fungsi dan penunjuk ke handel fungsi juga dikembalikan. Jumlah referensi pada handel fungsi bertambah.

Sintaks

BOOL CryptGetOIDFunctionAddress(
  [in]  HCRYPTOIDFUNCSET  hFuncSet,
  [in]  DWORD             dwEncodingType,
  [in]  LPCSTR            pszOID,
  [in]  DWORD             dwFlags,
  [out] void              **ppvFuncAddr,
  [out] HCRYPTOIDFUNCADDR *phFuncAddr
);

Parameter

[in] hFuncSet

Handel set fungsi yang sebelumnya diperoleh dari panggilan ke fungsi CryptInitOIDFunctionSet .

[in] dwEncodingType

Menentukan tipe 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

Untuk fungsi yang tidak menggunakan jenis pengodean, atur parameter ini ke nol.

[in] pszOID

Jika kata urutan tinggi OID bukan nol, pszOID adalah penunjuk ke string OID seperti "2.5.29.1" atau string ASCII seperti "file". Jika kata urutan tinggi OID adalah nol, kata urutan rendah menentukan pengidentifikasi numerik yang akan digunakan sebagai pengidentifikasi objek. Ini menghasilkan peta OID ke fungsi yang diinstal atau terdaftar dengan OID yang sama.

[in] dwFlags

Parameter ini bisa menjadi nilai berikut.

Nilai Makna
CRYPT_GET_INSTALLED_OID_FUNC_FLAG
Hanya mencari daftar fungsi yang diinstal.

[out] ppvFuncAddr

Penunjuk ke penunjuk ke alamat fungsi. Jika kecocokan ditemukan, ppvFuncAddr menunjuk ke alamat fungsi.

[out] phFuncAddr

Jika kecocokan ditemukan, phFuncAddr menunjuk ke handel fungsi. Jumlah referensi untuk handel bertambah. Setelah Anda selesai menggunakan handel, lepaskan handel dengan memanggil fungsi CryptFreeOIDFunctionAddress .

Catatan Secara default, daftar fungsi terdaftar dan terinstal dicari. Untuk mencari hanya daftar fungsi yang diinstal, atur CRYPT_GET_INSTALLED_OID_FUNC_FLAG. Bendera ini akan ditetapkan oleh fungsi terdaftar untuk mendapatkan alamat fungsi yang telah diinstal sebelumnya yang diganti. Misalnya, fungsi terdaftar mungkin menangani kasus khusus baru dan memanggil fungsi yang telah diinstal sebelumnya untuk menangani kasus yang tersisa.
 

Mengembalikan nilai

Jika fungsi berhasil dan kecocokan ditemukan, fungsi mengembalikan bukan nol (TRUE).

Jika fungsi gagal atau tidak ada kecocokan yang ditemukan, fungsi mengembalikan nol (FALSE). Untuk informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Anda dapat memanggil CryptGetOIDFunctionAddress dengan argumen pszOID diatur ke CMSG_DEFAULT_INSTALLABLE_FUNC_OID untuk mendapatkan fungsi default yang dapat diinstal untuk fungsi panggilan balik berikut.

Untuk pengambilan fungsi default, atur dwEncodingType ke kombinasi bitwise OR dari jenis pengodean berikut.

X509_ASN_ENCODING CRYPT_ASN_ENCODING

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