IUnknown_AtomicRelease función (shlwapi.h)

Libera un puntero del Modelo de objetos componentes (COM) y lo establece en NULL.

Sintaxis

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

Parámetros

[in, out, optional] ppunk

Tipo: void**

Dirección de un puntero a una interfaz COM.

Valor devuelto

None

Observaciones

Si ppunk apunta a un puntero NULL , no se realiza ninguna operación. De lo contrario, se supone que ppunk es la dirección de un puntero de interfaz COM, derivado de IUnknown. La función llama al método IUnknown::Release de la interfaz y, a continuación, establece el puntero de interfaz en NULL.

Ejemplos

En el ejemplo siguiente se usa IUnknown_AtomicRelease para liberar la secuencia, si existe. Si no es así, no hace nada.

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

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server, Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shlwapi.h
Archivo DLL Shlwapi.dll (versión 5.0 o posterior)