Share via


IPublisherFilter::Initialize 메서드(eventsys.h)

이벤트 메서드를 구독 개체 컬렉션과 연결합니다.

이 메서드는 이전 버전과의 호환성에 대해서만 지원됩니다. 그렇지 않으면 IMultiInterfacePublisherFilter 인터페이스의 메서드를 사용해야 합니다.

구문

HRESULT Initialize(
  [in] BSTR      methodName,
  [in] IDispatch *dispUserDefined
);

매개 변수

[in] methodName

게시자 필터와 연결된 이벤트 메서드의 이름입니다.

[in] dispUserDefined

이벤트 시스템 개체의 IEventSystem 인터페이스 또는 이벤트 클래스 개체의 IEventControl 인터페이스에 대한 포인터입니다.

반환 값

이 메서드는 다음 값뿐만 아니라 표준 반환 값 E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED 및 E_FAIL 반환할 수 있습니다.

반환 코드 Description
S_OK
게시자 필터가 성공적으로 초기화되었습니다.
EVENT_S_SOME_SUBSCRIBERS_FAILED
이벤트가 구독자의 일부(전부는 아님)를 호출할 수 있었습니다.
EVENT_E_ALL_SUBSCRIBERS_FAILED
이벤트가 구독자를 호출할 수 없습니다.
EVENT_S_NOSUBSCRIBERS
이벤트가 게시되었지만 구독자가 없었습니다.
EVENT_E_QUERYSYNTAX
쿼리 문자열을 평가하는 동안 구문 오류가 발생했습니다.
EVENT_E_QUERYFIELD
쿼리 문자열에 잘못된 필드 이름이 사용되었습니다.
EVENT_E_INTERNALEXCEPTION
예기치 않은 예외가 발생했습니다.
EVENT_E_INTERNALERROR
예기치 않은 내부 오류가 검색되었습니다.
EVENT_E_INVALID_PER_USER_SID
사용자별 구독의 소유자 SID가 없습니다.
EVENT_E_USER_EXCEPTION
사용자가 제공한 구성 요소 또는 구독자가 예외를 발생시켰습니다.
EVENT_E_TOO_MANY_METHODS
인터페이스에 이벤트를 발생시키는 메서드가 너무 많습니다.
EVENT_E_MISSING_EVENTCLASS
구독에 대한 이벤트 클래스가 이미 없으면 구독을 저장할 수 없습니다.
EVENT_E_NOT_ALL_REMOVED
요청된 개체를 모두 제거할 수 있는 것은 아닙니다.
EVENT_E_COMPLUS_NOT_INSTALLED
이 작업에는 COM+가 필요하지만 설치되지 않았습니다.

설명

게시자 필터는 dispUserDefined에 전달된 포인터를 사용하여 IEventSystem::Query 또는 IEventControl::GetSubscriptions를 호출하여 구독자 목록을 가져옵니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 eventsys.h

추가 정보

IMultiInterfacePublisherFilter

IPublisherFilter