// // Copyright (c) Microsoft Corporation. All rights reserved. // // // File generated by WinMDIDL version 8.00.0021 // import "inspectable.idl"; import "AsyncInfo.idl"; import "EventToken.idl"; import "windowscontracts.idl"; import "Windows.Foundation.idl"; import "Windows.Devices.idl"; import "Windows.Devices.Pwm.Provider.idl"; // Forward Declare namespace Windows { namespace Devices { apicontract DevicesLowLevelContract; } } namespace Windows { namespace Devices { namespace Pwm { namespace Provider { interface IPwmProvider; } } } } namespace Windows { namespace Foundation { interface IClosable; } } namespace Windows { namespace Devices { namespace Pwm { typedef enum PwmPulsePolarity PwmPulsePolarity; interface IPwmController; interface IPwmControllerStatics; interface IPwmControllerStatics2; interface IPwmControllerStatics3; interface IPwmPin; runtimeclass PwmController; runtimeclass PwmPin; } } } // Generic instantiations namespace Windows { namespace Devices { namespace Pwm { declare { interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.IAsyncOperation*>; } } } } // Type definition namespace Windows { namespace Devices { namespace Pwm { [contract(Windows.Devices.DevicesLowLevelContract, 1.0)] enum PwmPulsePolarity { ActiveHigh = 0, ActiveLow = 1 }; [contract(Windows.Devices.DevicesLowLevelContract, 1.0)] [exclusiveto(Windows.Devices.Pwm.PwmController)] [uuid(C45F5C85-D2E8-42CF-9BD6-CF5ED029E6A7)] interface IPwmController : IInspectable { [propget] HRESULT PinCount([out] [retval] INT32* value); [propget] HRESULT ActualFrequency([out] [retval] DOUBLE* value); HRESULT SetDesiredFrequency([in] DOUBLE desiredFrequency, [out] [retval] DOUBLE* result); [propget] HRESULT MinFrequency([out] [retval] DOUBLE* value); [propget] HRESULT MaxFrequency([out] [retval] DOUBLE* value); HRESULT OpenPin([in] INT32 pinNumber, [out] [retval] Windows.Devices.Pwm.PwmPin** pin); } [contract(Windows.Devices.DevicesLowLevelContract, 1.0)] [exclusiveto(Windows.Devices.Pwm.PwmController)] [uuid(4263BDA1-8946-4404-BD48-81DD124AF4D9)] interface IPwmControllerStatics : IInspectable { HRESULT GetControllersAsync([in] Windows.Devices.Pwm.Provider.IPwmProvider* provider, [out] [retval] Windows.Foundation.IAsyncOperation*>** operation); } [contract(Windows.Devices.DevicesLowLevelContract, 2.0)] [exclusiveto(Windows.Devices.Pwm.PwmController)] [uuid(44FC5B1F-F119-4BDD-97AD-F76EF986736D)] interface IPwmControllerStatics2 : IInspectable { HRESULT GetDefaultAsync([out] [retval] Windows.Foundation.IAsyncOperation** operation); } [contract(Windows.Devices.DevicesLowLevelContract, 3.0)] [exclusiveto(Windows.Devices.Pwm.PwmController)] [uuid(B2581871-0229-4344-AE3F-9B7CD0E66B94)] interface IPwmControllerStatics3 : IInspectable { [overload("GetDeviceSelector")] HRESULT GetDeviceSelector([out] [retval] HSTRING* result); [overload("GetDeviceSelector")] HRESULT GetDeviceSelectorFromFriendlyName([in] HSTRING friendlyName, [out] [retval] HSTRING* result); HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation** operation); } [contract(Windows.Devices.DevicesLowLevelContract, 1.0)] [exclusiveto(Windows.Devices.Pwm.PwmPin)] [uuid(22972DC8-C6CF-4821-B7F9-C6454FB6AF79)] interface IPwmPin : IInspectable requires Windows.Foundation.IClosable { [propget] HRESULT Controller([out] [retval] Windows.Devices.Pwm.PwmController** value); HRESULT GetActiveDutyCyclePercentage([out] [retval] DOUBLE* result); HRESULT SetActiveDutyCyclePercentage([in] DOUBLE dutyCyclePercentage); [propget] HRESULT Polarity([out] [retval] Windows.Devices.Pwm.PwmPulsePolarity* value); [propput] HRESULT Polarity([in] Windows.Devices.Pwm.PwmPulsePolarity value); HRESULT Start(); HRESULT Stop(); [propget] HRESULT IsStarted([out] [retval] boolean* value); } [contract(Windows.Devices.DevicesLowLevelContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Devices.Pwm.IPwmControllerStatics, Windows.Devices.DevicesLowLevelContract, 1.0)] [static(Windows.Devices.Pwm.IPwmControllerStatics2, Windows.Devices.DevicesLowLevelContract, 2.0)] [static(Windows.Devices.Pwm.IPwmControllerStatics3, Windows.Devices.DevicesLowLevelContract, 3.0)] runtimeclass PwmController { [default] interface Windows.Devices.Pwm.IPwmController; } [contract(Windows.Devices.DevicesLowLevelContract, 1.0)] [marshaling_behavior(agile)] runtimeclass PwmPin { [default] interface Windows.Devices.Pwm.IPwmPin; interface Windows.Foundation.IClosable; } } } }