format 4.0
census 2e30db26-66c8-4551-85b9-a537376d8f99 1
namespace Windows.Devices.Custom

delegate Windows.Foundation.AsyncOperationCompletedHandler<System.Boolean> concrete
    py winrt.windows.foundation.AsyncOperationCompletedHandler[Boolean]
    guid c1d3d1a2-ae17-5a5f-b5a2-bdcc8844889a
    signature pinterface({fcdcf02c-e5d8-4478-915a-4d90b74b83a5};b1)
    base Windows.Foundation.AsyncOperationCompletedHandler
    argument System.Boolean
    method -
        method Invoke slot=3 inputs=2 outputs=0 shape=51 reverse=4
            in parameterized type=Windows.Foundation.IAsyncOperation<System.Boolean> name=asyncInfo
            in enum32 type=Windows.Foundation.AsyncStatus name=asyncStatus

delegate Windows.Foundation.AsyncOperationCompletedHandler<System.UInt32> concrete
    py winrt.windows.foundation.AsyncOperationCompletedHandler[UInt32]
    guid 9343b6e7-e3d2-5e4a-ab2d-2bce4919a6a4
    signature pinterface({fcdcf02c-e5d8-4478-915a-4d90b74b83a5};u4)
    base Windows.Foundation.AsyncOperationCompletedHandler
    argument System.UInt32
    method -
        method Invoke slot=3 inputs=2 outputs=0 shape=51 reverse=4
            in parameterized type=Windows.Foundation.IAsyncOperation<System.UInt32> name=asyncInfo
            in enum32 type=Windows.Foundation.AsyncStatus name=asyncStatus

delegate Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Custom.CustomDevice> concrete
    py winrt.windows.foundation.AsyncOperationCompletedHandler[CustomDevice]
    guid 1fdd39b0-e0e5-5c59-b27d-a549b1075ce9
    signature pinterface({fcdcf02c-e5d8-4478-915a-4d90b74b83a5};rc(Windows.Devices.Custom.CustomDevice;{dd30251f-c48b-43bd-bcb1-dec88f15143e}))
    base Windows.Foundation.AsyncOperationCompletedHandler
    argument Windows.Devices.Custom.CustomDevice
    method -
        method Invoke slot=3 inputs=2 outputs=0 shape=51 reverse=4
            in parameterized type=Windows.Foundation.IAsyncOperation<Windows.Devices.Custom.CustomDevice> name=asyncInfo
            in enum32 type=Windows.Foundation.AsyncStatus name=asyncStatus

class Windows.Devices.Custom.CustomDevice python_type
    py CustomDevice
    signature rc(Windows.Devices.Custom.CustomDevice;{dd30251f-c48b-43bd-bcb1-dec88f15143e})
    default Windows.Devices.Custom.ICustomDevice
    requires Windows.Devices.Custom.ICustomDevice
    factory Windows.Devices.Custom.ICustomDeviceStatics
    property input_stream
        get get_InputStream slot=6 inputs=0 outputs=1 declaring=Windows.Devices.Custom.ICustomDevice shape=4
            out interface type=Windows.Storage.Streams.IInputStream return
    property output_stream
        get get_OutputStream slot=7 inputs=0 outputs=1 declaring=Windows.Devices.Custom.ICustomDevice shape=4
            out interface type=Windows.Storage.Streams.IOutputStream return
    method from_id_async static
        method FromIdAsync slot=7 inputs=3 outputs=1 declaring=Windows.Devices.Custom.ICustomDeviceStatics shape=195 static
            in string name=deviceId
            in enum32 type=Windows.Devices.Custom.DeviceAccessMode name=desiredAccess
            in enum32 type=Windows.Devices.Custom.DeviceSharingMode name=sharingMode
            out parameterized type=Windows.Foundation.IAsyncOperation<Windows.Devices.Custom.CustomDevice> return
    method get_device_selector static
        method GetDeviceSelector slot=6 inputs=1 outputs=1 declaring=Windows.Devices.Custom.ICustomDeviceStatics shape=94 static
            in guid name=classGuid
            out string return
    method send_io_control_async
        method SendIOControlAsync slot=8 inputs=3 outputs=1 declaring=Windows.Devices.Custom.ICustomDevice shape=195
            in interface type=Windows.Devices.Custom.IIOControlCode name=ioControlCode
            in interface type=Windows.Storage.Streams.IBuffer name=inputBuffer
            in interface type=Windows.Storage.Streams.IBuffer name=outputBuffer fill_buffer
            out parameterized type=Windows.Foundation.IAsyncOperation<System.UInt32> return
    method try_send_io_control_async
        method TrySendIOControlAsync slot=9 inputs=3 outputs=1 declaring=Windows.Devices.Custom.ICustomDevice shape=195
            in interface type=Windows.Devices.Custom.IIOControlCode name=ioControlCode
            in interface type=Windows.Storage.Streams.IBuffer name=inputBuffer
            in interface type=Windows.Storage.Streams.IBuffer name=outputBuffer fill_buffer
            out parameterized type=Windows.Foundation.IAsyncOperation<System.Boolean> return

