by casafurtado » Jul 26, 2006 @ 11:01am
Note that IShockwaveFlash interface is different on PC and PDA
PC :
struct __declspec(uuid("d27cdb6c-ae6d-11cf-96b8-444553540000"))
IShockwaveFlash : IDispatch
{
//
// Raw methods provided by interface
//
virtual HRESULT __stdcall get_ReadyState (
/*[out,retval]*/ long * pVal ) = 0;
virtual HRESULT __stdcall get_TotalFrames (
/*[out,retval]*/ long * pVal ) = 0;
virtual HRESULT __stdcall get_Playing (
/*[out,retval]*/ VARIANT_BOOL * pVal ) = 0;
virtual HRESULT __stdcall put_Playing (
/*[in]*/ VARIANT_BOOL pVal ) = 0;
PDA :
struct __declspec(uuid("d27cdb6c-ae6d-11cf-96b8-444553540000"))
IShockwaveFlash : IDispatch
{
//
// Raw methods provided by interface
//
virtual HRESULT __stdcall LoadMovie (
/*[in]*/ int layer,
/*[in]*/ BSTR url ) = 0;
virtual HRESULT __stdcall Play ( ) = 0;
virtual HRESULT __stdcall StopPlay ( ) = 0;
virtual HRESULT __stdcall Stop ( ) = 0;
That's why I am using the following lines to generate flash headers
#ifdef WINCE
// copy flash.dll from your PDA Windows/macromedia
// directory to your project include directory
#import "flash.dll" rename("IDispatchEx","My_IDispatchEx") no_namespace raw_interfaces_only
#else
#import "PROGID:ShockwaveFlash.ShockwaveFlash" rename("IDispatchEx","My_IDispatchEx") no_namespace raw_interfaces_only
#endif