共用方式為


ICertServerExit::GetRequestProperty 方法 (certif.h)

GetRequestProperty 方法會從要求傳回具名屬性。

請注意,要求是用來保存要求的所有相關聯狀態,以及不是憑證一部分的最終授與憑證。 因此,撤銷時間和處置數據等數據會保留在要求數據物件中。

語法

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

參數

[in] strPropertyName

指定要擷取的屬性。 有一組憑證屬性,稱為名稱屬性,一律有效,而且可以藉由呼叫此方法來擷取。 如需這些屬性的相關信息,請參閱 名稱屬性

憑證 要求 的其他有效屬性包括要求屬性。

注意只有當憑證是使用 PKCS #10 憑證要求或包含編碼主體名稱資訊的另一個支援要求格式時,GetRequestProperty 才能存取要求的 DistinguishedNameRawName 屬性。 請注意,KeyGen 要求不包含編碼的主體名稱資訊。
 

下列屬性對要求而言是唯一的,而且可以使用 GetRequestProperty 方法來存取。

Request 屬性 意義
Disposition
帶正負號的long
目前的要求處置
DispositionMessage
字串
信息處置訊息
RawCACertificate
二進位
發行 證書頒發機構單位的憑證
RawRequest
二進位
原始要求位元組
RequestAttributes
字串
屬性字串 (可以截斷)
RequesterName
字串
要求者的名稱,格式為 “DomainName\UserID
RequestID
帶正負號的long
內部 requestID
RequestType
帶正負號的long
指出 PKCS #10 或 KeyGen 要求
ResolvedWhen
Date/time
解決時
StatusCode
帶正負號的long
上次作業的 Windows 錯誤
SubmittedWhen
Date/time
抵達時
 

RequestType 屬性將是下列其中一個值。

意義
CR_IN_PKCS7
PKCS #7 續約或註冊要求
CR_IN_PKCS10
PKCS #10 要求
CR_IN_KEYGEN
Keygen 要求 (Netscape 格式)
 

此外,其他屬性也可以由特定要求類型、要求延伸模組,或由要求標頭中設定的具名屬性來設定。

[in] PropertyType

指定屬性類型。 此類型可以是下列其中一種類型。

意義
PROPTYPE_LONG
帶正負號的長數據
PROPTYPE_DATE
Date/time
PROPTYPE_BINARY
二進位資料
PROPTYPE_STRING
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

另請參閱

ICertServerExit

ICertServerExit::SetContext

名稱屬性