88 votes

Intégration d'une dll non gérée dans une dll C# gérée

J'ai une dll C# gérée qui utilise une dll C++ non gérée à l'aide de DLLImport. Tout fonctionne parfaitement. Cependant, je veux intégrer cette DLL non gérée dans ma DLL gérée, comme l'explique Microsoft :

http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.dllimportattribute.aspx

J'ai donc ajouté le fichier dll non géré à mon projet dll géré, j'ai défini la propriété 'Embedded Resource' et j'ai modifié le DLLImport comme suit :

[DllImport("Unmanaged Driver.dll, Wrapper Engine, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null",
CallingConvention = CallingConvention.Winapi)]

où 'Wrapper Engine' est le nom de l'assemblage de ma DLL gérée. 'Unmanaged Driver.dll' est la DLL non gérée.

Quand je cours, j'obtiens :

L'accès est refusé. (Exception de HRESULT : 0x80070005 (E_ACCESSDENIED))

J'ai vu sur MSDN et sur http://blogs.msdn.com/suzcook/ c'est censé être possible...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X