-1
我有這樣的C++代碼定義:轉換和調用C++ STDCALL到C#
static void STDCALL HandleVideoStatic(PVOID pContext, BYTE * apData[3], VideoSampleInfo_T * pVSI)
{
((TMediaCallbackHandler *)pContext)->HandleVideo(apData, pVSI);
}
而且它傳遞給方法(沒有初始化)
WD_RegisterVideoPreviewCB(m_ahChannels[i], &m_aMediaHandler[i], HandleVideoStatic);
如何上面HandleVideoStatic轉換爲C#代碼。以及如何在C#中調用它?
在C#中,m_aMediaHandler [i]是一個類實例。如果我將它傳遞給IntPtr apData。 VS顯示錯誤「invalid agruments」。我想因爲我傳遞了一個類實例,而不是一個指針。但是我必須將一個類實例傳遞給那個地方。 (你能提供更多的建議嗎? – user2916684
所以你在C#中有一個類嗎?你不能將它傳遞給C++方法,你需要首先啓動相應的C++類(使用C++),獲取該對象的指針,然後將它傳遞給方法 – floele
我如何製作一個指向類實例的指針並將它傳遞給該地點?我的那個實例的指針將解決問題 我是C#的新手,所以我可以做所有的想法。對此感到遺憾。非常感謝。 – user2916684