WsReadEnvelopeStart 함수(webservices.h)

메시지의 헤더를 읽고 본문 요소를 읽을 준비를 합니다. 작업은 메시지의 헤더를 포함하여 판독기에서 다음 메시지의 시작을 읽습니다. 이 프로세스를 통해 채널이 아닌 다른 원본에서 메시지를 읽을 수 있습니다. 채널을 사용하여 메시지를 읽으려면 WsReadMessageStart를 사용합니다.

참고 성공 시 헤더는 메시지에 저장되며 WsGetHeader 또는WsGetCustomHeader와 같은 함수를 사용하여 임의로 검색할 수 있습니다.

 

구문

HRESULT WsReadEnvelopeStart(
  [in]           WS_MESSAGE               *message,
  [in]           WS_XML_READER            *reader,
  [in, optional] WS_MESSAGE_DONE_CALLBACK doneCallback,
  [in, optional] void                     *doneCallbackState,
  [in, optional] WS_ERROR                 *error
);

매개 변수

[in] message

읽을 Message 개체에 대한 포인터입니다. 포인터는 유효한 WS_MESSAGE 개체를 참조해야 합니다.

[in] reader

읽을 메시지가 있는 Reader에 대한 포인터입니다. Message 개체는 현재 및 후속 호출에서 Reader를 사용합니다.

참고 함수 호출자는 WsResetMessage 또는 WsFreeMessage 가 호출될 때까지 판독 기를 유효한 상태로 유지해야 합니다.
WS_MESSAGE_DONE_CALLBACK 매개 변수를 사용하여 WS_XML_READER 더 이상 사용되지 않음을 알 수 있습니다.

 

[in, optional] doneCallback

메시지가 릴리스된 후 현재 작업의 성공 시 시작할 콜백 함수를 식별합니다.

참고WsFreeMessage 또는 WsResetMessage를 사용하여 메시지가 릴리스됩니다.

 
콜백을 사용하여 이 메시지에서 WS_XML_READER instance 사용 중인지 여부를 검색할 수 있습니다. 현재 작업이 실패하면 콜백이 호출되지 않습니다.

[in, optional] doneCallbackState

WS_MESSAGE_DONE_CALLBACK 전달할 수 있는 사용자 정의 상태에 대한 포인터입니다. 콜백을 사용하지 않는 경우 이 매개 변수는 NULL 일 수 있습니다.

[in, optional] error

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

반환 값

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

반환 코드 설명
WS_E_INVALID_FORMAT
입력 데이터가 예상 형식이 아니거나 예상 값이 없습니다.
E_OUTOFMEMORY
메모리가 부족합니다.
E_INVALIDARG
하나 이상의 인수가 잘못되었습니다.
기타 오류
이 함수는 위에 나열되지 않은 다른 오류를 반환할 수 있습니다.

설명

메시지는 WS_MESSAGE_STATE_EMPTY 상태여야 합니다. 성공하면 메시지 상태가 WS_MESSAGE_STATE_READING 설정됩니다.

메시지 본문의 요소를 읽으려면 WsReadBody를 사용합니다. XML 판독기에서 직접 읽으려면 메시지 속성 IDWS_MESSAGE_PROPERTY_BODY_READER 설정된 Reader를 가져옵니다.

요구 사항

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