WSDCreateDeviceProxy-Funktion (wsdclient.h)

Erstellt einen Geräteproxy und gibt einen Zeiger auf die IWSDDeviceProxy-Schnittstelle zurück.

Syntax

HRESULT WSDCreateDeviceProxy(
  [in]  LPCWSTR         pszDeviceId,
  [in]  LPCWSTR         pszLocalId,
  [in]  IWSDXMLContext  *pContext,
  [out] IWSDDeviceProxy **ppDeviceProxy
);

Parameter

[in] pszDeviceId

Die logische oder physische Adresse des Geräts. Eine logische Adresse hat das Format urn:uuid:{guid}. Eine physische Adresse ist ein URI mit dem Präfix http oder https. Wenn diese Adresse ein URI mit dem Präfix https ist, verwendet der Proxy das SSL/TLS-Protokoll.

Der Geräteadresse kann das @-Zeichen vorangestellt werden. Wenn pszDeviceId mit @beginnt, ruft diese Funktion beim Erstellen des Geräteproxys nicht die Gerätemetadaten ab.

[in] pszLocalId

Die logische oder physische Adresse des Clients, die verwendet wird, um den Proxy zu identifizieren und als Ereignissenkendpunkt zu fungieren. Eine logische Adresse hat das Format urn:uuid:{guid}.

Wenn der Client einen sicheren Kanal zum Empfangen von Ereignissen verwendet, ist die Adresse ein URI mit dem Präfix https. Dieser URI sollte Port 5358 angeben, da dieser Port für sichere Verbindungen mit WSDAPI reserviert ist. Der Port muss mit einem SSL-Serverzertifikat konfiguriert werden, bevor WSDCreateDeviceProxyAdvanced aufgerufen wird. Weitere Informationen zur Portkonfiguration finden Sie unter HttpSetServiceConfiguration.

[in] pContext

Ein IWSDXMLContext-Objekt , das benutzerdefinierte Nachrichtentypen oder Namespaces definiert.

Wenn NULL, wird ein Standardkontext verwendet, der die integrierten Nachrichtentypen und Namespaces darstellt.

[out] ppDeviceProxy

Zeiger auf ein IWSDDeviceProxy-Objekt , das Sie verwenden, um ein WSD-Remotegerät für Clientanwendungen und Middleware darzustellen.

Rückgabewert

Mögliche Rückgabewerte sind unter anderem:

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_INVALIDARG
pszDeviceId ist NULL, pszLocalId ist NULL, die Länge in Zeichen von pszDeviceId überschreitet WSD_MAX_TEXT_LENGTH (8192), oder die Länge in Zeichen von pszLocalId überschreitet WSD_MAX_TEXT_LENGTH (8192).
E_POINTER
ppDeviceProxy ist NULL.
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen.

Hinweise

Die WSDCreateDeviceProxy-Funktion ruft die IWSDDeviceProxy::Init-Methode auf, die eine instance eines IWSDDeviceProxy-Objekts initialisiert.

Diese Funktion ruft auch die Gerätemetadaten ab, es sei denn, der Parameter pszDeviceId beginnt mit dem @-Zeichen. Um Gerätemetadaten abzurufen, nachdem der Geräteproxy erstellt wurde, rufen Sie IWSDDeviceProxy::BeginGetMetadata und IWSDDeviceProxy::EndGetMetadata für das zurückgegebene IWSDDeviceProxy-Objekt auf.

Informationen zur Problembehandlung bei WSDCreateDeviceProxy-Funktionsaufrufen finden Sie unter Problembehandlung bei WSDAPI-Anwendungen.

Anforderungen

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

Weitere Informationen

Problembehandlung bei WSDAPI-Anwendungen