WS_LISTENER_PROPERTY_ID列挙 (webservices.h)

各リスナー プロパティは 、WS_LISTENER_PROPERTY型であり、ID によって識別され、関連付けられた値を持ちます。 リスナーの作成時に プロパティが指定されていない場合は、その既定値が使用されます。

構文

typedef enum {
  WS_LISTENER_PROPERTY_LISTEN_BACKLOG = 0,
  WS_LISTENER_PROPERTY_IP_VERSION = 1,
  WS_LISTENER_PROPERTY_STATE = 2,
  WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL = 3,
  WS_LISTENER_PROPERTY_CHANNEL_TYPE = 4,
  WS_LISTENER_PROPERTY_CHANNEL_BINDING = 5,
  WS_LISTENER_PROPERTY_CONNECT_TIMEOUT = 6,
  WS_LISTENER_PROPERTY_IS_MULTICAST = 7,
  WS_LISTENER_PROPERTY_MULTICAST_INTERFACES = 8,
  WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK = 9,
  WS_LISTENER_PROPERTY_CLOSE_TIMEOUT = 10,
  WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS = 11,
  WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS = 12,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS = 13,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS = 14,
  WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE = 15,
  WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT = 16
} WS_LISTENER_PROPERTY_ID;

定数

 
WS_LISTENER_PROPERTY_LISTEN_BACKLOG
値: 0
WS_TCP_CHANNEL_BINDINGWsCreateListener または WsGetListenerProperty で使用されます。


WS_LISTENER_PROPERTY構造体の付随する値メンバーは ULONG です。

これにより、保留中の接続のキューの最大長が制御されます。 に設定されている場合
SOMAXCONN では、バックログは最大妥当な値に設定されます。
WS_LISTENER_PROPERTY_IP_VERSION
値: 1
WS_TCP_CHANNEL_BINDINGまたはWS_UDP_CHANNEL_BINDINGのWsCreateListener または WsGetListenerProperty と共に使用されます。


WS_LISTENER_PROPERTY 構造体の付随するメンバーは、WS_IP_VERSION値です。

このプロパティは、リスナーが使用する IP バージョンを指定します。


既定値は WS_IP_VERSION_AUTO です。
WS_LISTENER_PROPERTY_STATE
値: 2
すべてのチャネルの種類に 対して WsGetListenerProperty と共に使用されます。



WS_LISTENER_PROPERTY構造体の付随するメンバーは、WS_LISTENER_STATE値です。

リスナーの現在の WS_LISTENER_STATE を返します。 戻り値は現在の状態のスナップショットであるため、
呼び出し元が行う前に状態が変更された可能性がある
値を調べる機会がありました。
WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL
値: 3
すべてのチャネルの種類に 対して WsCreateListener または WsGetListenerProperty と共に使用されます。


WS_LISTENER_PROPERTY構造体の付随するメンバーは、WS_CALLBACK_MODEL値です。

この値は、発行時に推奨される非同期コールバック モデルを示します
作成されたリスナーまたはチャネルの非同期操作
WsCreateChannelForListener を使用します。


既定値は WS_LONG_CALLBACK です。


WS_SERVICE_HOSTでは、許容される値としてWS_LONG_CALLBACKのみがサポートされます
このプロパティの 。
WS_LISTENER_PROPERTY_CHANNEL_TYPE
値: 4
すべてのチャネルの種類に 対して WsGetListenerProperty と共に使用されます。

WS_LISTENER_PROPERTY構造体の付随するメンバーは、WS_CHANNEL_TYPE値です。

このプロパティ
は、使用されているチャネルのメッセージ交換パターンを指定します。
WS_LISTENER_PROPERTY_CHANNEL_BINDING
値: 5
すべてのチャネルの種類に 対して WsGetListenerProperty と共に使用されます。

WS_LISTENER_PROPERTY構造体の付随する値メンバーは、WS_CHANNEL_BINDING値です。

このプロパティ
は、使用するチャネルのバインドを指定します。
WS_LISTENER_PROPERTY_CONNECT_TIMEOUT
値: 6
WS_TCP_CHANNEL_BINDINGおよびWS_NAMEDPIPE_CHANNEL_BINDINGWsCreateListener または WsGetListenerProperty と共に使用されます。

