STDMETHODIMP CComDigiDocLib::utf82unicode(BSTR szUtf8, BSTR* pVal) { USES_CONVERSION; char *psBuf; int iLen; int iErr; if(szUtf8 && *szUtf8) { _bstr_t bsTemp(szUtf8); char *psVal = (char *)bsTemp; iErr = ::utf82unicode(psVal, &psBuf,&iLen); if (!iErr) { *pVal = SysAllocString(W2OLE((wchar_t *)psBuf)); } else { *pVal = SysAllocString(W2OLE((wchar_t *)"")); } if (psBuf != NULL) freeLibMem(psBuf); } return S_OK; }
STDMETHODIMP CComDigiDocLib::oem2unicode(BSTR szOem, BSTR* pVal) { char *psBuf; int iLen; int iErr; _bstr_t bsTemp(szOem); USES_CONVERSION; char *psVal = (char *)bsTemp; iErr = ::oem2unicode(psVal, &psBuf,&iLen); *pVal = SysAllocString(W2OLE((wchar_t *)psBuf)); return S_OK; }
NS_IMETHODIMP CWebBrowserContainer::OnStatusChange(nsIWebProgress* aWebProgress, nsIRequest* aRequest, nsresult aStatus, const PRUnichar* aMessage) { NG_TRACE(_T("CWebBrowserContainer::OnStatusChange(..., \"\")\n")); BSTR bstrStatus = SysAllocString(W2OLE((PRUnichar *) aMessage)); mEvents1->Fire_StatusTextChange(bstrStatus); mEvents2->Fire_StatusTextChange(bstrStatus); SysFreeString(bstrStatus); return NS_OK; }
inline void save() { // Meshの計算 CComPtr<INuiFusionColorMesh> mesh; ERROR_CHECK( reconstruction->CalculateMesh( 1, &mesh ) ); // Mesh Fileの保存 wchar_t* fileName = L"mesh.ply"; ERROR_CHECK( WriteAsciiPlyMeshFile( mesh, W2OLE( fileName ), true, true ) ); /*wchar_t* fileName = L"mesh.stl"; ERROR_CHECK( WriteBinarySTLMeshFile( mesh, W2OLE( fileName ), true ) );*/ /*wchar_t* fileName = L"mesh.obj"; ERROR_CHECK( WriteAsciiObjMeshFile( mesh, W2OLE( fileName ), true ) );*/ }
// Save Mesh inline void Kinect::save() { // Calculate Mesh Data ComPtr<INuiFusionColorMesh> mesh; ERROR_CHECK( reconstruction->CalculateMesh( 1, &mesh ) ); // Save Mesh Data to PLY File wchar_t* fileName = L"../mesh.ply"; WriteAsciiPlyMeshFile( mesh.Get(), W2OLE( fileName ), true, true ); /* // Save Mesh Data to STL File wchar_t* fileName = L"../mesh.stl"; ERROR_CHECK( WriteBinarySTLMeshFile( mesh, W2OLE( fileName ), true ) ); */ /* // Save Mesh Data to Obj File wchar_t* fileName = L"../mesh.obj"; ERROR_CHECK( WriteAsciiObjMeshFile( mesh, W2OLE( fileName ), true ) ); */ }
STDMETHODIMP CComDigiDocLib::longnum2hex(BSTR longNumber, BSTR* pVal) { char *psBuf; int iLen; int iErr; BIGNUM *bn=NULL; char* str; _bstr_t bsTemp(longNumber); char *inputt = bsTemp; BN_dec2bn(&bn, inputt); str = BN_bn2hex(bn); BN_free(bn); iErr = ::oem2unicode(str, &psBuf,&iLen); OPENSSL_free(str); *pVal = SysAllocString(W2OLE((wchar_t *)psBuf)); return S_OK; }