| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/winrt/ |
Upload File : |
//
// 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.I2c.Provider.idl";
// Forward Declare
namespace Windows
{
namespace Devices
{
apicontract DevicesLowLevelContract;
}
}
namespace Windows
{
namespace Devices
{
namespace I2c
{
namespace Provider
{
interface II2cProvider;
}
}
}
}
namespace Windows
{
namespace Foundation
{
interface IClosable;
}
}
namespace Windows
{
namespace Devices
{
namespace I2c
{
typedef enum I2cBusSpeed I2cBusSpeed;
typedef enum I2cSharingMode I2cSharingMode;
typedef enum I2cTransferStatus I2cTransferStatus;
typedef struct I2cTransferResult I2cTransferResult;
interface II2cConnectionSettings;
interface II2cConnectionSettingsFactory;
interface II2cController;
interface II2cControllerStatics;
interface II2cDevice;
interface II2cDeviceStatics;
runtimeclass I2cConnectionSettings;
runtimeclass I2cController;
runtimeclass I2cDevice;
}
}
}
// Generic instantiations
namespace Windows
{
namespace Devices
{
namespace I2c
{
declare
{
interface Windows.Foundation.Collections.IIterable<Windows.Devices.I2c.I2cController*>;
interface Windows.Foundation.Collections.IIterator<Windows.Devices.I2c.I2cController*>;
interface Windows.Foundation.Collections.IVectorView<Windows.Devices.I2c.I2cController*>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.I2c.I2cController*>;
interface Windows.Foundation.IAsyncOperation<Windows.Devices.I2c.I2cDevice*>;
interface Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Devices.I2c.I2cController*>*>;
}
}
}
}
// Type definition
namespace Windows
{
namespace Devices
{
namespace I2c
{
[contract(Windows.Devices.DevicesLowLevelContract, 1.0)]
enum I2cBusSpeed
{
StandardMode = 0,
FastMode = 1
};
[contract(Windows.Devices.DevicesLowLevelContract, 1.0)]
enum I2cSharingMode
{
Exclusive = 0,
Shared = 1
};
[contract(Windows.Devices.DevicesLowLevelContract, 1.0)]
enum I2cTransferStatus
{
FullTransfer = 0,
PartialTransfer = 1,
SlaveAddressNotAcknowledged = 2,
ClockStretchTimeout = 3,
UnknownError = 4
};
[contract(Windows.Devices.DevicesLowLevelContract, 1.0)]
struct I2cTransferResult
{
Windows.Devices.I2c.I2cTransferStatus Status;
UINT32 BytesTransferred;
};
[contract(Windows.Devices.DevicesLowLevelContract, 1.0)]
[exclusiveto(Windows.Devices.I2c.I2cConnectionSettings)]
[uuid(F2DB1307-AB6F-4639-A767-54536DC3460F)]
interface II2cConnectionSettings : IInspectable
{
[propget] HRESULT SlaveAddress([out] [retval] INT32* value);
[propput] HRESULT SlaveAddress([in] INT32 value);
[propget] HRESULT BusSpeed([out] [retval] Windows.Devices.I2c.I2cBusSpeed* value);
[propput] HRESULT BusSpeed([in] Windows.Devices.I2c.I2cBusSpeed value);
[propget] HRESULT SharingMode([out] [retval] Windows.Devices.I2c.I2cSharingMode* value);
[propput] HRESULT SharingMode([in] Windows.Devices.I2c.I2cSharingMode value);
}
[contract(Windows.Devices.DevicesLowLevelContract, 1.0)]
[exclusiveto(Windows.Devices.I2c.I2cConnectionSettings)]
[uuid(81B586B3-9693-41B1-A243-DED4F6E66926)]
interface II2cConnectionSettingsFactory : IInspectable
{
HRESULT Create([in] INT32 slaveAddress, [out] [retval] Windows.Devices.I2c.I2cConnectionSettings** value);
}
[contract(Windows.Devices.DevicesLowLevelContract, 2.0)]
[exclusiveto(Windows.Devices.I2c.I2cController)]
[uuid(C48AB1B2-87A0-4166-8E3E-B4B8F97CD729)]
interface II2cController : IInspectable
{
HRESULT GetDevice([in] Windows.Devices.I2c.I2cConnectionSettings* settings, [out] [retval] Windows.Devices.I2c.I2cDevice** device);
}
[contract(Windows.Devices.DevicesLowLevelContract, 2.0)]
[exclusiveto(Windows.Devices.I2c.I2cController)]
[uuid(40FC0365-5F05-4E7E-84BD-100DB8E0AEC5)]
interface II2cControllerStatics : IInspectable
{
HRESULT GetControllersAsync([in] Windows.Devices.I2c.Provider.II2cProvider* provider, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Foundation.Collections.IVectorView<Windows.Devices.I2c.I2cController*>*>** operation);
HRESULT GetDefaultAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.I2c.I2cController*>** operation);
}
[contract(Windows.Devices.DevicesLowLevelContract, 1.0)]
[exclusiveto(Windows.Devices.I2c.I2cDevice)]
[uuid(8636C136-B9C5-4F70-9449-CC46DC6F57EB)]
interface II2cDevice : IInspectable
requires
Windows.Foundation.IClosable
{
[propget] HRESULT DeviceId([out] [retval] HSTRING* value);
[propget] HRESULT ConnectionSettings([out] [retval] Windows.Devices.I2c.I2cConnectionSettings** value);
HRESULT Write([in] UINT32 __bufferSize, [in] [size_is(__bufferSize)] BYTE* buffer);
HRESULT WritePartial([in] UINT32 __bufferSize, [in] [size_is(__bufferSize)] BYTE* buffer, [out] [retval] Windows.Devices.I2c.I2cTransferResult* result);
HRESULT Read([range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __bufferSize, [out] [size_is(__bufferSize)] BYTE* buffer);
HRESULT ReadPartial([range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __bufferSize, [out] [size_is(__bufferSize)] BYTE* buffer, [out] [retval] Windows.Devices.I2c.I2cTransferResult* result);
HRESULT WriteRead([in] UINT32 __writeBufferSize, [in] [size_is(__writeBufferSize)] BYTE* writeBuffer, [range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __readBufferSize, [out] [size_is(__readBufferSize)] BYTE* readBuffer);
HRESULT WriteReadPartial([in] UINT32 __writeBufferSize, [in] [size_is(__writeBufferSize)] BYTE* writeBuffer, [range(0x00000000, 0x7FFFFFFF)] [in] UINT32 __readBufferSize, [out] [size_is(__readBufferSize)] BYTE* readBuffer, [out] [retval] Windows.Devices.I2c.I2cTransferResult* result);
}
[contract(Windows.Devices.DevicesLowLevelContract, 1.0)]
[uuid(91A33BE3-7334-4512-96BC-FBAE9459F5F6)]
interface II2cDeviceStatics : IInspectable
{
[overload("GetDeviceSelector")] HRESULT GetDeviceSelector([out] [retval] HSTRING* value);
[overload("GetDeviceSelector")] HRESULT GetDeviceSelectorFromFriendlyName([in] HSTRING friendlyName, [out] [retval] HSTRING* value);
HRESULT FromIdAsync([in] HSTRING deviceId, [in] Windows.Devices.I2c.I2cConnectionSettings* settings, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.Devices.I2c.I2cDevice*>** operation);
}
[activatable(Windows.Devices.I2c.II2cConnectionSettingsFactory, Windows.Devices.DevicesLowLevelContract, 1.0)]
[contract(Windows.Devices.DevicesLowLevelContract, 1.0)]
[marshaling_behavior(agile)]
runtimeclass I2cConnectionSettings
{
[default] interface Windows.Devices.I2c.II2cConnectionSettings;
}
[contract(Windows.Devices.DevicesLowLevelContract, 2.0)]
[marshaling_behavior(agile)]
[static(Windows.Devices.I2c.II2cControllerStatics, Windows.Devices.DevicesLowLevelContract, 2.0)]
runtimeclass I2cController
{
[default] interface Windows.Devices.I2c.II2cController;
}
[contract(Windows.Devices.DevicesLowLevelContract, 1.0)]
[marshaling_behavior(agile)]
[static(Windows.Devices.I2c.II2cDeviceStatics, Windows.Devices.DevicesLowLevelContract, 1.0)]
runtimeclass I2cDevice
{
[default] interface Windows.Devices.I2c.II2cDevice;
interface Windows.Foundation.IClosable;
}
}
}
}