2
읽은 후 Dynamically calling unmanaged dlls in .net.net 3.5 작업 또는 Muncalled 관리되지 않는 대리자로 Func 사용할 수 있습니까?
나는 내 마음에 드는대로 코드를 수정하려고 노력해 왔습니다. 로드 콜을 랩핑하고 필요에 따라 자유롭게 사용할 수 있도록 구현하는 클래스를 만들었습니다. 그러나 익명의 대리자를 사용할 수 있다면 구문을 파악할 수 없습니다.
var loaded=DynamicLibraryLoader.TryLoad("User32.dll");
var beeper=loaded.GetProcAddress("MessageBeep");
var type=typeof(Action<UInt32>);
Action<UInt32> beepAction2=(Action<UInt32>) Marshal.GetDelegateForFunctionPointer(beeper,type);
마지막 줄에 지정된 유형이 제네릭 형식 정의가 아니어야한다는 내용의 인수 예외가 발생합니다. 이 문제를 해결할 방법이 있습니까? 아니면 관리되지 않는 작업을 수행 할 명명 된 대리인을 제공해야합니까? 당신이 관리되지 않는 코드 창에서 기본적으로 무엇을 할 수 있는지에 관심있는의 참고로
-Link을
구문이나 주위에 구문이 없습니까? – Maslow
@Maslow, 아니요. 지금은 없습니다. – JaredPar
다른 답변이 없으므로 추측 할 수 있습니다. 답변을 받아 들일 것입니다. 예외가 말하는 내용을 다시 읽습니다. 일부 리소스, 참조 또는 일부 유형을 선호했을 것입니다. 해결 방법 아이디어. – Maslow