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