enum Windows.Devices.Custom.DeviceAccessMode python_type
    py DeviceAccessMode
    signature enum(Windows.Devices.Custom.DeviceAccessMode;i4)
    constant READ 0
    constant WRITE 1
    constant READ_WRITE 2

enum Windows.Devices.Custom.DeviceSharingMode python_type
    py DeviceSharingMode
    signature enum(Windows.Devices.Custom.DeviceSharingMode;i4)
    constant SHARED 0
    constant EXCLUSIVE 1

interface Windows.Foundation.IAsyncOperation<System.Boolean> concrete awaitable
    py winrt.windows.foundation._IAsyncOperation[Boolean]
    guid cdb5efb3-5788-509d-9be1-71ccb8a3362a
    signature pinterface({9fc2b0bb-e446-44e2-aa61-9cab8f636af2};b1)
    base Windows.Foundation.IAsyncOperation
    requires Windows.Foundation.IAsyncInfo
    argument System.Boolean
    property completed
        get get_Completed slot=7 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncOperation<System.Boolean> shape=4 reverse=43 role=completed
            out delegate type=Windows.Foundation.AsyncOperationCompletedHandler<System.Boolean> return
        put put_Completed slot=6 inputs=1 outputs=0 declaring=Windows.Foundation.IAsyncOperation<System.Boolean> shape=4 reverse=22
            in delegate type=Windows.Foundation.AsyncOperationCompletedHandler<System.Boolean> name=handler
    property error_code
        get get_ErrorCode slot=8 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncInfo shape=4 reverse=62
            out hresult type=Windows.Foundation.HResult return
    property id
        get get_Id slot=6 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncInfo shape=4 reverse=22
            out uint32 return
    property status
        get get_Status slot=7 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncInfo shape=4 reverse=43 role=status
            out enum32 type=Windows.Foundation.AsyncStatus return
    method cancel
        method Cancel slot=9 inputs=0 outputs=0 declaring=Windows.Foundation.IAsyncInfo shape=0 reverse=93
    method close
        method Close slot=10 inputs=0 outputs=0 declaring=Windows.Foundation.IAsyncInfo shape=0 reverse=117
    method get_results
        method GetResults slot=8 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncOperation<System.Boolean> shape=4 reverse=62 role=get_results
            out boolean return

interface Windows.Foundation.IAsyncOperation<System.UInt32> concrete awaitable
    py winrt.windows.foundation._IAsyncOperation[UInt32]
    guid ef60385f-be78-584b-aaef-7829ada2b0de
    signature pinterface({9fc2b0bb-e446-44e2-aa61-9cab8f636af2};u4)
    base Windows.Foundation.IAsyncOperation
    requires Windows.Foundation.IAsyncInfo
    argument System.UInt32
    property completed
        get get_Completed slot=7 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncOperation<System.UInt32> shape=4 reverse=43 role=completed
            out delegate type=Windows.Foundation.AsyncOperationCompletedHandler<System.UInt32> return
        put put_Completed slot=6 inputs=1 outputs=0 declaring=Windows.Foundation.IAsyncOperation<System.UInt32> shape=4 reverse=22
            in delegate type=Windows.Foundation.AsyncOperationCompletedHandler<System.UInt32> name=handler
    property error_code
        get get_ErrorCode slot=8 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncInfo shape=4 reverse=62
            out hresult type=Windows.Foundation.HResult return
    property id
        get get_Id slot=6 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncInfo shape=4 reverse=22
            out uint32 return
    property status
        get get_Status slot=7 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncInfo shape=4 reverse=43 role=status
            out enum32 type=Windows.Foundation.AsyncStatus return
    method cancel
        method Cancel slot=9 inputs=0 outputs=0 declaring=Windows.Foundation.IAsyncInfo shape=0 reverse=93
    method close
        method Close slot=10 inputs=0 outputs=0 declaring=Windows.Foundation.IAsyncInfo shape=0 reverse=117
    method get_results
        method GetResults slot=8 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncOperation<System.UInt32> shape=4 reverse=62 role=get_results
            out uint32 return

