Compartilhar via


Método ILockBytes::ReadAt (objidl.h)

O método ReadAt lê um número especificado de bytes começando em um deslocamento especificado desde o início do objeto de matriz de bytes.

Sintaxe

HRESULT ReadAt(
  [in]  ULARGE_INTEGER ulOffset,
  [in]  void           *pv,
  [in]  ULONG          cb,
  [out] ULONG          *pcbRead
);

Parâmetros

[in] ulOffset

Especifica o ponto de partida desde o início da matriz de bytes para ler dados.

[in] pv

Ponteiro para o buffer no qual a matriz de bytes é lida. O tamanho desse buffer está contido em cb.

[in] cb

Especifica o número de bytes de dados a tentar ler da matriz de bytes.

[out] pcbRead

Ponteiro para um ULONG em que esse método grava o número real de bytes lidos da matriz de bytes. Você pode definir esse ponteiro como NULL para indicar que não está interessado nesse valor. Nesse caso, esse método não fornece o número real de bytes que foram lidos.

Retornar valor

Esse método pode retornar um desses valores.

Código de retorno Descrição
S_OK Indica que o número especificado de bytes foi lido ou o número máximo de bytes foi lido até o final da matriz de bytes.
E_FAIL Não foi possível ler dados da matriz de bytes.
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ão para acessar a matriz de bytes.
STG_E_READFAULT O número de bytes a serem lidos não é igual ao número de bytes que foram realmente lidos.

Comentários

ILockBytes::ReadAt lê bytes do objeto de matriz de bytes. Ele relata o número de bytes que foram realmente lidos. Esse valor poderá ser menor que o número de bytes solicitados se ocorrer um erro ou se o final da matriz de bytes for atingido durante a leitura.

Não é um erro ler menos do que o número especificado de bytes se a operação encontrar o final da matriz de bytes. Observe que esse é o mesmo comportamento de fim de arquivo encontrado nos arquivos do sistema de arquivos FAT (tabela de alocação de arquivo) do MS-DOS.

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

ILockBytes – Implementação de File-Based

ILockBytes – Implementação de memória global

ILockBytes::WriteAt