I am trying to use a function provided in 3rd party documentation and am having trouble getting my head around it. I recently figured out the meaning of IN/OUT variables and how to work with them. The problem with this function is it has several different types all combined. I am really confused how to access these array elements. Provided below is a screenshot of the function information.

This is the code I am working with:

BYTE numDevices = 10; BYTE devices; ULONG devicesArray = QCWWAN2kEnumerateDevices(&numDevices,&devices); //How do I access the elements in the returned array?

ULONG IS THE RETURN CODE TO SEE IF IT FAILED/WHY