다음을 통해 공유


IWSDOutboundAttachment::Write 메서드(wsdattachment.h)

MIME 컨테이너를 사용하여 원격 호스트에 첨부 파일 데이터를 보냅니다.

구문

HRESULT Write(
  [in]  const BYTE *pBuffer,
  [in]  DWORD      dwBytesToWrite,
  [out] LPDWORD    pdwNumberOfBytesWritten
);

매개 변수

[in] pBuffer

출력 데이터를 포함하는 버퍼에 대한 포인터입니다. 애플리케이션 프로그램은 이 데이터 버퍼를 할당하고 해제해야 합니다.

[in] dwBytesToWrite

pBuffer에서 원격 호스트로 보낼 바이트 수입니다.

[out] pdwNumberOfBytesWritten

실제로 원격 호스트로 전송되는 데이터의 바이트 수를 포함하는 DWORD 에 대한 포인터입니다.

반환 값

가능한 반환 값에는 다음이 포함되지만 이에 국한되지는 않습니다.

반환 코드 Description
S_OK
메서드가 성공적으로 완료되었습니다.
E_POINTER
pdwNumberofBytesWrittenNULL입니다.
E_INVALIDARG
pBufferNULL입니다.
HRESULT_FROM_WIN32(ERROR_INVALID_OPERATION)
아웃바운드 첨부 파일 인터페이스가 초기화되지 않았습니다. WSDCreateOutboundAttachment를 호출하여 인터페이스를 초기화합니다.
STG_S_BLOCK
내부 버퍼를 사용할 수 없습니다. 데이터가 수락되지 않았고 전송 대기 중입니다.

설명

Write 메서드를 사용하면 애플리케이션 프로그램이 MIME 캡슐화된 메시지 첨부 파일로 원격 호스트에 임의의 데이터를 보낼 수 있습니다. 쓰기에 대한 첫 번째 호출은 아웃바운드 첨부 파일 스트림을 열고 HTTP 헤더, 봉투 데이터 및 MIME로 인코딩된 애플리케이션 데이터의 전송을 시작합니다. 쓰기에 대한 후속 호출은 애플리케이션이 Close를 호출하여 첨부 파일 스트림을 닫고 메시지 봉투 데이터 및 헤더의 전송을 완료할 때까지 MIME로 인코딩된 애플리케이션 데이터의 추가 블록을 보냅니다.

쓰기 작업은 여러 조건에서 차단될 수 있습니다. 초기 작업에서 쓰기 는 HTTP 헤더 및 XML 콘텐츠가 전송될 때까지 차단됩니다. 단일 메시지로 여러 첨부 파일을 보낼 때 모든 첨부 파일에 대한 쓰기 에 대한 첫 번째 호출은 이전 첨부 파일 스트림이 완전히 전송될 때까지 차단될 수 있습니다. 원격 호스트가 응답하지 않는 경우 쓰기는 HTTP 전송 시간 제한당 최대 30초 동안 차단할 수 있습니다.

연결을 설정하거나 헤더를 전송할 때 오류가 발생하면 Write 에서 오류 코드를 즉시 반환합니다. 데이터 전송 오류가 발생하면 나중에 쓰기 또는 닫기 호출로 오류가 지연될 수 있습니다.

Write 메서드는 STG_S_BLOCK 반환된 쓰기 시도가 실패한 후 성공적으로 반환될 수 있습니다. 후속 성공 은 초기 시도 실패 후 내부 버퍼가 사용할 수 있도록 해제되었음을 나타냅니다. 애플리케이션에서 STG_S_BLOCK 받으면 애플리케이션은 Write 메서드를 사용하여 동일한 데이터를 다시 보내거나 Abort 메서드를 사용하여 데이터 전송을 종료할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wsdattachment.h(Wsdapi.h 포함)
DLL Wsdapi.dll

추가 정보

IWSDInboundAttachment

IWSDOutboundAttachment

IWSDOutboundAttachment::Abort

IWSDOutboundAttachment::Close