WS_MESSAGE_PROPERTY_ID列挙 (webservices.h)

各メッセージ プロパティは 、WS_MESSAGE_PROPERTY型であり、ID によって識別され、関連付けられた値を持ちます。

構文

typedef enum {
  WS_MESSAGE_PROPERTY_STATE = 0,
  WS_MESSAGE_PROPERTY_HEAP = 1,
  WS_MESSAGE_PROPERTY_ENVELOPE_VERSION = 2,
  WS_MESSAGE_PROPERTY_ADDRESSING_VERSION = 3,
  WS_MESSAGE_PROPERTY_HEADER_BUFFER = 4,
  WS_MESSAGE_PROPERTY_HEADER_POSITION = 5,
  WS_MESSAGE_PROPERTY_BODY_READER = 6,
  WS_MESSAGE_PROPERTY_BODY_WRITER = 7,
  WS_MESSAGE_PROPERTY_IS_ADDRESSED = 8,
  WS_MESSAGE_PROPERTY_HEAP_PROPERTIES = 9,
  WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES = 10,
  WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES = 11,
  WS_MESSAGE_PROPERTY_IS_FAULT = 12,
  WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS = 13,
  WS_MESSAGE_PROPERTY_USERNAME = 14,
  WS_MESSAGE_PROPERTY_ENCODED_CERT = 15,
  WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN = 16,
  WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN = 17,
  WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN = 18,
  WS_MESSAGE_PROPERTY_SAML_ASSERTION = 19,
  WS_MESSAGE_PROPERTY_SECURITY_CONTEXT = 20,
  WS_MESSAGE_PROPERTY_PROTECTION_LEVEL = 21
} WS_MESSAGE_PROPERTY_ID;

定数

 
WS_MESSAGE_PROPERTY_STATE
値: 0
このプロパティは 、WsGetMessageProperty で使用されます。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは、メッセージの現在のWS_MESSAGE_STATEです。

このプロパティは、すべてのメッセージ状態で使用できます。
WS_MESSAGE_PROPERTY_HEAP
値: 1
このプロパティは 、WsGetMessageProperty で使用されます。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは、メッセージのWS_HEAPです。 ヒープは次の値です。
メッセージによって所有されます。 メッセージのユーザーは自由に追加できます
このヒープ内の割り当て。 ヒープ内の割り当てが解放される
メッセージがリセットまたは解放されたとき。


返されたヒープのユーザーは、ヒープで WsResetHeap を呼び出さないでください。 これにより、未定義の動作が発生します。


メッセージ オブジェクトは、次のいずれかを除き、ヒープ オブジェクトを使用しません
メッセージ API が呼び出されます。


このプロパティは、 WS_MESSAGE_STATE_EMPTYを除くすべてのメッセージ状態で使用できます。
空のメッセージのヒープを使用すると、未定義の動作が発生します。
WS_MESSAGE_PROPERTY_ENVELOPE_VERSION
値: 2
このプロパティは 、WsGetMessageProperty で使用されます。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは、メッセージのWS_ENVELOPE_VERSIONです。


