다음을 통해 공유


IWriteEngine2::WriteSection 메서드(imapi2.h)

현재 레코더에 데이터 스트림을 씁니다.

구문

HRESULT WriteSection(
  [in] IStream *data,
  [in] LONG    startingBlockAddress,
  [in] LONG    numberOfBlocks
);

매개 변수

[in] data

레코더에 쓸 데이터 스트림의 IStream 인터페이스입니다.

[in] startingBlockAddress

쓰기 작업의 LBA(논리 블록 주소)를 시작합니다. 음수 값이 지원됩니다.

[in] numberOfBlocks

쓸 데이터 스트림의 블록 수입니다.

반환 값

S_OK 성공에 따라 반환되지만 구현의 결과로 다른 성공 코드가 반환될 수 있습니다. 다음 오류 코드는 일반적으로 작업 실패 시 반환되지만 가능한 오류 값만 나타내지 않습니다.

반환 코드 설명
E_POINTER
포인터가 잘못되었습니다.

값: 0x80004003

E_OUTOFMEMORY
필요한 메모리를 할당하지 못했습니다.

값: 0x8007000E

E_INVALIDARG
하나 이상의 인수가 잘못되었습니다.

값: 0x80070057

E_IMAPI_REQUEST_CANCELLED
요청이 취소되었습니다.

값: 0xC0AA0002

설명

이 메서드를 호출하기 전에 IWriteEngine2::p ut_Recorder 메서드를 호출하여 기록 디바이스 및 IWriteEngine2::p ut_BytesPerSector 메서드를 지정하여 쓰기 중에 각 섹터에 사용할 바이트 수를 지정해야 합니다.

기본값이 애플리케이션에 적합하지 않은 경우 다음 메서드를 호출하는 것도 고려해야 합니다.

이 메서드는 동기적이며, 쓰기 작업의 진행률을 확인하려면 DWriteEngine2Events 인터페이스를 구현해야 합니다. 스크립트에서 이벤트 처리기를 구현하는 방법을 보여 주는 예제는 이벤트 로 진행률 모니터링을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista, WINDOWS XP SP2 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 imapi2.h

참고 항목

DWriteEngine2Events

IWriteEngine2

IWriteEngine2::CancelWrite

IWriteEngine2::get_WriteInProgress

IWriteEngine2EventArgs::get_SectorCount

IWriteEngine2EventArgs::get_StartLba