CryptGetOIDFunctionAddress-Funktion (wincrypt.h)

Die CryptGetOIDFunctionAddress-Funktion durchsucht die Liste der registrierten und installierten Funktionen nach einer Übereinstimmung zwischen Codierungstyp und Objektbezeichner (OID). Wenn eine Übereinstimmung gefunden wird, wird die DLL geladen, die die Funktion enthält, falls erforderlich. Wenn eine Übereinstimmung gefunden wird, werden auch ein Zeiger auf die Funktionsadresse und ein Zeiger auf das Funktionshandle zurückgegeben. Die Verweisanzahl für das Funktionshandle wird erhöht.

Syntax

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

Parameter

[in] hFuncSet

Das Funktionssatzhandle, das zuvor von einem Aufruf der CryptInitOIDFunctionSet-Funktion abgerufen wurde.

[in] dwEncodingType

Gibt den abzugleichenden Codierungstyp an. Derzeit werden nur X509_ASN_ENCODING und PKCS_7_ASN_ENCODING verwendet. In Zukunft können jedoch weitere Codierungstypen hinzugefügt werden. Um beide aktuellen Codierungstypen abzugleichen, verwenden Sie Folgendes:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Legen Sie für Funktionen, die keinen Codierungstyp verwenden, diesen Parameter auf Null fest.

[in] pszOID

Wenn das Wort mit hoher Ordnung der OID ungleich null ist, ist pszOID ein Zeiger auf eine OID-Zeichenfolge wie "2.5.29.1" oder eine ASCII-Zeichenfolge wie "file". Wenn das Wort mit hoher Ordnung der OID null ist, gibt das Wort mit niedriger Ordnung den numerischen Bezeichner an, der als Objektbezeichner verwendet werden soll. Diese resultierende OID wird der Funktion zugeordnet, die entweder installiert oder mit derselben OID registriert wurde.

[in] dwFlags

Dieser Parameter kann der folgende Wert sein.

Wert Bedeutung
CRYPT_GET_INSTALLED_OID_FUNC_FLAG
Durchsucht nur die installierte Liste der Funktionen.

[out] ppvFuncAddr

Ein Zeiger auf einen Zeiger auf eine Funktionsadresse. Wenn eine Übereinstimmung gefunden wird, verweist ppvFuncAddr auf die Funktionsadresse.

[out] phFuncAddr

Wenn eine Übereinstimmung gefunden wird, verweist phFuncAddr auf das Funktionshandle. Die Verweisanzahl für das Handle wird erhöht. Wenn Sie die Verwendung des Handles abgeschlossen haben, geben Sie das Handle frei, indem Sie die Funktion CryptFreeOIDFunctionAddress aufrufen.

Hinweis Standardmäßig werden sowohl die registrierten als auch die installierten Funktionslisten durchsucht. Um nur die liste der installierten Funktionen zu durchsuchen, legen Sie CRYPT_GET_INSTALLED_OID_FUNC_FLAG fest. Dieses Flag wird von einer registrierten Funktion festgelegt, um die Adresse einer vorinstallierten Funktion abzurufen, die sie ersetzt hat. Beispielsweise kann die registrierte Funktion einen neuen Sonderfall behandeln und die vorinstallierte Funktion aufrufen, um die verbleibenden Fälle zu behandeln.
 

Rückgabewert

Wenn die Funktion erfolgreich ist und eine Übereinstimmung gefunden wird, gibt die Funktion ungleich null (TRUE) zurück.

Wenn die Funktion fehlschlägt oder keine Übereinstimmung gefunden wird, wird null (FALSE) zurückgegeben. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Hinweise

Sie können CryptGetOIDFunctionAddress aufrufen, wobei das Argument pszOID auf CMSG_DEFAULT_INSTALLABLE_FUNC_OID festgelegt ist, um die standardmäßig installierbare Funktion für die folgenden Rückruffunktionen abzurufen.

Legen Sie dwEncodingType zum Abrufen der Standardfunktionen auf eine bitweise OR-Kombination der folgenden Codierungstypen fest.

CRYPT_ASN_ENCODINGX509_ASN_ENCODING

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll

Weitere Informationen

OID-Unterstützungsfunktionen