|By default, tlbimp.exe transforms any method signatures with an
[out, retval] parameter such that it because the return type of the method. Since Microsoft developers also typed these methods, you can sometimes get away with returning an
int to represent the
HRESULT (so it would seem), but you can still return various
HRESULT codes by throwing the
COMException with an appropriate
errorCode parameter value - even success codes like
As far as all the interfaces that were imported, these interfaces, structs, etc., are used by the interfaces you imported so they must be imported too, being that they are dependend types of the interfaces' methods that you imported (or struct member types, etc.).
If you want more control over the method signatures, you should type them yourself.
-----BEGIN GEEK CODE BLOCK-----
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----