IUPnPService::AddCallback-Methode (upnp.h)
Die AddCallback-Methode registriert den Rückruf einer Anwendung beim UPnP-Framework.
Syntax
HRESULT AddCallback(
[in] IUnknown *pUnkCallback
);
Parameter
[in] pUnkCallback
Gibt den Verweis auf die Schnittstelle an, die den zu registrierenden Rückruf enthält. Das objekt, auf das von pUnkCallback verwiesen wird, muss entweder die IUPnPServiceCallback-Schnittstelle oder die IDispatch-Schnittstelle unterstützen.
Rückgabewert
Wenn die Methode erfolgreich ist, wird der Rückgabewert S_OK. Andernfalls gibt die Methode einen der com-Fehlercodes zurück, die in WinError.h definiert sind.
Hinweise
Rufen Sie diese Methode nicht innerhalb eines Rückrufs auf. Es tritt eine Speicherbeschädigung auf.
Wenn mehrere Rückrufe registriert sind, ruft das UPnP-Framework die Rückrufe sequenziell auf.
Das objekt, auf das von pUnkCallback verwiesen wird, muss entweder die IUPnPServiceCallback-Schnittstelle oder die IDispatch-Schnittstelle unterstützen. Die AddCallback-Methode fragt zuerst pUnkCallback für die IUPnPServiceCallback-Schnittstelle ab . Wenn diese Schnittstelle nicht unterstützt wird, fragt die AddCallback-MethodepUnkCallback für die IDispatch-Schnittstelle ab. Wenn die IDispatch-Schnittstelle nicht unterstützt wird, sind beide Überprüfungen fehlgeschlagen, und die AddCallback-Methode gibt E_FAIL zurück.
Wenn nur IDispatch unterstützt wird, ruft das Dienstobjekt den Rückruf auf, indem IDispatch::Invoke aufgerufen wird, wobei die Dispatch-ID als null angegeben ist, was die Standardmethode angibt. Diese IDispatch-Standardmethode wird die gleichen Parameter wie die IUPnPServiceCallback-Methode übergeben, aber der erste übergebene Parameter ist eine Zeichenfolge, die angibt, warum der Rückruf aufgerufen wird. Gültige Werte sind VARIABLE_UPDATE und SERVICE_INSTANCE_DIED.
Diese Methode weist die folgenden Argumente auf:
- Der Grund, warum der Rückruf aufgerufen wird. Sie wird entweder aufgerufen, weil sich eine Zustandsvariable geändert hat (VARIABLE_UPDATE) oder weil der Dienst instance nicht mehr verfügbar ist (SERVICE_INSTANCE_DIED).
- Das Dienstobjekt, für das der Rückruf aufgerufen wird.
Wenn der Rückruf für eine Zustandsvariablenänderung aufgerufen wird, werden der -Methode zwei zusätzliche Argumente übergeben:
- Der Name der Variablen, die geändert wurde.
- Der neue Wert.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Nicht unterstützt |
Zielplattform | Windows |
Kopfzeile | upnp.h |
DLL | Upnp.dll |