다음을 통해 공유


WsStartReaderCanonicalization 함수(webservices.h)

이 작업은 지정된 XML 판독기를 표준 또는 "정식" 형식으로 배치하는 프로세스를 시작합니다.

정식화의 사용 패턴은 다음과 같습니다.

이 프로세스 중에 정식 바이트는 지정된 writeCallback에 기록됩니다.
참고 고급 노드는 WsSkipNode를 사용하여 건너뛴 자식 요소의 노드를 포함하여 정식화됩니다. 이는 데이터를 읽는 데 사용되는 함수에 관계없이 XML 콘텐츠를 한 번 전달하여 정식화 및 구문 분석을 수행할 수 있다는 의미이기 때문에 유용합니다.
 

XML 요소 노드를 정식화하기 위해서만 XML 판독기를 사용하기 위해 애플리케이션은 Reader가 요소에 배치될 때 WsStartReaderCanonicalization, WsSkipNodeWsEndReaderCanonicalization 을 호출할 수 있습니다.

모든 정식화된 바이트가 지정된 콜백에 기록되도록 하려면 WsEndReaderCanonicalization을 호출해야 합니다.

참고WsEndReaderCanonicalization는 WsStartReaderCanonicalization과 동일한 깊이에서 호출되어야 합니다. 다른 판독기 함수는 WsStartReaderCanonicalization 이 호출된 위치보다 낮은 깊이로 이동하면 오류를 반환합니다. 일
 

WsStartReaderCanonicalization 및 WsEndReaderCanonicalization 호출 간에 판독기에서 WsMoveReader 또는 WsSetReaderPosition을 호출하는 것은 유효하지 않습니다.

구문

HRESULT WsStartReaderCanonicalization(
  [in]           WS_XML_READER                          *reader,
  [in]           WS_WRITE_CALLBACK                      writeCallback,
  [in]           void                                   *writeCallbackState,
                 const WS_XML_CANONICALIZATION_PROPERTY *properties,
  [in]           ULONG                                  propertyCount,
  [in, optional] WS_ERROR                               *error
);

매개 변수

[in] reader

정식화가 시작되는 WS_XML_READER 개체에 대한 포인터입니다. 포인터는 유효한 XML Reader 개체를 참조해야 합니다.

[in] writeCallback

생성될 때 정식 바이트를 쓰기 위해 호출된 콜백 함수입니다.

참고 이 콜백은 동기적으로 호출됩니다.

 

[in] writeCallbackState

WS_WRITE_CALLBACK 호출할 때 전달되는 호출자 정의 상태에 대한 포인터입니다.

properties

정식화가 수행되는 방법을 제어하는 선택적 속성의 "array" 참조입니다.

참고 자세한 내용은 WS_XML_CANONICALIZATION_PROPERTY 참조하세요.

 

[in] propertyCount

속성 수입니다.

[in, optional] error

함수가 실패할 경우 오류에 대한 추가 정보를 저장해야 하는 WS_ERROR 개체에 대한 포인터입니다.

반환 값

이 함수는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 설명
E_INVALIDARG
하나 이상의 인수가 잘못되었습니다.
WS_E_INVALID_OPERATION
개체의 현재 상태로 인해 작업이 허용되지 않습니다.
WS_E_INVALID_FORMAT
입력 데이터가 예상 형식이 아니거나 예상 값이 없습니다.

설명

이 함수에 대한 호출은 중첩될 수 없습니다. 따라서 다음 WsStartReaderCanonicalization 호출을 수행하려면 먼저 WsStartReaderCanonicalization을 호출한 다음 WsEndReaderCanonicalization을 호출해야 합니다.

WS_XML_CANONICALIZATION_ALGORITHM 지정되지 않은 경우 WS_EXCLUSIVE_XML_CANONICALIZATION_ALGORITHM 사용됩니다.

WS_INCLUSIVE_XML_CANONICALIZATION_ALGORITHMWS_INCLUSIVE_WITH_COMMENTS_XML_CANONICALIZATION_ALGORITHM 알고리즘은 전체 XML 문서에서만 사용할 수 있습니다. WsStartReaderCanonicalization이 이러한 알고리즘을 사용하여 호출될 때 판독기는 WS_XML_NODE_TYPE_BOF 위치해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 webservices.h
라이브러리 WebServices.lib
DLL WebServices.dll