/// <summary> /// Returns the short value of a Hid feature code. /// </summary> /// <param name="featureCode">The Hid feature code to retrieve.</param> /// <param name="result">Receives the result of the operation.</param> /// <returns>True if successful.</returns> /// <remarks></remarks> public bool HidGetFeature(byte featureCode, ref short result) { bool HidGetFeatureRet = default; var hfile = HidFeatures.OpenHid(this); if (hfile == IntPtr.Zero) { return(false); } var mm = new MemPtr(); mm.Alloc(3L); mm.ByteAt(0L) = featureCode; if (!UsbLibHelpers.HidD_GetFeature(hfile, mm, 3)) { HidGetFeatureRet = false; } else { HidGetFeatureRet = true; result = mm.ShortAtAbsolute(1L); } mm.Free(); HidFeatures.CloseHid(hfile); return(HidGetFeatureRet); }