다음을 통해 공유


ICertRequest::RetrievePending 메서드(certcli.h)

RetrievePending 메서드는 이전에 CR_DISP_INCOMPLETE 또는 CR_DISP_UNDER_SUBMISSION 반환했을 수 있는 이전 요청에서 인증서의 처리 상태 검색합니다.

결과 처리 상태 CR_DISP_ISSUED 경우 ICertRequest3::GetCertificate를 호출하여 발급된 인증서를 검색할 수 있습니다. CR_DISP_ISSUED 이외의 처리가 반환되면 ICertRequest3::GetLastStatus, ICertRequest3::GetDispositionMessage 또는 두 메서드를 모두 호출합니다.

구문

HRESULT RetrievePending(
  [in]          LONG       RequestId,
  [in]          const BSTR strConfig,
  [out, retval] LONG       *pDisposition
);

매개 변수

[in] RequestId

이전에 CR_DISP_INCOMPLETE 또는 CR_DISP_UNDER_SUBMISSION 반환한 요청의 ID입니다.

[in] strConfig

Certificate Services 서버에 대한 유효한 구성 문자열을 나타냅니다. 이 문자열은 등록 서버의 HTTPS URL이거나 ComputerName\CAName 형식일 수 있습니다. 여기서 ComputerName 은 서버의 네트워크 이름이고 CAName 은 인증서 서비스 설정 중에 입력한 대로 인증 기관의 일반 이름입니다. 구성 문자열 이름에 대한 자세한 내용은 ICertConfig를 참조하세요.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: HTTPS URL은 입력으로 지원되지 않습니다.

[out, retval] pDisposition

요청의 처리 값에 대한 포인터입니다.

반환 값

C++

메서드가 성공하면 메서드는 S_OK 반환합니다.

이 함수가 성공적으로 완료되면 *pDisposition 이 다음 표의 값 중 하나로 설정됩니다.

메서드가 실패하면 오류를 나타내는 HRESULT 값이 반환됩니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.

VB

반환 값은 요청의 처리를 지정합니다. 처리는 다음 값 중 하나입니다.
반환 코드 설명
CR_DISP_INCOMPLETE
요청이 완료되지 않았습니다.
CR_DISP_ERROR
요청 실패
CR_DISP_DENIED
요청이 거부됨
CR_DISP_ISSUED
인증서 발행됨
CR_DISP_ISSUED_OUT_OF_BAND
별도로 발급된 인증서
CR_DISP_UNDER_SUBMISSION
제출 중인 요청

설명

이 메서드를 성공적으로 호출하면 EXITEVENT_CERTRETRIEVEPENDING 이벤트가 생성됩니다. 종료 모듈이 ICertExit3::Initialize를 호출할 때 이 이벤트를 지정한 경우 활성 종료 모듈은 ICertExit3::Notify 호출을 통해 이 이벤트에 대한 알림을 받습니다.

예제

BSTR    bstrCA = NULL;
long    nReqID, nDisp;

// In this example, the request ID is hard-coded.
nReqID = 1234;

// Note use of two '\' in C++ to produce one '\'.
bstrCA = SysAllocString(L"server01\\myCAName");

// pCertRequest is previously instantiated ICertRequest
// object pointer. Retrieve the status for the specified request.
hr = pCertRequest->RetrievePending( nReqID, bstrCA, &nDisp );
if (FAILED(hr))
{
    printf("Failed RetrievePending [%x]\n", hr);
    goto error;
}
else
{
    // Use the disposition value as needed...
}
// Free BSTR resource.
if ( NULL != bstrCA )
    SysFreeString( bstrCA );

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certcli.h(Certsrv.h 포함)
라이브러리 Certidl.lib
DLL Certcli.dll

추가 정보

CCertRequest

ICertConfig

ICertRequest

ICertRequest2

ICertRequest3