CryptContextAddRef-Funktion (wincrypt.h)
Syntax
BOOL CryptContextAddRef(
[in] HCRYPTPROV hProv,
[in] DWORD *pdwReserved,
[in] DWORD dwFlags
);
Parameter
[in] hProv
HCRYPTPROV Handle, für das die Verweisanzahl erhöht wird. Dieses Handle muss bereits mit CryptAcquireContexterstellt worden sein.
[in] pdwReserved
Reserviert für die zukünftige Verwendung und muss NULL-sein.
[in] dwFlags
Reserviert für die zukünftige Verwendung und muss null sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null (TRUE).
Wenn die Funktion fehlschlägt, ist der Rückgabewert null (FALSE). Rufen Sie für erweiterte Fehlerinformationen GetLastError-auf. Ein möglicher Fehlercode ist der folgende.
Rückgabecode | Beschreibung |
---|---|
|
Einer der Parameter enthält einen ungültigen Wert. Dies ist am häufigsten ein ungültiger Zeiger. |
Bemerkungen
Diese Funktion erhöht die Verweisanzahl auf einem HCRYPTPROV- Handle, sodass mehrere Aufrufe an CryptReleaseContext erforderlich sind, um das Handle tatsächlich freizugeben.
Beispiele
Im folgenden Beispiel wird die Verweisanzahl für ein erworbenes CSP-Handle erhöht.
//--------------------------------------------------------------------
// 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.
Ein weiteres Beispiel, das diese Funktion verwendet, finden Sie unter Beispiel-C-Programm: Verwenden von CryptAcquireContext.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | wincrypt.h |
Library | Advapi32.lib |
DLL- | Advapi32.dll |