ICertExit::Notify 메서드(certexit.h)
Notify 메서드는 이벤트가 발생했음을 종료 모듈에 알리기 위해 서버 엔진에서 호출됩니다.
구문
HRESULT Notify(
[in] LONG ExitEvent,
[in] LONG Context
);
매개 변수
[in] ExitEvent
발생한 종료 이벤트의 종류를 나타내는 마스크입니다. 마스크는 다음 플래그 비트 중 하나를 설정할 수 있습니다.
값 | 의미 |
---|---|
|
인증서가 발급되었습니다. |
|
인증서 보류 중입니다. |
|
인증서가 거부되었습니다. |
|
인증서가 해지되었습니다. |
|
ICertRequest::RetrievePending을 성공적으로 호출했습니다. |
|
CRL(인증서 해지 목록)이 발급되었습니다. |
|
인증서 서비스 종료. |
[in] Context
ICertServerExit 인터페이스에서 이벤트와 연결된 속성을 가져오는 데 사용할 수 있는 컨텍스트 핸들을 지정합니다.
반환 값
VB
메서드가 성공하면 메서드는 S_OK 반환합니다.메서드가 실패하면 오류를 나타내는 HRESULT 값이 반환됩니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.
설명
인증 기관이 여러 종료 모듈을 사용하는 경우 인증서 서비스는 이벤트의 각 종료 모듈에 알립니다(초기화를 통해 요청된 종료 모듈이 알림을 요청한 경우). 종료 모듈에 알림이 전송되는 순서는 다른 종료 모듈의 처리에 따라 달라지거나 종료 모듈을 가정해서는 안 됩니다. 알림을 받은 각 종료 모듈은 다음 종료 모듈에 알림이 표시되기 전에 알림 에서 반환해야 합니다.
예제
#include <windows.h>
#include <stdio.h>
#include <Certexit.h>
STDMETHODIMP CCertExit::Notify(
/* [in] */ LONG ExitEvent,
/* [in] */ LONG Context)
{
char *pszEvent;
HRESULT hr = S_OK;
switch (ExitEvent)
{
case EXITEVENT_CERTISSUED:
// Call application-specific function for issued certs.
hr = MyEventCertIssued(Context);
pszEvent = "certissued";
break;
case EXITEVENT_CERTPENDING:
pszEvent = "certpending";
break;
case EXITEVENT_CERTDENIED:
pszEvent = "certdenied";
break;
case EXITEVENT_CERTREVOKED:
pszEvent = "certrevoked";
break;
case EXITEVENT_CERTRETRIEVEPENDING:
pszEvent = "retrievepending";
break;
case EXITEVENT_CRLISSUED:
pszEvent = "crlissued";
break;
case EXITEVENT_SHUTDOWN:
// Call application-specific function for shutdown.
hr = MyEventShutdown();
pszEvent = "shutdown";
break;
default:
pszEvent = "Unexpected event";
break;
}
if ( fDebug )
{
// Display what took place.
printf("Exit::Notify(%s=%x, context=%u) return=%x\n",
pszEvent,
ExitEvent,
Context,
hr);
}
return(hr);
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 지원되는 버전 없음 |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | certexit.h(Certsrv.h 포함) |