função IUnknown_AtomicRelease (shlwapi.h)

Libera um ponteiro COM (Component Object Model) e o define como NULL.

Sintaxe

void IUnknown_AtomicRelease(
  [in, out, optional] void **ppunk
);

Parâmetros

[in, out, optional] ppunk

Tipo: void**

O endereço de um ponteiro para uma interface COM.

Valor retornado

Nenhum

Comentários

Se ppunk apontar para um ponteiro NULL , nenhuma operação será executada. Caso contrário, ppunk será considerado o endereço de um ponteiro de interface COM, derivado de IUnknown. A função chama o método IUnknown::Release da interface e define o ponteiro da interface como NULL.

Exemplos

O exemplo a seguir usa IUnknown_AtomicRelease para liberar o fluxo, se ele existir. Se não, não faz nada.

void sample()
{
    IStream *pstm = NULL;
    CreateStreamOnHGlobal(NULL, TRUE, &pstm);
    
    IUnknown_AtomicRelease((void**)&pstm);
    
    // At this point, pstm is NULL
}

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server, Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shlwapi.h
DLL Shlwapi.dll (versão 5.0 ou posterior)