Freigeben über


IAgentTransportShutdownCallback::Shutdown

Aktualisiert: November 2007

Ermöglicht es geräteseitigen Agents, einen Bereinigungs- und Beendigungsvorgang auszuführen.

HRESULT Shutdown([in] IUnknown *in_pUnknown)

Parameter

  • in_pUnknown
    Schnittstellencookie von IUnknown

Rückgabewert

Ein HRESULT-Wert, der das Ergebnis des Methodenaufrufs angibt.

  • S_OK | Dieser API-Aufruf war erfolgreich.

  • E_FAIL | Rückgabewert eines beliebigen anderen Fehlers.

Hinweise

Um das Rückrufobjekt zu registrieren, verwenden Sie IDeviceAgentTransport::RegisterShutdownCallback.

Beispiel

Im folgenden Beispiel wird eine benutzerdefinierte Implementierung von IAgentTransportShutdownCallback definiert. Das vollständige Beispiel finden Sie unter 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;
    }
};

Verwaltete Entsprechung

IAgentTransportShutdownCallback.Shutdown

Anforderungen

DeviceAgentTransport.h

Siehe auch

Referenz

IAgentTransportShutdownCallback