WS_LISTENER_PROPERTY構造体の付随する値メンバーは ULONG です。

受け入れ操作は待機します
基になる TCP ソケットまたは名前付きパイプを受け入れるのに無限の時間。 This
timeout は、net.tcp または net.pipe ハンドシェイク専用の時間に対応します
クライアントが接続すると、クライアントとサービスの間で行われます。
タイムアウト値はミリ秒単位で、値 INFINITE はを示します
タイムアウトなし。 画面右側の
対応 する を設定するWS_CHANNEL_PROPERTY_CONNECT_TIMEOUT
クライアント側の 値。


既定値は 15000 (15 秒) です。
WS_LISTENER_PROPERTY_IS_MULTICAST
値: 7
リスナーがマルチキャスト アドレスでリッスンしていることを示すためにwsCreateListener または wsGetListenerProperty と共にWS_CHANNEL_TYPE_DUPLEX WS_UDP_CHANNEL_BINDINGに使用されます。


WS_LISTENER_PROPERTY構造体の付随する値メンバーは BOOL です

リッスン時にこのプロパティを設定するだけでは十分ではないことに注意してください
マルチキャスト アドレス。 インターフェイスのセットも指定する必要があります
WS_LISTENER_PROPERTY_MULTICAST_INTERFACES プロパティを使用します。


チャネルは、アドレスが実際には であることを検証しません。
マルチキャスト アドレスですが、ソケットの再利用を設定します。
別のプロセスで同じポートを開くこともできます。


既定値は FALSE です。
WS_LISTENER_PROPERTY_MULTICAST_INTERFACES
値: 8
wsCreateListener または WsSetListenerProperty と共に使用され、WS_CHANNEL_TYPE_DUPLEXWS_UDP_CHANNEL_BINDINGされます。


WS_LISTENER_PROPERTY構造体の付随するメンバーは、ULONG 値の配列です。

プロパティのサイズ
は sizeof(ULONG) に値の数を掛けた値です。 各値は を表します。
アダプターのインターフェイス インデックス。 アダプターのインデックスは、
GetAdaptersAddresses 関数を使用して取得します。


WS_LISTENER_PROPERTY_IS_MULTICASTのこの値
このプロパティを使用するには、 プロパティが TRUE である必要があります。


既定値は空のリスト (インターフェイスなし) です。
WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK
値: 9
wsCreateListener使用WS_UDP_CHANNEL_BINDING
WS_CHANNEL_TYPE_DUPLEX


WS_LISTENER_PROPERTY構造体の付随する値メンバーは BOOL です

これは、メッセージが
ループバック インターフェイスで送信された は、このチャネルによって受信されます。 TRUE の場合、
その場合、メッセージは受信されます (それ以外の場合、チャネルには表示されません)。


WS_LISTENER_PROPERTY_IS_MULTICASTのこの値
このプロパティを使用するには、 プロパティが TRUE である必要があります。


既定値は TRUE です。
WS_LISTENER_PROPERTY_CLOSE_TIMEOUT
値: 10
wsCreateListener または WsGetListenerProperty で使用され、WS_CHANNEL_TYPE_REPLYWS_HTTP_CHANNEL_BINDINGされます。


WS_LISTENER_PROPERTY構造体の付随する値メンバーは ULONG です。

これは、次のミリ秒を示します。
WsCloseListener が呼び出されたときに、クライアントが応答からデータを受信するのを待ちます。


このタイムアウトの目的は、クライアントが受信を続行する時間を許可することです
HTTP サーバーが切断される前にサーバーから送信された HTTP 応答からのデータ
クライアント接続。


使用されるタイムアウト値の計算は次のとおりです。



  • WsCloseListener が呼び出された時点で、
    最後の応答が送信された時刻 (最後の応答時間)。 の目的のために、
    このタイムアウト計算では、応答に 対して WsWriteMessageEnd が呼び出されると、応答が送信済みとして記録されます。

  • 現在の時刻と最後の応答時間の差を計算します。

  • 差がタイムアウト値よりも大きい場合は、実際の
    使用されるタイムアウトは 0 です。

  • 差がタイムアウト値以下の場合は、
    実際に使用されるタイムアウトは、タイムアウト値から差を差し引いたものです。