interface Windows.Foundation.IAsyncOperation<Windows.Devices.Custom.CustomDevice> concrete awaitable
    py winrt.windows.foundation._IAsyncOperation[CustomDevice]
    guid 2a6344aa-0568-548e-a1a2-b6bb451d228c
    signature pinterface({9fc2b0bb-e446-44e2-aa61-9cab8f636af2};rc(Windows.Devices.Custom.CustomDevice;{dd30251f-c48b-43bd-bcb1-dec88f15143e}))
    base Windows.Foundation.IAsyncOperation
    requires Windows.Foundation.IAsyncInfo
    argument Windows.Devices.Custom.CustomDevice
    property completed
        get get_Completed slot=7 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncOperation<Windows.Devices.Custom.CustomDevice> shape=4 reverse=43 role=completed
            out delegate type=Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Custom.CustomDevice> return
        put put_Completed slot=6 inputs=1 outputs=0 declaring=Windows.Foundation.IAsyncOperation<Windows.Devices.Custom.CustomDevice> shape=4 reverse=22
            in delegate type=Windows.Foundation.AsyncOperationCompletedHandler<Windows.Devices.Custom.CustomDevice> name=handler
    property error_code
        get get_ErrorCode slot=8 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncInfo shape=4 reverse=62
            out hresult type=Windows.Foundation.HResult return
    property id
        get get_Id slot=6 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncInfo shape=4 reverse=22
            out uint32 return
    property status
        get get_Status slot=7 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncInfo shape=4 reverse=43 role=status
            out enum32 type=Windows.Foundation.AsyncStatus return
    method cancel
        method Cancel slot=9 inputs=0 outputs=0 declaring=Windows.Foundation.IAsyncInfo shape=0 reverse=93
    method close
        method Close slot=10 inputs=0 outputs=0 declaring=Windows.Foundation.IAsyncInfo shape=0 reverse=117
    method get_results
        method GetResults slot=8 inputs=0 outputs=1 declaring=Windows.Foundation.IAsyncOperation<Windows.Devices.Custom.CustomDevice> shape=4 reverse=62 role=get_results
            out class type=Windows.Devices.Custom.CustomDevice return

interface Windows.Devices.Custom.ICustomDevice
    guid dd30251f-c48b-43bd-bcb1-dec88f15143e

interface Windows.Devices.Custom.ICustomDeviceStatics
    guid c8220312-ef4c-46b1-a58e-eeb308dc8917

interface Windows.Devices.Custom.IIOControlCode python_type
    py _IIOControlCode
    guid 0e9559e7-60c8-4375-a761-7f8808066c60
    signature {0e9559e7-60c8-4375-a761-7f8808066c60}
    property access_mode
        get get_AccessMode slot=6 inputs=0 outputs=1 declaring=Windows.Devices.Custom.IIOControlCode shape=4 reverse=22
            out enum32 type=Windows.Devices.Custom.IOControlAccessMode return
    property buffering_method
        get get_BufferingMethod slot=7 inputs=0 outputs=1 declaring=Windows.Devices.Custom.IIOControlCode shape=4 reverse=43
            out enum32 type=Windows.Devices.Custom.IOControlBufferingMethod return
    property control_code
        get get_ControlCode slot=10 inputs=0 outputs=1 declaring=Windows.Devices.Custom.IIOControlCode shape=4 reverse=121
            out uint32 return
    property device_type
        get get_DeviceType slot=9 inputs=0 outputs=1 declaring=Windows.Devices.Custom.IIOControlCode shape=4 reverse=99
            out uint16 return
    property function
        get get_Function slot=8 inputs=0 outputs=1 declaring=Windows.Devices.Custom.IIOControlCode shape=4 reverse=62
            out uint16 return

interface Windows.Devices.Custom.IIOControlCodeFactory
    guid 856a7cf0-4c11-44ae-afc6-b8d4a212788f

interface Windows.Devices.Custom.IKnownDeviceTypesStatics
    guid ee5479c2-5448-45da-ad1b-24948c239094

