IWSDDeviceHost::AddDynamicService-Methode (wsdhost.h)

Registriert ein Dienstobjekt für eingehende Anforderungen, fügt den Dienst jedoch nicht den Gerätehostmetadaten hinzu. Dies wird für vorübergehende (dynamische) Dienste verwendet.

Syntax

HRESULT AddDynamicService(
  [in]           LPCWSTR              pszServiceId,
  [in, optional] LPCWSTR              pszEndpointAddress,
  [in, optional] const WSD_PORT_TYPE  *pPortType,
  [in, optional] const WSDXML_NAME    *pPortName,
  [in, optional] const WSDXML_ELEMENT *pAny,
  [in, optional] IUnknown             *pService
);

Parameter

[in] pszServiceId

Die ID für den dynamischen Dienst. Die Dienst-ID muss sich von allen Dienst-IDs in den Diensthostmetadaten und von jedem anderen registrierten dynamischen Dienst unterscheiden. Die pszServiceId muss ein URI sein.

[in, optional] pszEndpointAddress

Ein optionaler URI, der als Endpunktadresse für diesen Dienst verwendet werden soll. Wenn keine angegeben ist, geht der Gerätehost davon aus, dass der Dienst für alle lokalen Transportadressen verfügbar sein sollte.

[in, optional] pPortType

Verweis auf eine WSD_PORT_TYPE-Struktur , die den Porttyp angibt. Kann NULL sein. Geben Sie nur einen von pPortType und pPortName an.

[in, optional] pPortName

Verweis auf eine WSDXML_NAME Struktur, die den Typ des Diensts angibt, wobei der Dienst einem angegebenen Port zugeordnet wird. Geben Sie nur einen von pPortType und pPortName an.

[in, optional] pAny

Optionaler Verweis auf einen erweiterbaren Abschnitt, der in die dynamischen Dienstmetadaten aufgenommen werden soll.

[in, optional] pService

Optionaler Verweis auf ein zu registrierende Hostdienstobjekt.

Rückgabewert

Mögliche Rückgabewerte sind unter anderem:

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_POINTER
pszServiceId ist NULL.
E_INVALIDARG
Die Länge der Zeichen von pszServiceId oder pszEndpointAddress überschreitet WSD_MAX_TEXT_LENGTH (8192), oder es werden pPortType und pPortName angegeben.
E_FAIL
Fehler bei der Methode. Möglicherweise ist ein Fehler aufgetreten, weil der Host nicht initialisiert wurde oder der von pszServiceId angegebene Dienst nicht gefunden wurde. Rufen Sie Init auf, um einen Gerätehost zu initialisieren.
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen.

Hinweise

Wenn diese Methode aufgerufen wird, fügt das Gerät einen Verweis auf das Dienstobjekt hinzu und ruft seine Methoden als Reaktion auf Anforderungsmeldungen an den Dienst auf. Rufen Sie die RemoveDynamicService-Methode auf dem Gerätehost auf, um den Verweis auf den Dienst freizugeben und den Aufruf von Methoden für den Dienst zu beenden.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wsdhost.h (include Wsdapi.h)
DLL Wsdapi.dll

Weitere Informationen

IWSDDeviceHost