CryptGetOIDFunctionValue 関数 (wincrypt.h)

CryptGetOIDFunctionValue 関数は、OID に関連付けられている値を照会します。 クエリは、OID、関数名、およびエンコード型に関連付けられている特定の名前付き値に対して行われます。 関数は、クエリされた値の型、値、それ自体、またはその両方を返すことができます。

構文

BOOL CryptGetOIDFunctionValue(
  [in]      DWORD   dwEncodingType,
  [in]      LPCSTR  pszFuncName,
  [in]      LPCSTR  pszOID,
  [in]      LPCWSTR pwszValueName,
  [out]     DWORD   *pdwValueType,
  [out]     BYTE    *pbValueData,
  [in, out] DWORD   *pcbValueData
);

パラメーター

[in] dwEncodingType

照合するエンコードの種類を指定します。 現在、X509_ASN_ENCODINGとPKCS_7_ASN_ENCODINGのみが使用されています。ただし、今後、エンコードの種類が追加される可能性があります。 両方の現在のエンコードの種類を照合するには、X509_ASN_ENCODING |PKCS_7_ASN_ENCODING。

[in] pszFuncName

OID 関数セットの名前を含む null で終わる文字列へのポインター。

[in] pszOID

OID の上位ワードが 0 以外の場合、 pszOID は null で終わる OID 文字列 ("2.5.29.1" など) または null で終わる ASCII 文字列 ("file" など) へのポインターです。OID の上位ワードが 0 の場合、下位ワードはオブジェクト識別子として使用される数値識別子を指定します。

[in] pwszValueName

クエリ対象の値の名前を含む null で終わる Unicode 文字列へのポインター。

[out] pdwValueType

値の型を受け取る変数へのポインター。 このパラメーターから返される型は、次のいずれかになります。

説明
REG_DWORD
32 ビット数値。
REG_EXPAND_SZ
"%PATH%" などの環境変数への展開されていない参照を含む Unicode 文字列。 アプリケーションでは、使用する前に、文字列に終端の null 文字があることを確認する必要があります。 文字列に終端の null 文字がない場合の詳細については、「 RegQueryValueEx」を参照してください。
REG_MULTI_SZ
null で終わる Unicode 文字列の配列。 アプリケーションでは、配列を使用する前に、配列が 2 つの null 文字で正しく終了していることを確認する必要があります。 配列が 2 つの null 文字で終了しない場合の詳細については、「 RegQueryValueEx」を参照してください。
REG_SZ
Unicode 文字列。 アプリケーションでは、使用する前に、文字列に終端の null 文字があることを確認する必要があります。 文字列に終端の null 文字がない場合の詳細については、「 RegQueryValueEx」を参照してください。
 

返される型が不要な場合、 pdwValueType パラメーターは NULL にすることができます。

[out] pbValueData

pwszValueName パラメーターに関連付けられている値を受け取るバッファーへのポインター。 バッファーは、終端 の NULL 文字を格納するのに十分な大きさである必要があります。 返されるデータが不要な場合、このパラメーターは NULL にすることができます。

このパラメーターは、メモリ割り当てのためにバッファーのサイズを見つけるために NULL にすることもできます。 詳細については、「 不明な長さのデータの取得」を参照してください。

[in, out] pcbValueData

pbValueData が指すバッファーのサイズをバイト単位で指定する DWORD へのポインター。

ほとんどの場合、*pcbValueData で返される値には、文字列内の終端 の NULL 文字のサイズが含まれます。 NULL 文字が含まれていない状況については、「RegQueryValueEx」の「解説」セクションを参照してください。

メモ バッファーで返されるデータを処理する場合、アプリケーションは返されるデータの実際のサイズを使用する必要があります。 実際のサイズは、入力時に指定されたバッファーのサイズよりも少し小さくすることができます。 (入力では、バッファー サイズは通常、可能な最大の出力データがバッファーに収まるように十分な大きさで指定されます)。出力時に、このパラメーターが指す変数が更新され、バッファーにコピーされたデータの実際のサイズが反映されます。
 

戻り値

関数が成功した場合、関数は 0 以外 (TRUE) を返します。

関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。

この関数には、次のエラー コードがあります。

説明
ERROR_MORE_DATA
pbValueData パラメーターで指定されたバッファーが、返されるデータを保持するのに十分な大きさでない場合、関数はERROR_MORE_DATA コードを設定し、必要なバッファー サイズをバイト単位で pcbValueData が指す変数に格納します。

要件

   
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

関連項目

OID サポート関数