2010-11-28 6 views
1

COM 메소드에서 COM의 하나 인 C++/CLI를 사용하여 'void *'를 매개 변수로 사용합니다. 내 코드는 잘 컴파일되지만 런타임에 'System.Accessviolation'예외가 throw됩니다. 다음 코드 스 니펫이 있습니다. 이 예외의 원인은 무엇입니까?TLI 파일 예외 발생

// C++ managed Code 
void ManagedWrapper::InitializeConfig(ManagedConfigruation ^objConfiguration) 
{  
    objConfiguration->SetConfigurationValue(); 
     IntPtr p = objConfiguration->GetObjectPtr(); 
    m_objCameraConfig->InitializeNetworkConfig(p.ToPointer()); 

} 

//COM signature for InitializeNetworkConfig in IDL file 
[helpstring("method InitializeCameraConfig")] HRESULT InitializeNetworkConfig([in] void *configparam); 

답변

0

COM 개체는 몇 살이고 관리자 권한이 필요합니까? 나는 Windows가 XP에서 Vista 및 7로 이동할 때 몇 가지 핵심 기능이 UAC 가죽 끈을 가지고 있다는 것을 알고 있습니다. 아마도 완전히 잘못된 것이지만 올바른 방향으로 포인터를 줄 수는 있습니다 ...