Memory Allocation

Several functions return large amounts of information to the application. It is the application's responsibility to allocate the memory for this information. After the request completes successfully, the structure will have been filled with the requested information. Note that the filling of the data structure may be done synchronously or asynchronously. See the description in the beginning of Chapter 5 for an explanation on how an application must deal with variable size structures of "unknown" size.