IUPnPService::AddCallback 메서드(upnp.h)
AddCallback 메서드는 애플리케이션의 콜백을 UPnP 프레임워크에 등록합니다.
구문
HRESULT AddCallback(
[in] IUnknown *pUnkCallback
);
매개 변수
[in] pUnkCallback
등록할 콜백이 포함된 인터페이스에 대한 참조를 지정합니다. pUnkCallback에서 참조하는 개체는 IUPnPServiceCallback 인터페이스 또는 IDispatch 인터페이스를 지원해야 합니다.
반환 값
메서드가 성공하면 반환 값이 S_OK. 그렇지 않으면 메서드는 WinError.h에 정의된 COM 오류 코드 중 하나를 반환합니다.
설명
콜백 내에서 이 메서드를 호출하지 마세요. 메모리 손상이 발생합니다.
둘 이상의 콜백이 등록된 경우 UPnP 프레임워크는 콜백을 순차적으로 호출합니다.
pUnkCallback에서 참조하는 개체는 IUPnPServiceCallback 인터페이스 또는 IDispatch 인터페이스를 지원해야 합니다. AddCallback 메서드는 먼저 IUPnPServiceCallback 인터페이스에 대한 pUnkCallback을 쿼리합니다. 이 인터페이스가 지원되지 않는 경우 AddCallback 메서드는 iDispatch 인터페이스에 대해 pUnkCallback을 쿼리합니다. IDispatch 인터페이스가 지원되지 않으면 두 검사가 모두 실패하고 AddCallback 메서드가 E_FAIL 반환합니다.
IDispatch만 지원되는 경우 서비스 개체는 기본 메서드를 나타내는 디스패치 ID가 0으로 지정된 IDispatch::Invoke를 호출하여 콜백을 호출합니다. 이 기본 IDispatch 메서드는 IUPnPServiceCallback 메서드와 동일한 매개 변수를 전달하지만 전달된 첫 번째 매개 변수는 콜백이 호출되는 이유를 나타내는 문자열입니다. 유효한 값은 VARIABLE_UPDATE 및 SERVICE_INSTANCE_DIED.
이 메서드에는 다음과 같은 인수가 있습니다.
- 콜백이 호출되는 이유입니다. 상태 변수가 변경되었거나(VARIABLE_UPDATE) 서비스 instance 사용할 수 없게 되었기 때문에 호출됩니다(SERVICE_INSTANCE_DIED).
- 콜백이 호출되는 서비스 개체입니다.
상태 변수 변경에 대해 콜백이 호출되면 메서드는 두 개의 추가 인수를 전달합니다.
- 변경된 변수의 이름입니다.
- 새 값입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | 지원되는 버전 없음 |
대상 플랫폼 | Windows |
헤더 | upnp.h |
DLL | Upnp.dll |