CreateStreamOnHGlobal
9/8/2008
Essa função cria um objeto transmitir armazenado em memória global.
Syntax
WINOLEAPI CreateStreamOnHGlobal(
HGLOBAL hGlobal,
BOOL fDeleteOnRelease,
LPSTREAM* ppstm
);
Parameters
hGlobal
[no] Identificador de memória alocada pelo GlobalAlloc função.O identificador deve ser alocado como movable e nondiscardable.
Se o identificador deve ser compartilhada entre processos, ele também deve ser alocado como compartilhada.
Novas alças devem ser alocadas com um tamanho de zero.
Se hGlobal é NULL, o CreateStreamOnHGlobal função internamente aloca um novo bloco de memória compartilhado de tamanho zero.
- fDeleteOnRelease
[no] Se o subjacente identificador para este objeto transmitir deve ser automaticamente liberados quando o objeto transmitir é liberado.
ppstm
[out] Endereço das IStreamvariável * pointer que recebe o ponteiro interface para o novo objeto transmitir.Seu valor não pode ser NULL.
Return Value
O seguinte valores HRESULT podem ser retornados.
Valor | Descrição |
---|---|
S_OK |
O objeto transmitir foi criado. |
E_NOINTERFACE |
A interface especificada não é com suporte. |
E_OUTOFMEMORY |
Falha de função. |
Remarks
O CreateStreamOnHGlobal função cria um objeto de fluxo na memória que ofereça suporte a implementação OLE das IStream interface.
O objeto retornado transmitir
- Oferece suporte à leitura e gravação
- Não É transacionado
- Não bloqueando suporte
O conteúdo inicial de transmitir é o atual conteúdo a bloco de memória fornecidas na hGlobal parâmetro. Se a pasta hGlobal parâmetro é NULL, essa função internamente aloca memória.
O atual Conteúdo do bloco de memória está inalterado pela criação do objeto de transmitir. Assim, você pode usar esta função para aberto um transmitir existente na memória.
Se a lógica tamanho da transmitir é importante, seguir a chamar para essa função com um chamar para o IStream::SetSize método.
Depois de criar o objeto de fluxo com CreateStreamOnHGlobal, você pode chamar GetHGlobalFromStream Para o identificador global memória get associado com o objeto transmitir.
Para determinar se a plataforma oferece suporte a essa função, consulte Determinando suporte COM APIs.
Requirements
Header | ole2.h |
Library | ole32.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
Automation Functions
IStream
IStream
IStream::SetSize
GetHGlobalFromStream