다음을 통해 공유


IAgentTransportShutdownCallback::Shutdown

업데이트: 2007년 11월

장치측 에이전트가 정리 및 종료를 수행할 수 있도록 합니다

HRESULT Shutdown([in] IUnknown *in_pUnknown)

매개 변수

  • in_pUnknown
    IUnknown의 인터페이스 쿠키입니다.

반환 값

메서드 호출의 결과를 나타내는 HRESULT 값입니다.

  • S_OK | 이 API 호출이 성공한 경우

  • E_FAIL | 기타 모든 실패에 대한 반환 값인 경우

설명

콜백 개체를 등록하려면 IDeviceAgentTransport::RegisterShutdownCallback을 사용합니다.

예제

다음 예제에서는 IAgentTransportShutdownCallback의 사용자 지정 구현을 정의합니다. 전체 예제를 보려면 IDeviceAgentTransport를 참조하십시오.

// Custom implementation of IAgentTransportShutdownCallback
class MyShutdownCallback: public IAgentTransportShutdownCallback
{
private:
    long ref;
public:
    HRESULT STDMETHODCALLTYPE Shutdown(IUnknown *in_pUnknown) 
    {
        // Add your cleanup code here 
        MessageBox(NULL,_T("conmanclient2 exited"),_T("conmanclient exited"),0);
        return 0;
    }

    // Must implement members from IUnknown
    HRESULT STDMETHODCALLTYPE QueryInterface( REFIID riid, void __RPC_FAR *__RPC_FAR *ppvObject)
    {
        return 0;
    }
    ULONG STDMETHODCALLTYPE AddRef( void)
    {
        return InterlockedIncrement(&ref);
    }

    ULONG STDMETHODCALLTYPE Release( void)
    {
        if(InterlockedDecrement(&ref) == 0)
        {
            delete this;
            return 0;
        }
        return ref;
    }
};

관리되는 동등 항목

IAgentTransportShutdownCallback.Shutdown

요구 사항

DeviceAgentTransport.h

참고 항목

참조

IAgentTransportShutdownCallback