다음을 통해 공유


IByteBuffer::Write 메서드

[ Write 메서드는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. Windows Server 2003 SP1(서비스 팩 1) 이상, Windows Vista, Windows Server 2008 및 이후 버전의 운영 체제에서는 사용할 수 없습니다. IStream 인터페이스는 비슷한 기능을 제공합니다.]

Write 메서드는 현재 검색 포인터에서 시작하는 스트림 개체에 바이트에서 지정된 숫자를 씁니다.

구문

HRESULT Write(
  [in]  BYTE *pByte,
  [in]  LONG cb,
  [out] LONG *pcbWritten
);

매개 변수

pByte [in]

스트림에 쓸 데이터를 포함하는 버퍼의 주소입니다. cb가 0인 경우에도 이 매개 변수에 유효한 포인터를 제공해야 합니다.

cb [in]

스트림에 쓰려고 시도하는 데이터 바이트 수입니다. 이 매개 변수는 0일 수 있습니다.

pcbWritten [out]

이 메서드가 스트림 개체에 기록된 실제 바이트 수를 쓰는 LONG 변수의 주소입니다. 호출자는 이 포인터를 NULL로 설정할 수 있습니다. 이 경우 이 메서드는 작성된 실제 바이트 수를 제공하지 않습니다.

반환 값

반환 값은 HRESULT입니다. S_OK 값은 호출이 성공했음을 나타냅니다.

설명

IByteBuffer::Write 메서드는 지정된 데이터를 스트림 개체에 씁니다. 검색 포인터는 실제로 작성된 바이트 수에 맞게 조정됩니다. 실제로 작성된 바이트 수는 pcbWritten 매개 변수에 반환됩니다. 바이트 수가 0바이트이면 쓰기 작업이 적용되지 않습니다.

검색 포인터가 현재 스트림의 끝을 지나고 바이트 수가 0이 아닌 경우 이 메서드는 스트림의 크기를 검색 포인터로 늘리고 검색 포인터에서 시작하는 지정된 바이트를 씁니다. 스트림에 기록된 채우기 바이트는 특정 값으로 초기화되지 않습니다. 이는 MS-DOS FAT 파일 시스템의 파일 끝 동작과 동일합니다.

0바이트 개수와 스트림의 끝을 지나는 검색 포인터를 사용하는 이 메서드는 스트림을 검색 포인터로 늘리는 채우기 바이트를 만들지 않습니다. 이 경우 IByteBuffer::SetSize 메서드를 호출하여 스트림 크기를 늘리고 채우기 바이트를 작성해야 합니다.

pcbWritten 매개 변수는 오류가 발생하더라도 값을 가질 수 있습니다.

COM 제공 구현에서 스트림 개체는 스파스가 아닙니다. 모든 채우기 바이트는 결국 디스크에 할당되고 스트림에 할당됩니다.

예제

다음 예제에서는 스트림 개체에 바이트를 쓰는 방법을 보여줍니다.

LONG     lWrite;
HRESULT  hr;

// Write to the buffer.
// byData is an array of 64 bytes.
hr = pIByteBuff->Write(byData,
                       64,
                       &lWrite);
if (FAILED(hr))
  printf("Failed IByteBuffer::Write\n");

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
클라이언트 지원 종료
Windows XP
서버 지원 종료
Windows Server 2003
헤더
Scardssp.h
유형 라이브러리
Scardssp.tlb
DLL
Scardssp.dll
IID
IID_IByteBuffer E126F8FE-A7AF-11D0-B88A-00C04FD424B9로 정의됩니다.