#include <dmi2mem.h>DmiTimestamp_t * DmiNewTimestamp ( DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiString_t * DmiNewString ( char * src , DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiOctetString_t * DmiNewOctetString ( size_t size, char * src , DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiDataUnion_t * DmiNewDataUnion ( DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiEnumInfo_t * DmiNewEnumInfo ( DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiAttributeInfo_t * DmiNewAttributeInfo ( DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiAttributeData_t * DmiNewAttributeData ( DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiGroupInfo_t * DmiNewGroupInfo( DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiComponentInfo_t * DmiNewComponentInfo ( DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiFileDataInfo_t * DmiNewFileDataInfo ( DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiClassNameInfo_t * DmiNewClassNameInfo ( DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiRowRequest_t * DmiNewRowRequest ( DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiRowData_t * DmiNewRowData ( DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiAttributeIds_t * DmiNewAttributeIds ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiAttributeValues_t * DmiNewAttributeValues ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiEnumList_t * DmiNewEnumList ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiAttributeList_t * DmiNewAttributeList ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiGroupList_t * DmiNewGroupList ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiComponentList_t * DmiNewComponentList ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiFileDataList_t * DmiNewFileDataList ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiClassNameList_t * DmiNewClassNameList ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiStringList_t * DmiNewStringList ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiFileTypeList_t * DmiNewFileTypeList ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiMultiRowRequest_t * DmiNewMultiRowRequest ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiMultiRowData_t * DmiNewMultiRowData ( size_t size, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiString_t FAR * DmiNewString ( const char * srcString , DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiString_t FAR * DmiNewUnicodeString ( const wchar_t * srcUnicodeString, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiOctetString_t FAR * DmiNewOctetString ( size_t sizeOctet, const char * srcOctetString, DmiMemDsc_t memDsc, DmiErrorStatus_t * status);
DmiNodeAddress_t * DmiNewNodeAddress ( const char * pAddress, const char * pRpc, const char * pTransport, DmiMemDsc_t memDsc, DmiErrorStatus_t FAR * status);
The contents of the newly-created data depend on the data type and the function's input parameters. If a function does not have default input parameters other than memDsc, then only zero-initialized, top-level DMI data type structures are created. For example, the DmiNewRowData(3dmi) function creates a DmiRowData structure with all the members initialized to zero.
Functions that create DMI list data types (for example,
DmiAttributeList and DmiAttributeIds
allocate a list of specified size. These functions
allocate both top-level
structures ({size
, list
})
and zero-initialized arrays of corresponding elements.
Top-level structures contain the specified list size and a pointer to
the newly-created list.
Some functions let you specify the entire contents of the new data structure. The DmiNewString and DmiNewUnicodeString functions create new DmiString for specified ANSI or UNICODE strings, correspondingly. DmiString size and contents are determined by the input string.
The DmiNewOctetString function creates a new DmiOctetString of specified size and content.
The DmiNewNodeAddress function creates a DmiNodeAddress structure with specified ``address'', ``rpc'' and ``transport'' fields.