Compartilhar via


ISequentialStream::Read

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Este método lê um número especificado de bytes a partir de objeto de fluxo em memória começando a atual ponteiro buscar.

Syntax

HRESULT Read(
  void* pv,
  ULONG cb,
  ULONG* pcbRead 
);

Parameters

  • Vp
    [out] Ponteiro para a reserva para o qual os dados transmitir é ler. Se ocorrer um erro, esse valor é NULL.
  • cb
    [no] Especifica o número de bytes de dados para tentar ler a partir de objeto transmitir.
  • pcbRead
    [out] Ponteiro para uma variável ULONG que recebe o real número de bytes ler a partir de objeto transmitir.

    Você pode definir este ponteiro como NULL para indicar que você não está interessados nesse valor. Neste maiúsculas e minúsculas, este método não oferece o real número de bytes ler.

Return Value

  • S_OK
    Dados com êxito foram ler a partir de objeto transmitir.
  • S_FALSE
    Os dados não foi possível ler a partir de objeto transmitir.
  • E_PENDING
    Somente armazenamento assíncrono: Parte ou todo os dados serem ler está não disponível. Para obter mais informações, consulte IFillLockBytes.
  • STG_E_ACCESSDENIED
    O chamador não tem permissões suficientes para ler esse objeto transmitir.
  • STG_E_INVALIDPOINTER
    Um dos valores de ponteiro não é válido.
  • STG_E_REVERTED
    O objeto tenha sido invalidado por uma operação de reversão acima na árvore de transação.

Remarks

Este método lê bytes deste objeto de fluxo na memória. O objeto transmitir deve ser aberto no modo STGM_READ. Este método ajusta o ponteiro da busca pela real número de bytes ler.

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

Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.

Notas para chamadores

O real número de bytes ler pode ser menor que o número de bytes solicitados se ocorrer um erro ou final da transmitir é atingido durante a operação de leitura.

Algumas implementações podem retornar um erro se o fim de transmitir é alcançado durante a operação de leitura. Você deve estar preparado para lidar com o erro de retorno ou valores de retorno S_OK na extremidade - de - ler transmitir operações.

Requirements

Header objidl.h, objidl.idl
Library ole32.lib, uuid.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

ISequentialStream::Write
IStorage::OpenStream
IStream