http://www.codeguru.com/cpp/com-tech/activex/tutorials/article.php/c5567
