Здравствуйте, Yarrr, Вы писали:
[]
Y> — Перехват вызова метода СОМ объекта (DirectX) в чужой проге. (как ни странно, но при вызове параметры пихаются слева направо)
[]
Тогда Вам паскальная конвенция не нужна. COM-методы всегда используют конвенцию, заданную макросом STDMETHODCALLTYPE, который определен как stdcall:
/* basetypes.h */
....
#define STDMETHODCALLTYPE __stdcall
....
#define STDMETHOD(method) virtual HRESULT STDMETHODCALLTYPE method
....
Для примера (если не верите

):
/* ddraw.h */
DECLARE_INTERFACE_( IDirectDraw, IUnknown )
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR * ppvObj) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
/*** IDirectDraw methods ***/
STDMETHOD(Compact)(THIS) PURE;
STDMETHOD(CreateClipper)(THIS_ DWORD, LPDIRECTDRAWCLIPPER FAR*, IUnknown FAR * ) PURE;
......