Freigeben über


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

Weitere Informationen

IUPnPService

IUPnPServiceCallback