In the case of most of the larger data structures, the responsibility for filling in members is divided between the service provider and TAPI. The service provider must preserve the values present in members owned by TAPI. The description of which members must be set by the service provider and which must be preserved is provided in the Functions section in the functions that refer to that data structure.
For each structure, the reference section lists the following items:
- The purpose of the structure
- A description of the values or fields
- A description of the structure's extensibility
- Optional comments about using the structure
- Optional references to other functions, messages, constants, or structures.
Memory for all data structures whose representation is published and shared by both TAPI and the service provider is allocated by TAPI or an application using TAPI. TAPI passes a pointer to the TSPI function that returns the information. TSPI fills the data structure with the requested information. If the operation is asynchronous, the information is not available until the asynchronous reply callback indicates success.
- Set both the Size and Offset fields to 0.
- Set the Offset field to nonzero but Size to 0.
- Set the Offset field to nonzero, Size to 1, and the byte at the Offset to 0.