既定のタイムアウト値は 5000 (5 秒) です。
WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS
値: 11
WS_TCP_CHANNEL_BINDINGに WsCreateListener と共 使用されます。
WS_HTTP_CHANNEL_BINDINGWS_UDP_CHANNEL_BINDING、または WS_NAMEDPIPE_CHANNEL_BINDING


WS_LISTENER_PROPERTY構造体の付随する値メンバーは ULONG です。

プロパティ値には、フラグのセットが含まれています ( WS_URL_MATCHING_OPTIONS参照)。
は、受信したメッセージの WS_TO_HEADER 内の URL を照合する方法を指定します。


既定値は



syntax<br><br>WS_MATCH_URL_THIS_HOST |<br>WS_MATCH_URL_EXACT_PATH |<br>WS_MATCH_URL_PORT |<br>WS_MATCH_URL_NO_QUERY<br><br>
WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS
値: 12
wsCreateListenerWS_TCP_CHANNEL_BINDINGまたは
WS_HTTP_CHANNEL_BINDING


WS_LISTENER_PROPERTY構造体の付随する値メンバーは ULONG です。

プロパティ値には、フラグのセットが含まれています ( WS_URL_MATCHING_OPTIONS参照)。
では、受け入れ可能なチャネルのトランスポート URL を照合する方法を指定します。 参照先
トランスポート URL の詳細については、WS_CHANNEL_PROPERTY_TRANSPORT_URL。


既定値は



syntax<br><br>WS_MATCH_URL_THIS_HOST |<br>WS_MATCH_URL_EXACT_PATH |<br>WS_MATCH_URL_PORT |<br>WS_MATCH_URL_NO_QUERY<br><br>

このプロパティは、受信したメッセージの検証のみを制御します
プロセスによって決定されるプロセスへのメッセージのルーティングではなく、プロセスによって
WsOpenListener に渡される URL)。
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS
値: 13
WS_CUSTOM_CHANNEL_BINDINGに WsCreateListener と共 使用されます。


WS_LISTENER_PROPERTY構造体の付随する値メンバーは、WS_CUSTOM_LISTENER_CALLBACKS構造体です。

このプロパティは、次のコールバックを指定するために使用されます。
カスタム リスナーの実装を定義します。


このプロパティは、 WS_CUSTOM_CHANNEL_BINDING を使用する場合に指定する必要があります。
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS
値: 14
WS_CUSTOM_CHANNEL_BINDINGに WsCreateListener と共 使用されます。


WS_LISTENER_PROPERTY構造体の付随する値メンバーは、任意のサイズのデータ型へのポインターです。
プロパティのサイズは、データ型のサイズです。


このプロパティは、カスタム の作成に使用されるパラメーターを指定するために使用されます。
リスナーの実装。


このプロパティの値は、 に渡されます。
WS_CREATE_LISTENER_CALLBACK


このプロパティが指定されていない場合、その値は NULL で、size は 0 です。
WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE
値: 15
WS_CUSTOM_CHANNEL_BINDINGWsGetChannelProperty と共に使用されます。


WS_LISTENER_PROPERTY構造体の付随する値メンバーは void* で、プロパティのサイズは sizeof(void*) です。


は、 によって返される listenerInstance 値に対応します。
WS_CREATE_LISTENER_CALLBACK


このプロパティは、基になるリスナーを取得するために使用できます
カスタム リスナーの インスタンス。 これにより、呼び出し元は
既存のインスタンスが存在する場合にインスタンスとやり取りする
リスナーのプロパティまたはリスナー関数のセットが不十分です。
WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT
値: 16
WS_HTTP_CHANNEL_BINDINGWsCreateListener と共に使用されます。


WS_LISTENER_PROPERTY構造体の付随する値メンバーは、許可されていないユーザーの一覧を指定するWS_DISALLOWED_USER_AGENT_SUBSTRINGSへのポインターです
agents サブ文字列。

  • HTTP 要求を受信すると、UserAgent ヘッダー値が抽出されます。

  • リスト内の各サブ文字列は、抽出された UserAgent 文字列値で検索されます。

  • 部分文字列が見つかった場合、要求は拒否されます。




既定では、リストには次のエントリが含まれています

  • Web ブラウザー: Mozilla




このプロパティは、 WS_ENCODING_RAW エンコードで構成されたリスナーには適用されません。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ]
Header webservices.h