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