enum Windows.Devices.Custom.IOControlAccessMode python_type
    py IOControlAccessMode
    signature enum(Windows.Devices.Custom.IOControlAccessMode;i4)
    constant ANY 0
    constant READ 1
    constant WRITE 2
    constant READ_WRITE 3

enum Windows.Devices.Custom.IOControlBufferingMethod python_type
    py IOControlBufferingMethod
    signature enum(Windows.Devices.Custom.IOControlBufferingMethod;i4)
    constant BUFFERED 0
    constant DIRECT_INPUT 1
    constant DIRECT_OUTPUT 2
    constant NEITHER 3

class Windows.Devices.Custom.IOControlCode python_type
    py IOControlCode
    signature rc(Windows.Devices.Custom.IOControlCode;{0e9559e7-60c8-4375-a761-7f8808066c60})
    default Windows.Devices.Custom.IIOControlCode
    requires Windows.Devices.Custom.IIOControlCode
    factory Windows.Devices.Custom.IIOControlCodeFactory
    constructor -
        ctor .ctor slot=6 inputs=4 outputs=1 declaring=Windows.Devices.Custom.IIOControlCodeFactory shape=239
            in uint16 name=deviceType
            in uint16 name=function
            in enum32 type=Windows.Devices.Custom.IOControlAccessMode name=accessMode
            in enum32 type=Windows.Devices.Custom.IOControlBufferingMethod name=bufferingMethod
            out class type=Windows.Devices.Custom.IOControlCode return
    property access_mode
        get get_AccessMode slot=6 inputs=0 outputs=1 declaring=Windows.Devices.Custom.IIOControlCode shape=4 reverse=22
            out enum32 type=Windows.Devices.Custom.IOControlAccessMode return
    property buffering_method
        get get_BufferingMethod slot=7 inputs=0 outputs=1 declaring=Windows.Devices.Custom.IIOControlCode shape=4 reverse=43
            out enum32 type=Windows.Devices.Custom.IOControlBufferingMethod return
    property control_code
        get get_ControlCode slot=10 inputs=0 outputs=1 declaring=Windows.Devices.Custom.IIOControlCode shape=4 reverse=121
            out uint32 return
    property device_type
        get get_DeviceType slot=9 inputs=0 outputs=1 declaring=Windows.Devices.Custom.IIOControlCode shape=4 reverse=99
            out uint16 return
    property function
        get get_Function slot=8 inputs=0 outputs=1 declaring=Windows.Devices.Custom.IIOControlCode shape=4 reverse=62
            out uint16 return

class Windows.Devices.Custom.KnownDeviceTypes static python_type
    py KnownDeviceTypes
    factory Windows.Devices.Custom.IKnownDeviceTypesStatics
    property unknown static
        get get_Unknown slot=6 inputs=0 outputs=1 declaring=Windows.Devices.Custom.IKnownDeviceTypesStatics shape=4 static
            out uint16 return

class System.Boolean external
    py winrt.system.Boolean

class System.UInt32 external
    py winrt.system.UInt32

delegate Windows.Foundation.AsyncOperationCompletedHandler external parameterized
    py winrt.windows.foundation.AsyncOperationCompletedHandler
    guid fcdcf02c-e5d8-4478-915a-4d90b74b83a5

enum Windows.Foundation.AsyncStatus external
    py winrt.windows.foundation.AsyncStatus

struct Windows.Foundation.HResult external
    py winrt.windows.foundation.HResult

interface Windows.Foundation.IAsyncInfo external
    py winrt.windows.foundation._IAsyncInfo
    guid 00000036-0000-0000-c000-000000000046

interface Windows.Foundation.IAsyncOperation external parameterized
    py winrt.windows.foundation._IAsyncOperation
    guid 9fc2b0bb-e446-44e2-aa61-9cab8f636af2

interface Windows.Storage.Streams.IBuffer external
    py winrt.windows.storage.streams._IBuffer
    guid 905a0fe0-bc53-11df-8c49-001e4fc686da

interface Windows.Storage.Streams.IInputStream external
    py winrt.windows.storage.streams._IInputStream
    guid 905a0fe2-bc53-11df-8c49-001e4fc686da

interface Windows.Storage.Streams.IOutputStream external
    py winrt.windows.storage.streams._IOutputStream
    guid 905a0fe6-bc53-11df-8c49-001e4fc686da
