ICertServerPolicy::GetRequestProperty メソッド (certif.h)

GetRequestProperty メソッドは、要求から特定のプロパティを取得します。

構文

HRESULT GetRequestProperty(
  [in]  const BSTR strPropertyName,
  [in]  LONG       PropertyType,
  [out] VARIANT    *pvarPropertyValue
);

パラメーター

[in] strPropertyName

取得するプロパティの名前を指定します。 このパラメーターは、name プロパティまたは request プロパティに設定できます。

名前プロパティには、常に有効であり、このメソッドを呼び出すことによって取得できる証明書プロパティのストック セットが含まれます。 これらのプロパティの詳細については、「 名前のプロパティ」を参照してください。

要求プロパティは要求に固有であり、次の可能な値が含まれます。

意味
RequestID
署名された長い
内部 requestID。
RawRequest
Binary
未加工の要求バイト数。
RequestAttributes
文字列
属性文字列 (切り捨て可能)。
RequestType
署名された長い
PKCS #10 または KeyGen 要求を示します。 このプロパティの詳細については、「解説」を参照してください。
SubmittedWhen
日付/時刻
到着したとき。
RequesterName
文字列
"DomainName\UserID" という形式の要求者の名前。
 

メモGetRequestProperty によってアクセスできない追加の要求プロパティは、ポリシー モジュールが要求の処理を完了するまで設定されないためです。さらに、他のプロパティは、特定の要求の種類、要求拡張機能、または要求のヘッダーに設定された名前付き属性によって設定できます。

[in] PropertyType

プロパティの種類を指定します。 PropertyType パラメーターには、次のいずれかの型を指定できます。

意味
PROPTYPE_LONG
署名された長いデータ。
PROPTYPE_DATE
日付/時刻。
PROPTYPE_BINARY
バイナリ データ。
PROPTYPE_STRING
Unicode 文字列データ。

[out] pvarPropertyValue

要求プロパティの種類を含む VARIANT へのポインター。

戻り値

C++

メソッドが成功した場合、メソッドは S_OKを返し、 pvarPropertyValue パラメーターには request プロパティが含まれます。

メソッドが失敗した場合は、エラーを示す HRESULT 値を返します。 一般的なエラー コードの一覧については、「 共通 HRESULT 値」を参照してください。

VB

戻り値は request プロパティです。

注釈

このメソッドを呼び出す前に 、SetContext メソッドを呼び出す必要があります。 SetContext の呼び出しでは、現在のコンテキストとして使用される要求を指定します。

要求には、要求に関連付けられているすべての状態と、証明書の一部ではない最終的に付与された証明書が保持されます。 したがって、失効時刻や廃棄データなどのデータは、要求データ オブジェクトに保持されます。

RequestType プロパティは、次のいずれかの値に設定できます。

意味
CR_IN_PKCS 要求は PKCS #7 の更新または登録要求です。
CR_IN-PKCS10 要求は PKCS #10 要求です。
CR_IN_KEYGEN 要求は Keygen 要求 (Netscape 形式) です。
 

BSTR      bstrPropName = NULL;
VARIANT   varProp;

VariantInit( &varProp );

bstrPropName = SysAllocString(L"RequestID");

// Retrieve the request property.
// pCertServerPolicy has been used to call SetContext previously.
hr = pCertServerPolicy->GetRequestProperty( bstrPropName,
                                          PROPTYPE_LONG,
                                          &varProp );
if (FAILED(hr))
{
    printf("Failed GetRequestProperty [%x]\n", hr);
    goto error;
}
else
{
    // Successfully retrieved property; use varProp as needed.
    // ...
}

// Done processing.
VariantClear( &varProp );
if ( NULL != bstrPropName )
    SysFreeString( bstrPropName );

要件

要件
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー certif.h (Certsrv.h を含む)
Library Certidl.lib
[DLL] Certcli.dll

こちらもご覧ください

ICertServerPolicy

ICertServerPolicy::SetContext

Name プロパティ