Hello All, I'm trying to use System.IO.FileStream(string, FileMode, FileAccess, FileShare) in my CRH, but when I call CreateInstance_3 throught my AppDomain pointer
the hr is equal 0x80131604. I think, this happen because the parameters FileMode, FileAccess and FileShare are enums on .NET. Can somebody help me? BSTR asmName, typeName, fileName; asmName = SysAllocString(L"mscorlib"); typeName = SysAllocString(L"System.IO.FileStream"); fileName = SysAllocString(L"c:\\csc\\hello.dll"); SAFEARRAY* pFileStreamCtor = SafeArrayCreateVector(VT_VARIANT, 0, 4); VARIANT param[4]; for(int a = 0; a < 4; ++a) VariantInit(¶m[a]); param[0].vt = VT_BSTR; param[0].bstrVal = fileName; param[1].vt = VT_I4; param[1].lVal = FileMode_Open; param[2].vt = VT_I4; param[2].lVal = FileAccess_Read; param[3].vt = VT_I4; param[3].lVal = FileShare_Read; LONG index = 0; hr = SafeArrayPutElement(pFileStreamCtor, &index, ¶m); __FAILED(hr); hr = pApp->CreateInstance_3(asmName, typeName, VARIANT_TRUE, BindingFlags_Default, NULL, pFileStreamCtor, NULL, NULL, NULL, &pObjH); __FAILED(hr); // TargetInvocationException uses the HRESULT COR_E_TARGETINVOCATION which has the value 0x80131604. //... CleanUp(); Thanks, Fabio You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.