DmiFree(3dmi)


DmiFree -- release a memory block

Synopsis

#include <dmi2mem.h>

DmiErrorStatus_t DMI_API DmiFree ( /* [in] */ void * ptr, /* [in] */ DmiMemDsc_t memDsc );

DmiErrorStatus_t DmiFreeTimestamp ( DmiTimestamp_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeString ( DmiString_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeOctetString ( DmiOctetString_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeDataUnion ( DmiDataUnion_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeEnumInfo ( DmiEnumInfo_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeAttributeInfo ( DmiAttributeInfo_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeAttributeData ( DmiAttributeData_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeGroupInfo ( DmiGroupInfo_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeComponentInfo ( DmiComponentInfo_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeFileDataInfo ( DmiFileDataInfo_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeClassNameInfo ( DmiClassNameInfo_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeRowRequest ( DmiRowRequest_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeRowData ( DmiRowData_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeAttributeIds ( DmiAttributeIds_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeAttributeValues ( DmiAttributeValues_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeEnumList ( DmiEnumList_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeAttributeList ( DmiAttributeList_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeGroupList ( DmiGroupList_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeComponentList ( DmiComponentList_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeFileDataList ( DmiFileDataList_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeClassNameList ( DmiClassNameList_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeStringList ( DmiStringList_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeFileTypeList ( DmiFileTypeList_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeMultiRowRequest ( DmiMultiRowRequest_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeMultiRowData ( DmiMultiRowData_t * ptr, DmiMemDsc_t memDsc);

DmiErrorStatus_t DmiFreeNodeAddress ( DmiNodeAddress_t * ptr, DmiMemDsc_t memDsc);

Description

The DmiFree functions free DMI data structures in a memory model specified by memDsc. The DmiFree functions release the DMI data's top-level structure, and all recursively-referenced memory blocks. All blocks must be previously allocated in the memDsc memory model.

All functions for deleting DMI structures are prefixed with DmiFree. The functions free data of the type specified by the suffix. For example, DmiFreeTimeStamp frees a DmiTimeStamp.

DmiFree releases a memory block allocated in the memory model specified by the memDsc parameter and pointed to by the ptr parameter.

Parameters


ptr
(Input) Memory block to be freed. If the ptr parameter is NULL, no memory is freed.

memDsc
(Input) Memory model descriptor. If the memDsc parameter is NULL, the default memory model is used.

Return values

The DmiFree functions return these values:

DMIERR_NO_ERROR

DMIERR_OUT_OF_MEMORY

For a description of return values, see ``DMI error codes'' in Desktop Management Interface programming.

Notices

Portions of this page are derived from material for which the copyright owner is Intel Corporation, Inc. The material is reprinted with permission. See copyright page for a full statement of rights and permissions.


© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004