The argument is an event handle. Try changing the declaration to:
[DllImport("fbwflib.dll", CallingConvention = CallingConvention.Winapi)]
static extern UInt32 FbwfCacheThresholdNotification(UInt32 threshold, Microsoft.Win32.SafeHandles.SafeWaitHandle thresholdNotification);
You should then be able to create a new
AutoResetEvent
(or a
ManualResetEvent
) and pass its
SafeWaitHandle
property to the function. That event will then be signalled when the cache falls below the threshold.