Поделиться через


IAgentTransportShutdownCallback

Обновлен: Ноябрь 2007

Определяет методы, которые должен реализовать объект функции обратного вызова по завершении работы.

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 подключения смарт-устройства, расположенный на стороне устройства