Native Type Declarations
<nativeType> ::= /* EMPTY */ custom( <compQstring>, <compQstring> ) fixed sysstring[<int32>] fixed array[<int32>] variant currency syschar void bool int8 int16 int32 int64 float32 float64 error unsigned int8 unsigned int16 unsigned int32 unsigned int64 <nativeType>* <nativeType>[ ] <nativeType>[<int32>] <nativeType>[<int32> + <int32>] <nativeType>[ + <int32>] decimal date bstr lpstr lpwstr lptstr objectref iunknown idispatch struct interface safearray <variantType> safearray <variantType>,<compQstring> int unsigned int nested struct byvalstr ansi bstr tbstr variant bool method as any lpstruct <variantType> ::= /* EMPTY */ null variant currency void bool int8 int16 int32 int64 float32 float64 unsigned int8 unsigned int16 unsigned int32 unsigned int64 * <variantType> [ ] <variantType> vector <variantType> & decimal date bstr lpstr lpwstr iunknown idispatch safearray int unsigned int error hresult carray userdefined record filetime blob stream storage streamed_object stored_object blob_object cf clsid