Hi,
Your expecations are mostly correct, unfortunately, there is a known defect in the CDE that doesn't put the typedef to the driver properly, so the code is not generate for the types.
It has been fixed and the fix will be published in the upcoming Driver Suite 10.4.1 update. We appologize for the inconvenience.
Here are comments to your questions:
1. In the list of user-defined types (i.e. the "This defines:" field), is "Alias" essentially the same as a typedef of a simple type? For example, if I set "Type Name" to "INDEX" and "Is type" to "int", is that the same as having "typedef int INDEX;" somewhere in my code?
Yes, this is true.
2. If my understanding of #1 is correct, how does that affect the generated code? That is, does PEX generate the "typedef" for me somewhere? Or do I have to manually add it myself somewhere? And if so, where?
Yes, the "typedef" should appear in the generated .h file for the component. However, there is a bug at the moment.
3. Is the type "Record" just a C struct?
Yes, the "record" is a "struct" in C.
4. Same as above, does PEX generate the struct definition for me, or do I have to put it in somewhere? (If it DOESN'T generate the code, why does it need to know about the fields of the struct?)
Yes, PEx should generate it for you, but there is the already mentioned known problem so it doesn't now.
5. The type "User" seems to be a catch-all for anything that doesn't quite fit any of the other types. However, the examples given in the User Guide ("typedef int *TIntPtr;" and "typedef struct { float real; float imaginary; } TComplex") seem like they would be handled by "Alias" and "Record" types if my understanding of them is correct, which makes me think my understanding ISN'T correct. So what is the point of the "User" type?
The User type means that you type the whole "typedef" definition yourself and it's generated into .h
Best regards
Petr Hradsky