次の方法で共有


IAgentTransportShutdownCallback

更新 : 2007 年 11 月

シャットダウン コールバック オブジェクトに実装する必要があるメソッドを定義します。

IAgentTransportShutdownCallback : public IUnknown

メソッド

メソッド

説明

IAgentTransportShutdownCallback::Shutdown

デバイス側のエージェントがクリーンアップを実行して終了できるようにします。

解説

デバイス エージェントは、デバイス上で 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

参照

その他の技術情報

アンマネージ デバイス側スマート デバイス接続 API