pub type PInvokeMarshalCleanupFunc = Option<unsafe extern "C" fn(marshaledStructure: *mut c_void)>;