다음을 통해 공유


IUPnPServiceAsync::BeginSubscribeToEvents 메서드(upnp.h)

BeginSubscribeToEvents는 비동기 모드에서 이벤트 구독을 시작하고 UPnP 프레임워크에 애플리케이션 콜백을 등록합니다.

구문

HRESULT BeginSubscribeToEvents(
  [in]           IUnknown         *pUnkCallback,
  [in, optional] IUPnPAsyncResult *pAsyncResult,
  [out]          PULONG64         pullRequestID
);

매개 변수

[in] pUnkCallback

등록할 콜백이 포함된 인터페이스 개체에 대한 참조를 지정합니다. 이 개체는 IUPnPServiceCallback 인터페이스 또는 IDispatch 인터페이스를 지원해야 합니다.

[in, optional] pAsyncResult

IUPnPAsyncResult 개체에 대한 참조를 지정합니다. BeginSubscribeToEvents 호출이 완료되면 UPnP는 IUPnPAsyncResult::AsyncOperationComplete 메서드를 사용하여 제어점에 알립니다.

[out] pullRequestID

비동기 I/O 작업을 식별하는 데 사용되는 64비트 ULONG 값에 대한 포인터입니다. 제어점은 EndSubscribeToEvents 또는 CancelAsyncOperation을 통해 작업을 종료하거나 취소하는 동안 이 핸들을 사용해야 합니다.

반환 값

성공하면 S_OK를 반환합니다. 그렇지 않으면 메서드는 WinError.h 에 정의된 COM 오류 코드 또는 다음 값 중 하나를 반환합니다.

반환 코드 설명
E_FAIL
비동기 작업을 시작하지 못했습니다.
 
참고 일부 값은 UPnP 인증 디바이스에서 오류가 수신되었음을 나타낼 수 있습니다. 자세한 내용은 디바이스 오류 코드를 참조하세요.
 

설명

BeginQueryStateVariable을 사용하여 이벤트 상태 변수를 쿼리하기 전에 이벤트 구독을 완료해야 합니다. 이 문제가 발생하지 않으면 UPNP_E_VARIABLE_VALUE_UNKNOWN 반환되고 이벤트 구독이 내부적으로 수행됩니다. 결과적으로 다음 BeginQueryStateVariable 호출이 성공합니다.

참고 이벤트 변수가 없는 서비스의 경우 BeginQueryStateVariable 은 항상 예상대로 작동합니다.
 
이 메서드를 여러 번 호출하면 여러 콜백이 추가됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 upnp.h
DLL Upnp.dll

추가 정보

IUPnPServiceAsync

IUPnPServiceAsync::CancelAsyncOperation

IUPnPServiceAsync::EndSubscribeToEvents