ILockBytes::WriteAt 메서드(objidl.h)

WriteAt 메서드는 바이트 배열의 시작 부분에서 지정된 오프셋에서 시작하는 지정된 바이트 수를 씁니다.

구문

HRESULT WriteAt(
  [in]  ULARGE_INTEGER ulOffset,
  [in]  const void     *pv,
  [in]  ULONG          cb,
  [out] ULONG          *pcbWritten
);

매개 변수

[in] ulOffset

쓸 데이터에 대한 바이트 배열의 시작점을 지정합니다.

[in] pv

쓸 데이터를 포함하는 버퍼에 대한 포인터입니다.

[in] cb

바이트 배열에 쓰려고 시도하는 데이터의 바이트 수를 지정합니다.

[out] pcbWritten

이 메서드가 바이트 배열에 기록된 실제 바이트 수를 지정하는 위치에 대한 포인터입니다. 이 포인터를 NULL 로 설정하여 이 값에 관심이 없음을 나타낼 수 있습니다. 이 경우 이 메서드는 작성된 실제 바이트 수를 제공하지 않습니다.

반환 값

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

반환 코드 설명
S_OK 지정된 바이트 수가 기록되었음을 나타냅니다.
E_FAIL 쓰기 작업 중에 일반적인 오류가 발생했습니다.
E_PENDING 비동기 스토리지만 해당: 작성할 데이터의 일부 또는 전체를 현재 사용할 수 없습니다.
STG_E_ACCESSDENIED 호출자에게 이 바이트 배열을 작성할 수 있는 충분한 권한이 없습니다.
STG_E_WRITEFAULT 쓸 바이트 수가 실제로 작성된 바이트 수와 같지 않습니다.
STG_E_MEDIUMFULL 스토리지 디바이스에 남은 공간이 없으므로 쓰기 작업이 완료되지 않았습니다. 작성된 실제 바이트 수는 여전히 pcbWritten에 반환됩니다.

설명

ILockBytes::WriteAt 는 지정된 데이터를 바이트 배열의 지정된 위치에 씁니다. 오류가 반환되더라도 실제로 작성된 바이트 수는 항상 pcbWritten로 반환되어야 합니다. 바이트 수가 0바이트이면 쓰기 작업이 적용되지 않습니다.

ulOffset이 바이트 배열의 끝을 지나고 cb가 0보다 크면 ILockBytes::WriteAt는 바이트 배열의 크기를 늘입니다. 바이트 배열에 기록된 채우기 바이트는 특정 값으로 초기화되지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 objidl.h
라이브러리 Uuid.lib
DLL Ole32.dll

추가 정보

ILockBytes - File-Based 구현

ILockBytes - 전역 메모리 구현

ILockBytes::ReadAt

ILockBytes::SetSize