Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Actualización: noviembre 2007
Da a los agentes de dispositivos la oportunidad de realizar operaciones de limpieza y cerrarse.
HRESULT Shutdown([in] IUnknown *in_pUnknown)
Parámetros
- in_pUnknown
Cookie de interfaz de IUnknown
Valor devuelto
Un valor HRESULT que indica el resultado de la llamada al método.
S_OK | Esta llamada a la API fue correcta.
E_FAIL | Valor devuelto para cualquier otro error.
Comentarios
Para registrar el objeto de devolución de llamada, utilice IDeviceAgentTransport::RegisterShutdownCallback.
Ejemplo
En el ejemplo siguiente se define una implementación personalizada de IAgentTransportShutdownCallback. Para obtener el ejemplo completo, consulte 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;
}
};
Equivalente administrado
IAgentTransportShutdownCallback.Shutdown
Requisitos
DeviceAgentTransport.h