public RootSystem.Collections.Generic.IList <Windows.Kinect.AudioBeamFrame> AcquireBeamFrames() { if (_pNative == RootSystem.IntPtr.Zero) { throw new RootSystem.ObjectDisposedException("AudioBeamFrameReference"); } int outCollectionSize = Windows_Kinect_AudioBeamFrameReference_AcquireBeamFrames_Length(_pNative); var outCollection = new RootSystem.IntPtr[outCollectionSize]; var managedCollection = new Windows.Kinect.AudioBeamFrame[outCollectionSize]; outCollectionSize = Windows_Kinect_AudioBeamFrameReference_AcquireBeamFrames(_pNative, outCollection, outCollectionSize); Helper.ExceptionHelper.CheckLastError(); for (int i = 0; i < outCollectionSize; i++) { if (outCollection[i] == RootSystem.IntPtr.Zero) { continue; } var obj = Helper.NativeObjectCache.CreateOrGetObject <Windows.Kinect.AudioBeamFrame>(outCollection[i], n => new Windows.Kinect.AudioBeamFrame(n)); managedCollection[i] = obj; } return(managedCollection); }
public RootSystem.Collections.Generic.IList<Windows.Kinect.AudioBeamFrame> AcquireBeamFrames() { if (_pNative == RootSystem.IntPtr.Zero) { throw new RootSystem.ObjectDisposedException("AudioBeamFrameReference"); } int outCollectionSize = Windows_Kinect_AudioBeamFrameReference_AcquireBeamFrames_Length(_pNative); var outCollection = new RootSystem.IntPtr[outCollectionSize]; var managedCollection = new Windows.Kinect.AudioBeamFrame[outCollectionSize]; outCollectionSize = Windows_Kinect_AudioBeamFrameReference_AcquireBeamFrames(_pNative, outCollection, outCollectionSize); Helper.ExceptionHelper.CheckLastError(); for(int i=0;i<outCollectionSize;i++) { if(outCollection[i] == RootSystem.IntPtr.Zero) { continue; } var obj = Helper.NativeObjectCache.CreateOrGetObject<Windows.Kinect.AudioBeamFrame>(outCollection[i], n => new Windows.Kinect.AudioBeamFrame(n)); managedCollection[i] = obj; } return managedCollection; }
public Windows.Kinect.AudioBeamFrame[] AcquireBeamFrames() { if (_pNative == RootSystem.IntPtr.Zero) { throw new RootSystem.ObjectDisposedException("AudioBeamFrameReference"); } int collectionSize = Windows_Kinect_AudioBeamFrameReference_AcquireBeamFrames_Length(_pNative); var outCollection = new RootSystem.IntPtr[collectionSize]; var managedCollection = new Windows.Kinect.AudioBeamFrame[collectionSize]; collectionSize = Windows_Kinect_AudioBeamFrameReference_AcquireBeamFrames(_pNative, outCollection, collectionSize); for(int i=0;i<collectionSize;i++) { if(outCollection[i] == RootSystem.IntPtr.Zero) { continue; } outCollection[i] = Helper.NativeObjectCache.MapToIUnknown(outCollection[i]); var obj = Helper.NativeObjectCache.GetObject<Windows.Kinect.AudioBeamFrame>(outCollection[i]); if (obj == null) { obj = new Windows.Kinect.AudioBeamFrame(outCollection[i]); Helper.NativeObjectCache.AddObject<Windows.Kinect.AudioBeamFrame>(outCollection[i], obj); } managedCollection[i] = obj; } return managedCollection; }