CmGetBoxContents2

Description

This function returns the entries of a CmContainer.

  • C, C++

Syntax

int CMAPIENTRY CmGetBoxContents2(HCMSysEntry hcmse, CMULONG flCtrl, CMULONG ulFirmCode, CMBOXINFO *pcmBoxInfo, CMBOXENTRY2 *pcmBoxEntry, CMUINT cbBoxEntry)

Parameter

•hcmse contains a handle opened by CmAccess2 (can be Box Access, Entry Access or Subsystem Access).

•flCtrl contains one of the following commands:

•CM_GBC_FI: All entries returned must match the Firm Item provided in ulFirmCode.

•CM_GBC_BOX: All entries returned must match the CmContainer properties provided in pcmBoxInfo.

•CM_GBC_ALLENTRIES: All entries of all connected CmContainers available at hcmse will be returned.

The above flags can be or'ed with

CM_GBC_USELOCALTIME: Returns the time values using the local time zone instead of UTC.

The flags CM_GBC_FI and CM_GBC_BOX can be combined. If the value of ulFirmCode or pcmBoxInfo is not relevant for the desired flag operation the value is ignored.

•ulFirmCode contains the Firm Code of the Firm Item the returned entries should have (used with CM_GBC_FI flag).

•pcmBoxInfo contains the CmContainer information of the CmContainer the entries should be returned from (used with CM_GBC_BOX flag).

•pcmBoxEntry contains an array of hmtoggle_plus1 CMBOXENTRY2 structure.

•cbBoxEntry contains the number of CMBOXENTRY2 elements stored in pcmBoxEntry.  

Return

The number of found entries is returned. If the number is larger than cbBoxEntry, the array in pcmBoxEntry is too small. In this case only cbBoxEntry entries are stored in pcmBoxEntry. To get the rest call the function with the correct array length again. If the array is to small the error code CMERROR_BUFFER_OVERFLOW is set. If 0 is returned then no entry was found and depending on flCtrl error code CMERROR_ENTRY_NOT_FOUND or CMERROR_BOX_NOT_FOUND is set.

Notes

This function does not really scan all available or desired ports for connected CmContainers because of CodeMeter License Server's Plug&Play mechanism and the implementation of storing all CmContainers and their content in internal lists. The function call checks the internal lists only and returns the matching data.

CmGetBoxContents2() is supported since CodeMeter Version 4.30.