次の方法で共有


WSDCreateDeviceHost 関数 (wsdhost.h)

デバイス ホストを作成し、 IWSDDeviceHost インターフェイスへのポインターを返します。

構文

HRESULT WSDCreateDeviceHost(
  [in]  LPCWSTR        pszLocalId,
  [in]  IWSDXMLContext *pContext,
  [out] IWSDDeviceHost **ppDeviceHost
);

パラメーター

[in] pszLocalId

デバイスの論理アドレスまたは物理アドレス。 論理アドレスは、 という形式 urn:uuid:{guid}です。 pszLocalId が論理アドレスの場合、ホストは論理アドレスを読み上げ、解決またはプローブ メッセージを受信したときにアドレスを物理アドレスに変換します。

pszLocalId が物理アドレス (http または https でプレフィックスが付いた URL など) の場合、ホストはアドレスを物理アドレスとして使用し、既定のアドレスではなくそのアドレスでホストします。

セキュリティで保護された通信の場合、 pszLocalId は https でプレフィックスが付いた URL である必要があり、ホストは URL で指定されたポートで SSL/TLS プロトコルを使用します。 このポートは WSDAPI とのセキュリティで保護された接続用に予約されているため、推奨されるポートはポート 5358 です。 ポートが指定されていない場合、ホストはポート 443 を使用します。 WSDCreateDeviceHost を呼び出す前に、ホスト ポートに SSL サーバー証明書を構成する必要があります。 ホスト ポートの構成の詳細については、「 HttpSetServiceConfiguration」を参照してください。

URL (http または https) は末尾のスラッシュで終了する必要があります。 URL には、有効な IP アドレスまたはホスト名が含まれている必要があります。

pszLocalId の値の例を次に示します。 有効な値の完全な一覧ではありません。

  • 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] pContext

カスタム メッセージ型または名前空間を定義する IWSDXMLContext オブジェクト。

NULL の場合は、組み込みのメッセージ型と名前空間を表す既定のコンテキストが使用されます。

[out] ppDeviceHost

受信要求に応答するサーバーに関連付けられている WSD 固有のデバイス セマンティクスを公開するために使用する IWSDDeviceHost オブジェクトへのポインター。

戻り値

可能な戻り値には、次のものが含まれますが、これらに限定されません。

リターン コード 説明
S_OK
メソッドが正常に完了しました。
E_INVALIDARG
pszLocalIdNULL であるか、 pszLocalId の文字数が WSD_MAX_TEXT_LENGTH (8192) を超えています。
E_POINTER
ppDeviceHostNULL です
E_OUTOFMEMORY
操作を完了するためのメモリ不足。

解説

WSDCreateDeviceHost 関数は IWSDDeviceHost::Init メソッドを呼び出し、IWSDDeviceHost オブジェクトのインスタンスを初期化します。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wsdhost.h (Wsdapi.h を含む)
Library Wsdapi.lib
[DLL] Wsdapi.dll

関連項目

WSDCreateDeviceHostAdvanced