Compartilhar via


HrIStorageFromStream

Aplica-se a: Outlook 2013 | Outlook 2016

Camadas de uma interface IStorage em um objeto IStream .

Propriedade Valor
Arquivo de cabeçalho:
Mapiutil.h
Implementado por:
MAPI
Chamado por:
Aplicativos cliente e provedores de serviços
HRESULT HrIStorageFromStream(
  LPUNKNOWN lpUnkIn,
  PIID lpInterface,
  ULONG ulFlags,
  LPSTORAGE FAR * lppStorageOut
);

Parâmetros

lpUnkIn

[in] Ponteiro para o objeto IUnknown que implementa o IStream.

lpInterface

[in] Ponteiro para o identificador de interface (IID) para o objeto stream. Qualquer um dos seguintes valores pode ser passado no parâmetro lpInterface : NULL, IID_IStream ou IID_ILockBytes. Passar NULL no lpInterface é o mesmo que passar IID_IStream.

ulFlags

[in] Bitmask de sinalizadores que controla como o objeto de armazenamento deve ser criado em relação ao fluxo. A configuração padrão é STGSTRM_RESET, que fornece ao objeto de armazenamento acesso somente leitura e inicia-o na posição zero do fluxo. Os sinalizadores a seguir podem ser definidos em qualquer combinação, exceto conforme observado:

STGSTRM_CREATE

Cria um novo objeto de armazenamento para o objeto stream. Esse sinalizador não poderá ser definido se o sinalizador STGSTRM_RESET estiver definido.

STGSTRM_CURRENT

Inicia o armazenamento na posição atual do fluxo. Esse sinalizador não poderá ser definido se o sinalizador STGSTRM_RESET estiver definido.

STGSTRM_MODIFY

Permite que o provedor de serviços de chamada escreva no armazenamento retornado. Esse sinalizador não poderá ser definido se o sinalizador STGSTRM_RESET estiver definido.

STGSTRM_RESET

Inicia o armazenamento na posição zero. Esse sinalizador não poderá ser definido se qualquer outro sinalizador estiver definido.

lppStorageOut

[out] Ponteiro para um ponteiro para o objeto IStorage retornado.

Valor de retorno

S_OK

A chamada foi bem-sucedida e retornou o valor ou valores esperados.

Comentários

Os provedores do repositório de mensagens dão suporte à função HrIStorageFromStream usando a interface IStorage para anexos. Os provedores de armazenamento devem implementar a interface IStream . HrIStorageFromStream fornece a interface IStorage para o objeto IStream . É possível passar um ILockBytes ou uma interface IStream no lpUnkIn.