Método ISequentialStream::Read (objidl.h)
O método Read lê um número especificado de bytes do objeto de fluxo na memória, começando no ponteiro de busca atual.
Sintaxe
HRESULT Read(
[out] void *pv,
[in] ULONG cb,
[out] ULONG *pcbRead
);
Parâmetros
[out] pv
Um ponteiro para o buffer no qual os dados de fluxo são lidos.
[in] cb
O número de bytes de dados a serem lidos do objeto de fluxo.
[out] pcbRead
Um ponteiro para uma variável ULONG que recebe o número real de bytes lidos do objeto de fluxo.
Retornar valor
Esse método pode retornar um desses valores.
Código de retorno | Descrição |
---|---|
S_OK | Todos os dados solicitados foram lidos com êxito do objeto de fluxo; o número de bytes solicitados em cb é o mesmo que o número de bytes retornados em pcbRead. |
S_FALSE | O valor retornado em pcbRead é menor que o número de bytes solicitados em cb. Isso indica que o final do fluxo foi atingido. O número de bytes lidos indica quanto do buffer pv foi preenchido. |
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ões necessárias para ler esse objeto de fluxo. |
STG_E_INVALIDPOINTER | Um dos valores de ponteiro é inválido. |
STG_E_REVERTED | O objeto foi invalidado por uma operação de reverter acima dele na árvore de transações. |
Comentários
Esse método lê bytes desse objeto de fluxo na memória. O objeto de fluxo deve ser aberto no modo STGM_READ . Esse método ajusta o ponteiro de busca pelo número real de bytes lidos.
O número de bytes realmente lidos também é retornado no parâmetro pcbRead .
Anotações aos Chamadores
O número real de bytes lidos pode ser menor do que o número de bytes solicitados se ocorrer um erro ou se o final do fluxo for atingido durante a operação de leitura. O número de bytes retornados sempre deve ser comparado ao número de bytes solicitados. Se o número de bytes retornados for menor que o número de bytes solicitados, isso geralmente significará que o método Read tentou ler após o final do fluxo.O aplicativo deve lidar com um erro retornado e S_OK valores retornados em operações de leitura de fim de fluxo.
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 |