Compartilhar via


Método ISequentialStream::Read (objidl.h)

O método Read lê um número especificado de bytes do objeto de fluxo na memória, começando no ponteiro de busca atual.

Sintaxe

HRESULT Read(
  [out] void  *pv,
  [in]  ULONG cb,
  [out] ULONG *pcbRead
);

Parâmetros

[out] pv

Um ponteiro para o buffer no qual os dados de fluxo são lidos.

[in] cb

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

[out] pcbRead

Um ponteiro para uma variável ULONG que recebe o número real de bytes lidos do objeto de fluxo.

Nota O número de bytes lidos pode ser zero.
 

Retornar valor

Esse método pode retornar um desses valores.

Código de retorno Descrição
S_OK Todos os dados solicitados foram lidos com êxito do objeto de fluxo; o número de bytes solicitados em cb é o mesmo que o número de bytes retornados em pcbRead.
S_FALSE O valor retornado em pcbRead é menor que o número de bytes solicitados em cb. Isso indica que o final do fluxo foi atingido. O número de bytes lidos indica quanto do buffer pv foi preenchido.
E_PENDING Somente armazenamento assíncrono: parte ou todos os dados a serem lidos não estão disponíveis no momento.
STG_E_ACCESSDENIED O chamador não tem permissões necessárias para ler esse objeto de fluxo.
STG_E_INVALIDPOINTER Um dos valores de ponteiro é inválido.
STG_E_REVERTED O objeto foi invalidado por uma operação de reverter acima dele na árvore de transações.

Comentários

Esse método lê bytes desse objeto de fluxo na memória. O objeto de fluxo deve ser aberto no modo STGM_READ . Esse método ajusta o ponteiro de busca pelo número real de bytes lidos.

O número de bytes realmente lidos também é retornado no parâmetro pcbRead .

Anotações aos Chamadores

O número real de bytes lidos pode ser menor do que o número de bytes solicitados se ocorrer um erro ou se o final do fluxo for atingido durante a operação de leitura. O número de bytes retornados sempre deve ser comparado ao número de bytes solicitados. Se o número de bytes retornados for menor que o número de bytes solicitados, isso geralmente significará que o método Read tentou ler após o final do fluxo.

O aplicativo deve lidar com um erro retornado e S_OK valores retornados em operações de leitura de fim de fluxo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho objidl.h
Biblioteca Uuid.lib
DLL Ole32.dll

Confira também

ISequentialStream::Write

IStorage::OpenStream

Istream

IStream – Implementação de arquivo composto

STGMOVE