initial commit

Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
Sean Cross 2020-03-05 21:51:50 +08:00
commit 52fa59d4ac
220 changed files with 2788 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/target

37
Cargo.lock generated Normal file
View File

@ -0,0 +1,37 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "ftdi-prog"
version = "0.1.0"
dependencies = [
"ftdi-vcp-sys",
]
[[package]]
name = "ftdi-vcp-sys"
version = "0.1.0"
dependencies = [
"winapi",
]
[[package]]
name = "winapi"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"

12
Cargo.toml Normal file
View File

@ -0,0 +1,12 @@
[package]
name = "ftdi-prog"
version = "0.1.0"
authors = ["Sean Cross <sean@xobs.io>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
ftdi-vcp-sys = { path = "ftdi-vcp-sys" }
[build-dependencies]
# cc = { version = "1.0", features = ["parallel"] }

30
ftdi-vcp-sys/Cargo.lock generated Normal file
View File

@ -0,0 +1,30 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "ftdi-vcp-sys"
version = "0.1.0"
dependencies = [
"winapi",
]
[[package]]
name = "winapi"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"

10
ftdi-vcp-sys/Cargo.toml Normal file
View File

@ -0,0 +1,10 @@
[package]
name = "ftdi-vcp-sys"
version = "0.1.0"
authors = ["Sean Cross <sean@xobs.io>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
winapi = { version = "0.3", features = ["minwindef", "ntdef"] }

10
ftdi-vcp-sys/build.rs Normal file
View File

@ -0,0 +1,10 @@
fn main() {
let vcp_dir = "lib/vcp-2.12.28/amd64";
println!("cargo:rustc-link-search=native={}", vcp_dir);
// println!("cargo:rustc-link-lib=static={}/ftd2xx", vcp_dir);
// cc::Build::new()
// .file("foo.c")
// .file("bar.c")
// .compile("foo");
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,502 @@
; FTDIBUS.INF
;
; Copyright © 2000-2017 Future Technology Devices International Limited
;
; USB serial converter driver installation file for Windows 7, Windows 8, Windows 8.1, Windows 10,
; Server 2008 R2, Server 2012 R2 and Server 2016.
;
;
; IMPORTANT NOTICE: PLEASE READ CAREFULLY BEFORE INSTALLING THE RELEVANT
; SOFTWARE: This licence agreement (Licence) is a legal agreement between you (Licensee or
; you) and Future Technology Devices International Limited of 2 Seaward Place, Centurion Business
; Park, Glasgow G41 1HH, Scotland (UK Company Number SC136640) (Licensor or we) for use of
; driver software provided by the Licensor(Software).
;
; BY INSTALLING OR USING THIS SOFTWARE YOU AGREE TO THE TERMS OF THIS LICENCE
; WHICH WILL BIND YOU. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, WE ARE
; UNWILLING TO LICENSE THE SOFTWARE TO YOU AND YOU MUST DISCONTINUE
; INSTALLATION OF THE SOFTWARE NOW.
;
; 1. GRANT AND SCOPE OF LICENCE
;
; 1.1 In consideration of you agreeing to abide by the terms of this Licence, the Licensor hereby
; grants to you a non-exclusive, non-transferable, royalty free licence to use the Software on
; the terms of this Licence.
;
; 1.2 In this Licence a "Genuine FTDI Component" means an item of hardware that was
; manufactured for, and sold by, the Licensor or a member of the Licensor's group of
; companies. It does not include any counterfeit or fake products.
;
; 1.3 If you are a manufacturer of a device that includes a Genuine FTDI Component (each a
; "Device") then you may install the Software onto that device. If you are a seller or distributor
; of a Device then you may distribute the Software with the Device. If you are a user of a
; Device then you may install the Software on the Device, or onto a computer system in order
; to use the Device.
;
; 1.4 In each of those cases you may:
;
; 1.4.1 install and use the Software for your purposes only; and
;
; 1.4.2 only use the Software in conjunction with products based on and/or incorporating a
; Genuine FTDI Component.
;
; 1.5 The Software will not function properly on or with a component that is not a Genuine FTDI
; Component. Use of the Software as a driver for, or installation of the Software onto, a
; component that is not a Genuine FTDI Component, including without limitation counterfeit
; components, MAY IRRETRIEVABLY DAMAGE THAT COMPONENT. It is the Licensee's
; responsibility to make sure that all chips it installs the Software on, or uses the Software as a
; driver for, are Genuine FTDI Components. If in doubt then contact the Licensor.
;
; 2. If a custom vendor ID and/or product ID or description string are used, it is the responsibility of
; the product manufacturer to maintain any changes and subsequent WHQL re-certification as
; a result of making these changes.
;
; 3. LICENSEE'S UNDERTAKINGS
;
; 3.1 Except as expressly set out in this Licence or as permitted by any local law, you undertake:
;
; 3.1.1 not to copy the Software, except where such copying is incidental to normal use of
; the Software or where it is necessary for the purpose of back-up or operational
; security;
;
; 3.1.2 not to rent, lease, sub-license, loan, translate, merge, adapt, vary or modify the
; Software or any part of it;
;
; 3.1.3 not to make alterations to, or modifications of, the whole or any part of the Software
; nor permit the Software or any part of it to be combined with, or become
; incorporated in, any other programs;
;
; 3.1.4 not to disassemble, de-compile, reverse engineer or create derivative works based
; on the whole or any part of the Software;
;
; 3.1.5 to keep all copies of the Software secure;
;
; 3.1.6 to include the copyright notice of the Licensor on all entire and partial copies of the
; Software in any form; and
;
; 3.1.7 not to provide, or otherwise make available, the Software in any form, in whole or in
; part (including, but not limited to, program listings, object and source program
; listings, object code and source code) to any person.
;
; 4. INTELLECTUAL PROPERTY RIGHTS
;
; 4.1 You acknowledge that all intellectual property rights in the Software throughout the world
; belong to the Licensor, that rights in the Software are licensed (not sold) to you, and that you
; have no rights in, or to, the Software other than the right to use them in accordance with the
; terms of this Licence.
;
; 5. WARRANTY
;
; 5.1 To the maximum extent permitted by applicable law, the software is provided "as is".
;
; 5.2 All implied warranties, implied conditions and/or implied licences are excluded from this
; Licence, including but not limited to implied warranties of quality and/or fitness for purpose (in
; all cases) to the fullest extent permitted by law.
;
; 5.3 You acknowledge that the Software has not been developed to meet your individual
; requirements and that the Software may not be uninterrupted or free of bugs or errors.
;
; 6. LICENSOR'S LIABILITY
;
; 6.1 To the maximum extent permitted by applicable law, in no event shall the Licensor be liable
; for any:
;
; 6.1.1 special loss or damage;
;
; 6.1.2 incidental loss or damage;
;
; 6.1.3 indirect or consequential loss or damage:
;
; 6.1.4 loss of income;
;
; 6.1.5 loss of business;
;
; 6.1.6 loss of profits;
;
; 6.1.7 loss of revenue;
;
; 6.1.8 loss of contracts;
;
; 6.1.9 business interruption;
;
; 6.1.10 loss of the use of money or anticipated savings;
;
; 6.1.11 loss of information;
;
; 6.1.12 loss of opportunity;
;
; 6.1.13 loss of goodwill or reputation; and/or
;
; 6.1.14 loss of, damage to or corruption of data;
;
; (in each case) of any kind howsoever arising and whether caused by delict (including
; negligence), breach of contract or otherwise.
;
; 6.2 FTDI's total liability to you in relation to the Software shall not exceed 500 US Dollars.
;
; 6.3 Nothing in this Licence limits or excludes liability for death or personal injury or for fraud.
;
; 7. TERMINATION
;
; 7.1 The Licensor may terminate this Licence immediately if:
;
; 7.1.1 you fail to comply with any of the terms and conditions of the Licence; or
;
; 7.1.2 you commence or participate in any legal proceedings against the Licensor.
;
; 7.2 Upon termination:
;
; 7.2.1 all rights granted to you under this Licence shall cease;
;
; 7.2.2 you must cease all activities authorised by this Licence; and
;
; 7.2.3 you must immediately delete or remove the Software from all computer equipment
; in your possession and immediately destroy all copies of the Software then in your
; possession, custody or control.
;
; 8. TRANSFER OF RIGHTS AND OBLIGATIONS
;
; 8.1 You may not transfer, assign, charge or otherwise dispose of this Licence, or any of your
; rights or obligations arising under it.
;
; 8.2 The Licensor may transfer, assign, charge, sub-contract or otherwise dispose of this Licence,
; or any of his rights or obligations arising under it, at any time during the term of the Licence.
;
; 9. WAIVER
;
; 9.1 If the Licensor fails, at any time during the term of this Licence, to insist on strict performance
; of any of your obligations under this Licence, or if the Licensor fails to exercise any of the
; rights or remedies to which he is entitled under this Licence, this shall not constitute a waiver
; of such rights or remedies and shall not relieve you from compliance with such obligations.
;
; 9.2 A waiver by the Licensor of any default shall not constitute a waiver of any subsequent
; default.
;
; 9.3 No waiver by the Licensor of any of these terms and conditions shall be effective unless it is
; expressly stated to be a waiver and is communicated to you in writing.
;
; 10. SEVERABILITY
;
; If any of the terms of this Licence are determined by any competent authority to be invalid,
; unlawful or unenforceable to any extent, such term, condition or provision will to that extent be
; severed from the remaining terms, conditions and provisions which will continue to be valid to
; the fullest extent permitted by law.
;
; 11. ENTIRE AGREEMENT
;
; 11.1 This Licence constitutes the whole agreement between us and supersedes any previous
; arrangement, understanding or agreement between us, relating to the licensing of the
; Software.
;
; 11.2 Each party acknowledges that in entering into this Licence it does not rely on any statement,
; representation, warranty or understanding other than those expressly set out in this Licence.
; Each party agrees that it will have no remedy in respect of any statement, representation,
; warranty or understanding that is not expressly set out in this Licence. Each party agrees that
; its only remedy in respect of those representations, statements, assurances and warranties
; that are set out in this Licence will be for breach of contract in accordance with the terms of
; this Licence.
;
; 11.3 The parties agree that nothing in this Licence will limit or exclude any liability they may have
; for fraud.
;
; 12. MISCELLANEOUS
;
; 12.1 This Licence does not create a partnership or joint venture between the parties to it, nor
; authorise a party to act as agent for the other.
;
; 12.2 This Licence does not create any legal rights enforceable by any third party.
;
; 12.3 This Licence may only be varied by express written legal agreement between the parties.
;
; 13. LAW AND JURISDICTION
;
; This Licence, its subject matter or its formation (including non-contractual disputes or claims)
; shall be governed by and construed in accordance with Scots law and submitted to the non-
; exclusive jurisdiction of the Scottish courts.
;
[Version]
Signature="$Windows NT$"
DriverPackageType=PlugAndPlay
DriverPackageDisplayName=%DESC%
Class=USB
ClassGUID={36fc9e60-c465-11cf-8056-444553540000}
Provider=%FTDI%
CatalogFile=ftdibus.cat
DriverVer=08/16/2017,2.12.28
[SourceDisksNames]
1=%DriversDisk%,,,
[SourceDisksFiles]
ftdibus.sys = 1,i386
ftbusui.dll = 1,i386
ftd2xx.dll = 1,i386
FTLang.Dll = 1,i386
[SourceDisksFiles.amd64]
ftdibus.sys = 1,amd64
ftbusui.dll = 1,amd64
ftd2xx64.dll = 1,amd64
ftd2xx.dll = 1,i386
FTLang.Dll = 1,amd64
[DestinationDirs]
FtdiBus.NT.Copy = 10,system32\drivers
FtdiBus.NT.Copy2 = 10,system32
FtdiBus.NTamd64.Copy = 10,system32\drivers
FtdiBus.NTamd64.Copy2 = 10,system32
FtdiBus.NTamd64.Copy3 = 10,syswow64
[Manufacturer]
%Ftdi%=FtdiHw,NTamd64
[FtdiHw]
%USB\VID_0403&PID_6001.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6001
%USB\VID_0403&PID_6010&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6010&MI_00
%USB\VID_0403&PID_6010&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6010&MI_01
%USB\VID_0403&PID_6011&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6011&MI_00
%USB\VID_0403&PID_6011&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6011&MI_01
%USB\VID_0403&PID_6011&MI_02.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6011&MI_02
%USB\VID_0403&PID_6011&MI_03.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6011&MI_03
%USB\VID_0403&PID_6014.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6014
%USB\VID_0403&PID_6015.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6015
%USB\VID_0403&PID_601B&REV_1400.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_601B&REV_1400
%USB\VID_0403&PID_601B&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_601B&MI_00
%USB\VID_0403&PID_601B&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_601B&MI_01
%USB\VID_0403&PID_601B&MI_02.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_601B&MI_02
%USB\VID_0403&PID_601B&MI_03.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_601B&MI_03
%USB\VID_0403&PID_601C&REV_1700.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_601C&REV_1700
%USB\VID_0403&PID_601C&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_601C&MI_00
%USB\VID_0403&PID_601C&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_601C&MI_01
%USB\VID_0403&PID_601C&MI_02.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_601C&MI_02
%USB\VID_0403&PID_601C&MI_03.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_601C&MI_03
%USB\VID_0403&PID_0FEC.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_0FEC
%USB\VID_0403&PID_6031&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6031&MI_00
%USB\VID_0403&PID_6031&REV_2400.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6031&REV_2400
%USB\VID_0403&PID_6032&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6032&MI_00
%USB\VID_0403&PID_6032&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6032&MI_01
%USB\VID_0403&PID_6033&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6033&MI_00
%USB\VID_0403&PID_6033&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6033&MI_01
%USB\VID_0403&PID_6033&MI_02.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6033&MI_02
%USB\VID_0403&PID_6034&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6034&MI_00
%USB\VID_0403&PID_6034&REV_2500.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6034&REV_2500
%USB\VID_0403&PID_6035&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6035&MI_00
%USB\VID_0403&PID_6035&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6035&MI_01
%USB\VID_0403&PID_6036&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6036&MI_00
%USB\VID_0403&PID_6036&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6036&MI_01
%USB\VID_0403&PID_6036&MI_02.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6036&MI_02
%USB\VID_0403&PID_6037&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6037&MI_00
%USB\VID_0403&PID_6037&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6037&MI_01
%USB\VID_0403&PID_6037&MI_02.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6037&MI_02
%USB\VID_0403&PID_6037&MI_03.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6037&MI_03
%USB\VID_0403&PID_6038&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6038&MI_00
%USB\VID_0403&PID_6038&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6038&MI_01
%USB\VID_0403&PID_6038&MI_02.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6038&MI_02
%USB\VID_0403&PID_6038&MI_03.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6038&MI_03
%USB\VID_0403&PID_6038&MI_04.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6038&MI_04
%USB\VID_0403&PID_6039&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6039&MI_00
%USB\VID_0403&PID_6039&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6039&MI_01
%USB\VID_0403&PID_6039&MI_02.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6039&MI_02
%USB\VID_0403&PID_6039&MI_03.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6039&MI_03
%USB\VID_0403&PID_6039&MI_04.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6039&MI_04
%USB\VID_0403&PID_6039&MI_05.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_6039&MI_05
%USB\VID_0403&PID_603A&MI_00.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_603A&MI_00
%USB\VID_0403&PID_603A&MI_01.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_603A&MI_01
%USB\VID_0403&PID_603A&MI_02.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_603A&MI_02
%USB\VID_0403&PID_603A&MI_03.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_603A&MI_03
%USB\VID_0403&PID_603A&MI_04.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_603A&MI_04
%USB\VID_0403&PID_603A&MI_05.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_603A&MI_05
%USB\VID_0403&PID_603A&MI_06.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_603A&MI_06
%USB\VID_0403&PID_603E.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_603E
%USB\VID_0403&PID_0000.DeviceDesc%=FtdiBus.NT,USB\VID_0403&PID_0000
[FtdiHw.NTamd64]
%USB\VID_0403&PID_6001.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6001
%USB\VID_0403&PID_6010&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6010&MI_00
%USB\VID_0403&PID_6010&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6010&MI_01
%USB\VID_0403&PID_6011&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6011&MI_00
%USB\VID_0403&PID_6011&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6011&MI_01
%USB\VID_0403&PID_6011&MI_02.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6011&MI_02
%USB\VID_0403&PID_6011&MI_03.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6011&MI_03
%USB\VID_0403&PID_6014.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6014
%USB\VID_0403&PID_6015.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6015
%USB\VID_0403&PID_601B&REV_1400.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_601B&REV_1400
%USB\VID_0403&PID_601B&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_601B&MI_00
%USB\VID_0403&PID_601B&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_601B&MI_01
%USB\VID_0403&PID_601B&MI_02.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_601B&MI_02
%USB\VID_0403&PID_601B&MI_03.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_601B&MI_03
%USB\VID_0403&PID_601C&REV_1700.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_601C&REV_1700
%USB\VID_0403&PID_601C&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_601C&MI_00
%USB\VID_0403&PID_601C&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_601C&MI_01
%USB\VID_0403&PID_601C&MI_02.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_601C&MI_02
%USB\VID_0403&PID_601C&MI_03.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_601C&MI_03
%USB\VID_0403&PID_0FEC.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_0FEC
%USB\VID_0403&PID_6031&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6031&MI_00
%USB\VID_0403&PID_6031&REV_2400.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6031&REV_2400
%USB\VID_0403&PID_6032&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6032&MI_00
%USB\VID_0403&PID_6032&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6032&MI_01
%USB\VID_0403&PID_6033&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6033&MI_00
%USB\VID_0403&PID_6033&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6033&MI_01
%USB\VID_0403&PID_6033&MI_02.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6033&MI_02
%USB\VID_0403&PID_6034&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6034&MI_00
%USB\VID_0403&PID_6034&REV_2500.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6035&REV_2500
%USB\VID_0403&PID_6035&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6035&MI_00
%USB\VID_0403&PID_6035&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6035&MI_01
%USB\VID_0403&PID_6036&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6036&MI_00
%USB\VID_0403&PID_6036&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6036&MI_01
%USB\VID_0403&PID_6036&MI_02.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6036&MI_02
%USB\VID_0403&PID_6037&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6037&MI_00
%USB\VID_0403&PID_6037&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6037&MI_01
%USB\VID_0403&PID_6037&MI_02.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6037&MI_02
%USB\VID_0403&PID_6037&MI_03.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6037&MI_03
%USB\VID_0403&PID_6038&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6038&MI_00
%USB\VID_0403&PID_6038&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6038&MI_01
%USB\VID_0403&PID_6038&MI_02.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6038&MI_02
%USB\VID_0403&PID_6038&MI_03.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6038&MI_03
%USB\VID_0403&PID_6038&MI_04.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6038&MI_04
%USB\VID_0403&PID_6039&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6039&MI_00
%USB\VID_0403&PID_6039&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6039&MI_01
%USB\VID_0403&PID_6039&MI_02.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6039&MI_02
%USB\VID_0403&PID_6039&MI_03.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6039&MI_03
%USB\VID_0403&PID_6039&MI_04.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6039&MI_04
%USB\VID_0403&PID_6039&MI_05.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_6039&MI_05
%USB\VID_0403&PID_603A&MI_00.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_603A&MI_00
%USB\VID_0403&PID_603A&MI_01.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_603A&MI_01
%USB\VID_0403&PID_603A&MI_02.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_603A&MI_02
%USB\VID_0403&PID_603A&MI_03.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_603A&MI_03
%USB\VID_0403&PID_603A&MI_04.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_603A&MI_04
%USB\VID_0403&PID_603A&MI_05.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_603A&MI_05
%USB\VID_0403&PID_603A&MI_06.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_603A&MI_06
%USB\VID_0403&PID_603E.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_603E
%USB\VID_0403&PID_0000.DeviceDesc%=FtdiBus.NTamd64,USB\VID_0403&PID_0000
[ControlFlags]
ExcludeFromSelect=*
[FtdiBus.NT]
CopyFiles=FtdiBus.NT.Copy,FtdiBus.NT.Copy2
AddReg=FtdiBus.NT.AddReg
[FtdiBus.NTamd64]
CopyFiles=FtdiBus.NTamd64.Copy,FtdiBus.NTamd64.Copy2,FtdiBus.NTamd64.Copy3
AddReg=FtdiBus.NT.AddReg
[FtdiBus.NT.Services]
AddService = FTDIBUS, 0x00000002, FtdiBus.NT.AddService, FtdiBus.NT.EventLog_Inst
[FtdiBus.NTamd64.Services]
AddService = FTDIBUS, 0x00000002, FtdiBus.NT.AddService, FtdiBus.NT.EventLog_Inst
[FtdiBus.NT.AddService]
DisplayName = %SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\system32\drivers\ftdibus.sys
LoadOrderGroup = Base
[FtdiBus.NT.AddReg]
HKR,,DevLoader,,*ntkern
HKR,,NTMPDriver,,ftdibus.sys
HKR,,EnumPropPages32,,"ftbusui.dll,FTBUSUIPropPageProvider"
[FtdiBus.NT.EventLog_Inst]
AddReg = FtdiBus.NT.EventLog_Inst.AddReg
[FtdiBus.NT.EventLog_Inst.AddReg]
HKR,,EventMessageFile,0x00020000,"%%SystemRoot%%\System32\IoLogMsg.dll;%%SystemRoot%%\System32\drivers\ftdibus.sys"
HKR,,TypesSupported,0x00010001,7
[FtdiBus.NT.HW]
AddReg=FtdiBus.NT.HW.AddReg
[FtdiBus.NTamd64.HW]
AddReg=FtdiBus.NT.HW.AddReg
[FtdiBus.NT.HW.AddReg]
;HKR,,"ConfigData",0x00010001,0x00000016
[FtdiBus.NT.Copy]
ftdibus.sys
[FtdiBus.NT.Copy2]
ftbusui.dll
ftd2xx.dll
FTLang.dll
[FtdiBus.NTamd64.Copy]
ftdibus.sys
[FtdiBus.NTamd64.Copy2]
ftbusui.dll
ftd2xx.dll,ftd2xx64.dll
FTLang.dll
[FtdiBus.NTamd64.Copy3]
ftd2xx.dll
[Strings]
Ftdi="FTDI"
DESC="CDM Driver Package - Bus/D2XX Driver"
DriversDisk="FTDI USB Drivers Disk"
USB\VID_0403&PID_6001.DeviceDesc="USB Serial Converter"
USB\VID_0403&PID_6010&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_6010&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_6011&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_6011&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_6011&MI_02.DeviceDesc="USB Serial Converter C"
USB\VID_0403&PID_6011&MI_03.DeviceDesc="USB Serial Converter D"
USB\VID_0403&PID_6014.DeviceDesc="USB Serial Converter"
USB\VID_0403&PID_6015.DeviceDesc="USB Serial Converter"
USB\VID_0403&PID_601B&REV_1400.DeviceDesc="FT4222 Mode 3 Device"
USB\VID_0403&PID_601B&MI_00.DeviceDesc="FT4222 Interface A"
USB\VID_0403&PID_601B&MI_01.DeviceDesc="FT4222 Interface B"
USB\VID_0403&PID_601B&MI_02.DeviceDesc="FT4222 Interface C"
USB\VID_0403&PID_601B&MI_03.DeviceDesc="FT4222 Interface D"
USB\VID_0403&PID_601C&REV_1700.DeviceDesc="FT4222H Mode 3 Device"
USB\VID_0403&PID_601C&MI_00.DeviceDesc="FT4222H Interface A"
USB\VID_0403&PID_601C&MI_01.DeviceDesc="FT4222H Interface B"
USB\VID_0403&PID_601C&MI_02.DeviceDesc="FT4222H Interface C"
USB\VID_0403&PID_601C&MI_03.DeviceDesc="FT4222H Interface D"
USB\VID_0403&PID_0FEC.DeviceDesc="UMFT4222PROG"
USB\VID_0403&PID_6031&MI_00.DeviceDesc="USB Serial Converter"
USB\VID_0403&PID_6031&REV_2400.DeviceDesc="USB Serial Converter"
USB\VID_0403&PID_6032&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_6032&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_6033&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_6033&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_6033&MI_02.DeviceDesc="USB Serial Converter C"
USB\VID_0403&PID_6034&MI_00.DeviceDesc="USB Serial Converter"
USB\VID_0403&PID_6034&REV_2500.DeviceDesc="USB Serial Converter"
USB\VID_0403&PID_6035&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_6035&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_6036&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_6036&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_6036&MI_02.DeviceDesc="USB Serial Converter C"
USB\VID_0403&PID_6037&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_6037&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_6037&MI_02.DeviceDesc="USB Serial Converter C"
USB\VID_0403&PID_6037&MI_03.DeviceDesc="USB Serial Converter D"
USB\VID_0403&PID_6038&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_6038&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_6038&MI_02.DeviceDesc="USB Serial Converter C"
USB\VID_0403&PID_6038&MI_03.DeviceDesc="USB Serial Converter D"
USB\VID_0403&PID_6038&MI_04.DeviceDesc="USB Serial Converter E"
USB\VID_0403&PID_6039&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_6039&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_6039&MI_02.DeviceDesc="USB Serial Converter C"
USB\VID_0403&PID_6039&MI_03.DeviceDesc="USB Serial Converter D"
USB\VID_0403&PID_6039&MI_04.DeviceDesc="USB Serial Converter E"
USB\VID_0403&PID_6039&MI_05.DeviceDesc="USB Serial Converter F"
USB\VID_0403&PID_603A&MI_00.DeviceDesc="USB Serial Converter A"
USB\VID_0403&PID_603A&MI_01.DeviceDesc="USB Serial Converter B"
USB\VID_0403&PID_603A&MI_02.DeviceDesc="USB Serial Converter C"
USB\VID_0403&PID_603A&MI_03.DeviceDesc="USB Serial Converter D"
USB\VID_0403&PID_603A&MI_04.DeviceDesc="USB Serial Converter E"
USB\VID_0403&PID_603A&MI_05.DeviceDesc="USB Serial Converter F"
USB\VID_0403&PID_603A&MI_06.DeviceDesc="USB Serial Converter G"
USB\VID_0403&PID_603E.DeviceDesc="UMFTPD3A Programming Board"
USB\VID_0403&PID_0000.DeviceDesc="USB Serial Converter"
SvcDesc="USB Serial Converter Driver"
ClassName="USB"

Binary file not shown.

View File

@ -0,0 +1,392 @@
; FTDIPORT.INF
;
; Copyright © 2000-2017 Future Technology Devices International Limited
;
; USB serial port driver installation file for Windows 7, Windows 8, Windows 8.1, Windows 10,
; Server 2008 R2, Server 2012 R2 and Server 2016.
;
;
; IMPORTANT NOTICE: PLEASE READ CAREFULLY BEFORE INSTALLING THE RELEVANT
; SOFTWARE: This licence agreement (Licence) is a legal agreement between you (Licensee or
; you) and Future Technology Devices International Limited of 2 Seaward Place, Centurion Business
; Park, Glasgow G41 1HH, Scotland (UK Company Number SC136640) (Licensor or we) for use of
; driver software provided by the Licensor(Software).
;
; BY INSTALLING OR USING THIS SOFTWARE YOU AGREE TO THE TERMS OF THIS LICENCE
; WHICH WILL BIND YOU. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, WE ARE
; UNWILLING TO LICENSE THE SOFTWARE TO YOU AND YOU MUST DISCONTINUE
; INSTALLATION OF THE SOFTWARE NOW.
;
; 1. GRANT AND SCOPE OF LICENCE
;
; 1.1 In consideration of you agreeing to abide by the terms of this Licence, the Licensor hereby
; grants to you a non-exclusive, non-transferable, royalty free licence to use the Software on
; the terms of this Licence.
;
; 1.2 In this Licence a "Genuine FTDI Component" means an item of hardware that was
; manufactured for, and sold by, the Licensor or a member of the Licensor's group of
; companies. It does not include any counterfeit or fake products.
;
; 1.3 If you are a manufacturer of a device that includes a Genuine FTDI Component (each a
; "Device") then you may install the Software onto that device. If you are a seller or distributor
; of a Device then you may distribute the Software with the Device. If you are a user of a
; Device then you may install the Software on the Device, or onto a computer system in order
; to use the Device.
;
; 1.4 In each of those cases you may:
;
; 1.4.1 install and use the Software for your purposes only; and
;
; 1.4.2 only use the Software in conjunction with products based on and/or incorporating a
; Genuine FTDI Component.
;
; 1.5 The Software will not function properly on or with a component that is not a Genuine FTDI
; Component. Use of the Software as a driver for, or installation of the Software onto, a
; component that is not a Genuine FTDI Component, including without limitation counterfeit
; components, MAY IRRETRIEVABLY DAMAGE THAT COMPONENT. It is the Licensee's
; responsibility to make sure that all chips it installs the Software on, or uses the Software as a
; driver for, are Genuine FTDI Components. If in doubt then contact the Licensor.
;
; 2. If a custom vendor ID and/or product ID or description string are used, it is the responsibility of
; the product manufacturer to maintain any changes and subsequent WHQL re-certification as
; a result of making these changes.
;
; 3. LICENSEE'S UNDERTAKINGS
;
; 3.1 Except as expressly set out in this Licence or as permitted by any local law, you undertake:
;
; 3.1.1 not to copy the Software, except where such copying is incidental to normal use of
; the Software or where it is necessary for the purpose of back-up or operational
; security;
;
; 3.1.2 not to rent, lease, sub-license, loan, translate, merge, adapt, vary or modify the
; Software or any part of it;
;
; 3.1.3 not to make alterations to, or modifications of, the whole or any part of the Software
; nor permit the Software or any part of it to be combined with, or become
; incorporated in, any other programs;
;
; 3.1.4 not to disassemble, de-compile, reverse engineer or create derivative works based
; on the whole or any part of the Software;
;
; 3.1.5 to keep all copies of the Software secure;
;
; 3.1.6 to include the copyright notice of the Licensor on all entire and partial copies of the
; Software in any form; and
;
; 3.1.7 not to provide, or otherwise make available, the Software in any form, in whole or in
; part (including, but not limited to, program listings, object and source program
; listings, object code and source code) to any person.
;
; 4. INTELLECTUAL PROPERTY RIGHTS
;
; 4.1 You acknowledge that all intellectual property rights in the Software throughout the world
; belong to the Licensor, that rights in the Software are licensed (not sold) to you, and that you
; have no rights in, or to, the Software other than the right to use them in accordance with the
; terms of this Licence.
;
; 5. WARRANTY
;
; 5.1 To the maximum extent permitted by applicable law, the software is provided "as is".
;
; 5.2 All implied warranties, implied conditions and/or implied licences are excluded from this
; Licence, including but not limited to implied warranties of quality and/or fitness for purpose (in
; all cases) to the fullest extent permitted by law.
;
; 5.3 You acknowledge that the Software has not been developed to meet your individual
; requirements and that the Software may not be uninterrupted or free of bugs or errors.
;
; 6. LICENSOR'S LIABILITY
;
; 6.1 To the maximum extent permitted by applicable law, in no event shall the Licensor be liable
; for any:
;
; 6.1.1 special loss or damage;
;
; 6.1.2 incidental loss or damage;
;
; 6.1.3 indirect or consequential loss or damage:
;
; 6.1.4 loss of income;
;
; 6.1.5 loss of business;
;
; 6.1.6 loss of profits;
;
; 6.1.7 loss of revenue;
;
; 6.1.8 loss of contracts;
;
; 6.1.9 business interruption;
;
; 6.1.10 loss of the use of money or anticipated savings;
;
; 6.1.11 loss of information;
;
; 6.1.12 loss of opportunity;
;
; 6.1.13 loss of goodwill or reputation; and/or
;
; 6.1.14 loss of, damage to or corruption of data;
;
; (in each case) of any kind howsoever arising and whether caused by delict (including
; negligence), breach of contract or otherwise.
;
; 6.2 FTDI's total liability to you in relation to the Software shall not exceed 500 US Dollars.
;
; 6.3 Nothing in this Licence limits or excludes liability for death or personal injury or for fraud.
;
; 7. TERMINATION
;
; 7.1 The Licensor may terminate this Licence immediately if:
;
; 7.1.1 you fail to comply with any of the terms and conditions of the Licence; or
;
; 7.1.2 you commence or participate in any legal proceedings against the Licensor.
;
; 7.2 Upon termination:
;
; 7.2.1 all rights granted to you under this Licence shall cease;
;
; 7.2.2 you must cease all activities authorised by this Licence; and
;
; 7.2.3 you must immediately delete or remove the Software from all computer equipment
; in your possession and immediately destroy all copies of the Software then in your
; possession, custody or control.
;
; 8. TRANSFER OF RIGHTS AND OBLIGATIONS
;
; 8.1 You may not transfer, assign, charge or otherwise dispose of this Licence, or any of your
; rights or obligations arising under it.
;
; 8.2 The Licensor may transfer, assign, charge, sub-contract or otherwise dispose of this Licence,
; or any of his rights or obligations arising under it, at any time during the term of the Licence.
;
; 9. WAIVER
;
; 9.1 If the Licensor fails, at any time during the term of this Licence, to insist on strict performance
; of any of your obligations under this Licence, or if the Licensor fails to exercise any of the
; rights or remedies to which he is entitled under this Licence, this shall not constitute a waiver
; of such rights or remedies and shall not relieve you from compliance with such obligations.
;
; 9.2 A waiver by the Licensor of any default shall not constitute a waiver of any subsequent
; default.
;
; 9.3 No waiver by the Licensor of any of these terms and conditions shall be effective unless it is
; expressly stated to be a waiver and is communicated to you in writing.
;
; 10. SEVERABILITY
;
; If any of the terms of this Licence are determined by any competent authority to be invalid,
; unlawful or unenforceable to any extent, such term, condition or provision will to that extent be
; severed from the remaining terms, conditions and provisions which will continue to be valid to
; the fullest extent permitted by law.
;
; 11. ENTIRE AGREEMENT
;
; 11.1 This Licence constitutes the whole agreement between us and supersedes any previous
; arrangement, understanding or agreement between us, relating to the licensing of the
; Software.
;
; 11.2 Each party acknowledges that in entering into this Licence it does not rely on any statement,
; representation, warranty or understanding other than those expressly set out in this Licence.
; Each party agrees that it will have no remedy in respect of any statement, representation,
; warranty or understanding that is not expressly set out in this Licence. Each party agrees that
; its only remedy in respect of those representations, statements, assurances and warranties
; that are set out in this Licence will be for breach of contract in accordance with the terms of
; this Licence.
;
; 11.3 The parties agree that nothing in this Licence will limit or exclude any liability they may have
; for fraud.
;
; 12. MISCELLANEOUS
;
; 12.1 This Licence does not create a partnership or joint venture between the parties to it, nor
; authorise a party to act as agent for the other.
;
; 12.2 This Licence does not create any legal rights enforceable by any third party.
;
; 12.3 This Licence may only be varied by express written legal agreement between the parties.
;
; 13. LAW AND JURISDICTION
;
; This Licence, its subject matter or its formation (including non-contractual disputes or claims)
; shall be governed by and construed in accordance with Scots law and submitted to the non-
; exclusive jurisdiction of the Scottish courts.
;
[Version]
Signature="$Windows NT$"
DriverPackageType=PlugAndPlay
DriverPackageDisplayName=%DESC%
Class=Ports
ClassGUID={4d36e978-e325-11ce-bfc1-08002be10318}
Provider=%FTDI%
CatalogFile=ftdiport.cat
DriverVer=08/16/2017,2.12.28
[SourceDisksNames]
1=%DriversDisk%,,,
[SourceDisksFiles]
ftser2k.sys=1,i386
ftserui2.dll=1,i386
ftcserco.dll = 1,i386
[SourceDisksFiles.amd64]
ftser2k.sys=1,amd64
ftserui2.dll=1,amd64
ftcserco.dll = 1,amd64
[DestinationDirs]
FtdiPort.NT.Copy=10,system32\drivers
FtdiPort.NT.CopyUI=10,system32
FtdiPort.NT.CopyCoInst=10,system32
[ControlFlags]
ExcludeFromSelect=*
[Manufacturer]
%FTDI%=FtdiHw,NTamd64
[FtdiHw]
%VID_0403&PID_6001.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6001
%VID_0403&PID_6010.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6010
%VID_0403&PID_6011.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6011
%VID_0403&PID_6014.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6014
%VID_0403&PID_6015.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6015
%VID_0403&PID_6031.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6031
%VID_0403&PID_6032.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6032
%VID_0403&PID_6033.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6033
%VID_0403&PID_6034.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6034
%VID_0403&PID_6035.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6035
%VID_0403&PID_6036.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6036
%VID_0403&PID_6037.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6037
%VID_0403&PID_6038.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6038
%VID_0403&PID_6039.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_6039
%VID_0403&PID_603A.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_603A
%VID_0403&PID_0000.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_0403&PID_0000
[FtdiHw.NTamd64]
%VID_0403&PID_6001.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6001
%VID_0403&PID_6010.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6010
%VID_0403&PID_6011.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6011
%VID_0403&PID_6014.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6014
%VID_0403&PID_6015.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6015
%VID_0403&PID_6031.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6031
%VID_0403&PID_6032.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6032
%VID_0403&PID_6033.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6033
%VID_0403&PID_6034.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6034
%VID_0403&PID_6035.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6035
%VID_0403&PID_6036.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6036
%VID_0403&PID_6037.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6037
%VID_0403&PID_6038.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6038
%VID_0403&PID_6039.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_6039
%VID_0403&PID_603A.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_603A
%VID_0403&PID_0000.DeviceDesc%=FtdiPort.NTamd64,FTDIBUS\COMPORT&VID_0403&PID_0000
[FtdiPort.NT.AddService]
DisplayName = %SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\system32\drivers\ftser2k.sys
LoadOrderGroup = Base
; -------------- Serenum Driver install section
[SerEnum_AddService]
DisplayName = %SerEnum.SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\serenum.sys
LoadOrderGroup = PNP Filter
[FtdiPort.NT.AddReg]
HKR,,EnumPropPages32,,"ftserui2.dll,SerialPortPropPageProvider"
[FtdiPort.NT.Copy]
ftser2k.sys
[FtdiPort.NT.CopyUI]
ftserui2.dll
[FtdiPort.NT.CopyCoInst]
ftcserco.dll
[FtdiPort.NT]
CopyFiles=FtdiPort.NT.Copy,FtdiPort.NT.CopyUI
AddReg=FtdiPort.NT.AddReg
[FtdiPort.NTamd64]
CopyFiles=FtdiPort.NT.Copy,FtdiPort.NT.CopyUI
AddReg=FtdiPort.NT.AddReg
[FtdiPort.NT.HW]
AddReg=FtdiPort.NT.HW.AddReg
[FtdiPort.NTamd64.HW]
AddReg=FtdiPort.NT.HW.AddReg
[FtdiPort.NT.Services]
AddService = FTSER2K, 0x00000002, FtdiPort.NT.AddService
AddService = Serenum,,SerEnum_AddService
DelService = FTSERIAL
[FtdiPort.NTamd64.Services]
AddService = FTSER2K, 0x00000002, FtdiPort.NT.AddService
AddService = Serenum,,SerEnum_AddService
DelService = FTSERIAL
[FtdiPort.NT.HW.AddReg]
HKR,,"UpperFilters",0x00010000,"serenum"
HKR,,"ConfigData",1,11,00,3F,3F,10,27,00,00,88,13,00,00,C4,09,00,00,E2,04,00,00,71,02,00,00,38,41,00,00,9C,80,00,00,4E,C0,00,00,34,00,00,00,1A,00,00,00,0D,00,00,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00
HKR,,"MinReadTimeout",0x00010001,0
HKR,,"MinWriteTimeout",0x00010001,0
HKR,,"LatencyTimer",0x00010001,16
[FtdiPort.NT.CoInstallers]
AddReg=FtdiPort.NT.CoInstallers.AddReg
CopyFiles=FtdiPort.NT.CopyCoInst
[FtdiPort.NTamd64.CoInstallers]
AddReg=FtdiPort.NT.CoInstallers.AddReg
CopyFiles=FtdiPort.NT.CopyCoInst
[FtdiPort.NT.CoInstallers.AddReg]
HKR,,CoInstallers32,0x00010000,"ftcserco.Dll,FTCSERCoInstaller"
;---------------------------------------------------------------;
[Strings]
FTDI="FTDI"
DESC="CDM Driver Package - VCP Driver"
DriversDisk="FTDI USB Drivers Disk"
PortsClassName = "Ports (COM & LPT)"
VID_0403&PID_6001.DeviceDesc="USB Serial Port"
VID_0403&PID_6010.DeviceDesc="USB Serial Port"
VID_0403&PID_6011.DeviceDesc="USB Serial Port"
VID_0403&PID_6014.DeviceDesc="USB Serial Port"
VID_0403&PID_6015.DeviceDesc="USB Serial Port"
VID_0403&PID_6031.DeviceDesc="USB Serial Port"
VID_0403&PID_6032.DeviceDesc="USB Serial Port"
VID_0403&PID_6033.DeviceDesc="USB Serial Port"
VID_0403&PID_6034.DeviceDesc="USB Serial Port"
VID_0403&PID_6035.DeviceDesc="USB Serial Port"
VID_0403&PID_6036.DeviceDesc="USB Serial Port"
VID_0403&PID_6037.DeviceDesc="USB Serial Port"
VID_0403&PID_6038.DeviceDesc="USB Serial Port"
VID_0403&PID_6039.DeviceDesc="USB Serial Port"
VID_0403&PID_603A.DeviceDesc="USB Serial Port"
VID_0403&PID_0000.DeviceDesc="USB Serial Port"
SvcDesc="USB Serial Port Driver"
SerEnum.SvcDesc="Serenum Filter Driver"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

188
ftdi-vcp-sys/src/lib.rs Normal file
View File

@ -0,0 +1,188 @@
#![allow(non_camel_case_types, non_snake_case)]
extern crate winapi;
// use winapi::um::winnt::{PVOID, ULONG, DWORD};
pub use winapi::shared::minwindef::{DWORD, LPDWORD, LPLONG, LPVOID};
pub use winapi::shared::ntdef::{PVOID, ULONG, LONG};
#[allow(non_camel_case_types)]
type FT_HANDLE = PVOID;
#[allow(non_camel_case_types)]
type FT_STATUS = ULONG;
#[allow(non_camel_case_types)]
#[repr(C)]
#[derive(Clone)]
pub struct FT_DEVICE_LIST_INFO_NODE {
Flags: ULONG,
Type: ULONG,
ID: ULONG,
LocId: DWORD,
SerialNumber: [u8; 16],
Description: [u8; 64],
ftHandle: FT_HANDLE,
}
#[repr(C)]
pub enum FtStatus {
FT_OK = 0,
FT_INVALID_HANDLE = 1,
FT_DEVICE_NOT_FOUND = 2,
FT_DEVICE_NOT_OPENED = 3,
FT_IO_ERROR = 4,
FT_INSUFFICIENT_RESOURCES = 5,
FT_INVALID_PARAMETER = 6,
FT_INVALID_BAUD_RATE = 7,
FT_DEVICE_NOT_OPENED_FOR_ERASE = 8,
FT_DEVICE_NOT_OPENED_FOR_WRITE = 9,
FT_FAILED_TO_WRITE_DEVICE = 10,
FT_EEPROM_READ_FAILED = 11,
FT_EEPROM_WRITE_FAILED = 12,
FT_EEPROM_ERASE_FAILED = 13,
FT_EEPROM_NOT_PRESENT = 14,
FT_EEPROM_NOT_PROGRAMMED = 15,
FT_INVALID_ARGS = 16,
FT_NOT_SUPPORTED = 17,
FT_OTHER_ERROR = 18,
FT_DEVICE_LIST_NOT_READY = 19,
}
// // Device information flags
// enum FT_FLAGS {
// FT_FLAGS_OPENED = 1,
// FT_FLAGS_HISPEED = 2,
// }
pub const FT_OPEN_BY_SERIAL_NUMBER: DWORD = 1;
pub const FT_OPEN_BY_DESCRIPTION: DWORD = 2;
pub const FT_OPEN_BY_LOCATION: DWORD = 4;
pub const FT_LIST_NUMBER_ONLY: DWORD = 0x80000000;
pub const FT_LIST_BY_INDEX: DWORD = 0x40000000;
pub const FT_LIST_ALL: DWORD = 0x20000000;
pub const FT_LIST_MASK: DWORD = (FT_LIST_NUMBER_ONLY | FT_LIST_BY_INDEX | FT_LIST_ALL);
#[link(name = "ftd2xx")]
#[allow(non_snake_case)]
#[allow(dead_code)]
extern "stdcall" {
fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;
fn FT_CreateDeviceInfoList(lpdwNumDevs: LPDWORD) -> FT_STATUS;
fn FT_GetDeviceInfoList(
pDest: *mut FT_DEVICE_LIST_INFO_NODE,
lpdwNumDevs: LPDWORD,
) -> FT_STATUS;
fn FT_GetDeviceInfoDetail(
dwIndex: DWORD,
lpdwFlags: LPDWORD,
lpdwType: LPDWORD,
lpdwID: LPDWORD,
lpdwLocId: LPDWORD,
lpSerialNumber: LPVOID,
lpDescription: LPVOID,
pftHandle: *mut FT_HANDLE,
) -> FT_STATUS;
fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;
fn FT_Open(deviceNumber: u32, pHandle: *mut FT_HANDLE) -> FT_STATUS;
fn FT_OpenEx(pArg1: PVOID, Flags: DWORD, pHandle: *mut FT_HANDLE) -> FT_STATUS;
fn FT_Close(ftHandle: FT_HANDLE) -> FT_STATUS;
}
pub fn create_device_info_list() -> Result<usize, usize> {
let device_count: DWORD = 0;
let result = unsafe { FT_CreateDeviceInfoList(&device_count as *const _ as LPDWORD) };
if result == 0 {
Ok(device_count as usize)
} else {
Err(result as usize)
}
}
pub fn get_device_info_list() -> Result<Vec<FT_DEVICE_LIST_INFO_NODE>, usize> {
let mut dev_info = vec![];
let device_count = create_device_info_list()?;
dev_info.resize(
device_count as usize,
FT_DEVICE_LIST_INFO_NODE {
Flags: 0,
Type: 0,
ID: 0,
LocId: 0,
SerialNumber: [0; 16],
Description: [0; 64],
ftHandle: 0 as FT_HANDLE,
},
);
let result = unsafe {
FT_GetDeviceInfoList(dev_info.as_mut_ptr(), &device_count as *const _ as LPDWORD)
};
if result != 0 {
return Err(result as usize);
}
Ok(dev_info)
}
#[cfg(test)]
mod tests {
use crate::*;
use std::ffi::CStr;
#[test]
fn list_devices() {
println!("Listing devices...");
let device_count = create_device_info_list().expect("couldn't list devices");
// let result = unsafe { FT_ListDevices(&device_count as *const i32 as PVOID, 0 as PVOID, FT_LIST_NUMBER_ONLY) };
println!("There are {} devices", device_count);
let dev_info = get_device_info_list().expect("couldn't get device info list");
for item in dev_info {
println!("Flags: {:08x}", item.Flags);
println!("Type: {:08x}", item.Type);
println!("ID: {:08x}", item.ID);
println!("LocId: {:08x}", item.LocId);
println!("SerialNumber: {:?}", item.SerialNumber);
// let description = CStr::from_bytes_with_nul(&item.Description).expect("couldn't parse item string");
let p = &item.Description as *const u8 as *const i8;
let description = unsafe { CStr::from_ptr(p) };
println!("Description: {}", description.to_string_lossy()); //String::from_utf8_lossy(&item.Description));
print!(" ");
for ch in item.Description.iter() {
print!(" {:02x}", ch);
}
println!("");
println!("ftHandle: {:08x}", item.ftHandle as usize);
}
}
#[test]
fn open_device() {
let desc = b"Lattice FTUSB Interface Cable B\0";
let mut handle = 0 as FT_HANDLE;
let result = unsafe {
FT_OpenEx(
desc.as_ptr() as PVOID,
FT_OPEN_BY_DESCRIPTION,
(&mut handle) as *mut FT_HANDLE,
)
};
println!("Result: {}", result);
if result != 0 {
panic!("couldn't open handle: result not 0");
}
let mut com_port_number: LONG = 0;
let result = unsafe { FT_GetComPortNumber(handle, &mut com_port_number) };
if result != 0 {
panic!("couldn't get com port number");
}
println!("Device opened on COM{}:", com_port_number);
let result = unsafe { FT_Close(handle) };
println!("Result: {}", result);
if result != 0 {
panic!("couldn't close handle: result not 0");
}
}
}

View File

@ -0,0 +1 @@
{"rustc_fingerprint":2372964052909571043,"outputs":{"4476964694761187371":["___.exe\nlib___.rlib\n___.dll\n___.dll\n___.lib\n___.dll\nC:\\Users\\smcro\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\ndebug_assertions\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"msvc\"\ntarget_family=\"windows\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_os=\"windows\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"pc\"\nwindows\n",""],"1164083562126845933":["rustc 1.41.1 (f3e1a954d 2020-02-24)\nbinary: rustc\ncommit-hash: f3e1a954d2ead4e2fc197c7da7d71e6c61bad196\ncommit-date: 2020-02-24\nhost: x86_64-pc-windows-msvc\nrelease: 1.41.1\nLLVM version: 9.0\n",""]},"successes":{}}

View File

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
{"rustc":13421301608916057402,"features":"[]","target":11924813428260860161,"profile":8248545651247322450,"path":10872709659218687626,"deps":[[2693066915275761720,"winapi",false,14289487232430214174],[9924424717942368762,"build_script_build",false,1376035238852711626]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\ftdi-vcp-sys-58b72ef14df83c34\\dep-test-lib-ftdi_vcp_sys-58b72ef14df83c34"}}],"rustflags":[],"metadata":8199227496823213954}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1,36 @@
{"message":"expected `{`, found `FT_GetComPortNumber`","code":null,"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":2893,"byte_end":2912,"line_start":77,"line_end":77,"column_start":33,"column_end":52,"is_primary":true,"text":[{"text":" let result = unsafe FT_GetComPortNumber","highlight_start":33,"highlight_end":52}],"label":"expected `{`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: expected `{`, found `FT_GetComPortNumber`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:77:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m77\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m let result = unsafe FT_GetComPortNumber\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mexpected `{`\u001b[0m\n\n"}
{"message":"failed to resolve: use of undeclared type or module `CStr`","code":{"code":"E0433","explanation":"An undeclared type or module was used.\n\nErroneous code example:\n\n```compile_fail,E0433\nlet map = HashMap::new();\n// error: failed to resolve: use of undeclared type or module `HashMap`\n```\n\nPlease verify you didn't misspell the type/module's name or that you didn't\nforget to import it:\n\n\n```\nuse std::collections::HashMap; // HashMap has been imported.\nlet map: HashMap<u32, u32> = HashMap::new(); // So it can be used!\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":2451,"byte_end":2455,"line_start":67,"line_end":67,"column_start":40,"column_end":44,"is_primary":true,"text":[{"text":" let description = unsafe { CStr::from_ptr(p) };","highlight_start":40,"highlight_end":44}],"label":"use of undeclared type or module `CStr`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0433]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: failed to resolve: use of undeclared type or module `CStr`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:67:40\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m67\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m let description = unsafe { CStr::from_ptr(p) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9muse of undeclared type or module `CStr`\u001b[0m\n\n"}
{"message":"cannot find type `PVOID` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":118,"byte_end":123,"line_start":5,"line_end":5,"column_start":30,"column_end":35,"is_primary":true,"text":[{"text":" fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;","highlight_start":30,"highlight_end":35}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `PVOID` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:5:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `PVOID` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":132,"byte_end":137,"line_start":5,"line_end":5,"column_start":44,"column_end":49,"is_primary":true,"text":[{"text":" fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;","highlight_start":44,"highlight_end":49}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `PVOID` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:5:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `DWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":146,"byte_end":151,"line_start":5,"line_end":5,"column_start":58,"column_end":63,"is_primary":true,"text":[{"text":" fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;","highlight_start":58,"highlight_end":63}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `DWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:5:58\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":156,"byte_end":165,"line_start":5,"line_end":5,"column_start":68,"column_end":77,"is_primary":true,"text":[{"text":" fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;","highlight_start":68,"highlight_end":77}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:5:68\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":211,"byte_end":218,"line_start":6,"line_end":6,"column_start":45,"column_end":52,"is_primary":true,"text":[{"text":" fn FT_CreateDeviceInfoList(lpdwNumDevs: LPDWORD) -> FT_STATUS;","highlight_start":45,"highlight_end":52}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:6:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m6\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_CreateDeviceInfoList(lpdwNumDevs: LPDWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":223,"byte_end":232,"line_start":6,"line_end":6,"column_start":57,"column_end":66,"is_primary":true,"text":[{"text":" fn FT_CreateDeviceInfoList(lpdwNumDevs: LPDWORD) -> FT_STATUS;","highlight_start":57,"highlight_end":66}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:6:57\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m6\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_CreateDeviceInfoList(lpdwNumDevs: LPDWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_DEVICE_LIST_INFO_NODE` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":283,"byte_end":307,"line_start":8,"line_end":8,"column_start":21,"column_end":45,"is_primary":true,"text":[{"text":" pDest: *mut FT_DEVICE_LIST_INFO_NODE,","highlight_start":21,"highlight_end":45}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_DEVICE_LIST_INFO_NODE` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:8:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m pDest: *mut FT_DEVICE_LIST_INFO_NODE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":330,"byte_end":337,"line_start":9,"line_end":9,"column_start":22,"column_end":29,"is_primary":true,"text":[{"text":" lpdwNumDevs: LPDWORD,","highlight_start":22,"highlight_end":29}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:9:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m9\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpdwNumDevs: LPDWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":348,"byte_end":357,"line_start":10,"line_end":10,"column_start":10,"column_end":19,"is_primary":true,"text":[{"text":" ) -> FT_STATUS;","highlight_start":10,"highlight_end":19}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:10:10\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m10\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m ) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `DWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":407,"byte_end":412,"line_start":12,"line_end":12,"column_start":18,"column_end":23,"is_primary":true,"text":[{"text":" dwIndex: DWORD,","highlight_start":18,"highlight_end":23}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `DWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:12:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m dwIndex: DWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":433,"byte_end":440,"line_start":13,"line_end":13,"column_start":20,"column_end":27,"is_primary":true,"text":[{"text":" lpdwFlags: LPDWORD,","highlight_start":20,"highlight_end":27}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:13:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m13\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpdwFlags: LPDWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":460,"byte_end":467,"line_start":14,"line_end":14,"column_start":19,"column_end":26,"is_primary":true,"text":[{"text":" lpdwType: LPDWORD,","highlight_start":19,"highlight_end":26}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:14:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m14\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpdwType: LPDWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":485,"byte_end":492,"line_start":15,"line_end":15,"column_start":17,"column_end":24,"is_primary":true,"text":[{"text":" lpdwID: LPDWORD,","highlight_start":17,"highlight_end":24}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:15:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m15\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpdwID: LPDWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":513,"byte_end":520,"line_start":16,"line_end":16,"column_start":20,"column_end":27,"is_primary":true,"text":[{"text":" lpdwLocId: LPDWORD,","highlight_start":20,"highlight_end":27}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:16:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m16\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpdwLocId: LPDWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPVOID` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":546,"byte_end":552,"line_start":17,"line_end":17,"column_start":25,"column_end":31,"is_primary":true,"text":[{"text":" lpSerialNumber: LPVOID,","highlight_start":25,"highlight_end":31}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPVOID` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:17:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m17\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpSerialNumber: LPVOID,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPVOID` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":577,"byte_end":583,"line_start":18,"line_end":18,"column_start":24,"column_end":30,"is_primary":true,"text":[{"text":" lpDescription: LPVOID,","highlight_start":24,"highlight_end":30}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPVOID` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:18:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m18\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpDescription: LPVOID,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_HANDLE` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":609,"byte_end":618,"line_start":19,"line_end":19,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" pftHandle: *mut FT_HANDLE,","highlight_start":25,"highlight_end":34}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_HANDLE` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:19:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m pftHandle: *mut FT_HANDLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":629,"byte_end":638,"line_start":20,"line_end":20,"column_start":10,"column_end":19,"is_primary":true,"text":[{"text":" ) -> FT_STATUS;","highlight_start":10,"highlight_end":19}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:20:10\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m20\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m ) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_HANDLE` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":677,"byte_end":686,"line_start":21,"line_end":21,"column_start":38,"column_end":47,"is_primary":true,"text":[{"text":" fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;","highlight_start":38,"highlight_end":47}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_HANDLE` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:21:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m21\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPLONG` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":707,"byte_end":713,"line_start":21,"line_end":21,"column_start":68,"column_end":74,"is_primary":true,"text":[{"text":" fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;","highlight_start":68,"highlight_end":74}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPLONG` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:21:68\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m21\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":718,"byte_end":727,"line_start":21,"line_end":21,"column_start":79,"column_end":88,"is_primary":true,"text":[{"text":" fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;","highlight_start":79,"highlight_end":88}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:21:79\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m21\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `int` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":758,"byte_end":761,"line_start":22,"line_end":22,"column_start":30,"column_end":33,"is_primary":true,"text":[{"text":" fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;","highlight_start":30,"highlight_end":33}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `int` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:22:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m22\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_HANDLE` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":777,"byte_end":786,"line_start":22,"line_end":22,"column_start":49,"column_end":58,"is_primary":true,"text":[{"text":" fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;","highlight_start":49,"highlight_end":58}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_HANDLE` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:22:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m22\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":791,"byte_end":800,"line_start":22,"line_end":22,"column_start":63,"column_end":72,"is_primary":true,"text":[{"text":" fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;","highlight_start":63,"highlight_end":72}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:22:63\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m22\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `DWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":928,"byte_end":933,"line_start":30,"line_end":30,"column_start":27,"column_end":32,"is_primary":true,"text":[{"text":" let device_count: DWORD = 0;","highlight_start":27,"highlight_end":32}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `DWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:30:27\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m30\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m let device_count: DWORD = 0;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find function, tuple struct or tuple variant `FT_CreateDeviceInfoList` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":1082,"byte_end":1105,"line_start":32,"line_end":32,"column_start":31,"column_end":54,"is_primary":true,"text":[{"text":" let result = unsafe { FT_CreateDeviceInfoList(&device_count as *const _ as LPDWORD) };","highlight_start":31,"highlight_end":54}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"possible candidate is found in another module, you can import it into scope","code":null,"level":"help","spans":[{"file_name":"src\\lib.rs","byte_start":846,"byte_end":846,"line_start":28,"line_end":28,"column_start":5,"column_end":5,"is_primary":true,"text":[{"text":" fn it_works() {","highlight_start":5,"highlight_end":5}],"label":null,"suggested_replacement":"use crate::FT_CreateDeviceInfoList;\n\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0425]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find function, tuple struct or tuple variant `FT_CreateDeviceInfoList` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:32:31\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m32\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m let result = unsafe { FT_CreateDeviceInfoList(&device_count as *const _ as LPDWORD) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: possible candidate is found in another module, you can import it into scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m28\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m use crate::FT_CreateDeviceInfoList;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":1135,"byte_end":1142,"line_start":32,"line_end":32,"column_start":84,"column_end":91,"is_primary":true,"text":[{"text":" let result = unsafe { FT_CreateDeviceInfoList(&device_count as *const _ as LPDWORD) };","highlight_start":84,"highlight_end":91}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:32:84\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m32\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m let result = unsafe { FT_CreateDeviceInfoList(&device_count as *const _ as LPDWORD) };\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find struct, variant or union type `FT_DEVICE_LIST_INFO_NODE` in this scope","code":{"code":"E0422","explanation":"You are trying to use an identifier that is either undefined or not a struct.\nErroneous code example:\n\n```compile_fail,E0422\nfn main () {\n let x = Foo { x: 1, y: 2 };\n}\n```\n\nIn this case, `Foo` is undefined, so it inherently isn't anything, and\ndefinitely not a struct.\n\n```compile_fail\nfn main () {\n let foo = 1;\n let x = foo { x: 1, y: 2 };\n}\n```\n\nIn this case, `foo` is defined, but is not a struct, so Rust can't use it as\none.\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":1443,"byte_end":1467,"line_start":42,"line_end":42,"column_start":13,"column_end":37,"is_primary":true,"text":[{"text":" FT_DEVICE_LIST_INFO_NODE {","highlight_start":13,"highlight_end":37}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0422]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find struct, variant or union type `FT_DEVICE_LIST_INFO_NODE` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:42:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m42\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m FT_DEVICE_LIST_INFO_NODE {\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_HANDLE` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":1678,"byte_end":1687,"line_start":49,"line_end":49,"column_start":32,"column_end":41,"is_primary":true,"text":[{"text":" ftHandle: 0 as FT_HANDLE,","highlight_start":32,"highlight_end":41}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_HANDLE` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:49:32\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m49\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m ftHandle: 0 as FT_HANDLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find function, tuple struct or tuple variant `FT_GetDeviceInfoList` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n fn bar() {\n Self; // error: unresolved name `Self`\n }\n}\n\n// or:\n\nlet x = unknown_variable; // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":1758,"byte_end":1778,"line_start":54,"line_end":54,"column_start":13,"column_end":33,"is_primary":true,"text":[{"text":" FT_GetDeviceInfoList(dev_info.as_mut_ptr(), &device_count as *const _ as LPDWORD)","highlight_start":13,"highlight_end":33}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"possible candidate is found in another module, you can import it into scope","code":null,"level":"help","spans":[{"file_name":"src\\lib.rs","byte_start":846,"byte_end":846,"line_start":28,"line_end":28,"column_start":5,"column_end":5,"is_primary":true,"text":[{"text":" fn it_works() {","highlight_start":5,"highlight_end":5}],"label":null,"suggested_replacement":"use crate::FT_GetDeviceInfoList;\n\n","suggestion_applicability":"Unspecified","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0425]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find function, tuple struct or tuple variant `FT_GetDeviceInfoList` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:54:13\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m54\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m FT_GetDeviceInfoList(dev_info.as_mut_ptr(), &device_count as *const _ as LPDWORD)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14mhelp\u001b[0m\u001b[0m: possible candidate is found in another module, you can import it into scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m28\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m use crate::FT_GetDeviceInfoList;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":1831,"byte_end":1838,"line_start":54,"line_end":54,"column_start":86,"column_end":93,"is_primary":true,"text":[{"text":" FT_GetDeviceInfoList(dev_info.as_mut_ptr(), &device_count as *const _ as LPDWORD)","highlight_start":86,"highlight_end":93}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:54:86\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m54\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m FT_GetDeviceInfoList(dev_info.as_mut_ptr(), &device_count as *const _ as LPDWORD)\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"aborting due to 33 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: aborting due to 33 previous errors\u001b[0m\n\n"}
{"message":"Some errors have detailed explanations: E0412, E0422, E0425, E0433.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;15mSome errors have detailed explanations: E0412, E0422, E0425, E0433.\u001b[0m\n"}
{"message":"For more information about an error, try `rustc --explain E0412`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;15mFor more information about an error, try `rustc --explain E0412`.\u001b[0m\n"}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
{"rustc":13421301608916057402,"features":"[]","target":11924813428260860161,"profile":14996655781355331481,"path":10872709659218687626,"deps":[[2693066915275761720,"winapi",false,14289487232430214174],[9924424717942368762,"build_script_build",false,1376035238852711626]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\ftdi-vcp-sys-7dfd3debbf10b458\\dep-lib-ftdi_vcp_sys-7dfd3debbf10b458"}}],"rustflags":[],"metadata":8199227496823213954}

View File

@ -0,0 +1 @@
{"rustc":13421301608916057402,"features":"","target":0,"profile":0,"path":0,"deps":[[9924424717942368762,"build_script_build",false,4372853867711248231]],"local":[{"Precalculated":"13227858539.099377000s (D:\\Code\\ftdi-prog\\ftdi-vcp-sys\\src\\lib.rs)"}],"rustflags":[],"metadata":0}

View File

@ -0,0 +1 @@
{"rustc":13421301608916057402,"features":"[]","target":10429514197457385088,"profile":14996655781355331481,"path":4820456077575211582,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\ftdi-vcp-sys-8c8ea9f3baf3e349\\dep-build-script-build_script_build-8c8ea9f3baf3e349"}}],"rustflags":[],"metadata":8199227496823213954}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1,27 @@
{"message":"expected `{`, found `FT_GetComPortNumber`","code":null,"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":2893,"byte_end":2912,"line_start":77,"line_end":77,"column_start":33,"column_end":52,"is_primary":true,"text":[{"text":" let result = unsafe FT_GetComPortNumber","highlight_start":33,"highlight_end":52}],"label":"expected `{`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: expected `{`, found `FT_GetComPortNumber`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:77:33\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m77\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m let result = unsafe FT_GetComPortNumber\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mexpected `{`\u001b[0m\n\n"}
{"message":"cannot find type `PVOID` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":118,"byte_end":123,"line_start":5,"line_end":5,"column_start":30,"column_end":35,"is_primary":true,"text":[{"text":" fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;","highlight_start":30,"highlight_end":35}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `PVOID` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:5:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `PVOID` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":132,"byte_end":137,"line_start":5,"line_end":5,"column_start":44,"column_end":49,"is_primary":true,"text":[{"text":" fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;","highlight_start":44,"highlight_end":49}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `PVOID` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:5:44\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `DWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":146,"byte_end":151,"line_start":5,"line_end":5,"column_start":58,"column_end":63,"is_primary":true,"text":[{"text":" fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;","highlight_start":58,"highlight_end":63}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `DWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:5:58\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":156,"byte_end":165,"line_start":5,"line_end":5,"column_start":68,"column_end":77,"is_primary":true,"text":[{"text":" fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;","highlight_start":68,"highlight_end":77}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:5:68\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_ListDevices(pArg1: PVOID, pArg2: PVOID, Flags: DWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":211,"byte_end":218,"line_start":6,"line_end":6,"column_start":45,"column_end":52,"is_primary":true,"text":[{"text":" fn FT_CreateDeviceInfoList(lpdwNumDevs: LPDWORD) -> FT_STATUS;","highlight_start":45,"highlight_end":52}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:6:45\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m6\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_CreateDeviceInfoList(lpdwNumDevs: LPDWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":223,"byte_end":232,"line_start":6,"line_end":6,"column_start":57,"column_end":66,"is_primary":true,"text":[{"text":" fn FT_CreateDeviceInfoList(lpdwNumDevs: LPDWORD) -> FT_STATUS;","highlight_start":57,"highlight_end":66}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:6:57\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m6\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_CreateDeviceInfoList(lpdwNumDevs: LPDWORD) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_DEVICE_LIST_INFO_NODE` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":283,"byte_end":307,"line_start":8,"line_end":8,"column_start":21,"column_end":45,"is_primary":true,"text":[{"text":" pDest: *mut FT_DEVICE_LIST_INFO_NODE,","highlight_start":21,"highlight_end":45}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_DEVICE_LIST_INFO_NODE` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:8:21\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m8\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m pDest: *mut FT_DEVICE_LIST_INFO_NODE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":330,"byte_end":337,"line_start":9,"line_end":9,"column_start":22,"column_end":29,"is_primary":true,"text":[{"text":" lpdwNumDevs: LPDWORD,","highlight_start":22,"highlight_end":29}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:9:22\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m9\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpdwNumDevs: LPDWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":348,"byte_end":357,"line_start":10,"line_end":10,"column_start":10,"column_end":19,"is_primary":true,"text":[{"text":" ) -> FT_STATUS;","highlight_start":10,"highlight_end":19}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:10:10\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m10\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m ) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `DWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":407,"byte_end":412,"line_start":12,"line_end":12,"column_start":18,"column_end":23,"is_primary":true,"text":[{"text":" dwIndex: DWORD,","highlight_start":18,"highlight_end":23}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `DWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:12:18\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m12\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m dwIndex: DWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":433,"byte_end":440,"line_start":13,"line_end":13,"column_start":20,"column_end":27,"is_primary":true,"text":[{"text":" lpdwFlags: LPDWORD,","highlight_start":20,"highlight_end":27}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:13:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m13\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpdwFlags: LPDWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":460,"byte_end":467,"line_start":14,"line_end":14,"column_start":19,"column_end":26,"is_primary":true,"text":[{"text":" lpdwType: LPDWORD,","highlight_start":19,"highlight_end":26}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:14:19\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m14\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpdwType: LPDWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":485,"byte_end":492,"line_start":15,"line_end":15,"column_start":17,"column_end":24,"is_primary":true,"text":[{"text":" lpdwID: LPDWORD,","highlight_start":17,"highlight_end":24}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:15:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m15\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpdwID: LPDWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPDWORD` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":513,"byte_end":520,"line_start":16,"line_end":16,"column_start":20,"column_end":27,"is_primary":true,"text":[{"text":" lpdwLocId: LPDWORD,","highlight_start":20,"highlight_end":27}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPDWORD` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:16:20\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m16\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpdwLocId: LPDWORD,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPVOID` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":546,"byte_end":552,"line_start":17,"line_end":17,"column_start":25,"column_end":31,"is_primary":true,"text":[{"text":" lpSerialNumber: LPVOID,","highlight_start":25,"highlight_end":31}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPVOID` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:17:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m17\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpSerialNumber: LPVOID,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPVOID` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":577,"byte_end":583,"line_start":18,"line_end":18,"column_start":24,"column_end":30,"is_primary":true,"text":[{"text":" lpDescription: LPVOID,","highlight_start":24,"highlight_end":30}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPVOID` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:18:24\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m18\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m lpDescription: LPVOID,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_HANDLE` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":609,"byte_end":618,"line_start":19,"line_end":19,"column_start":25,"column_end":34,"is_primary":true,"text":[{"text":" pftHandle: *mut FT_HANDLE,","highlight_start":25,"highlight_end":34}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_HANDLE` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:19:25\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m19\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m pftHandle: *mut FT_HANDLE,\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":629,"byte_end":638,"line_start":20,"line_end":20,"column_start":10,"column_end":19,"is_primary":true,"text":[{"text":" ) -> FT_STATUS;","highlight_start":10,"highlight_end":19}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:20:10\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m20\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m ) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_HANDLE` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":677,"byte_end":686,"line_start":21,"line_end":21,"column_start":38,"column_end":47,"is_primary":true,"text":[{"text":" fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;","highlight_start":38,"highlight_end":47}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_HANDLE` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:21:38\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m21\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `LPLONG` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":707,"byte_end":713,"line_start":21,"line_end":21,"column_start":68,"column_end":74,"is_primary":true,"text":[{"text":" fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;","highlight_start":68,"highlight_end":74}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `LPLONG` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:21:68\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m21\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":718,"byte_end":727,"line_start":21,"line_end":21,"column_start":79,"column_end":88,"is_primary":true,"text":[{"text":" fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;","highlight_start":79,"highlight_end":88}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:21:79\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m21\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_GetComPortNumber(ftHandle: FT_HANDLE, lpdwComPortNumber: LPLONG) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `int` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":758,"byte_end":761,"line_start":22,"line_end":22,"column_start":30,"column_end":33,"is_primary":true,"text":[{"text":" fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;","highlight_start":30,"highlight_end":33}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `int` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:22:30\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m22\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_HANDLE` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":777,"byte_end":786,"line_start":22,"line_end":22,"column_start":49,"column_end":58,"is_primary":true,"text":[{"text":" fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;","highlight_start":49,"highlight_end":58}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_HANDLE` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:22:49\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m22\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"cannot find type `FT_STATUS` in this scope","code":{"code":"E0412","explanation":"The type name used is not in scope.\n\nErroneous code examples:\n\n```compile_fail,E0412\nimpl Something {} // error: type name `Something` is not in scope\n\n// or:\n\ntrait Foo {\n fn bar(N); // error: type name `N` is not in scope\n}\n\n// or:\n\nfn foo(x: T) {} // type name `T` is not in scope\n```\n\nTo fix this error, please verify you didn't misspell the type name, you did\ndeclare it or imported it into the scope. Examples:\n\n```\nstruct Something;\n\nimpl Something {} // ok!\n\n// or:\n\ntrait Foo {\n type N;\n\n fn bar(_: Self::N); // ok!\n}\n\n// or:\n\nfn foo<T>(x: T) {} // ok!\n```\n\nAnother case that causes this error is when a type is imported into a parent\nmodule. To fix this, you can follow the suggestion and use File directly or\n`use super::File;` which will import the types from the parent namespace. An\nexample that causes this error is below:\n\n```compile_fail,E0412\nuse std::fs::File;\n\nmod foo {\n fn some_function(f: File) {}\n}\n```\n\n```\nuse std::fs::File;\n\nmod foo {\n // either\n use super::File;\n // or\n // use std::fs::File;\n fn foo(f: File) {}\n}\n# fn main() {} // don't insert it for us; that'll break imports\n```\n"},"level":"error","spans":[{"file_name":"src\\lib.rs","byte_start":791,"byte_end":800,"line_start":22,"line_end":22,"column_start":63,"column_end":72,"is_primary":true,"text":[{"text":" fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;","highlight_start":63,"highlight_end":72}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror[E0412]\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: cannot find type `FT_STATUS` in this scope\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m--> \u001b[0m\u001b[0msrc\\lib.rs:22:63\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;14m22\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m fn FT_Open(deviceNumber: int, pHandle: *mut FT_HANDLE) -> FT_STATUS;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;14m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9m^^^^^^^^^\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;9mnot found in this scope\u001b[0m\n\n"}
{"message":"aborting due to 25 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;9merror\u001b[0m\u001b[0m\u001b[1m\u001b[38;5;15m: aborting due to 25 previous errors\u001b[0m\n\n"}
{"message":"For more information about this error, try `rustc --explain E0412`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[38;5;15mFor more information about this error, try `rustc --explain E0412`.\u001b[0m\n"}

View File

@ -0,0 +1 @@
{"rustc":13421301608916057402,"features":"","target":0,"profile":0,"path":0,"deps":[[2693066915275761720,"build_script_build",false,15338216487991594491]],"local":[{"RerunIfChanged":{"output":"debug\\build\\winapi-3db108a3bf0a609c\\output","paths":["build.rs"]}},{"RerunIfEnvChanged":{"var":"WINAPI_NO_BUNDLED_LIBRARIES","val":null}},{"RerunIfEnvChanged":{"var":"WINAPI_STATIC_NOBUNDLE","val":null}}],"rustflags":[],"metadata":0}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
{"rustc":13421301608916057402,"features":"[\"minwindef\", \"ntdef\"]","target":8642998604196091821,"profile":9935990280773120926,"path":10244067839859063015,"deps":[[2693066915275761720,"build_script_build",false,5704095395557638841]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\winapi-b10f48ba92fafd80\\dep-lib-winapi-b10f48ba92fafd80"}}],"rustflags":[],"metadata":16266002775178098827}

View File

@ -0,0 +1 @@
{"rustc":13421301608916057402,"features":"[\"minwindef\", \"ntdef\"]","target":10088282520713642473,"profile":9935990280773120926,"path":7842293610570219779,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\winapi-def045736e0cffad\\dep-build-script-build_script_build-def045736e0cffad"}}],"rustflags":[],"metadata":16266002775178098827}

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1 @@
cargo:rustc-link-search=native=lib/vcp-2.12.28/amd64

View File

@ -0,0 +1 @@
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\build\ftdi-vcp-sys-87f54724bfd22a2f\out

View File

@ -0,0 +1,5 @@
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\build\ftdi-vcp-sys-8c8ea9f3baf3e349\build_script_build-8c8ea9f3baf3e349.exe: build.rs
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\build\ftdi-vcp-sys-8c8ea9f3baf3e349\build_script_build-8c8ea9f3baf3e349.d: build.rs
build.rs:

View File

@ -0,0 +1 @@
This file has an mtime of when this was started.

View File

@ -0,0 +1,5 @@
cargo:rerun-if-changed=build.rs
cargo:rerun-if-env-changed=WINAPI_NO_BUNDLED_LIBRARIES
cargo:rerun-if-env-changed=WINAPI_STATIC_NOBUNDLE
cargo:rustc-cfg=feature="basetsd"
cargo:rustc-cfg=feature="guiddef"

View File

@ -0,0 +1 @@
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\build\winapi-3db108a3bf0a609c\out

View File

@ -0,0 +1,5 @@
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\build\winapi-def045736e0cffad\build_script_build-def045736e0cffad.exe: C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\build.rs
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\build\winapi-def045736e0cffad\build_script_build-def045736e0cffad.d: C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\build.rs
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\build.rs:

View File

@ -0,0 +1,5 @@
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\ftdi_vcp_sys-58b72ef14df83c34.exe: src\lib.rs
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\ftdi_vcp_sys-58b72ef14df83c34.d: src\lib.rs
src\lib.rs:

View File

@ -0,0 +1,5 @@
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\ftdi_vcp_sys-7a2bd70881ee01b2.exe: src\lib.rs
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\ftdi_vcp_sys-7a2bd70881ee01b2.d: src\lib.rs
src\lib.rs:

View File

@ -0,0 +1,7 @@
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\ftdi_vcp_sys-7dfd3debbf10b458.rmeta: src\lib.rs
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\libftdi_vcp_sys-7dfd3debbf10b458.rlib: src\lib.rs
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\ftdi_vcp_sys-7dfd3debbf10b458.d: src\lib.rs
src\lib.rs:

View File

@ -0,0 +1,7 @@
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\ftdi_vcp_sys-b8e3bca4d18f1d2b.rmeta: src\lib.rs
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\libftdi_vcp_sys-b8e3bca4d18f1d2b.rlib: src\lib.rs
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\ftdi_vcp_sys-b8e3bca4d18f1d2b.d: src\lib.rs
src\lib.rs:

View File

@ -0,0 +1,18 @@
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\winapi-b10f48ba92fafd80.rmeta: C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\lib.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\macros.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\km\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\basetsd.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\guiddef.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\minwindef.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\ntdef.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\um\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\um\gl\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\vc\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\winrt\mod.rs
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\libwinapi-b10f48ba92fafd80.rlib: C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\lib.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\macros.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\km\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\basetsd.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\guiddef.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\minwindef.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\ntdef.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\um\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\um\gl\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\vc\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\winrt\mod.rs
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\deps\winapi-b10f48ba92fafd80.d: C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\lib.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\macros.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\km\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\basetsd.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\guiddef.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\minwindef.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\ntdef.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\um\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\um\gl\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\vc\mod.rs C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\winrt\mod.rs
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\lib.rs:
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\macros.rs:
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\km\mod.rs:
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\mod.rs:
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\basetsd.rs:
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\guiddef.rs:
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\minwindef.rs:
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\shared\ntdef.rs:
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\um\mod.rs:
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\um\gl\mod.rs:
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\vc\mod.rs:
C:\Users\smcro\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\winrt\mod.rs:

View File

@ -0,0 +1 @@
D:\Code\ftdi-prog\ftdi-vcp-sys\target\debug\ftdi_vcp_sys-58b72ef14df83c34.exe: D:\Code\ftdi-prog\ftdi-vcp-sys\build.rs D:\Code\ftdi-prog\ftdi-vcp-sys\src\lib.rs

Some files were not shown because too many files have changed in this diff Show More