Holy cow, I wrote a book!
The Animation control in the shell common controls library
supports only a very limited class of AVI files.
Why all these restrictions?
Because the purpose of the Animation control is to be
able to show simple animations.
If you have a complex animation,
you should be using one of the more advanced animation
the MCIWnd window class.
There would be no benefit to adding
all the advanced AVI playback features were added to the
shell Animation control. The result would just be a pointless clone of MCIWnd.
This is something you need to keep in mind when designing a component
whose original design goal is to be a simpler version of some other
You must resist the urge to add
features from that other component to your component.
If you succumb, then you will end up with a component that does everything
the original component did, even though your goal was to be a simpler
version. So why did you write it? You spent months writing something
that already exists.