Delphi-Quellcode:
type
TUpdateFunc = procedure(Param1: Pointer; Param2: DWORD); cdecl;
TCompletionRoutine = procedure(Param1: DWORD; Param2: Pointer); cdecl;
function EnrollEx(var stEnrolledTemplate: STBioTemplateEx; UpdateFunc: TUpdateFunc = nil; pvUpdateCOntext: Pointer = nil;
CompletionRoutine: TCompletionRoutine = nil; pvCompletionContext: Pointer = nil): DWORD; cdecl; external 'BiometricDll.dll';
Der erste Parameter stEnrolledTemplate war falsch deklariert. Das var bewirkt eine Indirektion, also ist der Typ vom Pointer auf die Struktur aud den Strukturtyp zu aendern.
Die Parameter sind Callback-Prozeduren und ein zugehoeriger Context-Pointer den man bestimmt zu beliebigen Zwecken einsetzen kann. Der duerfte als der Pointer-Parameter der Callback-Prozedur uebergeben werden.
Die Defaultwerte fuer die Parameter kann man auch in Delphi implementieren.