Compartilhar via


ILockBytes::WriteAt

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Este método grava um número especificado de bytes em uma localidade especificada na matriz.

Syntax

HRESULT WriteAt( 
  ULARGE_INTEGER ulOffset, 
  void const* pv, 
  ULONG cb, 
  ULONG* pcbWritten 
);

Parameters

  • ulOffset
    [no] Iniciando apontar a partir do início da matriz byte para os dados a serem gravados.
  • Vp
    [no] Ponteiro para a reserva que contém os dados a serem gravados.
  • cb
    [no] Número de bytes de dados para tentar gravar para a matriz byte.
  • pcbWritten
    [out] Ponteiro para uma localidade onde este método especifica o real número de bytes gravados para a matriz byte.

    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 gravados.

Return Value

A seguinte tabela mostra os valores de retorno para este método.

Valor Descrição

S_OK

Indica que o número especificado de bytes foram gravado.

E_FAIL

Uma falha geral ocorreu durante a gravação.

E_PENDING

Somente armazenamento assíncrono: Parte ou todos os dados a serem gravados no momento é não disponível.

STG_E_ACCESSDENIED

O chamador não tem permissões suficientes para gravar essa matriz byte.

STG_E_WRITEFAULT

O número de bytes a serem gravados não é igual o número de bytes que realmente foram gravados.

STG_E_MEDIUMFULL

A operação de gravação não foi concluída porque não há espaço suficiente no dispositivo de armazenamento.

O número de bytes gravados ainda é retornado no pcbWritten.

Remarks

ILockBytes::WriteAt grava os dados especificados na localidade especificada na matriz de byte. O número de bytes gravados sempre deve ser retornado em pcbWritten, mesmo se um erro for retornado.

Se o contagem de bytes é zero bytes, o operação de gravação não tem nenhum efeito.

Se ulOffset é após o final da matriz de byte e cb é maior que zero, ILockBytes::WriteAt Aumenta o tamanho da matriz de byte.

Os bytes preencher gravados para a matriz byte não são inicializados para qualquer valor específico.

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

Requirements

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