2010-11-28 13 views
1

Ich verwende COM-Komponente in C++/CLI, eine der Methode von COM, nimmt 'void *' als Parameter. Mein Code wird zwar kompiliert, aber zur Laufzeit wird die Ausnahme 'System.Accessviolation' ausgelöst. Folgendes ist das Code-Snippet. Was könnte ein Grund für diese Ausnahme sein?TLI-Datei wirft Ausnahme

// 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); 

Antwort

0

Wie alt ist das COM-Objekt und benötigt es Administrator-Privilegien? Ich weiß, dass einige Kernfunktionen die UAC-Leine haben, wenn Windows von XP auf Vista und 7 verschoben wurde. Es ist vielleicht völlig falsch, aber hoffentlich gibt dir das einen Zeiger in die richtige Richtung ...