WS_ENUM_DESCRIPTION 구조체(webservices.h)
WS_ENUM_TYPE 함께 사용되며 필요한 형식 설명입니다. 열거형의 값을 직렬화하고 역직렬화하는 데 사용되는 정보를 제공합니다.
구문
typedef struct _WS_ENUM_DESCRIPTION {
WS_ENUM_VALUE *values;
ULONG valueCount;
ULONG maxByteCount;
ULONG *nameIndices;
} WS_ENUM_DESCRIPTION;
멤버
values
열거형 값의 배열과 해당 이름을 가리킵니다.
배열에 중복 값이나 이름이 없어야 합니다.
valueCount
값 배열의 항목 수입니다.
maxByteCount
값 배열에서 가장 긴 이름의 길이(UTF8 바이트)입니다.
nameIndices
이름 및 뒤로 열거형 값을 매핑하는 성능을 향상시킬 수 있는 정보를 제공하는 선택적 배열입니다. 이 배열은 NULL일 수 있으며, 이 경우 O(n) 조회가 사용되며, 이는 적은 수의 열거형 값에 충분할 수 있습니다.
NULL이 아닌 경우 다음이 true여야 합니다.
- 값 배열은 값을 오름차순으로 정렬해야 합니다.
- nameIndices 배열은 valueCount 항목이 있는 배열을 가리킵니다.
- nameIndices 배열은 값 배열에 있는 항목의 인덱스를 이름별로 오름차순으로 정렬한 것처럼 제공합니다. 이름은 utf-8 문자열의 바이트 단위 비교를 수행하여 정렬되어야 합니다.
설명
다음 예제에서는 열거형 설명을 초기화하는 것을 보여 줍니다. 이 예제에서는 nameIndices 필드를 사용하는 것을 보여 주지만 이 필드는 NULL 일 수 있습니다.
enum
{
Red = 10,
Green = 20,
Blue = 30,
};
WS_XML_STRING redString = WS_XML_STRING_VALUE("red");
WS_XML_STRING greenString = WS_XML_STRING_VALUE("green");
WS_XML_STRING blueString = WS_XML_STRING_VALUE("blue");
// sorted by ascending numeric value
WS_ENUM_VALUE valueArray[3] =
{
{ Red, &redString },
{ Green, &greenString },
{ Blue, &blueString },
};
// sorted by ascending name
ULONG nameIndices[3] =
{
2, // "blue"
1, // "green"
0, // "red"
};
WS_ENUM_DESCRIPTION enumDescription;
enumDescription.maxByteCount = 5; // "green"
enumDescription.values = valueArray;
enumDescription.valueCount = 3;
enumDescription.nameIndices = nameIndices;
요구 사항
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
머리글 | webservices.h |