CryptRegisterOIDFunction-Funktion (wincrypt.h)

Die Funktion CryptRegisterOIDFunction registriert eine DLL, die die funktion enthält, die für den angegebenen Codierungstyp, Funktionsnamen und Objektbezeichner (Object Identifier, OID) aufgerufen werden soll.

Standardmäßig werden neue Funktionsnamen am Ende der Liste installiert. Um eine neue Funktion vor den installierten Funktionen zu registrieren, rufen Sie die Funktion CryptSetOIDFunctionValue auf, wobei dwValueType auf REG_DWORD und pwszValueName auf CRYPT_OID_REG_FLAGS_VALUE_NAME festgelegt ist.

CRYPT_OID_REG_FLAGS_VALUE_NAME wird als L"CryptFlags" definiert.

Zusätzlich zum Registrieren einer DLL kann der Name der aufzurufenden Funktion überschrieben werden. Beispielsweise kann der Parameter pszFuncName auf CryptDllEncodeObject und der parameter pszOverrideFuncName auf MyEncodeXyz festgelegt werden. Auf die neue Form von CryptDllEncodeObject kann dann mit dem Namen MyEncodeXyz verwiesen werden. Dadurch kann eine DLL mehrere OID-Funktionen für denselben Funktionsnamen exportieren, ohne eine eigene OID-Verteilerfunktion zwischenspeichern zu müssen.

Syntax

BOOL CryptRegisterOIDFunction(
  [in] DWORD   dwEncodingType,
  [in] LPCSTR  pszFuncName,
  [in] LPCSTR  pszOID,
  [in] LPCWSTR pwszDll,
  [in] LPCSTR  pszOverrideFuncName
);

Parameter

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

[in] pszFuncName

Name der Funktion, die registriert wird.

[in] pszOID

OID der zu registrierenden Funktion. 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.

[in] pwszDll

Name der zu registrierenden DLL-Datei. Sie kann Umgebungsvariablenzeichenfolgen enthalten, die vor dem Laden der DLL mithilfe der Funktion ExpandEnvironmentStrings erweitert werden sollen.

[in] pszOverrideFuncName

Zeichenfolge, die einen Namen für die in die DLL exportierte Funktion angibt. Wenn pszOverrideFuncNameNULL ist, wird der von pszFuncName angegebene Funktionsname verwendet.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich null (TRUE).

Wenn die Funktion fehlschlägt, ist der Rückgabewert 0 (FALSE).

Hinweise

Wenn Sie die Verwendung einer OID-Funktion abgeschlossen haben, heben Sie die Registrierung auf, indem Sie die Funktion CryptUnregisterOIDFunction aufrufen.

Anforderungen

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

Weitere Informationen

CryptSetOIDFunctionValue

CryptUnregisterOIDFunction

OID-Unterstützungsfunktionen