WSDCreateDeviceProxy 関数 (wsdclient.h)
デバイス プロキシを作成し、 IWSDDeviceProxy インターフェイスへのポインターを返します。
構文
HRESULT WSDCreateDeviceProxy(
[in] LPCWSTR pszDeviceId,
[in] LPCWSTR pszLocalId,
[in] IWSDXMLContext *pContext,
[out] IWSDDeviceProxy **ppDeviceProxy
);
パラメーター
[in] pszDeviceId
デバイスの論理アドレスまたは物理アドレス。 論理アドレスは、 という形式 urn:uuid:{guid}
です。 物理アドレスは、http または https でプレフィックスが付いた URI です。 このアドレスが https でプレフィックス付きの URI である場合、プロキシは SSL/TLS プロトコルを使用します。
デバイス アドレスの先頭に @ 文字を付ける場合があります。 pszDeviceId が @で始まる場合、この関数はデバイス プロキシの作成時にデバイス メタデータを取得しません。
[in] pszLocalId
プロキシを識別し、イベント シンク エンドポイントとして機能するために使用される、クライアントの論理アドレスまたは物理アドレス。 論理アドレスは、 という形式 urn:uuid:{guid}
です。
クライアントがセキュリティで保護されたチャネルを使用してイベントを受信する場合、アドレスは https でプレフィックス付きの URI になります。 この URI では、WSDAPI とのセキュリティで保護された接続用にこのポートが予約されているため、ポート 5358 を指定する必要があります。 WSDCreateDeviceProxyAdvanced を呼び出す前に、ポートを SSL サーバー証明書で構成する必要があります。 ポート構成の詳細については、「 HttpSetServiceConfiguration」を参照してください。
[in] pContext
カスタム メッセージ型または名前空間を定義する IWSDXMLContext オブジェクト。
NULL の場合は、組み込みのメッセージ型と名前空間を表す既定のコンテキストが使用されます。
[out] ppDeviceProxy
クライアント アプリケーションとミドルウェアのリモート WSD デバイスを表すために使用する IWSDDeviceProxy オブジェクトへのポインター。
戻り値
可能な戻り値には、次のものが含まれますが、これらに限定されません。
リターン コード | 説明 |
---|---|
|
メソッドが正常に完了しました。 |
|
pszDeviceId が NULL、 pszLocalId が NULL、 pszDeviceId の文字数が WSD_MAX_TEXT_LENGTH (8192) を超える、または pszLocalId の文字数が WSD_MAX_TEXT_LENGTH (8192) を超えています。 |
|
ppDeviceProxy は NULL です。 |
|
操作を完了するためのメモリ不足。 |
解説
WSDCreateDeviceProxy 関数は IWSDDeviceProxy::Init メソッドを呼び出し、IWSDDeviceProxy オブジェクトのインスタンスを初期化します。
pszDeviceId パラメーターが @ 文字で始まる場合を除き、この関数はデバイス メタデータも取得します。 デバイス プロキシの作成後にデバイス メタデータを取得するには、返された IWSDDeviceProxy オブジェクトで IWSDDeviceProxy::BeginGetMetadata と IWSDDeviceProxy::EndGetMetadata を呼び出します。
WSDCreateDeviceProxy 関数呼び出しのトラブルシューティングについては、「WSDAPI アプリケーションのトラブルシューティング」を参照してください。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | wsdclient.h (Wsdapi.h を含む) |
Library | Wsdapi.lib |
[DLL] | Wsdapi.dll |