Win32 API 日本語リファレンス
ホームNetworking.WindowsWebServices › WS_WRITE_OPTION

WS_WRITE_OPTION

列挙型
基底型i4

メンバー 4

名前10進16進説明
WS_WRITE_REQUIRED_VALUE10x1

指定されたストレージには値そのものが格納されます。指定するストレージのサイズは、 値のサイズでなければなりません。

このオプションは、値が常に XML コンテンツに書き込まれることを指定します。


int value;
Api(..., &value, sizeof(value), ...);

// 常に書き込まれます
123

このオプションはポインター型 (WS_WSZ_TYPE および WS_XML_BUFFER_TYPE) ではサポートされません。 これらの型には WS_WRITE_REQUIRED_POINTER オプションを使用してください。

WS_WRITE_REQUIRED_POINTER20x2

指定されたストレージには値へのポインターが格納されます。指定するストレージの サイズは、シリアル化される型に関係なく常にポインターのサイズです。

このオプションは、値が常に XML コンテンツに書き込まれることを指定します。


int* valuePointer; // NULL であってはなりません
Api(..., &valuePointer, sizeof(valuePointer), ...);

// 常に書き込まれます
123

ストレージに指定された値へのポインターが NULL の場合は、 E_INVALIDARG が返されます。 (Windows Web Services Return Values を参照してください。)

WS_WRITE_NILLABLE_VALUE30x3

指定されたストレージには値へのポインターが格納されます。指定するストレージの サイズは、シリアル化される型に関係なく常にポインターのサイズです。

値が nil の場合は、XML コンテンツに nil 要素が書き込まれます。 nil でない場合は、値は通常どおりシリアル化されます。


WS_STRING value; // nil 値を格納できます (WS_STRING_TYPE を参照)
Api(..., &value, sizeof(value), ...);

// 値が nil でない場合
hello

// 値が nil の場合

このオプションは、nil 値を表現する固有の手段を持つ以下の型でのみサポートされます。 nil がどのように表現されるかについては、各型のドキュメントを参照してください。

WS_WRITE_NILLABLE_POINTER40x4

すべての型において、指定されたストレージには値へのポインターが格納されます。指定する ストレージのサイズは、シリアル化される型に関係なく常にポインターのサイズです。

ストレージに指定された値へのポインターが NULL の場合は、 XML コンテンツに nil 要素が書き込まれます。


int* valuePointer; // NULL でもかまいません
Api(..., &valuePointer, sizeof(valuePointer), ...);

// 値が NULL でない場合
123

// 値が NULL の場合

公式ドキュメント

指定されたストレージに値そのものが格納されるか値へのポインターが格納されるか、 およびその値を XML コンテンツ内で nil として表現できるかどうかを指定します。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum WS_WRITE_OPTION : int {
    WS_WRITE_REQUIRED_VALUE = 1,
    WS_WRITE_REQUIRED_POINTER = 2,
    WS_WRITE_NILLABLE_VALUE = 3,
    WS_WRITE_NILLABLE_POINTER = 4
} WS_WRITE_OPTION;
public enum WS_WRITE_OPTION : int
{
    WS_WRITE_REQUIRED_VALUE = 1,
    WS_WRITE_REQUIRED_POINTER = 2,
    WS_WRITE_NILLABLE_VALUE = 3,
    WS_WRITE_NILLABLE_POINTER = 4,
}
Public Enum WS_WRITE_OPTION As Integer
    WS_WRITE_REQUIRED_VALUE = 1
    WS_WRITE_REQUIRED_POINTER = 2
    WS_WRITE_NILLABLE_VALUE = 3
    WS_WRITE_NILLABLE_POINTER = 4
End Enum
import enum

class WS_WRITE_OPTION(enum.IntEnum):
    WS_WRITE_REQUIRED_VALUE = 1
    WS_WRITE_REQUIRED_POINTER = 2
    WS_WRITE_NILLABLE_VALUE = 3
    WS_WRITE_NILLABLE_POINTER = 4
// WS_WRITE_OPTION
pub const WS_WRITE_REQUIRED_VALUE: i32 = 1;
pub const WS_WRITE_REQUIRED_POINTER: i32 = 2;
pub const WS_WRITE_NILLABLE_VALUE: i32 = 3;
pub const WS_WRITE_NILLABLE_POINTER: i32 = 4;
// WS_WRITE_OPTION
const (
	WS_WRITE_REQUIRED_VALUE int32 = 1
	WS_WRITE_REQUIRED_POINTER int32 = 2
	WS_WRITE_NILLABLE_VALUE int32 = 3
	WS_WRITE_NILLABLE_POINTER int32 = 4
)
const
  WS_WRITE_REQUIRED_VALUE = 1;
  WS_WRITE_REQUIRED_POINTER = 2;
  WS_WRITE_NILLABLE_VALUE = 3;
  WS_WRITE_NILLABLE_POINTER = 4;
// WS_WRITE_OPTION
pub const WS_WRITE_REQUIRED_VALUE: i32 = 1;
pub const WS_WRITE_REQUIRED_POINTER: i32 = 2;
pub const WS_WRITE_NILLABLE_VALUE: i32 = 3;
pub const WS_WRITE_NILLABLE_POINTER: i32 = 4;
const
  WS_WRITE_REQUIRED_VALUE* = 1
  WS_WRITE_REQUIRED_POINTER* = 2
  WS_WRITE_NILLABLE_VALUE* = 3
  WS_WRITE_NILLABLE_POINTER* = 4
enum WS_WRITE_OPTION : int {
    WS_WRITE_REQUIRED_VALUE = 1,
    WS_WRITE_REQUIRED_POINTER = 2,
    WS_WRITE_NILLABLE_VALUE = 3,
    WS_WRITE_NILLABLE_POINTER = 4,
}
#define global WS_WRITE_REQUIRED_VALUE   0x1
#define global WS_WRITE_REQUIRED_POINTER 0x2
#define global WS_WRITE_NILLABLE_VALUE   0x3
#define global WS_WRITE_NILLABLE_POINTER 0x4