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 |
---|---|
|
메서드가 성공적으로 완료되었습니다. |
|
pdwNumberofBytesWritten 가 NULL입니다. |
|
pBuffer 가 NULL입니다. |
|
아웃바운드 첨부 파일 인터페이스가 초기화되지 않았습니다. WSDCreateOutboundAttachment를 호출하여 인터페이스를 초기화합니다. |
|
내부 버퍼를 사용할 수 없습니다. 데이터가 수락되지 않았고 전송 대기 중입니다. |
설명
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 |