IAgentTransportShutdownCallback::Shutdown
更新 : 2007 年 11 月
デバイス側のエージェントがクリーンアップを実行して終了できるようにします。
HRESULT Shutdown([in] IUnknown *in_pUnknown)
パラメータ
- in_pUnknown
IUnknown のインターフェイス Cookie。
戻り値
メソッド呼び出しの結果を示す 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