Hamid has pointed you to a good article - but it doesn't deal with "run time linking" of objects.
This is not a trivial subject, and is a significant part of the reason COM was invented.
In my software, I go a COM-similar way. I have a base class in a H file, with all-pure-virtual methods. I also have a "get me an object of CXXXX type please" C exportable function exported by the DLL. Inside the DLL I have a CImplementXXXX class that I create an instance of and return.
All very COM/CoCreateInstance. All I'm missing is GUIDs.
As to your problem...
Can you solve it by brute force? Writing a second DLL that compile time links to this class (using the approach in the article), and provides a mechannism like I describe above to create an interface to a proxy object within your DLL?
If you know some DirectX/DirectShow you could try creating an overlay for the screen, set the desktop to overlay-color and play the movie file you wish onto the overlay surface. That could work, but you would get ugly results with "shadow" effects like shadowed text under the icons on the desktop.
I am running a WinCE6.0 Stream interface Driver on a DTE device which will open a handle to Serial port which is
connected to a modem.WriteFile API returns non-zero Value, but NumberofbytesWritten parameters is coming as Zero.
The Windows CE 6.0 device is a DTE terminal and when connected to PC (Another DTE)) over NULL Modem cable with hyperterminal, all the data from the are seen on the hyperterminal, and WriteFile API fills the NumberofbytesWritten is exactly the same as the
When the CE6.0 DTE device is connected to DCE Modemdevice using a Straight serial cable, WriteFile API
is succedding by returning Non-Zero Value, but NumberofbytesWritten parameters is coming as Zero.
The following is the DCB in the driver:
dcb.BaudRate = m_BaudRate;(115200)
dcb.fBinary = TRUE;
dcb.fParity = TRUE;
dcb.fOutxCtsFlow = TRUE;
dcb.fOutxDsrFlow = FALSE;
dcb.fDtrControl = DTR_CONTROL_ENABLE;
dcb.fDsrSensitivity = FALSE;
dcb.fTXContinueOnXoff = TRUE;
dcb.fOutX = FALSE;
dcb.fInX = FALSE;
dcb.fErrorChar = FALSE;
dcb.fNull = FALSE;
dcb.fRtsControl = RTS_CONTROL_HANDSHAKE;
dcb.fAbortOnError = FALSE;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
Also, I am setting EscapeCommFunction(m_hCOMHandle,SETDTR);
On the hyperteminal I have the following setting:
baudrate = 115200
Data bit = 8
Also, with the same hyperterminal setting with PC(Hyperterminal) connected to Modem over Straight SErial cable,
I am able to fire the AT Commands from the PC(hyperterminal) to the modem.