LPOLESTR T2OLE(LPCTSTR lpt) { static OLECHAR lpw[512]; if(!lpt) return NULL; lpw[0] = L'\0'; MultiByteToWideChar(CP_ACP, 0, lpt, -1, lpw, 512); return lpw; } HRESULT IltmmSupportManager_UnlockSupport_Example (IltmmSupportManager* pSprtMngr) { VARIANT_BOOL vb; HRESULT hr = CoCreateInstance(&CLSID_ltmmSupportManager, NULL, CLSCTX_INPROC_SERVER, &IID_IltmmSupportManager, (void**)&pSprtMngr); if (hr != S_OK) return -1; IltmmSupportManager_IsSupportLocked (pSprtMngr, L_SUPPORT_CONVERTFROMDVD, &vb); if (vb == VARIANT_TRUE) { hr = IltmmSupportManager_UnlockSupport (pSprtMngr, L_SUPPORT_CONVERTFROMDVD, T2OLE("DVDKey")); if (hr != S_OK) { IltmmSupportManager_Release(pSprtMngr); return hr; } IltmmSupportManager_IsSupportLocked (pSprtMngr, L_SUPPORT_CONVERTFROMDVD, &vb); if (vb != VARIANT_FALSE) return E_FAIL; return S_OK; } return S_OK; }