ICertServerExit::GetRequestProperty 方法 (certif.h)
GetRequestProperty 方法會從要求傳回具名屬性。
請注意,要求是用來保存要求的所有相關聯狀態,以及不是憑證一部分的最終授與憑證。 因此,撤銷時間和處置數據等數據會保留在要求數據物件中。
語法
HRESULT GetRequestProperty(
[in] const BSTR strPropertyName,
[in] LONG PropertyType,
[out] VARIANT *pvarPropertyValue
);
參數
[in] strPropertyName
指定要擷取的屬性。 有一組憑證屬性,稱為名稱屬性,一律有效,而且可以藉由呼叫此方法來擷取。 如需這些屬性的相關信息,請參閱 名稱屬性。
憑證 要求 的其他有效屬性包括要求屬性。
注意只有當憑證是使用 PKCS #10 憑證要求或包含編碼主體名稱資訊的另一個支援要求格式時,GetRequestProperty 才能存取要求的 DistinguishedName 和 RawName 屬性。 請注意,KeyGen 要求不包含編碼的主體名稱資訊。
下列屬性對要求而言是唯一的,而且可以使用 GetRequestProperty 方法來存取。
Request 屬性 | 意義 |
---|---|
|
目前的要求處置 |
|
信息處置訊息 |
|
發行 證書頒發機構單位的憑證 |
|
原始要求位元組 |
|
屬性字串 (可以截斷) |
|
要求者的名稱,格式為 “DomainName\UserID” |
|
內部 requestID |
|
指出 PKCS #10 或 KeyGen 要求 |
|
解決時 |
|
上次作業的 Windows 錯誤 |
|
抵達時 |
RequestType 屬性將是下列其中一個值。
值 | 意義 |
---|---|
|
PKCS #7 續約或註冊要求 |
|
PKCS #10 要求 |
|
Keygen 要求 (Netscape 格式) |
此外,其他屬性也可以由特定要求類型、要求延伸模組,或由要求標頭中設定的具名屬性來設定。
[in] PropertyType
指定屬性類型。 此類型可以是下列其中一種類型。
值 | 意義 |
---|---|
|
帶正負號的長數據 |
|
Date/time |
|
二進位資料 |
|
Unicode 字串數據 |
[out] pvarPropertyValue
VARIANT 的指標 ,其中包含要求屬性類型。
傳回值
C++
如果方法成功,方法會傳回S_OK,而 *pvarPropertyValue 會設定為包含要求屬性值的 VARIANT 。如果方法失敗,它會傳回 HRESULT 值,指出錯誤。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
VB
傳回值是要求屬性值。備註
您必須在使用此方法之前呼叫 ICertServerExit::SetContext 。
範例
BSTR bstrPropName = NULL;
VARIANT varProp;
VariantInit( &varProp );
bstrPropName = SysAllocString(L"RequestID");
// Retrieve the request property.
// pCertServerExit has been used to call SetContext previously.
hr = pCertServerExit->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) |
程式庫 | Certidl.lib |
Dll | Certcli.dll |