 by casafurtado » Jul 26, 2006 @ 11:01am
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