Compartir a través de


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

El método ReadAt lee un número especificado de bytes a partir de un desplazamiento especificado desde el principio del objeto de matriz de bytes.

Sintaxis

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

Parámetros

[in] ulOffset

Especifica el punto inicial desde el principio de la matriz de bytes para leer datos.

[in] pv

Puntero al búfer en el que se lee la matriz de bytes. El tamaño de este búfer se encuentra en cb.

[in] cb

Especifica el número de bytes de datos que se van a intentar leer de la matriz de bytes.

[out] pcbRead

Puntero a un ULONG donde este método escribe el número real de bytes leídos de la matriz de bytes. Puede establecer este puntero en NULL para indicar que no está interesado en este valor. En este caso, este método no proporciona el número real de bytes leídos.

Valor devuelto

Este método puede devolver uno de estos valores.

Código devuelto Descripción
S_OK Indica que se leyó el número especificado de bytes o que se leyó el número máximo de bytes al final de la matriz de bytes.
E_FAIL No se pudieron leer los datos de la matriz de bytes.
E_PENDING Solo almacenamiento asincrónico: la parte o todos los datos que se van a leer no están disponibles actualmente.
STG_E_ACCESSDENIED El autor de la llamada no tiene permiso para acceder a la matriz de bytes.
STG_E_READFAULT El número de bytes que se van a leer no es igual al número de bytes que se leyeron realmente.

Comentarios

ILockBytes::ReadAt lee bytes del objeto de matriz de bytes. Notifica el número de bytes que se leyeron realmente. Este valor puede ser menor que el número de bytes solicitado si se produce un error o si se alcanza el final de la matriz de bytes durante la lectura.

No es un error leer menos que el número especificado de bytes si la operación encuentra el final de la matriz de bytes. Tenga en cuenta que este es el mismo comportamiento de fin de archivo que se encuentra en los archivos del sistema de archivos de la tabla de asignación de archivos MS-DOS (FAT).

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado objidl.h
Library Uuid.lib
Archivo DLL Ole32.dll

Consulte también

ILockBytes: implementación de File-Based

ILockBytes: implementación de memoria global

ILockBytes::WriteAt