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 |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
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). |
|
ppDeviceProxy ist NULL. |
|
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 |