コード例 #1
0
        private static unsafe int DoBrowseRecordTasks(IntPtr aPtr, uint aVersion, char *aRecordScheduleID, char *aFilter, uint aStartingIndex, uint aRequestedCount, char *aSortCriteria, char **aResult, uint *aNumberReturned, uint *aTotalMatches, uint *aUpdateID)
        {
            GCHandle gch = GCHandle.FromIntPtr(aPtr);
            DvServiceUpnpOrgScheduledRecording1 self = (DvServiceUpnpOrgScheduledRecording1)gch.Target;
            string recordScheduleID = Marshal.PtrToStringAnsi((IntPtr)aRecordScheduleID);
            string filter           = Marshal.PtrToStringAnsi((IntPtr)aFilter);
            string sortCriteria     = Marshal.PtrToStringAnsi((IntPtr)aSortCriteria);
            string result;
            uint   numberReturned;
            uint   totalMatches;
            uint   updateID;

            self.BrowseRecordTasks(aVersion, recordScheduleID, filter, aStartingIndex, aRequestedCount, sortCriteria, out result, out numberReturned, out totalMatches, out updateID);
            *aResult         = (char *)Marshal.StringToHGlobalAnsi(result).ToPointer();
            *aNumberReturned = numberReturned;
            *aTotalMatches   = totalMatches;
            *aUpdateID       = updateID;
            return(0);
        }