IAgentTransportShutdownCallback
更新 : 2007 年 11 月
シャットダウン コールバック オブジェクトに実装する必要があるメソッドを定義します。
IAgentTransportShutdownCallback : public IUnknown
メソッド
メソッド |
説明 |
---|---|
デバイス側のエージェントがクリーンアップを実行して終了できるようにします。 |
解説
デバイス エージェントは、デバイス上で conmanclient2.exe が実行されている間は使用できます。conmanclient2.exe がシャットダウンされると、デバイス エージェントもすべてシャットダウンされます。デバイス エージェントは、クリーンアップを実行して正常に終了するために、シャットダウン通知を受信するよう要求できます。デバイス エージェントがシャットダウン通知を受信するためには、このインターフェイスを実装するクラスを定義し、IDeviceAgentTransport::RegisterShutdownCallback を使用してそれを登録する必要があります。
使用例
このインターフェイスのカスタム実装を定義する例を次に示します。コード例全体については、「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;
}
};
相当するマネージ機能
Microsoft.SmartDevice.DeviceAgentTransport.IAgentTransportShutdownCallback
必要条件
DeviceAgentTransport.h