Téléphone : 01 64 42 60 45
A+| A-| A
02 0

Publié par  dans 

niVB_MSO_ReadAnalog를 작성해야 하는 버퍼의 크기를 확인하려면 niVB_MSO_ReadAnalog를 한 번 호출한 다음 다시 호출하여 버퍼에 대한 포인터를 제공하고(고정 사용 또는 GCHandle 고정을 사용하여) niVB_MSO_ReadAnalog를 채우도록 해야 합니다. 첨부된 예제를 참조하십시오. 이렇게 하면 동일한 이름의 공유 라이브러리가 서로 다른 경로로 두 개 있다고 가정합니다. 예를 들어 x86/libadls.dll 및 x64/libadls.dll을 예로 들 수 있습니다. 동적 라이브러리를 발견하는 방식이 약간 남용됩니다. 이 경우 AMD 디스플레이 라이브러리(ADL)에 대한 지원 라이브러리 주위에 C# 래퍼의 조각이 표시됩니다. connectcodefont.dll 파일이 제대로 로드되려면 실행 파일과 동일한 폴더에 배치해야 합니다. 예제는 C# 샘플 프로젝트에서 찾을 수 있습니다. (죄송합니다.

호기심에서, 나는 핀보크에 다시 참조를 추가 할 수 있는지 궁금하고, 네이티브 라이브러리가 성공적으로 직접 사용호출 된 후 : 작품,하지만 모든 DllImport 사용 « __Internal »를 필요로하는 것은 원하는 많은 잎. 몇 가지 대안이 있습니다: 한 가지 해결책은 ASP.NET 5 블로그에서 네이티브 라이브러리를 사용하는 것에서 비롯됩니다: 따라서 간단한 API를 사용하여 네이티브 구성 요소(일반적으로 C 또는 C++로 작성된 DLL)를 개발하려고 하므로 C#에서 개발된 다른 구성 요소에서 사용해야 합니다. 당신은 DllImport 메커니즘을 사용할 수 있다는 것을 알고 당신은 kernel32.dll (그리고 그런데 이것은 때때로 당신이 필요로하는 것입니다)로 만드는 방법을 보여주는 156387 자습서를 보았다. 당신은 또한 당신이 간단한 문제가 거대한 코드를 사용하고 당신이 비명을 만든 간단한 문제가 무엇인지 설명하는 몇 가지 자습서를 보았다 « pleeaaase 지점에 도착! », 또는 Visual Studio 프로젝트를 설정하도록 요청하는 사람,하지만 당신은 쓸모없는 배관을 피하고 무엇을 이해하려면 후드 아래에서 발생합니다. 당신은 혼자서 시도하고 거의 거기에 있다고 생각하지만 당신은 여전히 오류가 있고 좌절을 느끼기 시작합니다. 나는 당신의 조언을 따라했지만, 여전히 런타임 동안 오류 메시지가 생성되었다. System.Runtime.InteropServices.Runtime정보를 사용하는 것은 이 블로그에서 왔습니다. 기본적으로 하중 컨텍스트가 어셈블리를 로드하면 후속 종속 하중이 동일한 컨텍스트를 통과합니다. 그래서 pinvoke 메서드를 사용하여 테스트용 개체를 어셈블리로 만드는 데 사용하는 팩터리를 이동했습니다.

'.