Function Name: General Get DRM Type Structure

Definition

Get all structural info about a type definition (e.g. a struct, a 'base' type, or an enumerated type).

NOTE: The individual pieces of the structural info can be retrieved using the following sample code:

  tc = SE_TypeCount();
  for (type_indx = SE_NULL_DRM_TYPE; type_indx < tc; type_indx++)
  {
      switch (SE_GetTypeClassification(type_indx)) 
      {
          case SE_ENUM_TYPE: 
              status_code = SE_FieldCountForType(type_indx, &ec);
              if (status_code == SE_DRM_SUCCESS)
              {
                  for (i = 0; i < ec; i++)
                  {
                      status_code = SE_ithEnumeratorInType
                                    (type_indx, i, &enum_ptr);
                  }
              }
              break;

          case SE_STRUCT_TYPE: 
          case SE_BASIC_TYPE:
              status_code = SE_FieldCountForType(type_indx, &ec);
              if (status_code == SE_DRM_SUCCESS)
              {
                  for (i = 0; i < ec; i++)
                  {
                      status_code = SE_ithFieldInType
                                    (type_indx, i, &entry_ptr);
                  }
              }
              break;

          default:
              break;
      }
  }

Returns

SE_DRM_SUCCESS - if valid parameters were passed in.

SE_DRM_NULL_REQUIRED_PARAMETER - and *result_out_ptr is left unchanged, if result_out_ptr is NULL.

SE_DRM_INVALID_VERSION - and *result_out_ptr is set to NULL, if the specified version of the DRM is not supported.

SE_DRM_TYPE_DOES_NOT_EXIST - and *result_out_ptr is set to NULL, if drm_type does not correspond to a valid type definition.

Prototype


extern SE_DRM_STATUS_CODE_ENUM
SE_GeneralGetDRMTypeStructure
(
SE_PINT16 major_drm_version, (notes)
SE_UINT8 minor_drm_version, (notes)
SE_PINT16 drm_type, (notes)
constSE_DRM_TYPE_STRUCTURE **result_out_ptr (notes)
);

Parameters Notes

major_drm_version

 major DRM version number of the DRM version for
 which this function is being called

minor_drm_version

 minor DRM version number of the DRM version for
 which this function is being called

drm_type

 represents a SEDRIS type, available for use by the DRM.

result_out_ptr

 pointer to a variable in the user's memory space where the
 answer (a pointer) will be stored

Prev: General Get Component Of Type. Next: General Get Type Classification. Up:Index.