Share via


ICertExit::Notify 메서드(certexit.h)

Notify 메서드는 이벤트가 발생했음을 종료 모듈에 알리기 위해 서버 엔진에서 호출됩니다.

구문

HRESULT Notify(
  [in] LONG ExitEvent,
  [in] LONG Context
);

매개 변수

[in] ExitEvent

발생한 종료 이벤트의 종류를 나타내는 마스크입니다. 마스크는 다음 플래그 비트 중 하나를 설정할 수 있습니다.

의미
EXITEVENT_CERTISSUED
인증서가 발급되었습니다.
EXITEVENT_CERTPENDING
인증서 보류 중입니다.
EXITEVENT_CERTDENIED
인증서가 거부되었습니다.
EXITEVENT_CERTREVOKED
인증서가 해지되었습니다.
EXITEVENT_CERTRETRIEVEPENDING
ICertRequest::RetrievePending을 성공적으로 호출했습니다.
EXITEVENT_CRLISSUED
CRL(인증서 해지 목록)이 발급되었습니다.
EXITEVENT_SHUTDOWN
인증서 서비스 종료.

[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 포함)

추가 정보

ICertExit

ICertExit2