IAgentTransportShutdownCallback::Shutdown
Mise à jour : novembre 2007
Donne aux agents côté appareil la possibilité d'effectuer un nettoyage et de quitter.
HRESULT Shutdown([in] IUnknown *in_pUnknown)
Paramètres
- in_pUnknown
Cookie d'interface d'IUnknown
Valeur de retour
Valeur HRESULT qui indique le résultat de l'appel de méthode.
S_OK | Cet appel d'API a réussi.
E_FAIL | Valeur de retour pour tout autre échec.
Notes
Pour enregistrer l'objet de rappel, utilisez IDeviceAgentTransport::RegisterShutdownCallback.
Exemple
L'exemple suivant définit une implémentation personnalisée d'IAgentTransportShutdownCallback. Pour accéder à l'intégralité de l'exemple, consultez la rubrique 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;
}
};
Équivalent managé
IAgentTransportShutdownCallback.Shutdown
Configuration requise
DeviceAgentTransport.h