Metodo IUPnPService::AddCallback (upnp.h)
Il metodo AddCallback registra il callback di un'applicazione con il framework UPnP.
Sintassi
HRESULT AddCallback(
[in] IUnknown *pUnkCallback
);
Parametri
[in] pUnkCallback
Specifica il riferimento all'interfaccia che contiene il callback da registrare. L'oggetto a cui fa riferimento pUnkCallback deve supportare l'interfaccia IUPnPServiceCallback o l'interfaccia IDispatch .
Valore restituito
Se il metodo ha esito positivo, il valore restituito viene S_OK. In caso contrario, il metodo restituisce uno dei codici di errore COM definiti in WinError.h.
Commenti
Non chiamare questo metodo dall'interno di un callback; si verifica un danneggiamento della memoria.
Se vengono registrati più callback, il framework UPnP richiama i callback in sequenza.
L'oggetto a cui fa riferimento pUnkCallback deve supportare l'interfaccia IUPnPServiceCallback o l'interfaccia IDispatch . Il metodo AddCallback esegue prima una query pUnkCallback per l'interfaccia IUPnPServiceCallback . Se questa interfaccia non è supportata, il metodo AddCallback esegue una query su pUnkCallback per l'interfaccia IDispatch . Se l'interfaccia IDispatch non è supportata, entrambi i controlli non sono riusciti e il metodo AddCallback restituisce E_FAIL.
Se è supportato solo IDispatch , l'oggetto servizio richiama il callback chiamando IDispatch::Invoke con l'ID dispatch specificato come zero, che indica il metodo predefinito. Questo metodo IDispatch predefinito viene passato agli stessi parametri del metodo IUPnPServiceCallback , ma il primo parametro passato è una stringa che indica il motivo per cui viene richiamato il callback. I valori validi sono VARIABLE_UPDATE e SERVICE_INSTANCE_DIED.
Questo metodo ha gli argomenti seguenti:
- Motivo per cui viene richiamato il callback. Viene richiamato perché una variabile di stato è stata modificata (VARIABLE_UPDATE) o perché l'istanza del servizio non è più disponibile (SERVICE_INSTANCE_DIED).
- Oggetto servizio per il quale viene richiamato il callback.
Se il callback viene richiamato per una modifica di una variabile di stato, al metodo vengono passati due argomenti aggiuntivi:
- Nome della variabile modificata.
- Nuovo valore.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Nessuno supportato |
Piattaforma di destinazione | Windows |
Intestazione | upnp.h |
DLL | Upnp.dll |