2009-08-23 14 views
6

Esiste un modo per ospitare il runtime .NET CLR e registrare le funzioni MethodImplOptions.InternalCall? (Questo non è un argomento su P/Invoke).NET CLR InternalCall

risposta

3

Il codice SSCLI (in particolare clr \ src \ vm \ ecall.cpp) suggerisce che non è possibile registrare i metodi InternalCall, poiché la tabella gECClasses cruciale è codificata.

+0

L'API effettiva è diversa dalla versione di origine condivisa? – jameszhao00

+0

Sono sicuro, ma come? .. Posso solo suggerire di attivare il tuo IDA e - simboli pubblici in una mano, codice SSCLI nell'altra - immersione in 'mscorwks.dll'. –

+0

Ho visto un certo numero di persone che fanno questa domanda sui forum - o vogliono chiamare qualcosa in una DLL C++ e pensare che questo potrebbe essere il modo di farlo, oppure non dicono mai quello che vogliono fare. La risposta in entrambi i casi è "No". Per interesse, perché vuoi farlo? –

0

IMetaDataImport è la soluzione migliore, ma non può davvero garantire per quello. Questo sembra un compito specifico per C++/CLI.

+0

Way off the mark, -1 –

+0

Che cosa è esattamente "via dal segno" qui? Se non c'è modo di far funzionare InternalCall usando l'API COM, P/Invoke non è un'opzione, quindi C++/CLI è il migliore (solo?) Modo di andare gestito-> non gestito. – arul

+0

InternalCall è sotto il livello della CLI, quindi C++/CLI. La domanda di jameszhao è molto specifica su ciò che vuole. –

Problemi correlati