C# Class MonoLibUsb.Profile.MonoUsbProfileHandle

Wraps a profile handle into a System.Runtime.ConstrainedExecution.CriticalFinalizerObject. Profile handles are used for getting device descriptor information and opening the device. Profile handles are known connected and usually supported usb device that can be opened and used.

When a MonoUsbProfileHandle instance is created and wrapped around the libusb_device pointer, MonoUsbApi.RefDevice is called. When all references to this MonoUsbProfileHandle instance are out-of-scope or have all been closed, this profile handle is de-referenced with MonoUsbApi.UnrefDevice. When the reference count equals zero, memory is freed and resources are released.

The MonoUsbProfileHandle class ensures all device profiles get closed and freed regardless of abnormal program terminations or coding errors.

Certain operations can be performed using just the MonoUsbProfileHandle, but in order to do any I/O you will have to first obtain a MonoUsbDeviceHandle using MonoUsbApi.Open.

Inheritance: LibUsbDotNet.Main.SafeContextHandle
Afficher le fichier Open project: arvydas/BlinkStickDotNet Class Usage Examples

Private Properties

Свойство Type Description

Méthodes publiques

Méthode Description
MonoUsbProfileHandle ( IntPtr pProfileHandle ) : System

Wraps a raw usb device profile handle pointer in a MonoUsbProfileHandle class.

Méthodes protégées

Méthode Description
ReleaseHandle ( ) : bool

When overridden in a derived class, executes the code required to free the handle.

Method Details

MonoUsbProfileHandle() public méthode

Wraps a raw usb device profile handle pointer in a MonoUsbProfileHandle class.
public MonoUsbProfileHandle ( IntPtr pProfileHandle ) : System
pProfileHandle System.IntPtr the profile handle to wrap.
Résultat System

ReleaseHandle() protected méthode

When overridden in a derived class, executes the code required to free the handle.
protected ReleaseHandle ( ) : bool
Résultat bool