IWSDDeviceHost::Init-Methode (wsdhost.h)

Initialisiert eine instance eines IWSDDeviceHost-Objekts, bei dem es sich um die hostseitige Darstellung eines Geräts handelt.

Syntax

HRESULT Init(
  [in]           LPCWSTR        pszLocalId,
  [in, optional] IWSDXMLContext *pContext,
  [in, optional] IWSDAddress    **ppHostAddresses,
  [in, optional] DWORD          dwHostAddressCount
);

Parameter

[in] pszLocalId

Die logische oder physische Adresse des Geräts. Eine logische Adresse hat das Format urn:uuid:{guid}. Wenn pszLocalId eine logische Adresse ist, gibt der Host die logische Adresse an und konvertiert die Adresse dann in eine physische Adresse, wenn er Resolve- oder Testnachrichten empfängt.

Wenn pszLocalId eine physische Adresse ist (z. B. url mit dem Präfix http oder https), verwendet der Host die Adresse als physische Adresse und hostet diese Adresse anstelle der Standardadresse.

Für eine sichere Kommunikation muss pszLocalId eine URL mit dem Präfix https sein, und der Host verwendet das SSL/TLS-Protokoll an dem in der URL angegebenen Port. Der empfohlene Port ist Port 5358, da dieser Port für sichere Verbindungen mit WSDAPI reserviert ist. Wenn kein Port angegeben ist, verwendet der Host Port 443. Der Hostport muss mit einem SSL-Serverzertifikat konfiguriert werden. Weitere Informationen zur Konfiguration von Hostports finden Sie unter HttpSetServiceConfiguration.

Jede URL (http oder https) muss mit einem nachfolgenden Schrägstrich beendet werden. Die URL muss eine gültige IP-Adresse oder einen gültigen Hostnamen enthalten.

Die folgende Liste zeigt einige Beispielwerte für pszLocalId. Es handelt sich nicht um eine vollständige Liste gültiger Werte.

  • http://192.168.0.1:5357/
  • http://localhost/
  • http://myHostname:5357/
  • https://192.168.0.1:5358/
  • https://myHostname/
  • https://myHostname/myDevice/
  • https://myHostname:5358/

[in, optional] pContext

Eine IWSDXMLContext-Schnittstelle , die benutzerdefinierte Nachrichtentypen oder Namespaces definiert.

[in, optional] ppHostAddresses

Ein einzelnes IWSDAddress-Objekt oder IWSDTransportAddress-Objekt . Die -Objekte bieten Informationen zu bestimmten Adressen, an denen der Host lauschen soll.

Wenn pszLocalId eine lokale Adresse enthält, ist das resultierende Verhalten eine Zuordnung zwischen der logischen Adresse und der angegebenen physischen Adresse (anstelle einer Zuordnung zwischen der logischen Adresse und der physischen Standardadresse).

[in, optional] dwHostAddressCount

Die Anzahl der Elemente im Array ppHostAddresses . Wenn ppHostAddresses eine IWSDAddress-Schnittstelle ist, muss die Anzahl 1 sein.

Rückgabewert

Mögliche Rückgabewerte sind unter anderem folgendes:

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_INVALIDARG
pszLocalId ist NULL, die Länge in Zeichen von pszLocalId überschreitet WSD_MAX_TEXT_LENGTH (8192), oder die Anzahl der Adressen, auf die von ppHostAddresses verwiesen wird, stimmt nicht mit dwHostAddressCount überein.
E_FAIL
Der Gerätehost befindet sich in einem unerwarteten Zustand.
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen.
E_ABORT
Die Initialisierung konnte nicht abgeschlossen werden.

Hinweise

Diese Methode wird von WSDCreateDeviceHost aufgerufen und muss normalerweise nicht direkt vom Code aufgerufen werden.

Anforderungen

Anforderung Wert
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