| /* |
| * Copyright (C) 2023 Mohamad Al-Jaf |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| #ifdef __WIDL__ |
| #pragma winrt ns_prefix |
| #endif |
| |
| import "inspectable.idl"; |
| import "asyncinfo.idl"; |
| import "eventtoken.idl"; |
| import "windowscontracts.idl"; |
| import "windows.foundation.idl"; |
| import "windows.storage.streams.idl"; |
| |
| namespace Windows.Devices.Usb { |
| typedef enum UsbControlRecipient UsbControlRecipient; |
| typedef enum UsbControlTransferType UsbControlTransferType; |
| typedef enum UsbReadOptions UsbReadOptions; |
| typedef enum UsbTransferDirection UsbTransferDirection; |
| typedef enum UsbWriteOptions UsbWriteOptions; |
| |
| interface IUsbBulkInEndpointDescriptor; |
| interface IUsbBulkInPipe; |
| interface IUsbDevice; |
| interface IUsbDeviceClass; |
| interface IUsbConfiguration; |
| interface IUsbConfigurationDescriptor; |
| interface IUsbConfigurationDescriptorStatics; |
| interface IUsbControlRequestType; |
| interface IUsbDeviceDescriptor; |
| interface IUsbDeviceStatics; |
| interface IUsbInterface; |
| interface IUsbInterfaceDescriptor; |
| interface IUsbInterfaceDescriptorStatics; |
| interface IUsbInterruptInEndpointDescriptor; |
| interface IUsbInterruptInEventArgs; |
| interface IUsbInterruptInPipe; |
| interface IUsbInterruptOutEndpointDescriptor; |
| interface IUsbInterruptOutPipe; |
| interface IUsbSetupPacket; |
| interface IUsbSetupPacketFactory; |
| |
| runtimeclass UsbBulkInEndpointDescriptor; |
| runtimeclass UsbBulkInPipe; |
| runtimeclass UsbBulkOutEndpointDescriptor; |
| runtimeclass UsbBulkOutPipe; |
| runtimeclass UsbConfiguration; |
| runtimeclass UsbConfigurationDescriptor; |
| runtimeclass UsbControlRequestType; |
| runtimeclass UsbDescriptor; |
| runtimeclass UsbDevice; |
| runtimeclass UsbDeviceClass; |
| runtimeclass UsbDeviceDescriptor; |
| runtimeclass UsbInterface; |
| runtimeclass UsbInterfaceDescriptor; |
| runtimeclass UsbInterfaceSetting; |
| runtimeclass UsbInterruptInEndpointDescriptor; |
| runtimeclass UsbInterruptInEventArgs; |
| runtimeclass UsbInterruptInPipe; |
| runtimeclass UsbInterruptOutEndpointDescriptor; |
| runtimeclass UsbInterruptOutPipe; |
| runtimeclass UsbSetupPacket; |
| |
| declare { |
| interface Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Usb.UsbDevice *>; |
| interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbBulkInEndpointDescriptor *>; |
| interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbBulkInPipe *>; |
| interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbBulkOutEndpointDescriptor *>; |
| interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbBulkOutPipe *>; |
| interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbDescriptor *>; |
| interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterface *>; |
| interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterfaceSetting *>; |
| interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterruptInEndpointDescriptor *>; |
| interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterruptInPipe *>; |
| interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterruptOutEndpointDescriptor *>; |
| interface Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterruptOutPipe *>; |
| interface Windows.Foundation.IAsyncOperation<Windows.Devices.Usb.UsbDevice *>; |
| interface Windows.Foundation.TypedEventHandler<Windows.Devices.Usb.UsbInterruptInPipe *, Windows.Devices.Usb.UsbInterruptInEventArgs *>; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0) |
| ] |
| enum UsbControlRecipient |
| { |
| Device = 0, |
| SpecifiedInterface = 1, |
| Endpoint = 2, |
| Other = 3, |
| DefaultInterface = 4, |
| }; |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0) |
| ] |
| enum UsbControlTransferType |
| { |
| Standard = 0, |
| Class = 1, |
| Vendor = 2, |
| }; |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| flags |
| ] |
| enum UsbReadOptions |
| { |
| None = 0x0, |
| AutoClearStall = 0x1, |
| OverrideAutomaticBufferManagement = 0x2, |
| IgnoreShortPacket = 0x4, |
| AllowPartialReads = 0x8, |
| }; |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0) |
| ] |
| enum UsbTransferDirection |
| { |
| Out = 0, |
| In = 1, |
| }; |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| flags |
| ] |
| enum UsbWriteOptions |
| { |
| None = 0x0, |
| AutoClearStall = 0x1, |
| ShortPacketTerminate = 0x2, |
| }; |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbBulkInEndpointDescriptor), |
| uuid(3c6e4846-06cf-42a9-9dc2-971c1b14b6e3) |
| ] |
| interface IUsbBulkInEndpointDescriptor : IInspectable |
| { |
| [propget] HRESULT MaxPacketSize([out, retval] UINT32 *value); |
| [propget] HRESULT EndpointNumber([out, retval] BYTE *value); |
| [propget] HRESULT Pipe([out, retval] Windows.Devices.Usb.UsbBulkInPipe **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbBulkInPipe), |
| uuid(f01d2d3b-4548-4d50-b326-d82cdabe1220) |
| ] |
| interface IUsbBulkInPipe : IInspectable |
| { |
| [propget] HRESULT MaxTransferSizeBytes([out, retval] UINT32 *value); |
| [propget] HRESULT EndpointDescriptor([out, retval] Windows.Devices.Usb.UsbBulkInEndpointDescriptor **value); |
| HRESULT ClearStallAsync([out, retval] Windows.Foundation.IAsyncAction **operation); |
| [propput] HRESULT ReadOptions([in] Windows.Devices.Usb.UsbReadOptions value); |
| [propget] HRESULT ReadOptions([out, retval] Windows.Devices.Usb.UsbReadOptions *value); |
| HRESULT FlushBuffer(); |
| [propget] HRESULT InputStream([out, retval] Windows.Storage.Streams.IInputStream **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbBulkOutEndpointDescriptor), |
| uuid(2820847a-ffee-4f60-9be1-956cac3ecb65) |
| ] |
| interface IUsbBulkOutEndpointDescriptor : IInspectable |
| { |
| [propget] HRESULT MaxPacketSize([out, retval] UINT32 *value); |
| [propget] HRESULT EndpointNumber([out, retval] BYTE *value); |
| [propget] HRESULT Pipe([out, retval] Windows.Devices.Usb.UsbBulkOutPipe **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbBulkOutPipe), |
| uuid(a8e9ee6e-0115-45aa-8b21-37b225bccee7) |
| ] |
| interface IUsbBulkOutPipe : IInspectable |
| { |
| [propget] HRESULT EndpointDescriptor([out, retval] Windows.Devices.Usb.UsbBulkOutEndpointDescriptor **value); |
| HRESULT ClearStallAsync([out, retval] Windows.Foundation.IAsyncAction **operation); |
| [propput] HRESULT WriteOptions([in] Windows.Devices.Usb.UsbWriteOptions value); |
| [propget] HRESULT WriteOptions([out, retval] Windows.Devices.Usb.UsbWriteOptions *value); |
| [propget] HRESULT OutputStream([out, retval] Windows.Storage.Streams.IOutputStream **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbConfiguration), |
| uuid(68177429-36a9-46d7-b873-fc689251ec30) |
| ] |
| interface IUsbConfiguration : IInspectable |
| { |
| [propget] HRESULT UsbInterfaces([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterface *> **value); |
| [propget] HRESULT ConfigurationDescriptor([out, retval] Windows.Devices.Usb.UsbConfigurationDescriptor **value); |
| [propget] HRESULT Descriptors([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbDescriptor *> **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbConfigurationDescriptor), |
| uuid(f2176d92-b442-407a-8207-7d646c0385f3) |
| ] |
| interface IUsbConfigurationDescriptor : IInspectable |
| { |
| [propget] HRESULT ConfigurationValue([out, retval] BYTE *value); |
| [propget] HRESULT MaxPowerMilliamps([out, retval] UINT32 *value); |
| [propget] HRESULT SelfPowered([out, retval] boolean *value); |
| [propget] HRESULT RemoteWakeup([out, retval] boolean *value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbConfigurationDescriptor), |
| uuid(424ced93-e740-40a1-92bd-da120ea04914) |
| ] |
| interface IUsbConfigurationDescriptorStatics : IInspectable |
| { |
| HRESULT TryParse([in] Windows.Devices.Usb.UsbDescriptor *descriptor, [out] Windows.Devices.Usb.UsbConfigurationDescriptor **parsed, [out, retval] boolean *success); |
| HRESULT Parse([in] Windows.Devices.Usb.UsbDescriptor *descriptor, [out, retval] Windows.Devices.Usb.UsbConfigurationDescriptor **parsed); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbControlRequestType), |
| uuid(8e9465a6-d73d-46de-94be-aae7f07c0f5c) |
| ] |
| interface IUsbControlRequestType : IInspectable |
| { |
| [propget] HRESULT Direction([out, retval] Windows.Devices.Usb.UsbTransferDirection *value); |
| [propput] HRESULT Direction([in] Windows.Devices.Usb.UsbTransferDirection value); |
| [propget] HRESULT ControlTransferType([out, retval] Windows.Devices.Usb.UsbControlTransferType *value); |
| [propput] HRESULT ControlTransferType([in] Windows.Devices.Usb.UsbControlTransferType value); |
| [propget] HRESULT Recipient([out, retval] Windows.Devices.Usb.UsbControlRecipient *value); |
| [propput] HRESULT Recipient([in] Windows.Devices.Usb.UsbControlRecipient value); |
| [propget] HRESULT AsByte([out, retval] BYTE *value); |
| [propput] HRESULT AsByte([in] BYTE value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbDescriptor), |
| uuid(0a89f216-5f9d-4874-8904-da9ad3f5528f) |
| ] |
| interface IUsbDescriptor : IInspectable |
| { |
| [propget] HRESULT Length([out, retval] BYTE *value); |
| [propget] HRESULT DescriptorType([out, retval] BYTE *value); |
| HRESULT ReadDescriptorBuffer([in] Windows.Storage.Streams.IBuffer *buffer); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbDevice), |
| uuid(5249b992-c456-44d5-ad5e-24f5a089f63b) |
| ] |
| interface IUsbDevice : IInspectable |
| requires Windows.Foundation.IClosable |
| { |
| [overload("SendControlOutTransferAsync")] |
| HRESULT SendControlOutTransferAsync( |
| [in] Windows.Devices.Usb.UsbSetupPacket *packet, |
| [in] Windows.Storage.Streams.IBuffer *buffer, |
| [out, retval] Windows.Foundation.IAsyncOperation<UINT32> **operation |
| ); |
| [overload("SendControlOutTransferAsync")] |
| HRESULT SendControlOutTransferAsyncNoBuffer( |
| [in] Windows.Devices.Usb.UsbSetupPacket *packet, |
| [out, retval] Windows.Foundation.IAsyncOperation<UINT32> **operation |
| ); |
| [overload("SendControlInTransferAsync")] |
| HRESULT SendControlInTransferAsync( |
| [in] Windows.Devices.Usb.UsbSetupPacket *packet, |
| [in] Windows.Storage.Streams.IBuffer *buffer, |
| [out, retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IBuffer *> **operation |
| ); |
| [overload("SendControlInTransferAsync")] |
| HRESULT SendControlInTransferAsyncNoBuffer( |
| [in] Windows.Devices.Usb.UsbSetupPacket *packet, |
| [out, retval] Windows.Foundation.IAsyncOperation<Windows.Storage.Streams.IBuffer *> **operation |
| ); |
| [propget] HRESULT DefaultInterface([out, retval] Windows.Devices.Usb.UsbInterface **value); |
| [propget] HRESULT DeviceDescriptor([out, retval] Windows.Devices.Usb.UsbDeviceDescriptor **value); |
| [propget] HRESULT Configuration([out, retval] Windows.Devices.Usb.UsbConfiguration **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbDeviceClass), |
| uuid(051942f9-845e-47eb-b12a-38f2f617afe7) |
| ] |
| interface IUsbDeviceClass : IInspectable |
| { |
| [propget] HRESULT ClassCode([out, retval] BYTE *value); |
| [propput] HRESULT ClassCode([in] BYTE value); |
| [propget] HRESULT SubclassCode([out, retval] Windows.Foundation.IReference<BYTE> **value); |
| [propput] HRESULT SubclassCode([in] Windows.Foundation.IReference<BYTE> *value); |
| [propget] HRESULT ProtocolCode([out, retval] Windows.Foundation.IReference<BYTE> **value); |
| [propput] HRESULT ProtocolCode([in] Windows.Foundation.IReference<BYTE> *value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbDeviceDescriptor), |
| uuid(1f48d1f6-ba97-4322-b92c-b5b189216588) |
| ] |
| interface IUsbDeviceDescriptor : IInspectable |
| { |
| [propget] HRESULT BcdUsb([out, retval] UINT32 *value); |
| [propget] HRESULT MaxPacketSize0([out, retval] BYTE *value); |
| [propget] HRESULT VendorId([out, retval] UINT32 *value); |
| [propget] HRESULT ProductId([out, retval] UINT32 *value); |
| [propget] HRESULT BcdDeviceRevision([out, retval] UINT32 *value); |
| [propget] HRESULT NumberOfConfigurations([out, retval] BYTE *value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbDevice), |
| uuid(066b85a2-09b7-4446-8502-6fe6dcaa7309) |
| ] |
| interface IUsbDeviceStatics : IInspectable |
| { |
| [overload("GetDeviceSelector")] |
| HRESULT GetDeviceSelector([in] UINT32 vendor, [in] UINT32 product, [in] GUID class, [out, retval] HSTRING *value); |
| [overload("GetDeviceSelector")] |
| HRESULT GetDeviceSelectorGuidOnly([in] GUID class, [out, retval] HSTRING *value); |
| [overload("GetDeviceSelector")] |
| HRESULT GetDeviceSelectorVidPidOnly([in] UINT32 vendor, [in] UINT32 product, [out, retval] HSTRING *value); |
| HRESULT GetDeviceClassSelector([in] Windows.Devices.Usb.UsbDeviceClass *class, [out, retval] HSTRING *value); |
| HRESULT FromIdAsync([in] HSTRING id, [out, retval] Windows.Foundation.IAsyncOperation<Windows.Devices.Usb.UsbDevice *> **operation); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbInterface), |
| uuid(a0322b95-7f47-48ab-a727-678c25be2112) |
| ] |
| interface IUsbInterface : IInspectable |
| { |
| [propget] HRESULT BulkInPipes([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbBulkInPipe *> **value); |
| [propget] HRESULT InterruptInPipes([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterruptInPipe *> **value); |
| [propget] HRESULT BulkOutPipes([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbBulkOutPipe *> **value); |
| [propget] HRESULT InterruptOutPipes([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterruptOutPipe *> **value); |
| [propget] HRESULT InterfaceSettings([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterfaceSetting *> **value); |
| [propget] HRESULT InterfaceNumber([out, retval] BYTE *value); |
| [propget] HRESULT Descriptors([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbDescriptor *> **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbInterfaceDescriptor), |
| uuid(199670c7-b7ee-4f90-8cd5-94a2e257598a) |
| ] |
| interface IUsbInterfaceDescriptor : IInspectable |
| { |
| [propget] HRESULT ClassCode([out, retval] BYTE *value); |
| [propget] HRESULT SubclassCode([out, retval] BYTE *value); |
| [propget] HRESULT ProtocolCode([out, retval] BYTE *value); |
| [propget] HRESULT AlternateSettingNumber([out, retval] BYTE *value); |
| [propget] HRESULT InterfaceNumber([out, retval] BYTE *value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbInterfaceDescriptor), |
| uuid(e34a9ff5-77d6-48b6-b0be-16c6422316fe) |
| ] |
| interface IUsbInterfaceDescriptorStatics : IInspectable |
| { |
| HRESULT TryParse([in] Windows.Devices.Usb.UsbDescriptor *descriptor, [out] Windows.Devices.Usb.UsbInterfaceDescriptor **parsed, [out, retval] boolean *success); |
| HRESULT Parse([in] Windows.Devices.Usb.UsbDescriptor *descriptor, [out, retval] Windows.Devices.Usb.UsbInterfaceDescriptor **parsed); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbInterfaceSetting), |
| uuid(1827bba7-8da7-4af7-8f4c-7f3032e781f5) |
| ] |
| interface IUsbInterfaceSetting : IInspectable |
| { |
| [propget] HRESULT BulkInEndpoints([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbBulkInEndpointDescriptor *> **value); |
| [propget] HRESULT InterruptInEndpoints([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterruptInEndpointDescriptor *> **value); |
| [propget] HRESULT BulkOutEndpoints([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbBulkOutEndpointDescriptor *> **value); |
| [propget] HRESULT InterruptOutEndpoints([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbInterruptOutEndpointDescriptor *> **value); |
| [propget] HRESULT Selected([out, retval] boolean *value); |
| HRESULT SelectSettingAsync([out, retval] Windows.Foundation.IAsyncAction **operation); |
| [propget] HRESULT InterfaceDescriptor([out, retval] Windows.Devices.Usb.UsbInterfaceDescriptor **value); |
| [propget] HRESULT Descriptors([out, retval] Windows.Foundation.Collections.IVectorView<Windows.Devices.Usb.UsbDescriptor *> **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbInterruptInEndpointDescriptor), |
| uuid(c0528967-c911-4c3a-86b2-419c2da89039) |
| ] |
| interface IUsbInterruptInEndpointDescriptor : IInspectable |
| { |
| [propget] HRESULT MaxPacketSize([out, retval] UINT32 *value); |
| [propget] HRESULT EndpointNumber([out, retval] BYTE *value); |
| [propget] HRESULT Interval([out, retval] Windows.Foundation.TimeSpan *value); |
| [propget] HRESULT Pipe([out, retval] Windows.Devices.Usb.UsbInterruptInPipe **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbInterruptInEventArgs), |
| uuid(b7b04092-1418-4936-8209-299cf5605583) |
| ] |
| interface IUsbInterruptInEventArgs : IInspectable |
| { |
| [propget] HRESULT InterruptData([out, retval] Windows.Storage.Streams.IBuffer **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbInterruptInPipe), |
| uuid(fa007116-84d7-48c7-8a3f-4c0b235f2ea6) |
| ] |
| interface IUsbInterruptInPipe : IInspectable |
| { |
| [propget] HRESULT EndpointDescriptor([out, retval] Windows.Devices.Usb.UsbInterruptInEndpointDescriptor **value); |
| HRESULT ClearStallAsync([out, retval] Windows.Foundation.IAsyncAction **operation); |
| [eventadd] HRESULT DataReceived([in] Windows.Foundation.TypedEventHandler<Windows.Devices.Usb.UsbInterruptInPipe *, Windows.Devices.Usb.UsbInterruptInEventArgs *> *handler, [out, retval] EventRegistrationToken *token); |
| [eventremove] HRESULT DataReceived([in] EventRegistrationToken token); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbInterruptOutEndpointDescriptor), |
| uuid(cc9fed81-10ca-4533-952d-9e278341e80f) |
| ] |
| interface IUsbInterruptOutEndpointDescriptor : IInspectable |
| { |
| [propget] HRESULT MaxPacketSize([out, retval] UINT32 *value); |
| [propget] HRESULT EndpointNumber([out, retval] BYTE *value); |
| [propget] HRESULT Interval([out, retval] Windows.Foundation.TimeSpan *value); |
| [propget] HRESULT Pipe([out, retval] Windows.Devices.Usb.UsbInterruptOutPipe **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbInterruptOutPipe), |
| uuid(e984c8a9-aaf9-49d0-b96c-f661ab4a7f95) |
| ] |
| interface IUsbInterruptOutPipe : IInspectable |
| { |
| [propget] HRESULT EndpointDescriptor([out, retval] Windows.Devices.Usb.UsbInterruptOutEndpointDescriptor **value); |
| HRESULT ClearStallAsync([out, retval] Windows.Foundation.IAsyncAction **operation); |
| [propput] HRESULT WriteOptions([in] Windows.Devices.Usb.UsbWriteOptions value); |
| [propget] HRESULT WriteOptions([out, retval] Windows.Devices.Usb.UsbWriteOptions *value); |
| [propget] HRESULT OutputStream([out, retval] Windows.Storage.Streams.IOutputStream **value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| exclusiveto(Windows.Devices.Usb.UsbSetupPacket), |
| uuid(104ba132-c78f-4c51-b654-e49d02f2cb03) |
| ] |
| interface IUsbSetupPacket : IInspectable |
| { |
| [propget] HRESULT RequestType([out, retval] Windows.Devices.Usb.UsbControlRequestType **value); |
| [propput] HRESULT RequestType([in] Windows.Devices.Usb.UsbControlRequestType *value); |
| [propget] HRESULT Request([out, retval] BYTE *value); |
| [propput] HRESULT Request([in] BYTE value); |
| [propget] HRESULT Value([out, retval] UINT32 *value); |
| [propput] HRESULT Value([in] UINT32 value); |
| [propget] HRESULT Index([out, retval] UINT32 *value); |
| [propput] HRESULT Index([in] UINT32 value); |
| [propget] HRESULT Length([out, retval] UINT32 *value); |
| [propput] HRESULT Length([in] UINT32 value); |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbBulkInEndpointDescriptor |
| { |
| [default] interface Windows.Devices.Usb.IUsbBulkInEndpointDescriptor; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbBulkInPipe |
| { |
| [default] interface Windows.Devices.Usb.IUsbBulkInPipe; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbBulkOutEndpointDescriptor |
| { |
| [default] interface Windows.Devices.Usb.IUsbBulkOutEndpointDescriptor; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbBulkOutPipe |
| { |
| [default] interface Windows.Devices.Usb.IUsbBulkOutPipe; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbConfiguration |
| { |
| [default] interface Windows.Devices.Usb.IUsbConfiguration; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile), |
| static(Windows.Devices.Usb.IUsbConfigurationDescriptorStatics, Windows.Foundation.UniversalApiContract, 1.0) |
| ] |
| runtimeclass UsbConfigurationDescriptor |
| { |
| [default] interface Windows.Devices.Usb.IUsbConfigurationDescriptor; |
| } |
| |
| [ |
| activatable(Windows.Foundation.UniversalApiContract, 1.0), |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbControlRequestType |
| { |
| [default] interface Windows.Devices.Usb.IUsbControlRequestType; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbDescriptor |
| { |
| [default] interface Windows.Devices.Usb.IUsbDescriptor; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile), |
| static(Windows.Devices.Usb.IUsbDeviceStatics, Windows.Foundation.UniversalApiContract, 1.0) |
| ] |
| runtimeclass UsbDevice |
| { |
| [default] interface Windows.Devices.Usb.IUsbDevice; |
| interface Windows.Foundation.IClosable; |
| } |
| |
| [ |
| activatable(Windows.Foundation.UniversalApiContract, 1.0), |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbDeviceClass |
| { |
| [default] interface Windows.Devices.Usb.IUsbDeviceClass; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbDeviceDescriptor |
| { |
| [default] interface Windows.Devices.Usb.IUsbDeviceDescriptor; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbInterface |
| { |
| [default] interface Windows.Devices.Usb.IUsbInterface; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile), |
| static(Windows.Devices.Usb.IUsbInterfaceDescriptorStatics, Windows.Foundation.UniversalApiContract, 1.0) |
| ] |
| runtimeclass UsbInterfaceDescriptor |
| { |
| [default] interface Windows.Devices.Usb.IUsbInterfaceDescriptor; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbInterfaceSetting |
| { |
| [default] interface Windows.Devices.Usb.IUsbInterfaceSetting; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbInterruptInEventArgs |
| { |
| [default] interface Windows.Devices.Usb.IUsbInterruptInEventArgs; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbInterruptInEndpointDescriptor |
| { |
| [default] interface Windows.Devices.Usb.IUsbInterruptInEndpointDescriptor; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbInterruptInPipe |
| { |
| [default] interface Windows.Devices.Usb.IUsbInterruptInPipe; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbInterruptOutEndpointDescriptor |
| { |
| [default] interface Windows.Devices.Usb.IUsbInterruptOutEndpointDescriptor; |
| } |
| |
| [ |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbInterruptOutPipe |
| { |
| [default] interface Windows.Devices.Usb.IUsbInterruptOutPipe; |
| } |
| |
| [ |
| /* activatable(Windows.Devices.Usb.IUsbSetupPacketFactory, Windows.Foundation.UniversalApiContract, 1.0), */ |
| activatable(Windows.Foundation.UniversalApiContract, 1.0), |
| contract(Windows.Foundation.UniversalApiContract, 1.0), |
| marshaling_behavior(agile) |
| ] |
| runtimeclass UsbSetupPacket |
| { |
| [default] interface Windows.Devices.Usb.IUsbSetupPacket; |
| } |
| } |