Parameter types for the segment method are shown in this table:
| Parameter Type | In Parameter | Out or InOut Parameter |
|---|---|---|
| String | BSTR | BSTR* |
| Wide String | BSTR | BSTR* |
| Number | DECIMAL | DECIMAL* |
| Signed Number | DECIMAL | DECIMAL* |
| Date | DATE | DATE* |
| Boolean | VARIANT_BOOL | VARIANT_BOOL* |
For example, if you had a segment method called PublicMethod which has an in parameter of each type and an in/out parameter of each type, this is how that method would be generated into the IDL file.
HRESULT PublicMethod([in] BSTR _sg_StringIn, [in] BSTR _sg_WideStringIn, [in] DECIMAL _sg_NumberIn, [in] DECIMAL _sg_SignedNumberIn, [in] DATE _sg_DateIn, [in] VARIANT_BOOL _sg_BooleanIn, [in,out] BSTR * _sg_StringInOut, [in,out] BSTR * _sg_WideStringInOut, [in,out] DECIMAL * _sg_NumberInOut, [in,out] DECIMAL * _sg_SignedNumberInOut, [in,out] DATE * _sg_DateInOut, [in,out] VARIANT_BOOL * _sg_BooleanInOut);