private static unsafe int DoGetStateUpdateID(IntPtr aPtr, uint aVersion, uint *aId) { GCHandle gch = GCHandle.FromIntPtr(aPtr); DvServiceUpnpOrgScheduledRecording1 self = (DvServiceUpnpOrgScheduledRecording1)gch.Target; uint id; self.GetStateUpdateID(aVersion, out id); *aId = id; return(0); }