Define USES_CONVERSION; at the top of the method implementation you are trying to do the conversion in. then use W2T void foo(BSTR bstrVariable) { USES_CONVERSION; // conversion is done to the stack so don't delete on function exit // and don't use pointer outside of method. LPCTSTR pcstrVariable = W2T(bstrVariable); // TODO: do work with string. } Cheers, -Erik ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ My thoughts are my own and reflect on no other.