Type d'argument pour appel de fonction dans une DLL
Bonjour a tous,
J'essaye de porter une petite application C# en Delphi, celle-ci fait appel a des fonctions dans une DLL en C++. Pour une des fonctions je n'arrive pas a déterminer le type d'argument en Delphi a passer. La fonction C++ est la suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
NDISMONLIB_API BOOL StartLogging(LPTSTR pszAdapterName,PLOG_RECORD_CALLBACK LogRecordCallback, HANDLE StopLoggingEvent)
{
if( (!pszAdapterName) || (StopLoggingEvent == NULL) )
{
return( FALSE );
}
PTHREAD_CONTEXT ThreadData = new THREAD_CONTEXT();
ThreadData->LogRecordCallback = LogRecordCallback;
ULONG AdapterNameLength = wcslen(pszAdapterName);
ThreadData->AdapterName = new WCHAR[AdapterNameLength + 1];
CopyMemory(ThreadData->AdapterName,pszAdapterName,AdapterNameLength*sizeof(WCHAR));
ThreadData->AdapterName[AdapterNameLength] = NULL;
ThreadData->StopLoggingEvent = StopLoggingEvent;
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)RetrieveLogRecordsThread, ThreadData, 0, NULL);
if ( hThread == NULL )
{
return FALSE;
}
return TRUE;
} |
L'appel de cette fonction en C# se fait de la manière suivante:
Code:
1 2 3 4 5
|
private void button1_Click(object sender, EventArgs e)
{
NdisMonLib.StartLogging(comboBox1.Text, CallbackProcedure, StopEvent.SafeWaitHandle);
} |
Savez vous vous quel est le paramètre a passer en Delphi, équivalent a StopEvent.SafeWaitHandle en C# qui semble etre un "handle en C++" ?
Merci