Método ILockBytes::WriteAt (objidl.h)
O método WriteAt grava o número especificado de bytes começando em um deslocamento especificado desde o início da matriz de bytes.
Sintaxe
HRESULT WriteAt(
[in] ULARGE_INTEGER ulOffset,
[in] const void *pv,
[in] ULONG cb,
[out] ULONG *pcbWritten
);
Parâmetros
[in] ulOffset
Especifica o ponto de partida desde o início da matriz de bytes para os dados a serem gravados.
[in] pv
Ponteiro para o buffer que contém os dados a serem gravados.
[in] cb
Especifica o número de bytes de dados a serem gravados na matriz de bytes.
[out] pcbWritten
Ponteiro para um local em que esse método especifica o número real de bytes gravados na 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 gravados.
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 gravado. |
E_FAIL | Ocorreu uma falha geral durante a operação de gravação. |
E_PENDING | Somente armazenamento assíncrono: parte ou todos os dados a serem gravados não estão disponíveis no momento. |
STG_E_ACCESSDENIED | O chamador não tem permissões suficientes para gravar essa matriz de bytes. |
STG_E_WRITEFAULT | O número de bytes a serem gravados não é igual ao número de bytes que foram realmente gravados. |
STG_E_MEDIUMFULL | A operação de gravação não foi concluída porque não há espaço no dispositivo de armazenamento. O número real de bytes gravados ainda é retornado em pcbWritten. |
Comentários
ILockBytes::WriteAt grava os dados especificados no local especificado na matriz de bytes. O número de bytes realmente gravados deve sempre ser retornado em pcbWritten, mesmo se um erro for retornado. Se a contagem de bytes for zero bytes, a operação de gravação não terá efeito.
Se ulOffset estiver além do final da matriz de bytes e cb for maior que zero, ILockBytes::WriteAt aumentará o tamanho da matriz de bytes. Os bytes de preenchimento gravados na matriz de bytes não são inicializados para nenhum valor específico.
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