Método ILockBytes::WriteAt (objidl.h)
El método WriteAt escribe el número especificado de bytes a partir de un desplazamiento especificado desde el principio de la matriz de bytes.
Sintaxis
HRESULT WriteAt(
[in] ULARGE_INTEGER ulOffset,
[in] const void *pv,
[in] ULONG cb,
[out] ULONG *pcbWritten
);
Parámetros
[in] ulOffset
Especifica el punto inicial desde el principio de la matriz de bytes para que se escriban los datos.
[in] pv
Puntero al búfer que contiene los datos que se van a escribir.
[in] cb
Especifica el número de bytes de datos que se van a intentar escribir en la matriz de bytes.
[out] pcbWritten
Puntero a una ubicación donde este método especifica el número real de bytes escritos en 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 escritos.
Valor devuelto
Este método puede devolver uno de estos valores.
Código devuelto | Descripción |
---|---|
S_OK | Indica que se escribió el número especificado de bytes. |
E_FAIL | Error general durante la operación de escritura. |
E_PENDING | Solo almacenamiento asincrónico: la parte o todos los datos que se van a escribir no están disponibles actualmente. |
STG_E_ACCESSDENIED | El autor de la llamada no tiene permisos suficientes para escribir esta matriz de bytes. |
STG_E_WRITEFAULT | El número de bytes que se van a escribir no es igual al número de bytes que se escribieron realmente. |
STG_E_MEDIUMFULL | La operación de escritura no se completó porque no queda espacio en el dispositivo de almacenamiento. El número real de bytes escritos todavía se devuelve en pcbWritten. |
Comentarios
ILockBytes::WriteAt escribe los datos especificados en la ubicación especificada de la matriz de bytes. El número de bytes realmente escritos debe devolverse siempre en pcbWritten, incluso si se devuelve un error. Si el recuento de bytes es cero bytes, la operación de escritura no tiene ningún efecto.
Si ulOffset está más allá del final de la matriz de bytes y cb es mayor que cero, ILockBytes::WriteAt aumenta el tamaño de la matriz de bytes. Los bytes de relleno escritos en la matriz de bytes no se inicializan en ningún valor determinado.
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