다음을 통해 공유


IStreamAsync::ReadAsync 메서드(shobjidl.h)

스트림에서 정보를 비동기적으로 읽습니다. 예를 들어 셸은 비동기적으로 전송할 때 파일 항목에 이 인터페이스를 구현합니다.

구문

HRESULT ReadAsync(
  [out]           void         *pv,
  [in]            DWORD        cb,
  [out, optional] LPDWORD      pcbRead,
  [in]            LPOVERLAPPED lpOverlapped
);

매개 변수

[out] pv

형식: void*

이 메서드가 성공적으로 반환되면 cb 바이트 길이이고 읽기 작업의 pcbRead 바이트 정보가 포함된 버퍼를 반환합니다.

[in] cb

형식:DWORD

스트림에서 읽을 바이트 수입니다.

[out, optional] pcbRead

형식: LPDWORD

이 메서드가 성공적으로 반환될 때 pv가 가리키는 버퍼에 읽은 실제 바이트 수를 나타내는 DWORD 값에 대한 포인터입니다. 이 값은 NULL일 수 있습니다.

[in] lpOverlapped

형식: LPOVERLAPPED

비동기 읽기 작업에 사용되는 정보를 포함하는 OVERLAPPED 구조체에 대한 포인터입니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

IStreamAsync::ReadAsync는 INPUT/output(I/O) 작업을 시작할 때 OVERLAPPED 구조체의 hEvent 멤버가 지정한 이벤트를 부호 없는 상태로 다시 설정해야 합니다.

이 메서드는 공용 ReadFile API를 중심으로 셸에서 씬 래퍼로 구현되었습니다.

요구 사항

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