WsCreateMessage を使用してメッセージを作成する場合、
エンベロープ バージョンは明示的なパラメーターとして指定されます (代わりに
プロパティとして を指定します。


このプロパティは、 を使用してメッセージ プロパティを指定する場合に指定できます
WS_MESSAGE_PROPERTIES構造体。


このプロパティは、 WS_MESSAGE_STATE_EMPTYを除くすべてのメッセージ状態で使用できます。
WS_MESSAGE_PROPERTY_ADDRESSING_VERSION
値: 3
このプロパティは 、WsGetMessageProperty で使用されます。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは、メッセージのWS_ADDRESSING_VERSIONです。


WsCreateMessage を使用してメッセージを作成する場合、
アドレス指定バージョンは明示的なパラメーターとして指定されます (代わりに
プロパティとして を指定します。


このプロパティは、 を使用してメッセージ プロパティを指定する場合に指定できます
WS_MESSAGE_PROPERTIES構造体。


このプロパティは、 WS_MESSAGE_STATE_EMPTYを除くすべてのメッセージ状態で使用できます。
WS_MESSAGE_PROPERTY_HEADER_BUFFER
値: 4
このプロパティは 、WsGetMessageProperty で使用されます。


WS_MESSAGE_PROPERTY 構造体の付随する値メンバーは、ヘッダーを保持するWS_XML_BUFFERです
メッセージの (封筒と本文の要素も含まれます)。


このバッファーは、メッセージがリセットまたは解放されるまで有効です。


このプロパティは、 WS_MESSAGE_STATE_EMPTYを除くすべてのメッセージ状態で使用できます。
WS_MESSAGE_PROPERTY_HEADER_POSITION
値: 5
このプロパティは 、WsGetMessageProperty で使用されます。

WS_MESSAGE_PROPERTY 構造体の付随する値メンバーは、ヘッダー バッファー内のヘッダー要素のWS_XML_NODE_POSITIONです (すべての 要素を含む要素)
メッセージ ヘッダーを子として)。 ヘッダー バッファー自体は、
WS_MESSAGE_PROPERTY_HEADER_BUFFER を使用して取得されます。


アプリケーションは、開始として返される WS_XML_NODE_POSITION を使用できます
は、ヘッダーを手動で読み書きするときにポイントします ( WsSetHeader を使用しない場合は、
WsGetHeaderWsGetCustomHeaderまたは WsAddCustomHeader)。
たとえば、位置を WsSetWriterPosition または に渡すことができます。
ヘッダーを含むWS_XML_BUFFER内に XML リーダーまたは XML ライターを配置する WsSetReaderPosition。 さらに、
WsMoveReader または WsMoveWriter を使用して相対移動できます。
が設定された位置に移動します。


メッセージのヘッダーが読み取られた場合 ( WsReadMessageStart または
WsReadEnvelopeStart では、ヘッダー要素が 自動的に に追加されます。
ヘッダー バッファー (読み取り中のメッセージに存在しない場合)。 メッセージが初期化されたとき
( WsInitializeMessage を使用)、ヘッダー要素が自動的に追加されます
をメッセージに送信します。


このプロパティは、 WS_MESSAGE_STATE_EMPTYを除くすべてのメッセージ状態で使用できます。


ヘッダー位置は、メッセージがリセットまたは解放されるまで有効です。
WS_MESSAGE_PROPERTY_BODY_READER
値: 6
このプロパティは 、WsGetMessageProperty で使用されます。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは、読み取りに使用できるWS_XML_READERです
メッセージの本文。


リーダーはメッセージ オブジェクトによって所有されており、有効なのは
WsFreeMessage または WsResetMessage のいずれかが呼び出されるまで。


このプロパティは、メッセージが
WS_MESSAGE_STATE_READING状態です。
WS_MESSAGE_PROPERTY_BODY_WRITER
値: 7
このプロパティは 、WsGetMessageProperty で使用されます。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは、書き込みに使用できるWS_XML_WRITERです
メッセージの本文。


このプロパティは、メッセージが に含まれている場合にのみ使用できます
WS_MESSAGE_STATE_WRITING 状態。


ライターはメッセージ オブジェクトによって所有されており、有効なのは
WsFreeMessage または WsResetMessage のいずれかが呼び出されるまで。
WS_MESSAGE_PROPERTY_IS_ADDRESSED
値: 8
このプロパティは 、WsGetMessageProperty で使用されます。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは、メッセージに が含まれているかどうかを示す BOOL です
が対処されました。


メッセージが作成またはリセットされると、このプロパティは 次のようになります。
FALSE に設定 します


メッセージが読み取られた場合 (WsReadMessageStart または
WsReadEnvelopeStart の場合、このプロパティは
TRUE に設定 します


このプロパティは、 WS_MESSAGE_STATE_EMPTYを除くすべてのメッセージ状態で使用できます。


詳細については、「 WsAddressMessage 」を参照してください。
WS_MESSAGE_PROPERTY_HEAP_PROPERTIES
値: 9
このプロパティは、 WsCreateMessage でプロパティを指定するために使用されます
メッセージに関連付けられている WS_HEAP の 。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは、WS_HEAP_PROPERTIES型です。


ヒープは、メッセージのヘッダーのバッファーに使用されます。


次のヒープ プロパティを指定できます。


WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES
値: 10
このプロパティは、 WsCreateMessage でプロパティを指定するために使用されます
メッセージと共に使用される XML リーダー に適用されます。


これらの XML リーダー プロパティは、ヘッダーの読み取り時にメッセージ オブジェクトによって使用されます。
さらに、チャネルは、読み取るために作成するリーダーにこれらのプロパティを使用します。
メッセージが含まれます。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは、WS_XML_READER_PROPERTIES型です。


次のプロパティを指定できます。


WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES
値: 11
このプロパティは、 WsCreateMessage でプロパティを指定するために使用されます
メッセージと共に使用される XML ライター の 。


これらの XML ライター プロパティは、ヘッダーを書き込むときにメッセージ オブジェクトによって使用されます。
さらに、チャネルは、作成するライターにこれらのプロパティを使用して書き込みます。
メッセージが含まれます。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは、WS_XML_WRITER_PROPERTIES型です。


次のプロパティを指定できます。


WS_MESSAGE_PROPERTY_IS_FAULT
値: 12
このプロパティは、メッセージにエラーが含まれているかどうかを示すために、WsGetMessageProperty または WsSetMessageProperty と共に使用されます。


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

メッセージが読み取られた場合 (WsReadMessageStart または WsReadEnvelopeStart)
このプロパティは、本文の最初の要素が障害であるかどうかを示す値に従って設定されます。
要素の子です。 アプリケーションは、このプロパティをテストして、
を使用して、本文を障害として読み取ります。 本文をエラーとして読み取る場合は、WsReadBody を使用します
WS_FAULT_TYPEを使用してWS_FAULTを取得します。


メッセージが書き込まれる場合 (WsWriteMessageStart または WsWriteEnvelopeStart)
このプロパティは、アプリケーションがエラーを書き込むかどうかを示すために使用できます
体の中に。 一部のチャネルでは、この情報を使用して、
メッセージを送信します。 たとえば、HTTP は 200 ではなく、障害に対して 500 の状態コードを送信します。


で WsInitializeMessage を使用してメッセージを初期化する場合
WS_FAULT_MESSAGE、 プロパティは TRUE に設定されます。
その他 のWS_MESSAGE_INITIALIZATION 値の場合、 プロパティは FALSE に設定 されます


このプロパティは、 WS_MESSAGE_STATE_EMPTYを除くすべてのメッセージ状態で使用できます。
WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS
値: 13
このプロパティは、ヘッダーの最大数を指定するために WsCreateMessage と共に使用されます
メッセージ ヘッダーを処理するときに許可される。


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

この制限の目的は、イテレーションの数に上限を設定することです
ヘッダーのスキャンに費やされました。


アプリケーションはヘッダー バッファーの内容を直接変更できるため、
この制限は、すべての場合に適用されるわけではありません。 いずれかの場合にのみ適用されます。
ヘッダー アクセス API が使用されます (WsSetHeaderWsGetHeader
WsGetCustomHeader、または WsGetMappedHeader)。


既定値は 64 です。
WS_MESSAGE_PROPERTY_USERNAME
値: 14
このプロパティは、送信者の を取得するために WsGetMessageProperty と共に使用されます。
ユーザー名/パスワード ベースのセキュリティの場合、受信したメッセージからのユーザー名
がオンの場合、またはカスタム チャネルで値が設定されている場合は 。


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

戻り値は、メッセージが解放またはリセットされるまで有効です。


カスタム チャネルでは 、WsSetMessageProperty を使用して設定できます
ユーザー名/パスワードがサポートされている場合は、メッセージからの送信者のユーザー名
ベースのセキュリティ。 関数は、指定された値のコピーを作成します。


このプロパティは、 を除くすべてのメッセージ状態で使用できます
WS_MESSAGE_STATE_EMPTY
WS_MESSAGE_PROPERTY_ENCODED_CERT
値: 15
このプロパティは、送信者の を取得するために WsGetMessageProperty と共に使用されます。
場合は、受信したメッセージからエンコードされたバイトとして証明書を取得します。
証明書ベースのセキュリティ モード (SSL など) がオンになっている場合、
または、カスタム チャネルで値が設定されている場合は 。


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

戻り値は、メッセージが解放またはリセットされるまで有効です。


カスタム チャネルでは 、WsSetMessageProperty を使用して設定できます
がサポートされている場合は、受信したメッセージからの送信者の証明書
証明書ベースのセキュリティ モード。 関数は、指定された値のコピーを作成します。


このプロパティは、 を除くすべてのメッセージ状態で使用できます
WS_MESSAGE_STATE_EMPTY
WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN
値: 16
このプロパティは、 Windows を取得するために WsGetMessageProperty と共に使用されます
受信したメッセージからの送信者を表すトークン。 このプロパティは、
次の場合に使用できます。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは HANDLE です


戻り値は、メッセージが解放またはリセットされるまで有効です。


カスタム チャネルでは 、WsSetMessageProperty を使用して設定できます
がサポートされている場合は、受信したメッセージからの送信者の証明書
証明書ベースのセキュリティ モード。 関数は、指定されたハンドルを複製します。


このプロパティは、 を除くすべてのメッセージ状態で使用できます
WS_MESSAGE_STATE_EMPTY
WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN
値: 17
このプロパティは、 Windows を取得するために WsGetMessageProperty と共に使用されます
受け取ったメッセージからの送信者を表すトークン
WS_HTTP_HEADER_AUTH_SECURITY_BINDING が使用されます。
または、カスタム チャネルで値が設定されている場合は 。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは HANDLE です

戻り値は、メッセージが解放またはリセットされるまで有効です。


カスタム チャネルでは 、WsSetMessageProperty を使用して設定できます
受信したメッセージからの送信者を表す Windows トークン。
関数は、指定されたハンドルを複製します。


このプロパティは、 を除くすべてのメッセージ状態で使用できます
WS_MESSAGE_STATE_EMPTY
WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN
値: 18
このプロパティは、 Windows を取得するために WsGetMessageProperty と共に使用されます
メッセージ セキュリティの場合、受信したメッセージからの送信者を表すトークン
WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDINGなどのバインドが使用されます。
または、カスタム チャネルで値が設定されている場合は 。


WS_MESSAGE_PROPERTY構造体の付随する値メンバーは HANDLE です

戻り値は、メッセージが解放またはリセットされるまで有効です。


カスタム チャネルでは 、WsSetMessageProperty を使用して設定できます
受信したメッセージからの送信者を表すトークン。
関数は、指定されたハンドルを複製します。


このプロパティは、 を除くすべてのメッセージ状態で使用できます
WS_MESSAGE_STATE_EMPTY
WS_MESSAGE_PROPERTY_SAML_ASSERTION
値: 19
このプロパティは、SAML アサーションを取得するために WsGetMessageProperty と共に使用されます
受信したメッセージからの送信者を表す場合は、
WS_SAML_MESSAGE_SECURITY_BINDING はサーバー側で使用されます。
または、カスタム チャネルで値が設定されている場合は 。


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

戻り値は、メッセージが解放またはリセットされるまで有効です。


カスタム チャネルでは 、WsSetMessageProperty を使用して設定できます
受信したメッセージからの送信者を表す SAML アサーション。
関数は、指定されたバッファーを複製します。


このプロパティは、 を除くすべてのメッセージ状態で使用できます
WS_MESSAGE_STATE_EMPTY
WS_MESSAGE_PROPERTY_SECURITY_CONTEXT
値: 20
このプロパティは、 WsGetMessageProperty と共に使用され、
WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING はサーバー側で使用されます。


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

戻り値は、メッセージが解放またはリセットされるまで有効です。
WS_MESSAGE_PROPERTY_PROTECTION_LEVEL
値: 21
このプロパティは、メッセージのセキュリティ保護レベルを取得するために WsGetMessageProperty と共に使用されます。

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

チャネルがセキュリティを使用しない場合、またはセキュリティ検証に失敗した場合、保護レベルは に設定されます。
WS_PROTECTION_LEVEL_NONE。 それ以外の場合は、アプリケーションによって要求されたレベルに設定されます。


このプロパティは、WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS時のセキュリティ検証の状態を判断するために使用できます
が FALSE に設定 されています


カスタム チャネルでは 、WsSetMessageProperty を使用して設定できます
受信したメッセージの保護レベル。


このプロパティは、 を除くすべてのメッセージ状態で使用できます
WS_MESSAGE_STATE_EMPTY

要件

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