| /* | |
| * 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; | |
| } | |
| } |