Compartilhar via


Método IStreamAsync::ReadAsync (shobjidl.h)

Lê informações de um fluxo de forma assíncrona. Por exemplo, o Shell implementa essa interface em itens de arquivo ao transferi-los de forma assíncrona.

Sintaxe

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

Parâmetros

[out] pv

Tipo: void*

Quando esse método retorna com êxito, retorna um buffer que é cb bytes long e contém bytes pcbRead de informações da operação de leitura.

[in] cb

Tipo: DWORD

O número de bytes a serem lidos do fluxo.

[out, optional] pcbRead

Tipo: LPDWORD

Ponteiro para um valor DWORD que, quando esse método retorna com êxito, indica o número real de bytes lidos para o buffer apontado por pv. Esse valor pode ser NULL.

[in] lpOverlapped

Tipo: LPOVERLAPPED

Um ponteiro para uma estrutura OVERLAPPED que contém informações usadas na operação de leitura assíncrona.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

IStreamAsync::ReadAsync deve redefinir o evento especificado pelo membro hEvent da estrutura OVERLAPPED para um estado não atribuído quando iniciar a operação de entrada/saída (E/S).

Esse método foi implementado no Shell como um wrapper fino em torno da API ReadFile pública.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shobjidl.h