Função OleLoadPictureEx (olectl.h)

Cria um novo objeto de imagem e o inicializa do conteúdo de um fluxo. Isso é equivalente a chamar OleCreatePictureIndirect com NULL como o primeiro parâmetro, seguido por uma chamada para IPersistStream::Load.

Sintaxe

WINOLECTLAPI OleLoadPictureEx(
  [in]  LPSTREAM lpstream,
  [in]  LONG     lSize,
  [in]  BOOL     fRunmode,
  [in]  REFIID   riid,
  [in]  DWORD    xSizeDesired,
  [in]  DWORD    ySizeDesired,
  [in]  DWORD    dwFlags,
  [out] LPVOID   *lplpvObj
);

Parâmetros

[in] lpstream

Ponteiro para o fluxo que contém os dados da imagem.

[in] lSize

O número de bytes que devem ser lidos do fluxo ou zero se todo o fluxo deve ser lido.

[in] fRunmode

O oposto do valor inicial da propriedade KeepOriginalFormat . Se TRUE, KeepOriginalFormat será definido como FALSE e vice-versa.

[in] riid

Referência ao identificador da interface que descreve o tipo de ponteiro de interface a ser retornado em ppvObj.

[in] xSizeDesired

Largura desejada do ícone ou cursor. Os valores válidos são 16, 32 e 48. Passe LP_DEFAULT para ambos os parâmetros de tamanho para usar o tamanho padrão do sistema.

[in] ySizeDesired

Altura desejada do ícone ou cursor. Os valores válidos são 16, 32 e 48. Passe LP_DEFAULT para ambos os parâmetros de tamanho para usar o tamanho padrão do sistema.

[in] dwFlags

Profundidade de cor desejada para ícone ou cursor. Os valores são LP_MONOCHROME (monocromático), LP_VGACOLOR (16 cores), LP_COLOR (256 cores) ou LP_DEFAULT (seleciona a melhor profundidade para exibição atual).

[out] lplpvObj

Endereço da variável de ponteiro que recebe o ponteiro de interface solicitado em riid. Após o retorno bem-sucedido, *ppvObj contém o ponteiro de interface solicitado no armazenamento do objeto identificado pelo moniker. Se *ppvObj não for NULL, essa função chamará IUnknown::AddRef na interface; é responsabilidade do chamador chamar IUnknown::Release. Se ocorrer um erro, *ppvObj será definido como NULL.

Retornar valor

Essa função retorna S_OK com êxito. Outros valores possíveis incluem o seguinte.

Código de retorno Descrição
E_NOINTERFACE
O objeto não dá suporte à interface especificada em riid.
E_POINTER
O endereço em pPictDesc ou ppvObj não é válido. Por exemplo, pode ser NULL.

Comentários

O fluxo deve estar no formato BMP (bitmap), WMF (metafile) ou ICO (ícone). Um objeto de imagem criado usando OleLoadPictureEx sempre tem a propriedade de seus recursos internos (fOwn==TRUE está implícito).

Além de permitir a especificação do tamanho do ícone ou do cursor, o OleLoadPictureEx dá suporte ao carregamento de cursores de cor.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho olectl.h
Biblioteca OleAut32.lib
DLL OleAut32.dll

Confira também

OleCreatePictureIndirect

PICTDESC