IAgentTransportShutdownCallback
Обновлен: Ноябрь 2007
Определяет методы, которые должен реализовать объект функции обратного вызова по завершении работы.
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
См. также
Другие ресурсы
Неуправляемый интерфейс API подключения смарт-устройства, расположенный на стороне устройства