다음을 통해 공유


WsStartWriterCanonicalization 함수(webservices.h)

지정된 XML 작성기에서 정식화를 시작합니다.

구문

HRESULT WsStartWriterCanonicalization(
  [in]           WS_XML_WRITER                          *writer,
  [in]           WS_WRITE_CALLBACK                      writeCallback,
  [in]           void                                   *writeCallbackState,
                 const WS_XML_CANONICALIZATION_PROPERTY *properties,
  [in]           ULONG                                  propertyCount,
  [in, optional] WS_ERROR                               *error
);

매개 변수

[in] writer

정식화를 시작할 XML 작성기입니다.

[in] writeCallback

생성될 때 정식 바이트를 작성하기 위해 호출할 콜백입니다. 이 콜백은 항상 동기적으로 호출됩니다.

[in] writeCallbackState

WS_WRITE_CALLBACK 호출할 때 전달되어야 하는 호출자 정의 상태입니다.

properties

정식화를 수행하는 방법을 제어하는 선택적 속성의 배열입니다. WS_XML_CANONICALIZATION_PROPERTY 참조하세요.

[in] propertyCount

속성 수입니다.

[in, optional] error

함수가 실패할 경우 추가 오류 정보를 저장할 위치를 지정합니다.

반환 값

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

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

설명

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

이 프로세스 중에 정식 바이트는 지정된 writeCallback에 기록됩니다. 작성자가 작성한 모든 노드는 정식화됩니다. 따라서 XML을 작성하는 데 사용되는 API에 관계없이 정식화 및 생성을 한 번의 패스로 수행할 수 있습니다. 모든 정식화된 바이트가 지정된 콜백에 기록되도록 하려면 WsEndWriterCanonicalization을 호출해야 합니다.

WsEndWriterCanonicalizationWsStartWriterCanonicalization 이 호출된 것과 동일한 깊이에서 호출되어야 합니다. 다른 기록기 API는 WsStartWriterCanonicalization 이 호출된 위치보다 낮은 깊이로 이동하는 경우 오류를 반환합니다.

일치하는 WsStartWriterCanonicalization과 WsEndWriterCanonicalization 호출 쌍 간에 기록기에서 WsMoveWriter 또는 WsSetWriterPosition을 호출하는 것은 잘못된 작업입니다.

이 API에 대한 호출은 중첩될 수 없습니다. 따라서 다음 WsStartWriterCanonicalization 호출 전에 WsStartWriterCanonicalization을 호출한 다음 WsEndWriterCanonicalization을 호출해야 합니다.

WS_XML_CANONICALIZATION_ALGORITHM 지정하지 않으면 WS_EXCLUSIVE_XML_CANONICALIZATION_ALGORITHM 사용됩니다.

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

요구 사항

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