Fungsi CryptContextAddRef (wincrypt.h)

Important API ini tidak digunakan lagi. Perangkat lunak baru dan yang sudah ada harus mulai menggunakan Cryptography Next Generation API. Microsoft dapat menghapus API ini dalam rilis mendatang.
 
Fungsi CryptContextAddRef menambahkannya ke jumlah referensi handel penyedia layanan kriptografiHCRYPTPROV (CSP) . Fungsi ini harus digunakan jika handel CSP disertakan sebagai anggota struktur apa pun yang diteruskan ke fungsi lain. Fungsi CryptReleaseContext harus dipanggil ketika handel CSP tidak lagi diperlukan.

Sintaksis

BOOL CryptContextAddRef(
  [in] HCRYPTPROV hProv,
  [in] DWORD      *pdwReserved,
  [in] DWORD      dwFlags
);

Parameter

[in] hProv

HCRYPTPROV menangani jumlah referensi sedang ditingkatkan. Handel ini harus sudah dibuat menggunakan CryptAcquireContext.

[in] pdwReserved

Dicadangkan untuk digunakan di masa mendatang dan harus NULL.

[in] dwFlags

Dicadangkan untuk penggunaan di masa mendatang dan harus nol.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan bukan nol (TRUE).

Jika fungsi gagal, nilai yang dikembalikan adalah nol (FALSE). Untuk informasi kesalahan yang diperluas, panggil GetLastError. Salah satu kemungkinan kode kesalahan adalah sebagai berikut.

Mengembalikan kode Deskripsi
ERROR_INVALID_PARAMETER
Salah satu parameter berisi nilai yang tidak valid. Ini paling sering merupakan pointer yang tidak valid.

Komentar

Fungsi ini meningkatkan jumlah referensi pada handel HCRYPTPROV sehingga beberapa panggilan ke CryptReleaseContext diperlukan untuk benar-benar melepaskan handel.

Contoh

Contoh berikut menaikkan jumlah referensi pada handel CSP yang diperoleh.

//--------------------------------------------------------------------
// hCryptProv is a HCRYPTPROV variable that was previously acquired
// by using CryptAcquireContext or CryptAcquireCertificatePrivateKey.

if(CryptContextAddRef(
       hCryptProv, 
       NULL, 
       0)) 
{
    printf("CryptContextAddRef succeeded. \n");
}
else
{
   printf("Error during CryptContextAddRef!\n");
   exit(1);
}
//--------------------------------------------------------------------
//  The reference count on hCryptProv is now greater than one. The 
//  first call to CryptReleaseContext will not release the provider 
//  handle. A second call to CryptReleaseContext would be needed to 
//  release the context.

Untuk contoh lain yang menggunakan fungsi ini, lihat Contoh Program C: Menggunakan CryptAcquireContext.

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows XP [hanya aplikasi desktop]
server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Platform Target Windows
Header wincrypt.h
Pustaka Advapi32.lib
DLL Advapi32.dll

Lihat juga

CryptAcquireContext

CryptReleaseContext

Fungsi Penyedia Layanan