CryptGetOIDFunctionValue-Funktion (wincrypt.h)
Die CryptGetOIDFunctionValue-Funktion fragt einen Wert ab, der einer OID zugeordnet ist. Die Abfrage wird für einen bestimmten benannten Wert erstellt, der einer OID, einem Funktionsnamen und einem Codierungstyp zugeordnet ist. Die Funktion kann den Typ des abgefragten Werts, den Wert, sich selbst oder beides zurückgeben.
Syntax
BOOL CryptGetOIDFunctionValue(
[in] DWORD dwEncodingType,
[in] LPCSTR pszFuncName,
[in] LPCSTR pszOID,
[in] LPCWSTR pwszValueName,
[out] DWORD *pdwValueType,
[out] BYTE *pbValueData,
[in, out] DWORD *pcbValueData
);
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 X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.
[in] pszFuncName
Ein Zeiger auf die NULL-endende Zeichenfolge, die den Namen des OID-Funktionssatzes enthält.
[in] pszOID
Wenn das Wort mit hoher Ordnung der OID ungleich null ist, ist pszOID ein Zeiger auf eine null-endende OID-Zeichenfolge wie "2.5.29.1" oder eine ASCII-Zeichenfolge mit NULL-Beendigung, z. B. "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] pwszValueName
Ein Zeiger auf eine unicode-Zeichenfolge mit Null-Endung, die den Namen des abzufragten Werts enthält.
[out] pdwValueType
Ein Zeiger auf eine Variable, um den Typ des Werts zu empfangen. Der typ, der über diesen Parameter zurückgegeben wird, ist einer der folgenden:
Wert | Bedeutung |
---|---|
|
Eine 32-Bit-Zahl. |
|
Eine Unicode-Zeichenfolge, die nicht aufgeklärte Verweise auf Umgebungsvariablen wie "%PATH%" enthält. Anwendungen sollten sicherstellen, dass die Zeichenfolge ein endendes NULL-Zeichen aufweist, bevor sie verwendet wird. Ausführliche Informationen dazu, wann die Zeichenfolge kein beendendes NULL-Zeichen aufweist, finden Sie unter RegQueryValueEx. |
|
Ein Array von Unicode-Zeichenfolgen, die null enden. Anwendungen sollten sicherstellen, dass das Array ordnungsgemäß mit zwei NULL-Zeichen beendet wird, bevor es verwendet wird. Ausführliche Informationen dazu, wann das Array nicht durch zwei NULL-Zeichen beendet wird, finden Sie unter RegQueryValueEx. |
|
Eine Unicode-Zeichenfolge. Anwendungen sollten sicherstellen, dass die Zeichenfolge ein endendes NULL-Zeichen aufweist, bevor sie verwendet wird. Ausführliche Informationen dazu, wann die Zeichenfolge kein beendendes NULL-Zeichen aufweist, finden Sie unter RegQueryValueEx. |
Der pdwValueType-Parameter kann NULL sein, wenn kein zurückgegebener Typ erforderlich ist.
[out] pbValueData
Ein Zeiger auf einen Puffer, um den wert zu empfangen, der dem parameter pwszValueName zugeordnet ist. Der Puffer muss groß genug sein, um das abschließende NULL-Zeichen zu enthalten. Dieser Parameter kann NULL sein, wenn zurückgegebene Daten nicht erforderlich sind.
Dieser Parameter kann auch NULL sein, um die Größe des Puffers für die Speicherbelegung zu ermitteln. Weitere Informationen finden Sie unter Abrufen von Daten mit unbekannter Länge.
[in, out] pcbValueData
Ein Zeiger auf ein DWORD , der die Größe des Puffers in Bytes angibt, auf den pbValueData verweist.
In den meisten Fällen enthält der in *pcbValueData zurückgegebene Wert die Größe des abschließenden NULL-Zeichens in der Zeichenfolge. Informationen zu Situationen, in denen das NULL-Zeichen nicht enthalten ist, finden Sie im Abschnitt Hinweise von RegQueryValueEx.
Rückgabewert
Wenn die Funktion erfolgreich ist, gibt die Funktion ungleich null (TRUE) zurück.
Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Diese Funktion weist den folgenden Fehlercode auf.
Wert | BESCHREIBUNG |
---|---|
|
Wenn der vom pbValueData-Parameter angegebene Puffer nicht groß genug ist, um die zurückgegebenen Daten zu speichern, legt die Funktion den ERROR_MORE_DATA Code fest und speichert die erforderliche Puffergröße in Bytes in der Variablen, auf die von pcbValueData verwiesen wird. |
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 |