PA_GetResourceKindList


version 2003


PA_GetResourceKindList (resFile; kindList) → long

Parameter Type Description
resFile short File reference number of the file to access
kindList unsigned long* Array of kinds
Function result long Number of kinds

Description

The routine PA_GetResourceKindList fills the buffer pointed to by kindList with all of the kinds present in the file referenced by resFile , and then returns the number of kinds.

IMPORTANT NOTE

PA_GetResourceKindList

returns the number of kinds, not the size of the buffer kindList .

kindList

is an unsigned long array, starting at element 0 and ending at element (returned value - 1).

If resFile is invalid then it contains no kinds; PA_GetResourceKindList returns 0.

First call the routine passing 0L in kindList to get the count of kinds. Then, allocate a buffer of (thisCount * sizeof(unsigned long)) and call the routine again.

Example

Loading the kind list:

   unsigned long   *kinds, currentKind;
   long         count, i;
 
   // First, call the routine with a null kindList to get the number of kinds
   count = PA_GetResourceKindList(resFile, 0L);
   if(count)
   {
   // Then, allocate a buffer and call the routine again
      kinds = malloc(count * sizeof(unsigned long));
      count = PA_GetResourceKindList(resFile, kinds);
   // Do something with the kinds
      for(i = 0; i < count; i++)
      {
         currentKind = kinds[i];
      /* . . . do something with this kind . . . */
      }
   }

See Also

PA_GetIndexedResourceKind , PA_GetResourceIDList , PA_GetResourceNameList .

Error Handling

Use PA_GetLastError to see if an error occurred