zigwin32/win32/devices/device_and_driver_installat...

9010 lines
369 KiB
Zig

//! NOTE: this file is autogenerated, DO NOT MODIFY
//--------------------------------------------------------------------------------
// Section: Constants (1509)
//--------------------------------------------------------------------------------
pub const CM_PROB_NOT_CONFIGURED = @as(u32, 1);
pub const CM_PROB_DEVLOADER_FAILED = @as(u32, 2);
pub const CM_PROB_OUT_OF_MEMORY = @as(u32, 3);
pub const CM_PROB_ENTRY_IS_WRONG_TYPE = @as(u32, 4);
pub const CM_PROB_LACKED_ARBITRATOR = @as(u32, 5);
pub const CM_PROB_BOOT_CONFIG_CONFLICT = @as(u32, 6);
pub const CM_PROB_FAILED_FILTER = @as(u32, 7);
pub const CM_PROB_DEVLOADER_NOT_FOUND = @as(u32, 8);
pub const CM_PROB_INVALID_DATA = @as(u32, 9);
pub const CM_PROB_FAILED_START = @as(u32, 10);
pub const CM_PROB_LIAR = @as(u32, 11);
pub const CM_PROB_NORMAL_CONFLICT = @as(u32, 12);
pub const CM_PROB_NOT_VERIFIED = @as(u32, 13);
pub const CM_PROB_NEED_RESTART = @as(u32, 14);
pub const CM_PROB_REENUMERATION = @as(u32, 15);
pub const CM_PROB_PARTIAL_LOG_CONF = @as(u32, 16);
pub const CM_PROB_UNKNOWN_RESOURCE = @as(u32, 17);
pub const CM_PROB_REINSTALL = @as(u32, 18);
pub const CM_PROB_REGISTRY = @as(u32, 19);
pub const CM_PROB_VXDLDR = @as(u32, 20);
pub const CM_PROB_WILL_BE_REMOVED = @as(u32, 21);
pub const CM_PROB_DISABLED = @as(u32, 22);
pub const CM_PROB_DEVLOADER_NOT_READY = @as(u32, 23);
pub const CM_PROB_DEVICE_NOT_THERE = @as(u32, 24);
pub const CM_PROB_MOVED = @as(u32, 25);
pub const CM_PROB_TOO_EARLY = @as(u32, 26);
pub const CM_PROB_NO_VALID_LOG_CONF = @as(u32, 27);
pub const CM_PROB_FAILED_INSTALL = @as(u32, 28);
pub const CM_PROB_HARDWARE_DISABLED = @as(u32, 29);
pub const CM_PROB_CANT_SHARE_IRQ = @as(u32, 30);
pub const CM_PROB_FAILED_ADD = @as(u32, 31);
pub const CM_PROB_DISABLED_SERVICE = @as(u32, 32);
pub const CM_PROB_TRANSLATION_FAILED = @as(u32, 33);
pub const CM_PROB_NO_SOFTCONFIG = @as(u32, 34);
pub const CM_PROB_BIOS_TABLE = @as(u32, 35);
pub const CM_PROB_IRQ_TRANSLATION_FAILED = @as(u32, 36);
pub const CM_PROB_FAILED_DRIVER_ENTRY = @as(u32, 37);
pub const CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD = @as(u32, 38);
pub const CM_PROB_DRIVER_FAILED_LOAD = @as(u32, 39);
pub const CM_PROB_DRIVER_SERVICE_KEY_INVALID = @as(u32, 40);
pub const CM_PROB_LEGACY_SERVICE_NO_DEVICES = @as(u32, 41);
pub const CM_PROB_DUPLICATE_DEVICE = @as(u32, 42);
pub const CM_PROB_FAILED_POST_START = @as(u32, 43);
pub const CM_PROB_HALTED = @as(u32, 44);
pub const CM_PROB_PHANTOM = @as(u32, 45);
pub const CM_PROB_SYSTEM_SHUTDOWN = @as(u32, 46);
pub const CM_PROB_HELD_FOR_EJECT = @as(u32, 47);
pub const CM_PROB_DRIVER_BLOCKED = @as(u32, 48);
pub const CM_PROB_REGISTRY_TOO_LARGE = @as(u32, 49);
pub const CM_PROB_SETPROPERTIES_FAILED = @as(u32, 50);
pub const CM_PROB_WAITING_ON_DEPENDENCY = @as(u32, 51);
pub const CM_PROB_UNSIGNED_DRIVER = @as(u32, 52);
pub const CM_PROB_USED_BY_DEBUGGER = @as(u32, 53);
pub const CM_PROB_DEVICE_RESET = @as(u32, 54);
pub const CM_PROB_CONSOLE_LOCKED = @as(u32, 55);
pub const CM_PROB_NEED_CLASS_CONFIG = @as(u32, 56);
pub const CM_PROB_GUEST_ASSIGNMENT_FAILED = @as(u32, 57);
pub const NUM_CM_PROB_V1 = @as(u32, 37);
pub const NUM_CM_PROB_V2 = @as(u32, 50);
pub const NUM_CM_PROB_V3 = @as(u32, 51);
pub const NUM_CM_PROB_V4 = @as(u32, 52);
pub const NUM_CM_PROB_V5 = @as(u32, 53);
pub const NUM_CM_PROB_V6 = @as(u32, 54);
pub const NUM_CM_PROB_V7 = @as(u32, 55);
pub const NUM_CM_PROB_V8 = @as(u32, 57);
pub const NUM_CM_PROB_V9 = @as(u32, 58);
pub const NUM_CM_PROB = @as(u32, 58);
pub const DN_ROOT_ENUMERATED = @as(u32, 1);
pub const DN_DRIVER_LOADED = @as(u32, 2);
pub const DN_ENUM_LOADED = @as(u32, 4);
pub const DN_STARTED = @as(u32, 8);
pub const DN_MANUAL = @as(u32, 16);
pub const DN_NEED_TO_ENUM = @as(u32, 32);
pub const DN_NOT_FIRST_TIME = @as(u32, 64);
pub const DN_HARDWARE_ENUM = @as(u32, 128);
pub const DN_LIAR = @as(u32, 256);
pub const DN_HAS_MARK = @as(u32, 512);
pub const DN_HAS_PROBLEM = @as(u32, 1024);
pub const DN_FILTERED = @as(u32, 2048);
pub const DN_MOVED = @as(u32, 4096);
pub const DN_DISABLEABLE = @as(u32, 8192);
pub const DN_REMOVABLE = @as(u32, 16384);
pub const DN_PRIVATE_PROBLEM = @as(u32, 32768);
pub const DN_MF_PARENT = @as(u32, 65536);
pub const DN_MF_CHILD = @as(u32, 131072);
pub const DN_WILL_BE_REMOVED = @as(u32, 262144);
pub const DN_NOT_FIRST_TIMEE = @as(u32, 524288);
pub const DN_STOP_FREE_RES = @as(u32, 1048576);
pub const DN_REBAL_CANDIDATE = @as(u32, 2097152);
pub const DN_BAD_PARTIAL = @as(u32, 4194304);
pub const DN_NT_ENUMERATOR = @as(u32, 8388608);
pub const DN_NT_DRIVER = @as(u32, 16777216);
pub const DN_NEEDS_LOCKING = @as(u32, 33554432);
pub const DN_ARM_WAKEUP = @as(u32, 67108864);
pub const DN_APM_ENUMERATOR = @as(u32, 134217728);
pub const DN_APM_DRIVER = @as(u32, 268435456);
pub const DN_SILENT_INSTALL = @as(u32, 536870912);
pub const DN_NO_SHOW_IN_DM = @as(u32, 1073741824);
pub const DN_BOOT_LOG_PROB = @as(u32, 2147483648);
pub const DN_NEED_RESTART = @as(u32, 256);
pub const DN_DRIVER_BLOCKED = @as(u32, 64);
pub const DN_LEGACY_DRIVER = @as(u32, 4096);
pub const DN_CHILD_WITH_INVALID_ID = @as(u32, 512);
pub const DN_DEVICE_DISCONNECTED = @as(u32, 33554432);
pub const DN_QUERY_REMOVE_PENDING = @as(u32, 65536);
pub const DN_QUERY_REMOVE_ACTIVE = @as(u32, 131072);
pub const LCPRI_FORCECONFIG = @as(u32, 0);
pub const LCPRI_BOOTCONFIG = @as(u32, 1);
pub const LCPRI_DESIRED = @as(u32, 8192);
pub const LCPRI_NORMAL = @as(u32, 12288);
pub const LCPRI_LASTBESTCONFIG = @as(u32, 16383);
pub const LCPRI_SUBOPTIMAL = @as(u32, 20480);
pub const LCPRI_LASTSOFTCONFIG = @as(u32, 32767);
pub const LCPRI_RESTART = @as(u32, 32768);
pub const LCPRI_REBOOT = @as(u32, 36864);
pub const LCPRI_POWEROFF = @as(u32, 40960);
pub const LCPRI_HARDRECONFIG = @as(u32, 49152);
pub const LCPRI_HARDWIRED = @as(u32, 57344);
pub const LCPRI_IMPOSSIBLE = @as(u32, 61440);
pub const LCPRI_DISABLED = @as(u32, 65535);
pub const MAX_LCPRI = @as(u32, 65535);
pub const CM_DEVICE_PANEL_SIDE_UNKNOWN = @as(u32, 0);
pub const CM_DEVICE_PANEL_SIDE_TOP = @as(u32, 1);
pub const CM_DEVICE_PANEL_SIDE_BOTTOM = @as(u32, 2);
pub const CM_DEVICE_PANEL_SIDE_LEFT = @as(u32, 3);
pub const CM_DEVICE_PANEL_SIDE_RIGHT = @as(u32, 4);
pub const CM_DEVICE_PANEL_SIDE_FRONT = @as(u32, 5);
pub const CM_DEVICE_PANEL_SIDE_BACK = @as(u32, 6);
pub const CM_DEVICE_PANEL_EDGE_UNKNOWN = @as(u32, 0);
pub const CM_DEVICE_PANEL_EDGE_TOP = @as(u32, 1);
pub const CM_DEVICE_PANEL_EDGE_BOTTOM = @as(u32, 2);
pub const CM_DEVICE_PANEL_EDGE_LEFT = @as(u32, 3);
pub const CM_DEVICE_PANEL_EDGE_RIGHT = @as(u32, 4);
pub const CM_DEVICE_PANEL_SHAPE_UNKNOWN = @as(u32, 0);
pub const CM_DEVICE_PANEL_SHAPE_RECTANGLE = @as(u32, 1);
pub const CM_DEVICE_PANEL_SHAPE_OVAL = @as(u32, 2);
pub const CM_DEVICE_PANEL_ORIENTATION_HORIZONTAL = @as(u32, 0);
pub const CM_DEVICE_PANEL_ORIENTATION_VERTICAL = @as(u32, 1);
pub const CM_DEVICE_PANEL_JOINT_TYPE_UNKNOWN = @as(u32, 0);
pub const CM_DEVICE_PANEL_JOINT_TYPE_PLANAR = @as(u32, 1);
pub const CM_DEVICE_PANEL_JOINT_TYPE_HINGE = @as(u32, 2);
pub const CM_DEVICE_PANEL_JOINT_TYPE_PIVOT = @as(u32, 3);
pub const CM_DEVICE_PANEL_JOINT_TYPE_SWIVEL = @as(u32, 4);
pub const GUID_DEVCLASS_1394 = Guid.initString("6bdd1fc1-810f-11d0-bec7-08002be2092f");
pub const GUID_DEVCLASS_1394DEBUG = Guid.initString("66f250d6-7801-4a64-b139-eea80a450b24");
pub const GUID_DEVCLASS_61883 = Guid.initString("7ebefbc0-3200-11d2-b4c2-00a0c9697d07");
pub const GUID_DEVCLASS_ADAPTER = Guid.initString("4d36e964-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_APMSUPPORT = Guid.initString("d45b1c18-c8fa-11d1-9f77-0000f805f530");
pub const GUID_DEVCLASS_AVC = Guid.initString("c06ff265-ae09-48f0-812c-16753d7cba83");
pub const GUID_DEVCLASS_BATTERY = Guid.initString("72631e54-78a4-11d0-bcf7-00aa00b7b32a");
pub const GUID_DEVCLASS_BIOMETRIC = Guid.initString("53d29ef7-377c-4d14-864b-eb3a85769359");
pub const GUID_DEVCLASS_BLUETOOTH = Guid.initString("e0cbf06c-cd8b-4647-bb8a-263b43f0f974");
pub const GUID_DEVCLASS_CAMERA = Guid.initString("ca3e7ab9-b4c3-4ae6-8251-579ef933890f");
pub const GUID_DEVCLASS_CDROM = Guid.initString("4d36e965-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_COMPUTEACCELERATOR = Guid.initString("f01a9d53-3ff6-48d2-9f97-c8a7004be10c");
pub const GUID_DEVCLASS_COMPUTER = Guid.initString("4d36e966-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_DECODER = Guid.initString("6bdd1fc2-810f-11d0-bec7-08002be2092f");
pub const GUID_DEVCLASS_DISKDRIVE = Guid.initString("4d36e967-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_DISPLAY = Guid.initString("4d36e968-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_DOT4 = Guid.initString("48721b56-6795-11d2-b1a8-0080c72e74a2");
pub const GUID_DEVCLASS_DOT4PRINT = Guid.initString("49ce6ac8-6f86-11d2-b1e5-0080c72e74a2");
pub const GUID_DEVCLASS_EHSTORAGESILO = Guid.initString("9da2b80f-f89f-4a49-a5c2-511b085b9e8a");
pub const GUID_DEVCLASS_ENUM1394 = Guid.initString("c459df55-db08-11d1-b009-00a0c9081ff6");
pub const GUID_DEVCLASS_EXTENSION = Guid.initString("e2f84ce7-8efa-411c-aa69-97454ca4cb57");
pub const GUID_DEVCLASS_FDC = Guid.initString("4d36e969-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_FIRMWARE = Guid.initString("f2e7dd72-6468-4e36-b6f1-6488f42c1b52");
pub const GUID_DEVCLASS_FLOPPYDISK = Guid.initString("4d36e980-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_GPS = Guid.initString("6bdd1fc3-810f-11d0-bec7-08002be2092f");
pub const GUID_DEVCLASS_HDC = Guid.initString("4d36e96a-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_HIDCLASS = Guid.initString("745a17a0-74d3-11d0-b6fe-00a0c90f57da");
pub const GUID_DEVCLASS_HOLOGRAPHIC = Guid.initString("d612553d-06b1-49ca-8938-e39ef80eb16f");
pub const GUID_DEVCLASS_IMAGE = Guid.initString("6bdd1fc6-810f-11d0-bec7-08002be2092f");
pub const GUID_DEVCLASS_INFINIBAND = Guid.initString("30ef7132-d858-4a0c-ac24-b9028a5cca3f");
pub const GUID_DEVCLASS_INFRARED = Guid.initString("6bdd1fc5-810f-11d0-bec7-08002be2092f");
pub const GUID_DEVCLASS_KEYBOARD = Guid.initString("4d36e96b-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_LEGACYDRIVER = Guid.initString("8ecc055d-047f-11d1-a537-0000f8753ed1");
pub const GUID_DEVCLASS_MEDIA = Guid.initString("4d36e96c-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_MEDIUM_CHANGER = Guid.initString("ce5939ae-ebde-11d0-b181-0000f8753ec4");
pub const GUID_DEVCLASS_MEMORY = Guid.initString("5099944a-f6b9-4057-a056-8c550228544c");
pub const GUID_DEVCLASS_MODEM = Guid.initString("4d36e96d-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_MONITOR = Guid.initString("4d36e96e-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_MOUSE = Guid.initString("4d36e96f-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_MTD = Guid.initString("4d36e970-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_MULTIFUNCTION = Guid.initString("4d36e971-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_MULTIPORTSERIAL = Guid.initString("50906cb8-ba12-11d1-bf5d-0000f805f530");
pub const GUID_DEVCLASS_NET = Guid.initString("4d36e972-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_NETCLIENT = Guid.initString("4d36e973-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_NETDRIVER = Guid.initString("87ef9ad1-8f70-49ee-b215-ab1fcadcbe3c");
pub const GUID_DEVCLASS_NETSERVICE = Guid.initString("4d36e974-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_NETTRANS = Guid.initString("4d36e975-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_NETUIO = Guid.initString("78912bc1-cb8e-4b28-a329-f322ebadbe0f");
pub const GUID_DEVCLASS_NODRIVER = Guid.initString("4d36e976-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_PCMCIA = Guid.initString("4d36e977-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_PNPPRINTERS = Guid.initString("4658ee7e-f050-11d1-b6bd-00c04fa372a7");
pub const GUID_DEVCLASS_PORTS = Guid.initString("4d36e978-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_PRINTER = Guid.initString("4d36e979-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_PRINTERUPGRADE = Guid.initString("4d36e97a-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_PRINTQUEUE = Guid.initString("1ed2bbf9-11f0-4084-b21f-ad83a8e6dcdc");
pub const GUID_DEVCLASS_PROCESSOR = Guid.initString("50127dc3-0f36-415e-a6cc-4cb3be910b65");
pub const GUID_DEVCLASS_SBP2 = Guid.initString("d48179be-ec20-11d1-b6b8-00c04fa372a7");
pub const GUID_DEVCLASS_SCMDISK = Guid.initString("53966cb1-4d46-4166-bf23-c522403cd495");
pub const GUID_DEVCLASS_SCMVOLUME = Guid.initString("53ccb149-e543-4c84-b6e0-bce4f6b7e806");
pub const GUID_DEVCLASS_SCSIADAPTER = Guid.initString("4d36e97b-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_SECURITYACCELERATOR = Guid.initString("268c95a1-edfe-11d3-95c3-0010dc4050a5");
pub const GUID_DEVCLASS_SENSOR = Guid.initString("5175d334-c371-4806-b3ba-71fd53c9258d");
pub const GUID_DEVCLASS_SIDESHOW = Guid.initString("997b5d8d-c442-4f2e-baf3-9c8e671e9e21");
pub const GUID_DEVCLASS_SMARTCARDREADER = Guid.initString("50dd5230-ba8a-11d1-bf5d-0000f805f530");
pub const GUID_DEVCLASS_SMRDISK = Guid.initString("53487c23-680f-4585-acc3-1f10d6777e82");
pub const GUID_DEVCLASS_SMRVOLUME = Guid.initString("53b3cf03-8f5a-4788-91b6-d19ed9fcccbf");
pub const GUID_DEVCLASS_SOFTWARECOMPONENT = Guid.initString("5c4c3332-344d-483c-8739-259e934c9cc8");
pub const GUID_DEVCLASS_SOUND = Guid.initString("4d36e97c-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_SYSTEM = Guid.initString("4d36e97d-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_TAPEDRIVE = Guid.initString("6d807884-7d21-11cf-801c-08002be10318");
pub const GUID_DEVCLASS_UNKNOWN = Guid.initString("4d36e97e-e325-11ce-bfc1-08002be10318");
pub const GUID_DEVCLASS_UCM = Guid.initString("e6f1aa1c-7f3b-4473-b2e8-c97d8ac71d53");
pub const GUID_DEVCLASS_USB = Guid.initString("36fc9e60-c465-11cf-8056-444553540000");
pub const GUID_DEVCLASS_VOLUME = Guid.initString("71a27cdd-812a-11d0-bec7-08002be2092f");
pub const GUID_DEVCLASS_VOLUMESNAPSHOT = Guid.initString("533c5b84-ec70-11d2-9505-00c04f79deaf");
pub const GUID_DEVCLASS_WCEUSBS = Guid.initString("25dbce51-6c8f-4a72-8a6d-b54c2b4fc835");
pub const GUID_DEVCLASS_WPD = Guid.initString("eec5ad98-8080-425f-922a-dabf3de3f69a");
pub const GUID_DEVCLASS_FSFILTER_TOP = Guid.initString("b369baf4-5568-4e82-a87e-a93eb16bca87");
pub const GUID_DEVCLASS_FSFILTER_ACTIVITYMONITOR = Guid.initString("b86dff51-a31e-4bac-b3cf-e8cfe75c9fc2");
pub const GUID_DEVCLASS_FSFILTER_UNDELETE = Guid.initString("fe8f1572-c67a-48c0-bbac-0b5c6d66cafb");
pub const GUID_DEVCLASS_FSFILTER_ANTIVIRUS = Guid.initString("b1d1a169-c54f-4379-81db-bee7d88d7454");
pub const GUID_DEVCLASS_FSFILTER_REPLICATION = Guid.initString("48d3ebc4-4cf8-48ff-b869-9c68ad42eb9f");
pub const GUID_DEVCLASS_FSFILTER_CONTINUOUSBACKUP = Guid.initString("71aa14f8-6fad-4622-ad77-92bb9d7e6947");
pub const GUID_DEVCLASS_FSFILTER_CONTENTSCREENER = Guid.initString("3e3f0674-c83c-4558-bb26-9820e1eba5c5");
pub const GUID_DEVCLASS_FSFILTER_QUOTAMANAGEMENT = Guid.initString("8503c911-a6c7-4919-8f79-5028f5866b0c");
pub const GUID_DEVCLASS_FSFILTER_SYSTEMRECOVERY = Guid.initString("2db15374-706e-4131-a0c7-d7c78eb0289a");
pub const GUID_DEVCLASS_FSFILTER_CFSMETADATASERVER = Guid.initString("cdcf0939-b75b-4630-bf76-80f7ba655884");
pub const GUID_DEVCLASS_FSFILTER_HSM = Guid.initString("d546500a-2aeb-45f6-9482-f4b1799c3177");
pub const GUID_DEVCLASS_FSFILTER_COMPRESSION = Guid.initString("f3586baf-b5aa-49b5-8d6c-0569284c639f");
pub const GUID_DEVCLASS_FSFILTER_ENCRYPTION = Guid.initString("a0a701c0-a511-42ff-aa6c-06dc0395576f");
pub const GUID_DEVCLASS_FSFILTER_VIRTUALIZATION = Guid.initString("f75a86c0-10d8-4c3a-b233-ed60e4cdfaac");
pub const GUID_DEVCLASS_FSFILTER_PHYSICALQUOTAMANAGEMENT = Guid.initString("6a0a8e78-bba6-4fc4-a709-1e33cd09d67e");
pub const GUID_DEVCLASS_FSFILTER_OPENFILEBACKUP = Guid.initString("f8ecafa6-66d1-41a5-899b-66585d7216b7");
pub const GUID_DEVCLASS_FSFILTER_SECURITYENHANCER = Guid.initString("d02bc3da-0c8e-4945-9bd5-f1883c226c8c");
pub const GUID_DEVCLASS_FSFILTER_COPYPROTECTION = Guid.initString("89786ff1-9c12-402f-9c9e-17753c7f4375");
pub const GUID_DEVCLASS_FSFILTER_BOTTOM = Guid.initString("37765ea0-5958-4fc9-b04b-2fdfef97e59e");
pub const GUID_DEVCLASS_FSFILTER_SYSTEM = Guid.initString("5d1b9aaa-01e2-46af-849f-272b3f324c46");
pub const GUID_DEVCLASS_FSFILTER_INFRASTRUCTURE = Guid.initString("e55fa6f9-128c-4d04-abab-630c74b1453a");
pub const LINE_LEN = @as(u32, 256);
pub const MAX_INF_STRING_LENGTH = @as(u32, 4096);
pub const MAX_INF_SECTION_NAME_LENGTH = @as(u32, 255);
pub const MAX_TITLE_LEN = @as(u32, 60);
pub const MAX_INSTRUCTION_LEN = @as(u32, 256);
pub const MAX_LABEL_LEN = @as(u32, 30);
pub const MAX_SERVICE_NAME_LEN = @as(u32, 256);
pub const MAX_SUBTITLE_LEN = @as(u32, 256);
pub const SP_MAX_MACHINENAME_LENGTH = @as(u32, 263);
pub const SP_ALTPLATFORM_FLAGS_VERSION_RANGE = @as(u32, 1);
pub const SP_ALTPLATFORM_FLAGS_SUITE_MASK = @as(u32, 2);
pub const INF_STYLE_CACHE_ENABLE = @as(u32, 16);
pub const INF_STYLE_CACHE_DISABLE = @as(u32, 32);
pub const INF_STYLE_CACHE_IGNORE = @as(u32, 64);
pub const DIRID_ABSOLUTE = @as(i32, -1);
pub const DIRID_ABSOLUTE_16BIT = @as(u32, 65535);
pub const DIRID_NULL = @as(u32, 0);
pub const DIRID_SRCPATH = @as(u32, 1);
pub const DIRID_WINDOWS = @as(u32, 10);
pub const DIRID_SYSTEM = @as(u32, 11);
pub const DIRID_DRIVERS = @as(u32, 12);
pub const DIRID_IOSUBSYS = @as(u32, 12);
pub const DIRID_DRIVER_STORE = @as(u32, 13);
pub const DIRID_INF = @as(u32, 17);
pub const DIRID_HELP = @as(u32, 18);
pub const DIRID_FONTS = @as(u32, 20);
pub const DIRID_VIEWERS = @as(u32, 21);
pub const DIRID_COLOR = @as(u32, 23);
pub const DIRID_APPS = @as(u32, 24);
pub const DIRID_SHARED = @as(u32, 25);
pub const DIRID_BOOT = @as(u32, 30);
pub const DIRID_SYSTEM16 = @as(u32, 50);
pub const DIRID_SPOOL = @as(u32, 51);
pub const DIRID_SPOOLDRIVERS = @as(u32, 52);
pub const DIRID_USERPROFILE = @as(u32, 53);
pub const DIRID_LOADER = @as(u32, 54);
pub const DIRID_PRINTPROCESSOR = @as(u32, 55);
pub const DIRID_DEFAULT = @as(u32, 11);
pub const DIRID_COMMON_STARTMENU = @as(u32, 16406);
pub const DIRID_COMMON_PROGRAMS = @as(u32, 16407);
pub const DIRID_COMMON_STARTUP = @as(u32, 16408);
pub const DIRID_COMMON_DESKTOPDIRECTORY = @as(u32, 16409);
pub const DIRID_COMMON_FAVORITES = @as(u32, 16415);
pub const DIRID_COMMON_APPDATA = @as(u32, 16419);
pub const DIRID_PROGRAM_FILES = @as(u32, 16422);
pub const DIRID_SYSTEM_X86 = @as(u32, 16425);
pub const DIRID_PROGRAM_FILES_X86 = @as(u32, 16426);
pub const DIRID_PROGRAM_FILES_COMMON = @as(u32, 16427);
pub const DIRID_PROGRAM_FILES_COMMONX86 = @as(u32, 16428);
pub const DIRID_COMMON_TEMPLATES = @as(u32, 16429);
pub const DIRID_COMMON_DOCUMENTS = @as(u32, 16430);
pub const DIRID_USER = @as(u32, 32768);
pub const SPFILENOTIFY_STARTQUEUE = @as(u32, 1);
pub const SPFILENOTIFY_ENDQUEUE = @as(u32, 2);
pub const SPFILENOTIFY_STARTSUBQUEUE = @as(u32, 3);
pub const SPFILENOTIFY_ENDSUBQUEUE = @as(u32, 4);
pub const SPFILENOTIFY_STARTDELETE = @as(u32, 5);
pub const SPFILENOTIFY_ENDDELETE = @as(u32, 6);
pub const SPFILENOTIFY_DELETEERROR = @as(u32, 7);
pub const SPFILENOTIFY_STARTRENAME = @as(u32, 8);
pub const SPFILENOTIFY_ENDRENAME = @as(u32, 9);
pub const SPFILENOTIFY_RENAMEERROR = @as(u32, 10);
pub const SPFILENOTIFY_STARTCOPY = @as(u32, 11);
pub const SPFILENOTIFY_ENDCOPY = @as(u32, 12);
pub const SPFILENOTIFY_COPYERROR = @as(u32, 13);
pub const SPFILENOTIFY_NEEDMEDIA = @as(u32, 14);
pub const SPFILENOTIFY_QUEUESCAN = @as(u32, 15);
pub const SPFILENOTIFY_CABINETINFO = @as(u32, 16);
pub const SPFILENOTIFY_FILEINCABINET = @as(u32, 17);
pub const SPFILENOTIFY_NEEDNEWCABINET = @as(u32, 18);
pub const SPFILENOTIFY_FILEEXTRACTED = @as(u32, 19);
pub const SPFILENOTIFY_FILEOPDELAYED = @as(u32, 20);
pub const SPFILENOTIFY_STARTBACKUP = @as(u32, 21);
pub const SPFILENOTIFY_BACKUPERROR = @as(u32, 22);
pub const SPFILENOTIFY_ENDBACKUP = @as(u32, 23);
pub const SPFILENOTIFY_QUEUESCAN_EX = @as(u32, 24);
pub const SPFILENOTIFY_STARTREGISTRATION = @as(u32, 25);
pub const SPFILENOTIFY_ENDREGISTRATION = @as(u32, 32);
pub const SPFILENOTIFY_QUEUESCAN_SIGNERINFO = @as(u32, 64);
pub const SPFILENOTIFY_LANGMISMATCH = @as(u32, 65536);
pub const SPFILENOTIFY_TARGETEXISTS = @as(u32, 131072);
pub const SPFILENOTIFY_TARGETNEWER = @as(u32, 262144);
pub const FILEOP_RENAME = @as(u32, 1);
pub const FILEOP_BACKUP = @as(u32, 3);
pub const FILEOP_ABORT = @as(u32, 0);
pub const FILEOP_DOIT = @as(u32, 1);
pub const FILEOP_SKIP = @as(u32, 2);
pub const FILEOP_RETRY = @as(u32, 1);
pub const FILEOP_NEWPATH = @as(u32, 4);
pub const COPYFLG_WARN_IF_SKIP = @as(u32, 1);
pub const COPYFLG_NOSKIP = @as(u32, 2);
pub const COPYFLG_NOVERSIONCHECK = @as(u32, 4);
pub const COPYFLG_FORCE_FILE_IN_USE = @as(u32, 8);
pub const COPYFLG_NO_OVERWRITE = @as(u32, 16);
pub const COPYFLG_NO_VERSION_DIALOG = @as(u32, 32);
pub const COPYFLG_OVERWRITE_OLDER_ONLY = @as(u32, 64);
pub const COPYFLG_PROTECTED_WINDOWS_DRIVER_FILE = @as(u32, 256);
pub const COPYFLG_REPLACEONLY = @as(u32, 1024);
pub const COPYFLG_NODECOMP = @as(u32, 2048);
pub const COPYFLG_REPLACE_BOOT_FILE = @as(u32, 4096);
pub const COPYFLG_NOPRUNE = @as(u32, 8192);
pub const COPYFLG_IN_USE_TRY_RENAME = @as(u32, 16384);
pub const DELFLG_IN_USE = @as(u32, 1);
pub const DELFLG_IN_USE1 = @as(u32, 65536);
pub const SPREG_SUCCESS = @as(u32, 0);
pub const SPREG_LOADLIBRARY = @as(u32, 1);
pub const SPREG_GETPROCADDR = @as(u32, 2);
pub const SPREG_REGSVR = @as(u32, 3);
pub const SPREG_DLLINSTALL = @as(u32, 4);
pub const SPREG_TIMEOUT = @as(u32, 5);
pub const SPREG_UNKNOWN = @as(u32, 4294967295);
pub const SPINT_ACTIVE = @as(u32, 1);
pub const SPINT_DEFAULT = @as(u32, 2);
pub const SPINT_REMOVED = @as(u32, 4);
pub const SPID_ACTIVE = @as(u32, 1);
pub const SPID_DEFAULT = @as(u32, 2);
pub const SPID_REMOVED = @as(u32, 4);
pub const DIF_SELECTDEVICE = @as(u32, 1);
pub const DIF_INSTALLDEVICE = @as(u32, 2);
pub const DIF_ASSIGNRESOURCES = @as(u32, 3);
pub const DIF_PROPERTIES = @as(u32, 4);
pub const DIF_REMOVE = @as(u32, 5);
pub const DIF_FIRSTTIMESETUP = @as(u32, 6);
pub const DIF_FOUNDDEVICE = @as(u32, 7);
pub const DIF_SELECTCLASSDRIVERS = @as(u32, 8);
pub const DIF_VALIDATECLASSDRIVERS = @as(u32, 9);
pub const DIF_INSTALLCLASSDRIVERS = @as(u32, 10);
pub const DIF_CALCDISKSPACE = @as(u32, 11);
pub const DIF_DESTROYPRIVATEDATA = @as(u32, 12);
pub const DIF_VALIDATEDRIVER = @as(u32, 13);
pub const DIF_DETECT = @as(u32, 15);
pub const DIF_INSTALLWIZARD = @as(u32, 16);
pub const DIF_DESTROYWIZARDDATA = @as(u32, 17);
pub const DIF_PROPERTYCHANGE = @as(u32, 18);
pub const DIF_ENABLECLASS = @as(u32, 19);
pub const DIF_DETECTVERIFY = @as(u32, 20);
pub const DIF_INSTALLDEVICEFILES = @as(u32, 21);
pub const DIF_UNREMOVE = @as(u32, 22);
pub const DIF_SELECTBESTCOMPATDRV = @as(u32, 23);
pub const DIF_ALLOW_INSTALL = @as(u32, 24);
pub const DIF_REGISTERDEVICE = @as(u32, 25);
pub const DIF_NEWDEVICEWIZARD_PRESELECT = @as(u32, 26);
pub const DIF_NEWDEVICEWIZARD_SELECT = @as(u32, 27);
pub const DIF_NEWDEVICEWIZARD_PREANALYZE = @as(u32, 28);
pub const DIF_NEWDEVICEWIZARD_POSTANALYZE = @as(u32, 29);
pub const DIF_NEWDEVICEWIZARD_FINISHINSTALL = @as(u32, 30);
pub const DIF_UNUSED1 = @as(u32, 31);
pub const DIF_INSTALLINTERFACES = @as(u32, 32);
pub const DIF_DETECTCANCEL = @as(u32, 33);
pub const DIF_REGISTER_COINSTALLERS = @as(u32, 34);
pub const DIF_ADDPROPERTYPAGE_ADVANCED = @as(u32, 35);
pub const DIF_ADDPROPERTYPAGE_BASIC = @as(u32, 36);
pub const DIF_RESERVED1 = @as(u32, 37);
pub const DIF_TROUBLESHOOTER = @as(u32, 38);
pub const DIF_POWERMESSAGEWAKE = @as(u32, 39);
pub const DIF_ADDREMOTEPROPERTYPAGE_ADVANCED = @as(u32, 40);
pub const DIF_UPDATEDRIVER_UI = @as(u32, 41);
pub const DIF_FINISHINSTALL_ACTION = @as(u32, 42);
pub const DIF_RESERVED2 = @as(u32, 48);
pub const DIF_MOVEDEVICE = @as(u32, 14);
pub const DI_SHOWOEM = @as(i32, 1);
pub const DI_SHOWCOMPAT = @as(i32, 2);
pub const DI_SHOWCLASS = @as(i32, 4);
pub const DI_SHOWALL = @as(i32, 7);
pub const DI_NOVCP = @as(i32, 8);
pub const DI_DIDCOMPAT = @as(i32, 16);
pub const DI_DIDCLASS = @as(i32, 32);
pub const DI_AUTOASSIGNRES = @as(i32, 64);
pub const DI_NEEDRESTART = @as(i32, 128);
pub const DI_NEEDREBOOT = @as(i32, 256);
pub const DI_NOBROWSE = @as(i32, 512);
pub const DI_MULTMFGS = @as(i32, 1024);
pub const DI_DISABLED = @as(i32, 2048);
pub const DI_GENERALPAGE_ADDED = @as(i32, 4096);
pub const DI_RESOURCEPAGE_ADDED = @as(i32, 8192);
pub const DI_PROPERTIES_CHANGE = @as(i32, 16384);
pub const DI_INF_IS_SORTED = @as(i32, 32768);
pub const DI_ENUMSINGLEINF = @as(i32, 65536);
pub const DI_DONOTCALLCONFIGMG = @as(i32, 131072);
pub const DI_INSTALLDISABLED = @as(i32, 262144);
pub const DI_COMPAT_FROM_CLASS = @as(i32, 524288);
pub const DI_CLASSINSTALLPARAMS = @as(i32, 1048576);
pub const DI_NODI_DEFAULTACTION = @as(i32, 2097152);
pub const DI_QUIETINSTALL = @as(i32, 8388608);
pub const DI_NOFILECOPY = @as(i32, 16777216);
pub const DI_FORCECOPY = @as(i32, 33554432);
pub const DI_DRIVERPAGE_ADDED = @as(i32, 67108864);
pub const DI_USECI_SELECTSTRINGS = @as(i32, 134217728);
pub const DI_OVERRIDE_INFFLAGS = @as(i32, 268435456);
pub const DI_PROPS_NOCHANGEUSAGE = @as(i32, 536870912);
pub const DI_NOSELECTICONS = @as(i32, 1073741824);
pub const DI_NOWRITE_IDS = @as(i32, -2147483648);
pub const DI_FLAGSEX_RESERVED2 = @as(i32, 1);
pub const DI_FLAGSEX_RESERVED3 = @as(i32, 2);
pub const DI_FLAGSEX_CI_FAILED = @as(i32, 4);
pub const DI_FLAGSEX_FINISHINSTALL_ACTION = @as(i32, 8);
pub const DI_FLAGSEX_DIDINFOLIST = @as(i32, 16);
pub const DI_FLAGSEX_DIDCOMPATINFO = @as(i32, 32);
pub const DI_FLAGSEX_FILTERCLASSES = @as(i32, 64);
pub const DI_FLAGSEX_SETFAILEDINSTALL = @as(i32, 128);
pub const DI_FLAGSEX_DEVICECHANGE = @as(i32, 256);
pub const DI_FLAGSEX_ALWAYSWRITEIDS = @as(i32, 512);
pub const DI_FLAGSEX_PROPCHANGE_PENDING = @as(i32, 1024);
pub const DI_FLAGSEX_ALLOWEXCLUDEDDRVS = @as(i32, 2048);
pub const DI_FLAGSEX_NOUIONQUERYREMOVE = @as(i32, 4096);
pub const DI_FLAGSEX_USECLASSFORCOMPAT = @as(i32, 8192);
pub const DI_FLAGSEX_RESERVED4 = @as(i32, 16384);
pub const DI_FLAGSEX_NO_DRVREG_MODIFY = @as(i32, 32768);
pub const DI_FLAGSEX_IN_SYSTEM_SETUP = @as(i32, 65536);
pub const DI_FLAGSEX_INET_DRIVER = @as(i32, 131072);
pub const DI_FLAGSEX_APPENDDRIVERLIST = @as(i32, 262144);
pub const DI_FLAGSEX_PREINSTALLBACKUP = @as(i32, 524288);
pub const DI_FLAGSEX_BACKUPONREPLACE = @as(i32, 1048576);
pub const DI_FLAGSEX_DRIVERLIST_FROM_URL = @as(i32, 2097152);
pub const DI_FLAGSEX_RESERVED1 = @as(i32, 4194304);
pub const DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS = @as(i32, 8388608);
pub const DI_FLAGSEX_POWERPAGE_ADDED = @as(i32, 16777216);
pub const DI_FLAGSEX_FILTERSIMILARDRIVERS = @as(i32, 33554432);
pub const DI_FLAGSEX_INSTALLEDDRIVER = @as(i32, 67108864);
pub const DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE = @as(i32, 134217728);
pub const DI_FLAGSEX_ALTPLATFORM_DRVSEARCH = @as(i32, 268435456);
pub const DI_FLAGSEX_RESTART_DEVICE_ONLY = @as(i32, 536870912);
pub const DI_FLAGSEX_RECURSIVESEARCH = @as(i32, 1073741824);
pub const DI_FLAGSEX_SEARCH_PUBLISHED_INFS = @as(i32, -2147483648);
pub const ENABLECLASS_QUERY = @as(u32, 0);
pub const ENABLECLASS_SUCCESS = @as(u32, 1);
pub const ENABLECLASS_FAILURE = @as(u32, 2);
pub const DICS_ENABLE = @as(u32, 1);
pub const DICS_DISABLE = @as(u32, 2);
pub const DICS_PROPCHANGE = @as(u32, 3);
pub const DICS_START = @as(u32, 4);
pub const DICS_STOP = @as(u32, 5);
pub const DICS_FLAG_GLOBAL = @as(u32, 1);
pub const DICS_FLAG_CONFIGSPECIFIC = @as(u32, 2);
pub const DICS_FLAG_CONFIGGENERAL = @as(u32, 4);
pub const DI_REMOVEDEVICE_GLOBAL = @as(u32, 1);
pub const DI_REMOVEDEVICE_CONFIGSPECIFIC = @as(u32, 2);
pub const DI_UNREMOVEDEVICE_CONFIGSPECIFIC = @as(u32, 2);
pub const MAX_INSTALLWIZARD_DYNAPAGES = @as(u32, 20);
pub const NDW_INSTALLFLAG_DIDFACTDEFS = @as(u32, 1);
pub const NDW_INSTALLFLAG_HARDWAREALLREADYIN = @as(u32, 2);
pub const NDW_INSTALLFLAG_NEEDRESTART = @as(i32, 128);
pub const NDW_INSTALLFLAG_NEEDREBOOT = @as(i32, 256);
pub const NDW_INSTALLFLAG_NEEDSHUTDOWN = @as(u32, 512);
pub const NDW_INSTALLFLAG_EXPRESSINTRO = @as(u32, 1024);
pub const NDW_INSTALLFLAG_SKIPISDEVINSTALLED = @as(u32, 2048);
pub const NDW_INSTALLFLAG_NODETECTEDDEVS = @as(u32, 4096);
pub const NDW_INSTALLFLAG_INSTALLSPECIFIC = @as(u32, 8192);
pub const NDW_INSTALLFLAG_SKIPCLASSLIST = @as(u32, 16384);
pub const NDW_INSTALLFLAG_CI_PICKED_OEM = @as(u32, 32768);
pub const NDW_INSTALLFLAG_PCMCIAMODE = @as(u32, 65536);
pub const NDW_INSTALLFLAG_PCMCIADEVICE = @as(u32, 131072);
pub const NDW_INSTALLFLAG_USERCANCEL = @as(u32, 262144);
pub const NDW_INSTALLFLAG_KNOWNCLASS = @as(u32, 524288);
pub const DYNAWIZ_FLAG_PAGESADDED = @as(u32, 1);
pub const DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT = @as(u32, 8);
pub const DYNAWIZ_FLAG_INSTALLDET_NEXT = @as(u32, 2);
pub const DYNAWIZ_FLAG_INSTALLDET_PREV = @as(u32, 4);
pub const MIN_IDD_DYNAWIZ_RESOURCE_ID = @as(u32, 10000);
pub const MAX_IDD_DYNAWIZ_RESOURCE_ID = @as(u32, 11000);
pub const IDD_DYNAWIZ_FIRSTPAGE = @as(u32, 10000);
pub const IDD_DYNAWIZ_SELECT_PREVPAGE = @as(u32, 10001);
pub const IDD_DYNAWIZ_SELECT_NEXTPAGE = @as(u32, 10002);
pub const IDD_DYNAWIZ_ANALYZE_PREVPAGE = @as(u32, 10003);
pub const IDD_DYNAWIZ_ANALYZE_NEXTPAGE = @as(u32, 10004);
pub const IDD_DYNAWIZ_SELECTDEV_PAGE = @as(u32, 10009);
pub const IDD_DYNAWIZ_ANALYZEDEV_PAGE = @as(u32, 10010);
pub const IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE = @as(u32, 10011);
pub const IDD_DYNAWIZ_SELECTCLASS_PAGE = @as(u32, 10012);
pub const IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE = @as(u32, 10006);
pub const IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE = @as(u32, 10007);
pub const IDD_DYNAWIZ_INSTALLDETECTED_NODEVS = @as(u32, 10008);
pub const DNF_DUPDESC = @as(u32, 1);
pub const DNF_OLDDRIVER = @as(u32, 2);
pub const DNF_EXCLUDEFROMLIST = @as(u32, 4);
pub const DNF_NODRIVER = @as(u32, 8);
pub const DNF_LEGACYINF = @as(u32, 16);
pub const DNF_CLASS_DRIVER = @as(u32, 32);
pub const DNF_COMPATIBLE_DRIVER = @as(u32, 64);
pub const DNF_INET_DRIVER = @as(u32, 128);
pub const DNF_UNUSED1 = @as(u32, 256);
pub const DNF_UNUSED2 = @as(u32, 512);
pub const DNF_OLD_INET_DRIVER = @as(u32, 1024);
pub const DNF_BAD_DRIVER = @as(u32, 2048);
pub const DNF_DUPPROVIDER = @as(u32, 4096);
pub const DNF_INF_IS_SIGNED = @as(u32, 8192);
pub const DNF_OEM_F6_INF = @as(u32, 16384);
pub const DNF_DUPDRIVERVER = @as(u32, 32768);
pub const DNF_BASIC_DRIVER = @as(u32, 65536);
pub const DNF_AUTHENTICODE_SIGNED = @as(u32, 131072);
pub const DNF_INSTALLEDDRIVER = @as(u32, 262144);
pub const DNF_ALWAYSEXCLUDEFROMLIST = @as(u32, 524288);
pub const DNF_INBOX_DRIVER = @as(u32, 1048576);
pub const DNF_REQUESTADDITIONALSOFTWARE = @as(u32, 2097152);
pub const DNF_UNUSED_22 = @as(u32, 4194304);
pub const DNF_UNUSED_23 = @as(u32, 8388608);
pub const DNF_UNUSED_24 = @as(u32, 16777216);
pub const DNF_UNUSED_25 = @as(u32, 33554432);
pub const DNF_UNUSED_26 = @as(u32, 67108864);
pub const DNF_UNUSED_27 = @as(u32, 134217728);
pub const DNF_UNUSED_28 = @as(u32, 268435456);
pub const DNF_UNUSED_29 = @as(u32, 536870912);
pub const DNF_UNUSED_30 = @as(u32, 1073741824);
pub const DNF_UNUSED_31 = @as(u32, 2147483648);
pub const DRIVER_HARDWAREID_RANK = @as(u32, 4095);
pub const DRIVER_HARDWAREID_MASK = @as(u32, 2147487743);
pub const DRIVER_UNTRUSTED_RANK = @as(u32, 2147483648);
pub const DRIVER_W9X_SUSPECT_RANK = @as(u32, 3221225472);
pub const DRIVER_COMPATID_RANK = @as(u32, 16383);
pub const DRIVER_UNTRUSTED_HARDWAREID_RANK = @as(u32, 36863);
pub const DRIVER_UNTRUSTED_COMPATID_RANK = @as(u32, 49151);
pub const DRIVER_W9X_SUSPECT_HARDWAREID_RANK = @as(u32, 53247);
pub const DRIVER_W9X_SUSPECT_COMPATID_RANK = @as(u32, 65535);
pub const SPPSR_SELECT_DEVICE_RESOURCES = @as(u32, 1);
pub const SPPSR_ENUM_BASIC_DEVICE_PROPERTIES = @as(u32, 2);
pub const SPPSR_ENUM_ADV_DEVICE_PROPERTIES = @as(u32, 3);
pub const INFINFO_INF_SPEC_IS_HINF = @as(u32, 1);
pub const INFINFO_INF_NAME_IS_ABSOLUTE = @as(u32, 2);
pub const INFINFO_DEFAULT_SEARCH = @as(u32, 3);
pub const INFINFO_REVERSE_DEFAULT_SEARCH = @as(u32, 4);
pub const INFINFO_INF_PATH_LIST_SEARCH = @as(u32, 5);
pub const FILE_COMPRESSION_NONE = @as(u32, 0);
pub const FILE_COMPRESSION_WINLZA = @as(u32, 1);
pub const FILE_COMPRESSION_MSZIP = @as(u32, 2);
pub const FILE_COMPRESSION_NTCAB = @as(u32, 3);
pub const SRCLIST_TEMPORARY = @as(u32, 1);
pub const SRCLIST_NOBROWSE = @as(u32, 2);
pub const SRCLIST_SYSTEM = @as(u32, 16);
pub const SRCLIST_USER = @as(u32, 32);
pub const SRCLIST_SYSIFADMIN = @as(u32, 64);
pub const SRCLIST_SUBDIRS = @as(u32, 256);
pub const SRCLIST_APPEND = @as(u32, 512);
pub const SRCLIST_NOSTRIPPLATFORM = @as(u32, 1024);
pub const IDF_NOBROWSE = @as(u32, 1);
pub const IDF_NOSKIP = @as(u32, 2);
pub const IDF_NODETAILS = @as(u32, 4);
pub const IDF_NOCOMPRESSED = @as(u32, 8);
pub const IDF_CHECKFIRST = @as(u32, 256);
pub const IDF_NOBEEP = @as(u32, 512);
pub const IDF_NOFOREGROUND = @as(u32, 1024);
pub const IDF_WARNIFSKIP = @as(u32, 2048);
pub const IDF_NOREMOVABLEMEDIAPROMPT = @as(u32, 4096);
pub const IDF_USEDISKNAMEASPROMPT = @as(u32, 8192);
pub const IDF_OEMDISK = @as(u32, 2147483648);
pub const DPROMPT_SUCCESS = @as(u32, 0);
pub const DPROMPT_CANCEL = @as(u32, 1);
pub const DPROMPT_SKIPFILE = @as(u32, 2);
pub const DPROMPT_BUFFERTOOSMALL = @as(u32, 3);
pub const DPROMPT_OUTOFMEMORY = @as(u32, 4);
pub const SETDIRID_NOT_FULL_PATH = @as(u32, 1);
pub const SRCINFO_PATH = @as(u32, 1);
pub const SRCINFO_TAGFILE = @as(u32, 2);
pub const SRCINFO_DESCRIPTION = @as(u32, 3);
pub const SRCINFO_FLAGS = @as(u32, 4);
pub const SRCINFO_TAGFILE2 = @as(u32, 5);
pub const SRC_FLAGS_CABFILE = @as(u32, 16);
pub const SP_FLAG_CABINETCONTINUATION = @as(u32, 2048);
pub const SP_BACKUP_BACKUPPASS = @as(u32, 1);
pub const SP_BACKUP_DEMANDPASS = @as(u32, 2);
pub const SP_BACKUP_SPECIAL = @as(u32, 4);
pub const SP_BACKUP_BOOTFILE = @as(u32, 8);
pub const SPQ_SCAN_FILE_PRESENCE = @as(u32, 1);
pub const SPQ_SCAN_FILE_VALIDITY = @as(u32, 2);
pub const SPQ_SCAN_USE_CALLBACK = @as(u32, 4);
pub const SPQ_SCAN_USE_CALLBACKEX = @as(u32, 8);
pub const SPQ_SCAN_INFORM_USER = @as(u32, 16);
pub const SPQ_SCAN_PRUNE_COPY_QUEUE = @as(u32, 32);
pub const SPQ_SCAN_USE_CALLBACK_SIGNERINFO = @as(u32, 64);
pub const SPQ_SCAN_PRUNE_DELREN = @as(u32, 128);
pub const SPQ_SCAN_FILE_PRESENCE_WITHOUT_SOURCE = @as(u32, 256);
pub const SPQ_SCAN_FILE_COMPARISON = @as(u32, 512);
pub const SPQ_SCAN_ACTIVATE_DRP = @as(u32, 1024);
pub const SPQ_DELAYED_COPY = @as(u32, 1);
pub const SPQ_FLAG_BACKUP_AWARE = @as(u32, 1);
pub const SPQ_FLAG_ABORT_IF_UNSIGNED = @as(u32, 2);
pub const SPQ_FLAG_FILES_MODIFIED = @as(u32, 4);
pub const SPQ_FLAG_DO_SHUFFLEMOVE = @as(u32, 8);
pub const SPQ_FLAG_VALID = @as(u32, 15);
pub const SPOST_MAX = @as(u32, 3);
pub const SUOI_FORCEDELETE = @as(u32, 1);
pub const SUOI_INTERNAL1 = @as(u32, 2);
pub const SPDSL_IGNORE_DISK = @as(u32, 1);
pub const SPDSL_DISALLOW_NEGATIVE_ADJUST = @as(u32, 2);
pub const SPFILEQ_FILE_IN_USE = @as(u32, 1);
pub const SPFILEQ_REBOOT_RECOMMENDED = @as(u32, 2);
pub const SPFILEQ_REBOOT_IN_PROGRESS = @as(u32, 4);
pub const FLG_ADDREG_DELREG_BIT = @as(u32, 32768);
pub const FLG_ADDREG_BINVALUETYPE = @as(u32, 1);
pub const FLG_ADDREG_NOCLOBBER = @as(u32, 2);
pub const FLG_ADDREG_DELVAL = @as(u32, 4);
pub const FLG_ADDREG_APPEND = @as(u32, 8);
pub const FLG_ADDREG_KEYONLY = @as(u32, 16);
pub const FLG_ADDREG_OVERWRITEONLY = @as(u32, 32);
pub const FLG_ADDREG_64BITKEY = @as(u32, 4096);
pub const FLG_ADDREG_KEYONLY_COMMON = @as(u32, 8192);
pub const FLG_ADDREG_32BITKEY = @as(u32, 16384);
pub const FLG_ADDREG_TYPE_SZ = @as(u32, 0);
pub const FLG_ADDREG_TYPE_MULTI_SZ = @as(u32, 65536);
pub const FLG_ADDREG_TYPE_EXPAND_SZ = @as(u32, 131072);
pub const FLG_DELREG_VALUE = @as(u32, 0);
pub const FLG_DELREG_TYPE_SZ = @as(u32, 0);
pub const FLG_DELREG_TYPE_MULTI_SZ = @as(u32, 65536);
pub const FLG_DELREG_TYPE_EXPAND_SZ = @as(u32, 131072);
pub const FLG_DELREG_64BITKEY = @as(u32, 4096);
pub const FLG_DELREG_KEYONLY_COMMON = @as(u32, 8192);
pub const FLG_DELREG_32BITKEY = @as(u32, 16384);
pub const FLG_DELREG_OPERATION_MASK = @as(u32, 254);
pub const FLG_BITREG_CLEARBITS = @as(u32, 0);
pub const FLG_BITREG_SETBITS = @as(u32, 1);
pub const FLG_BITREG_64BITKEY = @as(u32, 4096);
pub const FLG_BITREG_32BITKEY = @as(u32, 16384);
pub const FLG_INI2REG_64BITKEY = @as(u32, 4096);
pub const FLG_INI2REG_32BITKEY = @as(u32, 16384);
pub const FLG_REGSVR_DLLREGISTER = @as(u32, 1);
pub const FLG_REGSVR_DLLINSTALL = @as(u32, 2);
pub const FLG_PROFITEM_CURRENTUSER = @as(u32, 1);
pub const FLG_PROFITEM_DELETE = @as(u32, 2);
pub const FLG_PROFITEM_GROUP = @as(u32, 4);
pub const FLG_PROFITEM_CSIDL = @as(u32, 8);
pub const FLG_ADDPROPERTY_NOCLOBBER = @as(u32, 1);
pub const FLG_ADDPROPERTY_OVERWRITEONLY = @as(u32, 2);
pub const FLG_ADDPROPERTY_APPEND = @as(u32, 4);
pub const FLG_ADDPROPERTY_OR = @as(u32, 8);
pub const FLG_ADDPROPERTY_AND = @as(u32, 16);
pub const FLG_DELPROPERTY_MULTI_SZ_DELSTRING = @as(u32, 1);
pub const SPINST_LOGCONFIG = @as(u32, 1);
pub const SPINST_INIFILES = @as(u32, 2);
pub const SPINST_REGISTRY = @as(u32, 4);
pub const SPINST_INI2REG = @as(u32, 8);
pub const SPINST_FILES = @as(u32, 16);
pub const SPINST_BITREG = @as(u32, 32);
pub const SPINST_REGSVR = @as(u32, 64);
pub const SPINST_UNREGSVR = @as(u32, 128);
pub const SPINST_PROFILEITEMS = @as(u32, 256);
pub const SPINST_COPYINF = @as(u32, 512);
pub const SPINST_PROPERTIES = @as(u32, 1024);
pub const SPINST_ALL = @as(u32, 2047);
pub const SPINST_SINGLESECTION = @as(u32, 65536);
pub const SPINST_LOGCONFIG_IS_FORCED = @as(u32, 131072);
pub const SPINST_LOGCONFIGS_ARE_OVERRIDES = @as(u32, 262144);
pub const SPINST_REGISTERCALLBACKAWARE = @as(u32, 524288);
pub const SPINST_DEVICEINSTALL = @as(u32, 1048576);
pub const SPSVCINST_TAGTOFRONT = @as(u32, 1);
pub const SPSVCINST_ASSOCSERVICE = @as(u32, 2);
pub const SPSVCINST_DELETEEVENTLOGENTRY = @as(u32, 4);
pub const SPSVCINST_NOCLOBBER_DISPLAYNAME = @as(u32, 8);
pub const SPSVCINST_NOCLOBBER_STARTTYPE = @as(u32, 16);
pub const SPSVCINST_NOCLOBBER_ERRORCONTROL = @as(u32, 32);
pub const SPSVCINST_NOCLOBBER_LOADORDERGROUP = @as(u32, 64);
pub const SPSVCINST_NOCLOBBER_DEPENDENCIES = @as(u32, 128);
pub const SPSVCINST_NOCLOBBER_DESCRIPTION = @as(u32, 256);
pub const SPSVCINST_STOPSERVICE = @as(u32, 512);
pub const SPSVCINST_CLOBBER_SECURITY = @as(u32, 1024);
pub const SPSVCINST_STARTSERVICE = @as(u32, 2048);
pub const SPSVCINST_NOCLOBBER_REQUIREDPRIVILEGES = @as(u32, 4096);
pub const SPSVCINST_NOCLOBBER_TRIGGERS = @as(u32, 8192);
pub const SPSVCINST_NOCLOBBER_SERVICESIDTYPE = @as(u32, 16384);
pub const SPSVCINST_NOCLOBBER_DELAYEDAUTOSTART = @as(u32, 32768);
pub const SPSVCINST_UNIQUE_NAME = @as(u32, 65536);
pub const SPFILELOG_SYSTEMLOG = @as(u32, 1);
pub const SPFILELOG_FORCENEW = @as(u32, 2);
pub const SPFILELOG_QUERYONLY = @as(u32, 4);
pub const SPFILELOG_OEMFILE = @as(u32, 1);
pub const LogSevInformation = @as(u32, 0);
pub const LogSevWarning = @as(u32, 1);
pub const LogSevError = @as(u32, 2);
pub const LogSevFatalError = @as(u32, 3);
pub const LogSevMaximum = @as(u32, 4);
pub const DICD_GENERATE_ID = @as(u32, 1);
pub const DICD_INHERIT_CLASSDRVS = @as(u32, 2);
pub const DIOD_INHERIT_CLASSDRVS = @as(u32, 2);
pub const DIOD_CANCEL_REMOVE = @as(u32, 4);
pub const DIODI_NO_ADD = @as(u32, 1);
pub const SPRDI_FIND_DUPS = @as(u32, 1);
pub const SPDIT_NODRIVER = @as(u32, 0);
pub const DIGCF_DEFAULT = @as(u32, 1);
pub const DIGCF_PRESENT = @as(u32, 2);
pub const DIGCF_ALLCLASSES = @as(u32, 4);
pub const DIGCF_PROFILE = @as(u32, 8);
pub const DIGCF_DEVICEINTERFACE = @as(u32, 16);
pub const DIGCF_INTERFACEDEVICE = @as(u32, 16);
pub const DIBCI_NOINSTALLCLASS = @as(u32, 1);
pub const DIBCI_NODISPLAYCLASS = @as(u32, 2);
pub const DIOCR_INSTALLER = @as(u32, 1);
pub const DIOCR_INTERFACE = @as(u32, 2);
pub const DIREG_DEV = @as(u32, 1);
pub const DIREG_DRV = @as(u32, 2);
pub const DIREG_BOTH = @as(u32, 4);
pub const DICLASSPROP_INSTALLER = @as(u32, 1);
pub const DICLASSPROP_INTERFACE = @as(u32, 2);
pub const SPDRP_DEVICEDESC = @as(u32, 0);
pub const SPDRP_HARDWAREID = @as(u32, 1);
pub const SPDRP_COMPATIBLEIDS = @as(u32, 2);
pub const SPDRP_UNUSED0 = @as(u32, 3);
pub const SPDRP_SERVICE = @as(u32, 4);
pub const SPDRP_UNUSED1 = @as(u32, 5);
pub const SPDRP_UNUSED2 = @as(u32, 6);
pub const SPDRP_CLASS = @as(u32, 7);
pub const SPDRP_CLASSGUID = @as(u32, 8);
pub const SPDRP_DRIVER = @as(u32, 9);
pub const SPDRP_CONFIGFLAGS = @as(u32, 10);
pub const SPDRP_MFG = @as(u32, 11);
pub const SPDRP_FRIENDLYNAME = @as(u32, 12);
pub const SPDRP_LOCATION_INFORMATION = @as(u32, 13);
pub const SPDRP_PHYSICAL_DEVICE_OBJECT_NAME = @as(u32, 14);
pub const SPDRP_CAPABILITIES = @as(u32, 15);
pub const SPDRP_UI_NUMBER = @as(u32, 16);
pub const SPDRP_UPPERFILTERS = @as(u32, 17);
pub const SPDRP_LOWERFILTERS = @as(u32, 18);
pub const SPDRP_BUSTYPEGUID = @as(u32, 19);
pub const SPDRP_LEGACYBUSTYPE = @as(u32, 20);
pub const SPDRP_BUSNUMBER = @as(u32, 21);
pub const SPDRP_ENUMERATOR_NAME = @as(u32, 22);
pub const SPDRP_SECURITY = @as(u32, 23);
pub const SPDRP_SECURITY_SDS = @as(u32, 24);
pub const SPDRP_DEVTYPE = @as(u32, 25);
pub const SPDRP_EXCLUSIVE = @as(u32, 26);
pub const SPDRP_CHARACTERISTICS = @as(u32, 27);
pub const SPDRP_ADDRESS = @as(u32, 28);
pub const SPDRP_UI_NUMBER_DESC_FORMAT = @as(u32, 29);
pub const SPDRP_DEVICE_POWER_DATA = @as(u32, 30);
pub const SPDRP_REMOVAL_POLICY = @as(u32, 31);
pub const SPDRP_REMOVAL_POLICY_HW_DEFAULT = @as(u32, 32);
pub const SPDRP_REMOVAL_POLICY_OVERRIDE = @as(u32, 33);
pub const SPDRP_INSTALL_STATE = @as(u32, 34);
pub const SPDRP_LOCATION_PATHS = @as(u32, 35);
pub const SPDRP_BASE_CONTAINERID = @as(u32, 36);
pub const SPDRP_MAXIMUM_PROPERTY = @as(u32, 37);
pub const SPCRP_UPPERFILTERS = @as(u32, 17);
pub const SPCRP_LOWERFILTERS = @as(u32, 18);
pub const SPCRP_SECURITY = @as(u32, 23);
pub const SPCRP_SECURITY_SDS = @as(u32, 24);
pub const SPCRP_DEVTYPE = @as(u32, 25);
pub const SPCRP_EXCLUSIVE = @as(u32, 26);
pub const SPCRP_CHARACTERISTICS = @as(u32, 27);
pub const SPCRP_MAXIMUM_PROPERTY = @as(u32, 28);
pub const DMI_MASK = @as(u32, 1);
pub const DMI_BKCOLOR = @as(u32, 2);
pub const DMI_USERECT = @as(u32, 4);
pub const DIGCDP_FLAG_BASIC = @as(u32, 1);
pub const DIGCDP_FLAG_ADVANCED = @as(u32, 2);
pub const DIGCDP_FLAG_REMOTE_BASIC = @as(u32, 3);
pub const DIGCDP_FLAG_REMOTE_ADVANCED = @as(u32, 4);
pub const IDI_RESOURCEFIRST = @as(u32, 159);
pub const IDI_RESOURCE = @as(u32, 159);
pub const IDI_RESOURCELAST = @as(u32, 161);
pub const IDI_RESOURCEOVERLAYFIRST = @as(u32, 161);
pub const IDI_RESOURCEOVERLAYLAST = @as(u32, 161);
pub const IDI_CONFLICT = @as(u32, 161);
pub const IDI_CLASSICON_OVERLAYFIRST = @as(u32, 500);
pub const IDI_CLASSICON_OVERLAYLAST = @as(u32, 502);
pub const IDI_PROBLEM_OVL = @as(u32, 500);
pub const IDI_DISABLED_OVL = @as(u32, 501);
pub const IDI_FORCED_OVL = @as(u32, 502);
pub const SPWPT_SELECTDEVICE = @as(u32, 1);
pub const SPWP_USE_DEVINFO_DATA = @as(u32, 1);
pub const SIGNERSCORE_UNKNOWN = @as(u32, 4278190080);
pub const SIGNERSCORE_W9X_SUSPECT = @as(u32, 3221225472);
pub const SIGNERSCORE_UNSIGNED = @as(u32, 2147483648);
pub const SIGNERSCORE_AUTHENTICODE = @as(u32, 251658240);
pub const SIGNERSCORE_WHQL = @as(u32, 218103813);
pub const SIGNERSCORE_UNCLASSIFIED = @as(u32, 218103812);
pub const SIGNERSCORE_INBOX = @as(u32, 218103811);
pub const SIGNERSCORE_LOGO_STANDARD = @as(u32, 218103810);
pub const SIGNERSCORE_LOGO_PREMIUM = @as(u32, 218103809);
pub const SIGNERSCORE_MASK = @as(u32, 4278190080);
pub const SIGNERSCORE_SIGNED_MASK = @as(u32, 4026531840);
pub const DICUSTOMDEVPROP_MERGE_MULTISZ = @as(u32, 1);
pub const SCWMI_CLOBBER_SECURITY = @as(u32, 1);
pub const MAX_DEVICE_ID_LEN = @as(u32, 200);
pub const MAX_DEVNODE_ID_LEN = @as(u32, 200);
pub const MAX_GUID_STRING_LEN = @as(u32, 39);
pub const MAX_CLASS_NAME_LEN = @as(u32, 32);
pub const MAX_PROFILE_LEN = @as(u32, 80);
pub const MAX_CONFIG_VALUE = @as(u32, 9999);
pub const MAX_INSTANCE_VALUE = @as(u32, 9999);
pub const MAX_MEM_REGISTERS = @as(u32, 9);
pub const MAX_IO_PORTS = @as(u32, 20);
pub const MAX_IRQS = @as(u32, 7);
pub const MAX_DMA_CHANNELS = @as(u32, 7);
pub const DWORD_MAX = @as(u32, 4294967295);
pub const CONFIGMG_VERSION = @as(u32, 1024);
pub const CM_CDMASK_DEVINST = @as(u32, 1);
pub const CM_CDMASK_RESDES = @as(u32, 2);
pub const CM_CDMASK_FLAGS = @as(u32, 4);
pub const CM_CDMASK_DESCRIPTION = @as(u32, 8);
pub const CM_CDMASK_VALID = @as(u32, 15);
pub const CM_CDFLAGS_DRIVER = @as(u32, 1);
pub const CM_CDFLAGS_ROOT_OWNED = @as(u32, 2);
pub const CM_CDFLAGS_RESERVED = @as(u32, 4);
pub const mMD_MemoryType = @as(u32, 1);
pub const fMD_MemoryType = @as(u32, 1);
pub const fMD_ROM = @as(u32, 0);
pub const fMD_RAM = @as(u32, 1);
pub const mMD_32_24 = @as(u32, 2);
pub const fMD_32_24 = @as(u32, 2);
pub const fMD_24 = @as(u32, 0);
pub const fMD_32 = @as(u32, 2);
pub const mMD_Prefetchable = @as(u32, 4);
pub const fMD_Prefetchable = @as(u32, 4);
pub const fMD_Pref = @as(u32, 4);
pub const fMD_PrefetchDisallowed = @as(u32, 0);
pub const fMD_PrefetchAllowed = @as(u32, 4);
pub const mMD_Readable = @as(u32, 8);
pub const fMD_Readable = @as(u32, 8);
pub const fMD_ReadAllowed = @as(u32, 0);
pub const fMD_ReadDisallowed = @as(u32, 8);
pub const mMD_CombinedWrite = @as(u32, 16);
pub const fMD_CombinedWrite = @as(u32, 16);
pub const fMD_CombinedWriteDisallowed = @as(u32, 0);
pub const fMD_CombinedWriteAllowed = @as(u32, 16);
pub const mMD_Cacheable = @as(u32, 32);
pub const fMD_NonCacheable = @as(u32, 0);
pub const fMD_Cacheable = @as(u32, 32);
pub const fMD_WINDOW_DECODE = @as(u32, 64);
pub const fMD_MEMORY_BAR = @as(u32, 128);
pub const fIOD_PortType = @as(u32, 1);
pub const fIOD_Memory = @as(u32, 0);
pub const fIOD_IO = @as(u32, 1);
pub const fIOD_DECODE = @as(u32, 252);
pub const fIOD_10_BIT_DECODE = @as(u32, 4);
pub const fIOD_12_BIT_DECODE = @as(u32, 8);
pub const fIOD_16_BIT_DECODE = @as(u32, 16);
pub const fIOD_POSITIVE_DECODE = @as(u32, 32);
pub const fIOD_PASSIVE_DECODE = @as(u32, 64);
pub const fIOD_WINDOW_DECODE = @as(u32, 128);
pub const fIOD_PORT_BAR = @as(u32, 256);
pub const IO_ALIAS_10_BIT_DECODE = @as(u32, 4);
pub const IO_ALIAS_12_BIT_DECODE = @as(u32, 16);
pub const IO_ALIAS_16_BIT_DECODE = @as(u32, 0);
pub const IO_ALIAS_POSITIVE_DECODE = @as(u32, 255);
pub const IOA_Local = @as(u32, 255);
pub const mDD_Width = @as(u32, 3);
pub const fDD_BYTE = @as(u32, 0);
pub const fDD_WORD = @as(u32, 1);
pub const fDD_DWORD = @as(u32, 2);
pub const fDD_BYTE_AND_WORD = @as(u32, 3);
pub const mDD_BusMaster = @as(u32, 4);
pub const fDD_NoBusMaster = @as(u32, 0);
pub const fDD_BusMaster = @as(u32, 4);
pub const mDD_Type = @as(u32, 24);
pub const fDD_TypeStandard = @as(u32, 0);
pub const fDD_TypeA = @as(u32, 8);
pub const fDD_TypeB = @as(u32, 16);
pub const fDD_TypeF = @as(u32, 24);
pub const mIRQD_Share = @as(u32, 1);
pub const fIRQD_Exclusive = @as(u32, 0);
pub const fIRQD_Share = @as(u32, 1);
pub const fIRQD_Share_Bit = @as(u32, 0);
pub const fIRQD_Level_Bit = @as(u32, 1);
pub const mIRQD_Edge_Level = @as(u32, 2);
pub const fIRQD_Level = @as(u32, 0);
pub const fIRQD_Edge = @as(u32, 2);
pub const CM_RESDES_WIDTH_DEFAULT = @as(u32, 0);
pub const CM_RESDES_WIDTH_32 = @as(u32, 1);
pub const CM_RESDES_WIDTH_64 = @as(u32, 2);
pub const CM_RESDES_WIDTH_BITS = @as(u32, 3);
pub const mPCD_IO_8_16 = @as(u32, 1);
pub const fPCD_IO_8 = @as(u32, 0);
pub const fPCD_IO_16 = @as(u32, 1);
pub const mPCD_MEM_8_16 = @as(u32, 2);
pub const fPCD_MEM_8 = @as(u32, 0);
pub const fPCD_MEM_16 = @as(u32, 2);
pub const mPCD_MEM_A_C = @as(u32, 12);
pub const fPCD_MEM1_A = @as(u32, 4);
pub const fPCD_MEM2_A = @as(u32, 8);
pub const fPCD_IO_ZW_8 = @as(u32, 16);
pub const fPCD_IO_SRC_16 = @as(u32, 32);
pub const fPCD_IO_WS_16 = @as(u32, 64);
pub const mPCD_MEM_WS = @as(u32, 768);
pub const fPCD_MEM_WS_ONE = @as(u32, 256);
pub const fPCD_MEM_WS_TWO = @as(u32, 512);
pub const fPCD_MEM_WS_THREE = @as(u32, 768);
pub const fPCD_MEM_A = @as(u32, 4);
pub const fPCD_ATTRIBUTES_PER_WINDOW = @as(u32, 32768);
pub const fPCD_IO1_16 = @as(u32, 65536);
pub const fPCD_IO1_ZW_8 = @as(u32, 131072);
pub const fPCD_IO1_SRC_16 = @as(u32, 262144);
pub const fPCD_IO1_WS_16 = @as(u32, 524288);
pub const fPCD_IO2_16 = @as(u32, 1048576);
pub const fPCD_IO2_ZW_8 = @as(u32, 2097152);
pub const fPCD_IO2_SRC_16 = @as(u32, 4194304);
pub const fPCD_IO2_WS_16 = @as(u32, 8388608);
pub const mPCD_MEM1_WS = @as(u32, 50331648);
pub const fPCD_MEM1_WS_ONE = @as(u32, 16777216);
pub const fPCD_MEM1_WS_TWO = @as(u32, 33554432);
pub const fPCD_MEM1_WS_THREE = @as(u32, 50331648);
pub const fPCD_MEM1_16 = @as(u32, 67108864);
pub const mPCD_MEM2_WS = @as(u32, 805306368);
pub const fPCD_MEM2_WS_ONE = @as(u32, 268435456);
pub const fPCD_MEM2_WS_TWO = @as(u32, 536870912);
pub const fPCD_MEM2_WS_THREE = @as(u32, 805306368);
pub const fPCD_MEM2_16 = @as(u32, 1073741824);
pub const PCD_MAX_MEMORY = @as(u32, 2);
pub const PCD_MAX_IO = @as(u32, 2);
pub const mPMF_AUDIO_ENABLE = @as(u32, 8);
pub const fPMF_AUDIO_ENABLE = @as(u32, 8);
pub const CM_HWPI_NOT_DOCKABLE = @as(u32, 0);
pub const CM_HWPI_UNDOCKED = @as(u32, 1);
pub const CM_HWPI_DOCKED = @as(u32, 2);
pub const ResType_All = @as(u32, 0);
pub const ResType_None = @as(u32, 0);
pub const ResType_Mem = @as(u32, 1);
pub const ResType_IO = @as(u32, 2);
pub const ResType_DMA = @as(u32, 3);
pub const ResType_IRQ = @as(u32, 4);
pub const ResType_DoNotUse = @as(u32, 5);
pub const ResType_BusNumber = @as(u32, 6);
pub const ResType_MemLarge = @as(u32, 7);
pub const ResType_MAX = @as(u32, 7);
pub const ResType_Ignored_Bit = @as(u32, 32768);
pub const ResType_ClassSpecific = @as(u32, 65535);
pub const ResType_Reserved = @as(u32, 32768);
pub const ResType_DevicePrivate = @as(u32, 32769);
pub const ResType_PcCardConfig = @as(u32, 32770);
pub const ResType_MfCardConfig = @as(u32, 32771);
pub const ResType_Connection = @as(u32, 32772);
pub const CM_ADD_RANGE_ADDIFCONFLICT = @as(u32, 0);
pub const CM_ADD_RANGE_DONOTADDIFCONFLICT = @as(u32, 1);
pub const CM_ADD_RANGE_BITS = @as(u32, 1);
pub const BASIC_LOG_CONF = @as(u32, 0);
pub const FILTERED_LOG_CONF = @as(u32, 1);
pub const ALLOC_LOG_CONF = @as(u32, 2);
pub const BOOT_LOG_CONF = @as(u32, 3);
pub const FORCED_LOG_CONF = @as(u32, 4);
pub const OVERRIDE_LOG_CONF = @as(u32, 5);
pub const NUM_LOG_CONF = @as(u32, 6);
pub const LOG_CONF_BITS = @as(u32, 7);
pub const PRIORITY_EQUAL_FIRST = @as(u32, 8);
pub const PRIORITY_EQUAL_LAST = @as(u32, 0);
pub const PRIORITY_BIT = @as(u32, 8);
pub const RegDisposition_OpenAlways = @as(u32, 0);
pub const RegDisposition_OpenExisting = @as(u32, 1);
pub const RegDisposition_Bits = @as(u32, 1);
pub const CM_ADD_ID_HARDWARE = @as(u32, 0);
pub const CM_ADD_ID_COMPATIBLE = @as(u32, 1);
pub const CM_ADD_ID_BITS = @as(u32, 1);
pub const CM_CREATE_DEVNODE_NORMAL = @as(u32, 0);
pub const CM_CREATE_DEVNODE_NO_WAIT_INSTALL = @as(u32, 1);
pub const CM_CREATE_DEVNODE_PHANTOM = @as(u32, 2);
pub const CM_CREATE_DEVNODE_GENERATE_ID = @as(u32, 4);
pub const CM_CREATE_DEVNODE_DO_NOT_INSTALL = @as(u32, 8);
pub const CM_CREATE_DEVNODE_BITS = @as(u32, 15);
pub const CM_CREATE_DEVINST_NORMAL = @as(u32, 0);
pub const CM_CREATE_DEVINST_NO_WAIT_INSTALL = @as(u32, 1);
pub const CM_CREATE_DEVINST_PHANTOM = @as(u32, 2);
pub const CM_CREATE_DEVINST_GENERATE_ID = @as(u32, 4);
pub const CM_CREATE_DEVINST_DO_NOT_INSTALL = @as(u32, 8);
pub const CM_CREATE_DEVINST_BITS = @as(u32, 15);
pub const CM_DELETE_CLASS_ONLY = @as(u32, 0);
pub const CM_DELETE_CLASS_SUBKEYS = @as(u32, 1);
pub const CM_DELETE_CLASS_INTERFACE = @as(u32, 2);
pub const CM_DELETE_CLASS_BITS = @as(u32, 3);
pub const CM_ENUMERATE_CLASSES_INSTALLER = @as(u32, 0);
pub const CM_ENUMERATE_CLASSES_INTERFACE = @as(u32, 1);
pub const CM_ENUMERATE_CLASSES_BITS = @as(u32, 1);
pub const CM_DETECT_NEW_PROFILE = @as(u32, 1);
pub const CM_DETECT_CRASHED = @as(u32, 2);
pub const CM_DETECT_HWPROF_FIRST_BOOT = @as(u32, 4);
pub const CM_DETECT_RUN = @as(u32, 2147483648);
pub const CM_DETECT_BITS = @as(u32, 2147483655);
pub const CM_DISABLE_POLITE = @as(u32, 0);
pub const CM_DISABLE_ABSOLUTE = @as(u32, 1);
pub const CM_DISABLE_HARDWARE = @as(u32, 2);
pub const CM_DISABLE_UI_NOT_OK = @as(u32, 4);
pub const CM_DISABLE_PERSIST = @as(u32, 8);
pub const CM_DISABLE_BITS = @as(u32, 15);
pub const CM_GETIDLIST_FILTER_NONE = @as(u32, 0);
pub const CM_GETIDLIST_FILTER_ENUMERATOR = @as(u32, 1);
pub const CM_GETIDLIST_FILTER_SERVICE = @as(u32, 2);
pub const CM_GETIDLIST_FILTER_EJECTRELATIONS = @as(u32, 4);
pub const CM_GETIDLIST_FILTER_REMOVALRELATIONS = @as(u32, 8);
pub const CM_GETIDLIST_FILTER_POWERRELATIONS = @as(u32, 16);
pub const CM_GETIDLIST_FILTER_BUSRELATIONS = @as(u32, 32);
pub const CM_GETIDLIST_DONOTGENERATE = @as(u32, 268435520);
pub const CM_GETIDLIST_FILTER_BITS = @as(u32, 268435583);
pub const CM_GETIDLIST_FILTER_TRANSPORTRELATIONS = @as(u32, 128);
pub const CM_GETIDLIST_FILTER_PRESENT = @as(u32, 256);
pub const CM_GETIDLIST_FILTER_CLASS = @as(u32, 512);
pub const CM_GET_DEVICE_INTERFACE_LIST_PRESENT = @as(u32, 0);
pub const CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES = @as(u32, 1);
pub const CM_GET_DEVICE_INTERFACE_LIST_BITS = @as(u32, 1);
pub const CM_DRP_DEVICEDESC = @as(u32, 1);
pub const CM_DRP_HARDWAREID = @as(u32, 2);
pub const CM_DRP_COMPATIBLEIDS = @as(u32, 3);
pub const CM_DRP_UNUSED0 = @as(u32, 4);
pub const CM_DRP_SERVICE = @as(u32, 5);
pub const CM_DRP_UNUSED1 = @as(u32, 6);
pub const CM_DRP_UNUSED2 = @as(u32, 7);
pub const CM_DRP_CLASS = @as(u32, 8);
pub const CM_DRP_CLASSGUID = @as(u32, 9);
pub const CM_DRP_DRIVER = @as(u32, 10);
pub const CM_DRP_CONFIGFLAGS = @as(u32, 11);
pub const CM_DRP_MFG = @as(u32, 12);
pub const CM_DRP_FRIENDLYNAME = @as(u32, 13);
pub const CM_DRP_LOCATION_INFORMATION = @as(u32, 14);
pub const CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME = @as(u32, 15);
pub const CM_DRP_CAPABILITIES = @as(u32, 16);
pub const CM_DRP_UI_NUMBER = @as(u32, 17);
pub const CM_DRP_UPPERFILTERS = @as(u32, 18);
pub const CM_CRP_UPPERFILTERS = @as(u32, 18);
pub const CM_DRP_LOWERFILTERS = @as(u32, 19);
pub const CM_CRP_LOWERFILTERS = @as(u32, 19);
pub const CM_DRP_BUSTYPEGUID = @as(u32, 20);
pub const CM_DRP_LEGACYBUSTYPE = @as(u32, 21);
pub const CM_DRP_BUSNUMBER = @as(u32, 22);
pub const CM_DRP_ENUMERATOR_NAME = @as(u32, 23);
pub const CM_DRP_SECURITY = @as(u32, 24);
pub const CM_CRP_SECURITY = @as(u32, 24);
pub const CM_DRP_SECURITY_SDS = @as(u32, 25);
pub const CM_CRP_SECURITY_SDS = @as(u32, 25);
pub const CM_DRP_DEVTYPE = @as(u32, 26);
pub const CM_CRP_DEVTYPE = @as(u32, 26);
pub const CM_DRP_EXCLUSIVE = @as(u32, 27);
pub const CM_CRP_EXCLUSIVE = @as(u32, 27);
pub const CM_DRP_CHARACTERISTICS = @as(u32, 28);
pub const CM_CRP_CHARACTERISTICS = @as(u32, 28);
pub const CM_DRP_ADDRESS = @as(u32, 29);
pub const CM_DRP_UI_NUMBER_DESC_FORMAT = @as(u32, 30);
pub const CM_DRP_DEVICE_POWER_DATA = @as(u32, 31);
pub const CM_DRP_REMOVAL_POLICY = @as(u32, 32);
pub const CM_DRP_REMOVAL_POLICY_HW_DEFAULT = @as(u32, 33);
pub const CM_DRP_REMOVAL_POLICY_OVERRIDE = @as(u32, 34);
pub const CM_DRP_INSTALL_STATE = @as(u32, 35);
pub const CM_DRP_LOCATION_PATHS = @as(u32, 36);
pub const CM_DRP_BASE_CONTAINERID = @as(u32, 37);
pub const CM_DRP_MIN = @as(u32, 1);
pub const CM_CRP_MIN = @as(u32, 1);
pub const CM_DRP_MAX = @as(u32, 37);
pub const CM_CRP_MAX = @as(u32, 37);
pub const CM_DEVCAP_LOCKSUPPORTED = @as(u32, 1);
pub const CM_DEVCAP_EJECTSUPPORTED = @as(u32, 2);
pub const CM_DEVCAP_REMOVABLE = @as(u32, 4);
pub const CM_DEVCAP_DOCKDEVICE = @as(u32, 8);
pub const CM_DEVCAP_UNIQUEID = @as(u32, 16);
pub const CM_DEVCAP_SILENTINSTALL = @as(u32, 32);
pub const CM_DEVCAP_RAWDEVICEOK = @as(u32, 64);
pub const CM_DEVCAP_SURPRISEREMOVALOK = @as(u32, 128);
pub const CM_DEVCAP_HARDWAREDISABLED = @as(u32, 256);
pub const CM_DEVCAP_NONDYNAMIC = @as(u32, 512);
pub const CM_DEVCAP_SECUREDEVICE = @as(u32, 1024);
pub const CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL = @as(u32, 1);
pub const CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL = @as(u32, 2);
pub const CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL = @as(u32, 3);
pub const CM_INSTALL_STATE_INSTALLED = @as(u32, 0);
pub const CM_INSTALL_STATE_NEEDS_REINSTALL = @as(u32, 1);
pub const CM_INSTALL_STATE_FAILED_INSTALL = @as(u32, 2);
pub const CM_INSTALL_STATE_FINISH_INSTALL = @as(u32, 3);
pub const CM_LOCATE_DEVNODE_NORMAL = @as(u32, 0);
pub const CM_LOCATE_DEVNODE_PHANTOM = @as(u32, 1);
pub const CM_LOCATE_DEVNODE_CANCELREMOVE = @as(u32, 2);
pub const CM_LOCATE_DEVNODE_NOVALIDATION = @as(u32, 4);
pub const CM_LOCATE_DEVNODE_BITS = @as(u32, 7);
pub const CM_LOCATE_DEVINST_NORMAL = @as(u32, 0);
pub const CM_LOCATE_DEVINST_PHANTOM = @as(u32, 1);
pub const CM_LOCATE_DEVINST_CANCELREMOVE = @as(u32, 2);
pub const CM_LOCATE_DEVINST_NOVALIDATION = @as(u32, 4);
pub const CM_LOCATE_DEVINST_BITS = @as(u32, 7);
pub const CM_OPEN_CLASS_KEY_INSTALLER = @as(u32, 0);
pub const CM_OPEN_CLASS_KEY_INTERFACE = @as(u32, 1);
pub const CM_OPEN_CLASS_KEY_BITS = @as(u32, 1);
pub const CM_REMOVE_UI_OK = @as(u32, 0);
pub const CM_REMOVE_UI_NOT_OK = @as(u32, 1);
pub const CM_REMOVE_NO_RESTART = @as(u32, 2);
pub const CM_REMOVE_DISABLE = @as(u32, 4);
pub const CM_REMOVE_BITS = @as(u32, 7);
pub const CM_QUERY_REMOVE_UI_OK = @as(u32, 0);
pub const CM_QUERY_REMOVE_UI_NOT_OK = @as(u32, 1);
pub const CM_REENUMERATE_NORMAL = @as(u32, 0);
pub const CM_REENUMERATE_SYNCHRONOUS = @as(u32, 1);
pub const CM_REENUMERATE_RETRY_INSTALLATION = @as(u32, 2);
pub const CM_REENUMERATE_ASYNCHRONOUS = @as(u32, 4);
pub const CM_REENUMERATE_BITS = @as(u32, 7);
pub const CM_REGISTER_DEVICE_DRIVER_STATIC = @as(u32, 0);
pub const CM_REGISTER_DEVICE_DRIVER_DISABLEABLE = @as(u32, 1);
pub const CM_REGISTER_DEVICE_DRIVER_REMOVABLE = @as(u32, 2);
pub const CM_REGISTER_DEVICE_DRIVER_BITS = @as(u32, 3);
pub const CM_REGISTRY_HARDWARE = @as(u32, 0);
pub const CM_REGISTRY_SOFTWARE = @as(u32, 1);
pub const CM_REGISTRY_USER = @as(u32, 256);
pub const CM_REGISTRY_CONFIG = @as(u32, 512);
pub const CM_REGISTRY_BITS = @as(u32, 769);
pub const CM_SET_DEVNODE_PROBLEM_NORMAL = @as(u32, 0);
pub const CM_SET_DEVNODE_PROBLEM_OVERRIDE = @as(u32, 1);
pub const CM_SET_DEVNODE_PROBLEM_BITS = @as(u32, 1);
pub const CM_SET_DEVINST_PROBLEM_NORMAL = @as(u32, 0);
pub const CM_SET_DEVINST_PROBLEM_OVERRIDE = @as(u32, 1);
pub const CM_SET_DEVINST_PROBLEM_BITS = @as(u32, 1);
pub const CM_SET_HW_PROF_FLAGS_UI_NOT_OK = @as(u32, 1);
pub const CM_SET_HW_PROF_FLAGS_BITS = @as(u32, 1);
pub const CM_SETUP_DEVNODE_READY = @as(u32, 0);
pub const CM_SETUP_DEVINST_READY = @as(u32, 0);
pub const CM_SETUP_DOWNLOAD = @as(u32, 1);
pub const CM_SETUP_WRITE_LOG_CONFS = @as(u32, 2);
pub const CM_SETUP_PROP_CHANGE = @as(u32, 3);
pub const CM_SETUP_DEVNODE_RESET = @as(u32, 4);
pub const CM_SETUP_DEVINST_RESET = @as(u32, 4);
pub const CM_SETUP_DEVNODE_CONFIG = @as(u32, 5);
pub const CM_SETUP_DEVINST_CONFIG = @as(u32, 5);
pub const CM_SETUP_DEVNODE_CONFIG_CLASS = @as(u32, 6);
pub const CM_SETUP_DEVINST_CONFIG_CLASS = @as(u32, 6);
pub const CM_SETUP_DEVNODE_CONFIG_EXTENSIONS = @as(u32, 7);
pub const CM_SETUP_DEVINST_CONFIG_EXTENSIONS = @as(u32, 7);
pub const CM_SETUP_DEVNODE_CONFIG_RESET = @as(u32, 8);
pub const CM_SETUP_DEVINST_CONFIG_RESET = @as(u32, 8);
pub const CM_SETUP_BITS = @as(u32, 15);
pub const CM_QUERY_ARBITRATOR_RAW = @as(u32, 0);
pub const CM_QUERY_ARBITRATOR_TRANSLATED = @as(u32, 1);
pub const CM_QUERY_ARBITRATOR_BITS = @as(u32, 1);
pub const CM_CUSTOMDEVPROP_MERGE_MULTISZ = @as(u32, 1);
pub const CM_CUSTOMDEVPROP_BITS = @as(u32, 1);
pub const CM_NAME_ATTRIBUTE_NAME_RETRIEVED_FROM_DEVICE = @as(u32, 1);
pub const CM_NAME_ATTRIBUTE_USER_ASSIGNED_NAME = @as(u32, 2);
pub const CM_CLASS_PROPERTY_INSTALLER = @as(u32, 0);
pub const CM_CLASS_PROPERTY_INTERFACE = @as(u32, 1);
pub const CM_CLASS_PROPERTY_BITS = @as(u32, 1);
pub const CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES = @as(u32, 1);
pub const CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES = @as(u32, 2);
pub const CM_GLOBAL_STATE_CAN_DO_UI = @as(u32, 1);
pub const CM_GLOBAL_STATE_ON_BIG_STACK = @as(u32, 2);
pub const CM_GLOBAL_STATE_SERVICES_AVAILABLE = @as(u32, 4);
pub const CM_GLOBAL_STATE_SHUTTING_DOWN = @as(u32, 8);
pub const CM_GLOBAL_STATE_DETECTION_PENDING = @as(u32, 16);
pub const CM_GLOBAL_STATE_REBOOT_REQUIRED = @as(u32, 32);
pub const INSTALLFLAG_FORCE = @as(u32, 1);
pub const INSTALLFLAG_READONLY = @as(u32, 2);
pub const INSTALLFLAG_NONINTERACTIVE = @as(u32, 4);
pub const INSTALLFLAG_BITS = @as(u32, 7);
pub const DIIDFLAG_SHOWSEARCHUI = @as(u32, 1);
pub const DIIDFLAG_NOFINISHINSTALLUI = @as(u32, 2);
pub const DIIDFLAG_INSTALLNULLDRIVER = @as(u32, 4);
pub const DIIDFLAG_INSTALLCOPYINFDRIVERS = @as(u32, 8);
pub const DIIDFLAG_BITS = @as(u32, 15);
pub const DIIRFLAG_INF_ALREADY_COPIED = @as(u32, 1);
pub const DIIRFLAG_FORCE_INF = @as(u32, 2);
pub const DIIRFLAG_HW_USING_THE_INF = @as(u32, 4);
pub const DIIRFLAG_HOTPATCH = @as(u32, 8);
pub const DIIRFLAG_NOBACKUP = @as(u32, 16);
pub const DIIRFLAG_PRE_CONFIGURE_INF = @as(u32, 32);
pub const DIIRFLAG_INSTALL_AS_SET = @as(u32, 64);
pub const DIURFLAG_NO_REMOVE_INF = @as(u32, 1);
pub const DIURFLAG_RESERVED = @as(u32, 2);
pub const ROLLBACK_FLAG_NO_UI = @as(u32, 1);
pub const ROLLBACK_BITS = @as(u32, 1);
pub const MAX_KEY_LEN = @as(u32, 100);
pub const SZ_KEY_OPTIONDESC = "OptionDesc";
pub const SZ_KEY_LDIDOEM = "LdidOEM";
pub const SZ_KEY_SRCDISKFILES = "SourceDisksFiles";
pub const SZ_KEY_SRCDISKNAMES = "SourceDisksNames";
pub const SZ_KEY_STRINGS = "Strings";
pub const SZ_KEY_DESTDIRS = "DestinationDirs";
pub const SZ_KEY_LAYOUT_FILE = "LayoutFile";
pub const SZ_KEY_DEFDESTDIR = "DefaultDestDir";
pub const SZ_KEY_LFN_SECTION = "VarLDID.LFN";
pub const SZ_KEY_SFN_SECTION = "VarLDID.SFN";
pub const SZ_KEY_UPDATEINIS = "UpdateInis";
pub const SZ_KEY_UPDATEINIFIELDS = "UpdateIniFields";
pub const SZ_KEY_INI2REG = "Ini2Reg";
pub const SZ_KEY_COPYFILES = "CopyFiles";
pub const SZ_KEY_RENFILES = "RenFiles";
pub const SZ_KEY_DELFILES = "DelFiles";
pub const SZ_KEY_ADDREG = "AddReg";
pub const SZ_KEY_ADDREGNOCLOBBER = "AddRegNoClobber";
pub const SZ_KEY_DELREG = "DelReg";
pub const SZ_KEY_BITREG = "BitReg";
pub const SZ_KEY_COPYINF = "CopyINF";
pub const SZ_KEY_LOGCONFIG = "LogConfig";
pub const SZ_KEY_ADDSERVICE = "AddService";
pub const SZ_KEY_DELSERVICE = "DelService";
pub const SZ_KEY_ADDTRIGGER = "AddTrigger";
pub const SZ_KEY_ADDINTERFACE = "AddInterface";
pub const SZ_KEY_ADDIME = "AddIme";
pub const SZ_KEY_DELIME = "DelIme";
pub const SZ_KEY_REGSVR = "RegisterDlls";
pub const SZ_KEY_UNREGSVR = "UnregisterDlls";
pub const SZ_KEY_PROFILEITEMS = "ProfileItems";
pub const SZ_KEY_MODULES = "Modules";
pub const SZ_KEY_DEFAULTOPTION = "DefaultOption";
pub const SZ_KEY_LISTOPTIONS = "ListOptions";
pub const SZ_KEY_CLEANONLY = "CleanOnly";
pub const SZ_KEY_UPGRADEONLY = "UpgradeOnly";
pub const SZ_KEY_EXCLUDEID = "ExcludeId";
pub const SZ_KEY_ADDPOWERSETTING = "AddPowerSetting";
pub const SZ_KEY_ADDPROP = "AddProperty";
pub const SZ_KEY_DELPROP = "DelProperty";
pub const SZ_KEY_FEATURESCORE = "FeatureScore";
pub const SZ_KEY_ADDEVENTPROVIDER = "AddEventProvider";
pub const SZ_KEY_ADDCHANNEL = "AddChannel";
pub const SZ_KEY_IMPORTCHANNEL = "ImportChannel";
pub const SZ_KEY_ADDAUTOLOGGER = "AddAutoLogger";
pub const SZ_KEY_UPDATEAUTOLOGGER = "UpdateAutoLogger";
pub const SZ_KEY_ADDAUTOLOGGERPROVIDER = "AddAutoLoggerProvider";
pub const SZ_KEY_ADDFILTER = "AddFilter";
pub const SZ_KEY_FILTERLEVEL = "FilterLevel";
pub const SZ_KEY_FILTERPOSITION = "FilterPosition";
pub const SZ_KEY_PHASE1 = "Phase1";
pub const SZ_KEY_HARDWARE = "Hardware";
pub const INFSTR_KEY_CONFIGPRIORITY = "ConfigPriority";
pub const MAX_PRIORITYSTR_LEN = @as(u32, 16);
pub const INFSTR_CFGPRI_HARDWIRED = "HARDWIRED";
pub const INFSTR_CFGPRI_DESIRED = "DESIRED";
pub const INFSTR_CFGPRI_NORMAL = "NORMAL";
pub const INFSTR_CFGPRI_SUBOPTIMAL = "SUBOPTIMAL";
pub const INFSTR_CFGPRI_DISABLED = "DISABLED";
pub const INFSTR_CFGPRI_RESTART = "RESTART";
pub const INFSTR_CFGPRI_REBOOT = "REBOOT";
pub const INFSTR_CFGPRI_POWEROFF = "POWEROFF";
pub const INFSTR_CFGPRI_HARDRECONFIG = "HARDRECONFIG";
pub const INFSTR_CFGPRI_FORCECONFIG = "FORCECONFIG";
pub const INFSTR_CFGTYPE_BASIC = "BASIC";
pub const INFSTR_CFGTYPE_FORCED = "FORCED";
pub const INFSTR_CFGTYPE_OVERRIDE = "OVERRIDE";
pub const INFSTR_KEY_MEMCONFIG = "MemConfig";
pub const INFSTR_KEY_MEMLARGECONFIG = "MemLargeConfig";
pub const INFSTR_KEY_IOCONFIG = "IOConfig";
pub const INFSTR_KEY_IRQCONFIG = "IRQConfig";
pub const INFSTR_KEY_DMACONFIG = "DMAConfig";
pub const INFSTR_KEY_PCCARDCONFIG = "PcCardConfig";
pub const INFSTR_KEY_MFCARDCONFIG = "MfCardConfig";
pub const INFSTR_SECT_CLASS_INSTALL = "ClassInstall";
pub const INFSTR_SECT_CLASS_INSTALL_32 = "ClassInstall32";
pub const INFSTR_SECT_DEFAULT_INSTALL = "DefaultInstall";
pub const INFSTR_SECT_DEFAULT_UNINSTALL = "DefaultUninstall";
pub const INFSTR_SECT_INTERFACE_INSTALL_32 = "InterfaceInstall32";
pub const INFSTR_SECT_VERSION = "Version";
pub const INFSTR_KEY_PROVIDER = "Provider";
pub const INFSTR_KEY_SIGNATURE = "Signature";
pub const INFSTR_KEY_DRIVERSET = "DriverSet";
pub const MAX_INF_FLAG = @as(u32, 20);
pub const INFSTR_KEY_HARDWARE_CLASS = "Class";
pub const INFSTR_KEY_HARDWARE_CLASSGUID = "ClassGUID";
pub const INFSTR_KEY_NOSETUPINF = "NoSetupInf";
pub const INFSTR_KEY_FROMINET = "FromINet";
pub const INFSTR_KEY_CATALOGFILE = "CatalogFile";
pub const INFSTR_KEY_PNPLOCKDOWN = "PnpLockDown";
pub const INFSTR_KEY_EXTENSIONID = "ExtensionId";
pub const INFSTR_SECT_MFG = "Manufacturer";
pub const INFSTR_SECT_TARGETCOMPUTERS = "TargetComputers";
pub const INFSTR_SECT_EXTENSIONCONTRACTS = "ExtensionContracts";
pub const INFSTR_KEY_CLASS = "Class";
pub const INFSTR_KEY_CLASSGUID = "ClassGUID";
pub const INFSTR_RESTART = "Restart";
pub const INFSTR_REBOOT = "Reboot";
pub const INFSTR_KEY_DISPLAYNAME = "DisplayName";
pub const INFSTR_KEY_SERVICETYPE = "ServiceType";
pub const INFSTR_KEY_STARTTYPE = "StartType";
pub const INFSTR_KEY_ERRORCONTROL = "ErrorControl";
pub const INFSTR_KEY_SERVICEBINARY = "ServiceBinary";
pub const INFSTR_KEY_LOADORDERGROUP = "LoadOrderGroup";
pub const INFSTR_KEY_DEPENDENCIES = "Dependencies";
pub const INFSTR_KEY_REQUIREDPRIVILEGES = "RequiredPrivileges";
pub const INFSTR_KEY_STARTNAME = "StartName";
pub const INFSTR_KEY_SECURITY = "Security";
pub const INFSTR_KEY_DESCRIPTION = "Description";
pub const INFSTR_KEY_SERVICESIDTYPE = "ServiceSidType";
pub const INFSTR_KEY_DELAYEDAUTOSTART = "DelayedAutoStart";
pub const INFSTR_KEY_TRIGGER_TYPE = "TriggerType";
pub const INFSTR_KEY_ACTION = "Action";
pub const INFSTR_KEY_SUB_TYPE = "SubType";
pub const INFSTR_KEY_DATA_ITEM = "DataItem";
pub const INFSTR_KEY_PROVIDER_NAME = "ProviderName";
pub const INFSTR_KEY_RESOURCE_FILE = "ResourceFile";
pub const INFSTR_KEY_MESSAGE_FILE = "MessageFile";
pub const INFSTR_KEY_PARAMETER_FILE = "ParameterFile";
pub const INFSTR_KEY_CHANNEL_ACCESS = "Access";
pub const INFSTR_KEY_CHANNEL_ISOLATION = "Isolation";
pub const INFSTR_KEY_CHANNEL_ENABLED = "Enabled";
pub const INFSTR_KEY_CHANNEL_VALUE = "Value";
pub const INFSTR_KEY_LOGGING_MAXSIZE = "LoggingMaxSize";
pub const INFSTR_KEY_LOGGING_RETENTION = "LoggingRetention";
pub const INFSTR_KEY_LOGGING_AUTOBACKUP = "LoggingAutoBackup";
pub const INFSTR_KEY_START = "Start";
pub const INFSTR_KEY_BUFFER_SIZE = "BufferSize";
pub const INFSTR_KEY_CLOCK_TYPE = "ClockType";
pub const INFSTR_KEY_DISABLE_REALTIME_PERSISTENCE = "DisableRealtimePersistence";
pub const INFSTR_KEY_FILE_NAME = "FileName";
pub const INFSTR_KEY_FILE_MAX = "FileMax";
pub const INFSTR_KEY_FLUSH_TIMER = "FlushTimer";
pub const INFSTR_KEY_LOG_FILE_MODE = "LogFileMode";
pub const INFSTR_KEY_MAX_FILE_SIZE = "MaxFileSize";
pub const INFSTR_KEY_MAXIMUM_BUFFERS = "MaximumBuffers";
pub const INFSTR_KEY_MINIMUM_BUFFERS = "MinimumBuffers";
pub const INFSTR_KEY_ENABLED = "Enabled";
pub const INFSTR_KEY_ENABLE_FLAGS = "EnableFlags";
pub const INFSTR_KEY_ENABLE_LEVEL = "EnableLevel";
pub const INFSTR_KEY_ENABLE_PROPERTY = "EnableProperty";
pub const INFSTR_KEY_MATCH_ANY_KEYWORD = "MatchAnyKeyword";
pub const INFSTR_KEY_MATCH_ALL_KEYWORD = "MatchAllKeyword";
pub const INFSTR_SECT_DETMODULES = "Det.Modules";
pub const INFSTR_SECT_DETCLASSINFO = "Det.ClassInfo";
pub const INFSTR_SECT_MANUALDEV = "Det.ManualDev";
pub const INFSTR_SECT_AVOIDCFGSYSDEV = "Det.AvoidCfgSysDev";
pub const INFSTR_SECT_REGCFGSYSDEV = "Det.RegCfgSysDev";
pub const INFSTR_SECT_DEVINFS = "Det.DevINFs";
pub const INFSTR_SECT_AVOIDINIDEV = "Det.AvoidIniDev";
pub const INFSTR_SECT_AVOIDENVDEV = "Det.AvoidEnvDev";
pub const INFSTR_SECT_REGINIDEV = "Det.RegIniDev";
pub const INFSTR_SECT_REGENVDEV = "Det.RegEnvDev";
pub const INFSTR_SECT_HPOMNIBOOK = "Det.HPOmnibook";
pub const INFSTR_SECT_FORCEHWVERIFY = "Det.ForceHWVerify";
pub const INFSTR_SECT_DETOPTIONS = "Det.Options";
pub const INFSTR_SECT_BADPNPBIOS = "BadPnpBios";
pub const INFSTR_SECT_GOODACPIBIOS = "GoodACPIBios";
pub const INFSTR_SECT_BADACPIBIOS = "BadACPIBios";
pub const INFSTR_SECT_BADROUTINGTABLEBIOS = "BadPCIIRQRoutingTableBios";
pub const INFSTR_SECT_BADPMCALLBIOS = "BadProtectedModeCallBios";
pub const INFSTR_SECT_BADRMCALLBIOS = "BadRealModeCallBios";
pub const INFSTR_SECT_MACHINEIDBIOS = "MachineIDBios";
pub const INFSTR_SECT_BADDISKBIOS = "BadDiskBios";
pub const INFSTR_SECT_BADDSBIOS = "BadDSBios";
pub const INFSTR_KEY_DETPARAMS = "Params";
pub const INFSTR_KEY_SKIPLIST = "SkipList";
pub const INFSTR_KEY_DETECTLIST = "DetectList";
pub const INFSTR_KEY_EXCLUDERES = "ExcludeRes";
pub const INFSTR_SUBKEY_LOGCONFIG = "LogConfig";
pub const INFSTR_SUBKEY_DET = "Det";
pub const INFSTR_SUBKEY_FACTDEF = "FactDef";
pub const INFSTR_SUBKEY_POSSIBLEDUPS = "PosDup";
pub const INFSTR_SUBKEY_NORESOURCEDUPS = "NoResDup";
pub const INFSTR_SUBKEY_HW = "Hw";
pub const INFSTR_SUBKEY_CTL = "CTL";
pub const INFSTR_SUBKEY_SERVICES = "Services";
pub const INFSTR_SUBKEY_SOFTWARE = "Software";
pub const INFSTR_SUBKEY_INTERFACES = "Interfaces";
pub const INFSTR_SUBKEY_COINSTALLERS = "CoInstallers";
pub const INFSTR_SUBKEY_LOGCONFIGOVERRIDE = "LogConfigOverride";
pub const INFSTR_SUBKEY_WMI = "WMI";
pub const INFSTR_SUBKEY_EVENTS = "Events";
pub const INFSTR_SUBKEY_FILTERS = "Filters";
pub const INFSTR_CONTROLFLAGS_SECTION = "ControlFlags";
pub const INFSTR_KEY_COPYFILESONLY = "CopyFilesOnly";
pub const INFSTR_KEY_EXCLUDEFROMSELECT = "ExcludeFromSelect";
pub const INFSTR_KEY_ALWAYSEXCLUDEFROMSELECT = "AlwaysExcludeFromSelect";
pub const INFSTR_KEY_INTERACTIVEINSTALL = "InteractiveInstall";
pub const INFSTR_KEY_REQUESTADDITIONALSOFTWARE = "RequestAdditionalSoftware";
pub const INFSTR_PLATFORM_WIN = "Win";
pub const INFSTR_PLATFORM_NT = "NT";
pub const INFSTR_PLATFORM_NTX86 = "NTx86";
pub const INFSTR_PLATFORM_NTMIPS = "NTMIPS";
pub const INFSTR_PLATFORM_NTALPHA = "NTAlpha";
pub const INFSTR_PLATFORM_NTPPC = "NTPPC";
pub const INFSTR_PLATFORM_NTIA64 = "NTIA64";
pub const INFSTR_PLATFORM_NTAXP64 = "NTAXP64";
pub const INFSTR_PLATFORM_NTAMD64 = "NTAMD64";
pub const INFSTR_PLATFORM_NTARM = "NTARM";
pub const INFSTR_PLATFORM_NTARM64 = "NTARM64";
pub const MAX_INFSTR_STRKEY_LEN = @as(u32, 32);
pub const INFSTR_STRKEY_DRVDESC = "DriverDesc";
pub const INFSTR_DRIVERSELECT_SECTION = "DriverSelect";
pub const INFSTR_DRIVERSELECT_FUNCTIONS = "DriverSelectFunctions";
pub const INFSTR_DRIVERVERSION_SECTION = "DriverVer";
pub const INFSTR_SOFTWAREVERSION_SECTION = "SoftwareVersion";
pub const INFSTR_SECT_CFGSYS = "ConfigSysDrivers";
pub const INFSTR_SECT_AUTOEXECBAT = "AutoexecBatDrivers";
pub const INFSTR_SECT_SYSINI = "SystemIniDrivers";
pub const INFSTR_SECT_SYSINIDRV = "SystemIniDriversLine";
pub const INFSTR_SECT_WININIRUN = "WinIniRunLine";
pub const INFSTR_KEY_PATH = "Path";
pub const INFSTR_KEY_NAME = "Name";
pub const INFSTR_KEY_IO = "IO";
pub const INFSTR_KEY_MEM = "Mem";
pub const INFSTR_KEY_IRQ = "IRQ";
pub const INFSTR_KEY_DMA = "DMA";
pub const INFSTR_BUS_ISA = "BUS_ISA";
pub const INFSTR_BUS_EISA = "BUS_EISA";
pub const INFSTR_BUS_MCA = "BUS_MCA";
pub const INFSTR_BUS_ALL = "BUS_ALL";
pub const INFSTR_RISK_NONE = "RISK_NONE";
pub const INFSTR_RISK_VERYLOW = "RISK_VERYLOW";
pub const INFSTR_RISK_BIOSROMRD = "RISK_BIOSROMRD";
pub const INFSTR_RISK_QUERYDRV = "RISK_QUERYDRV";
pub const INFSTR_RISK_SWINT = "RISK_SWINT";
pub const INFSTR_RISK_LOW = "RISK_LOW";
pub const INFSTR_RISK_DELICATE = "RISK_DELICATE";
pub const INFSTR_RISK_MEMRD = "RISK_MEMRD";
pub const INFSTR_RISK_IORD = "RISK_IORD";
pub const INFSTR_RISK_MEMWR = "RISK_MEMWR";
pub const INFSTR_RISK_IOWR = "RISK_IOWR";
pub const INFSTR_RISK_UNRELIABLE = "RISK_UNRELIABLE";
pub const INFSTR_RISK_VERYHIGH = "RISK_VERYHIGH";
pub const INFSTR_CLASS_SAFEEXCL = "SAFE_EXCL";
pub const INFSTR_SECT_DISPLAY_CLEANUP = "DisplayCleanup";
pub const GUID_HWPROFILE_QUERY_CHANGE = Guid.initString("cb3a4001-46f0-11d0-b08f-00609713053f");
pub const GUID_HWPROFILE_CHANGE_CANCELLED = Guid.initString("cb3a4002-46f0-11d0-b08f-00609713053f");
pub const GUID_HWPROFILE_CHANGE_COMPLETE = Guid.initString("cb3a4003-46f0-11d0-b08f-00609713053f");
pub const GUID_DEVICE_INTERFACE_ARRIVAL = Guid.initString("cb3a4004-46f0-11d0-b08f-00609713053f");
pub const GUID_DEVICE_INTERFACE_REMOVAL = Guid.initString("cb3a4005-46f0-11d0-b08f-00609713053f");
pub const GUID_TARGET_DEVICE_QUERY_REMOVE = Guid.initString("cb3a4006-46f0-11d0-b08f-00609713053f");
pub const GUID_TARGET_DEVICE_REMOVE_CANCELLED = Guid.initString("cb3a4007-46f0-11d0-b08f-00609713053f");
pub const GUID_TARGET_DEVICE_REMOVE_COMPLETE = Guid.initString("cb3a4008-46f0-11d0-b08f-00609713053f");
pub const GUID_PNP_CUSTOM_NOTIFICATION = Guid.initString("aca73f8e-8d23-11d1-ac7d-0000f87571d0");
pub const GUID_PNP_POWER_NOTIFICATION = Guid.initString("c2cf0660-eb7a-11d1-bd7f-0000f87571d0");
pub const GUID_PNP_POWER_SETTING_CHANGE = Guid.initString("29c69b3e-c79a-43bf-bbde-a932fa1bea7e");
pub const GUID_TARGET_DEVICE_TRANSPORT_RELATIONS_CHANGED = Guid.initString("fcf528f6-a82f-47b1-ad3a-8050594cad28");
pub const GUID_KERNEL_SOFT_RESTART_PREPARE = Guid.initString("de373def-a85c-4f76-8cbf-f96bea8bd10f");
pub const GUID_KERNEL_SOFT_RESTART_CANCEL = Guid.initString("31d737e7-8c0b-468a-956e-9f433ec358fb");
pub const GUID_RECOVERY_PCI_PREPARE_SHUTDOWN = Guid.initString("90d889de-8704-44cf-8115-ed8528d2b2da");
pub const GUID_RECOVERY_NVMED_PREPARE_SHUTDOWN = Guid.initString("4b9770ea-bde7-400b-a9b9-4f684f54cc2a");
pub const GUID_KERNEL_SOFT_RESTART_FINALIZE = Guid.initString("20e91abd-350a-4d4f-8577-99c81507473a");
pub const GUID_BUS_INTERFACE_STANDARD = Guid.initString("496b8280-6f25-11d0-beaf-08002be2092f");
pub const GUID_PCI_BUS_INTERFACE_STANDARD = Guid.initString("496b8281-6f25-11d0-beaf-08002be2092f");
pub const GUID_PCI_BUS_INTERFACE_STANDARD2 = Guid.initString("de94e966-fdff-4c9c-9998-6747b150e74c");
pub const GUID_ARBITER_INTERFACE_STANDARD = Guid.initString("e644f185-8c0e-11d0-becf-08002be2092f");
pub const GUID_TRANSLATOR_INTERFACE_STANDARD = Guid.initString("6c154a92-aacf-11d0-8d2a-00a0c906b244");
pub const GUID_ACPI_INTERFACE_STANDARD = Guid.initString("b091a08a-ba97-11d0-bd14-00aa00b7b32a");
pub const GUID_INT_ROUTE_INTERFACE_STANDARD = Guid.initString("70941bf4-0073-11d1-a09e-00c04fc340b1");
pub const GUID_PCMCIA_BUS_INTERFACE_STANDARD = Guid.initString("76173af0-c504-11d1-947f-00c04fb960ee");
pub const GUID_ACPI_REGS_INTERFACE_STANDARD = Guid.initString("06141966-7245-6369-462e-4e656c736f6e");
pub const GUID_LEGACY_DEVICE_DETECTION_STANDARD = Guid.initString("50feb0de-596a-11d2-a5b8-0000f81a4619");
pub const GUID_PCI_DEVICE_PRESENT_INTERFACE = Guid.initString("d1b82c26-bf49-45ef-b216-71cbd7889b57");
pub const GUID_MF_ENUMERATION_INTERFACE = Guid.initString("aeb895f0-5586-11d1-8d84-00a0c906b244");
pub const GUID_REENUMERATE_SELF_INTERFACE_STANDARD = Guid.initString("2aeb0243-6a6e-486b-82fc-d815f6b97006");
pub const GUID_AGP_TARGET_BUS_INTERFACE_STANDARD = Guid.initString("b15cfce8-06d1-4d37-9d4c-bedde0c2a6ff");
pub const GUID_ACPI_CMOS_INTERFACE_STANDARD = Guid.initString("3a8d0384-6505-40ca-bc39-56c15f8c5fed");
pub const GUID_ACPI_PORT_RANGES_INTERFACE_STANDARD = Guid.initString("f14f609b-cbbd-4957-a674-bc00213f1c97");
pub const GUID_ACPI_INTERFACE_STANDARD2 = Guid.initString("e8695f63-1831-4870-a8cf-9c2f03f9dcb5");
pub const GUID_PNP_LOCATION_INTERFACE = Guid.initString("70211b0e-0afb-47db-afc1-410bf842497a");
pub const GUID_PCI_EXPRESS_LINK_QUIESCENT_INTERFACE = Guid.initString("146cd41c-dae3-4437-8aff-2af3f038099b");
pub const GUID_PCI_EXPRESS_ROOT_PORT_INTERFACE = Guid.initString("83a7734a-84c7-4161-9a98-6000ed0c4a33");
pub const GUID_MSIX_TABLE_CONFIG_INTERFACE = Guid.initString("1a6a460b-194f-455d-b34b-b84c5b05712b");
pub const GUID_D3COLD_SUPPORT_INTERFACE = Guid.initString("b38290e5-3cd0-4f9d-9937-f5fe2b44d47a");
pub const GUID_PROCESSOR_PCC_INTERFACE_STANDARD = Guid.initString("37b17e9a-c21c-4296-972d-11c4b32b28f0");
pub const GUID_PCI_VIRTUALIZATION_INTERFACE = Guid.initString("64897b47-3a4a-4d75-bc74-89dd6c078293");
pub const GUID_PCC_INTERFACE_STANDARD = Guid.initString("3ee8ba63-0f59-4a24-8a45-35808bdd1249");
pub const GUID_PCC_INTERFACE_INTERNAL = Guid.initString("7cce62ce-c189-4814-a6a7-12112089e938");
pub const GUID_THERMAL_COOLING_INTERFACE = Guid.initString("ecbe47a8-c498-4bb9-bd70-e867e0940d22");
pub const GUID_DMA_CACHE_COHERENCY_INTERFACE = Guid.initString("b520f7fa-8a5a-4e40-a3f6-6be1e162d935");
pub const GUID_DEVICE_RESET_INTERFACE_STANDARD = Guid.initString("649fdf26-3bc0-4813-ad24-7e0c1eda3fa3");
pub const GUID_IOMMU_BUS_INTERFACE = Guid.initString("1efee0b2-d278-4ae4-bddc-1b34dd648043");
pub const GUID_PCI_SECURITY_INTERFACE = Guid.initString("6e7f1451-199e-4acc-ba2d-762b4edf4674");
pub const GUID_SCM_BUS_INTERFACE = Guid.initString("25944783-ce79-4232-815e-4a30014e8eb4");
pub const GUID_SECURE_DRIVER_INTERFACE = Guid.initString("370f67e1-4ff5-4a94-9a35-06c5d9cc30e2");
pub const GUID_SDEV_IDENTIFIER_INTERFACE = Guid.initString("49d67af8-916c-4ee8-9df1-889f17d21e91");
pub const GUID_SCM_BUS_NVD_INTERFACE = Guid.initString("8de064ff-b630-42e4-88ea-6f24c8641175");
pub const GUID_SCM_BUS_LD_INTERFACE = Guid.initString("9b89307d-d76b-4f48-b186-54041ae92e8d");
pub const GUID_SCM_PHYSICAL_NVDIMM_INTERFACE = Guid.initString("0079c21b-917e-405e-a9ce-0732b5bbcebd");
pub const GUID_PNP_EXTENDED_ADDRESS_INTERFACE = Guid.initString("b8e992ec-a797-4dc4-8846-84d041707446");
pub const GUID_D3COLD_AUX_POWER_AND_TIMING_INTERFACE = Guid.initString("0044d8aa-f664-4588-9ffc-2afeaf5950b9");
pub const GUID_PCI_FPGA_CONTROL_INTERFACE = Guid.initString("2df3f7a8-b9b3-4063-9215-b5d14a0b266e");
pub const GUID_PCI_PTM_CONTROL_INTERFACE = Guid.initString("348a5ebb-ba24-44b7-9916-285687735117");
pub const GUID_BUS_RESOURCE_UPDATE_INTERFACE = Guid.initString("27d0102d-bfb2-4164-81dd-dbb82f968b48");
pub const GUID_NPEM_CONTROL_INTERFACE = Guid.initString("4d95573d-b774-488a-b120-4f284a9eff51");
pub const GUID_PCI_ATS_INTERFACE = Guid.initString("010a7fe8-96f5-4943-bedf-95e651b93412");
pub const GUID_BUS_TYPE_INTERNAL = Guid.initString("1530ea73-086b-11d1-a09f-00c04fc340b1");
pub const GUID_BUS_TYPE_PCMCIA = Guid.initString("09343630-af9f-11d0-92e9-0000f81e1b30");
pub const GUID_BUS_TYPE_PCI = Guid.initString("c8ebdfb0-b510-11d0-80e5-00a0c92542e3");
pub const GUID_BUS_TYPE_ISAPNP = Guid.initString("e676f854-d87d-11d0-92b2-00a0c9055fc5");
pub const GUID_BUS_TYPE_EISA = Guid.initString("ddc35509-f3fc-11d0-a537-0000f8753ed1");
pub const GUID_BUS_TYPE_MCA = Guid.initString("1c75997a-dc33-11d0-92b2-00a0c9055fc5");
pub const GUID_BUS_TYPE_SERENUM = Guid.initString("77114a87-8944-11d1-bd90-00a0c906be2d");
pub const GUID_BUS_TYPE_USB = Guid.initString("9d7debbc-c85d-11d1-9eb4-006008c3a19a");
pub const GUID_BUS_TYPE_LPTENUM = Guid.initString("c4ca1000-2ddc-11d5-a17a-00c04f60524d");
pub const GUID_BUS_TYPE_USBPRINT = Guid.initString("441ee000-4342-11d5-a184-00c04f60524d");
pub const GUID_BUS_TYPE_DOT4PRT = Guid.initString("441ee001-4342-11d5-a184-00c04f60524d");
pub const GUID_BUS_TYPE_1394 = Guid.initString("f74e73eb-9ac5-45eb-be4d-772cc71ddfb3");
pub const GUID_BUS_TYPE_HID = Guid.initString("eeaf37d0-1963-47c4-aa48-72476db7cf49");
pub const GUID_BUS_TYPE_AVC = Guid.initString("c06ff265-ae09-48f0-812c-16753d7cba83");
pub const GUID_BUS_TYPE_IRDA = Guid.initString("7ae17dc1-c944-44d6-881f-4c2e61053bc1");
pub const GUID_BUS_TYPE_SD = Guid.initString("e700cc04-4036-4e89-9579-89ebf45f00cd");
pub const GUID_BUS_TYPE_ACPI = Guid.initString("d7b46895-001a-4942-891f-a7d46610a843");
pub const GUID_BUS_TYPE_SW_DEVICE = Guid.initString("06d10322-7de0-4cef-8e25-197d0e7442e2");
pub const GUID_BUS_TYPE_SCM = Guid.initString("375a5912-804c-45aa-bdc2-fdd25a1d9512");
pub const GUID_POWER_DEVICE_ENABLE = Guid.initString("827c0a6f-feb0-11d0-bd26-00aa00b7b32a");
pub const GUID_POWER_DEVICE_TIMEOUTS = Guid.initString("a45da735-feb0-11d0-bd26-00aa00b7b32a");
pub const GUID_POWER_DEVICE_WAKE_ENABLE = Guid.initString("a9546a82-feb0-11d0-bd26-00aa00b7b32a");
pub const GUID_WUDF_DEVICE_HOST_PROBLEM = Guid.initString("c43d25bd-9346-40ee-a2d2-d70c15f8b75b");
pub const GUID_PARTITION_UNIT_INTERFACE_STANDARD = Guid.initString("52363f5b-d891-429b-8195-aec5fef6853c");
pub const GUID_QUERY_CRASHDUMP_FUNCTIONS = Guid.initString("9cc6b8ff-32e2-4834-b1de-b32ef8880a4b");
//--------------------------------------------------------------------------------
// Section: Types (172)
//--------------------------------------------------------------------------------
pub const SP_COPY_STYLE = enum(u32) {
DELETESOURCE = 1,
REPLACEONLY = 2,
NEWER_OR_SAME = 4,
NEWER_ONLY = 65536,
NOOVERWRITE = 8,
NODECOMP = 16,
LANGUAGEAWARE = 32,
SOURCE_ABSOLUTE = 64,
SOURCEPATH_ABSOLUTE = 128,
FORCE_IN_USE = 512,
IN_USE_NEEDS_REBOOT = 256,
NOSKIP = 1024,
FORCE_NOOVERWRITE = 4096,
FORCE_NEWER = 8192,
WARNIFSKIP = 16384,
NOBROWSE = 32768,
// NEWER = 4, this enum value conflicts with NEWER_OR_SAME
RESERVED = 131072,
OEMINF_CATALOG_ONLY = 262144,
REPLACE_BOOT_FILE = 524288,
NOPRUNE = 1048576,
OEM_F6_INF = 2097152,
ALREADYDECOMP = 4194304,
WINDOWS_SIGNED = 16777216,
PNPLOCKED = 33554432,
IN_USE_TRY_RENAME = 67108864,
INBOX_INF = 134217728,
HARDLINK = 268435456,
_,
pub fn initFlags(o: struct {
DELETESOURCE: u1 = 0,
REPLACEONLY: u1 = 0,
NEWER_OR_SAME: u1 = 0,
NEWER_ONLY: u1 = 0,
NOOVERWRITE: u1 = 0,
NODECOMP: u1 = 0,
LANGUAGEAWARE: u1 = 0,
SOURCE_ABSOLUTE: u1 = 0,
SOURCEPATH_ABSOLUTE: u1 = 0,
FORCE_IN_USE: u1 = 0,
IN_USE_NEEDS_REBOOT: u1 = 0,
NOSKIP: u1 = 0,
FORCE_NOOVERWRITE: u1 = 0,
FORCE_NEWER: u1 = 0,
WARNIFSKIP: u1 = 0,
NOBROWSE: u1 = 0,
RESERVED: u1 = 0,
OEMINF_CATALOG_ONLY: u1 = 0,
REPLACE_BOOT_FILE: u1 = 0,
NOPRUNE: u1 = 0,
OEM_F6_INF: u1 = 0,
ALREADYDECOMP: u1 = 0,
WINDOWS_SIGNED: u1 = 0,
PNPLOCKED: u1 = 0,
IN_USE_TRY_RENAME: u1 = 0,
INBOX_INF: u1 = 0,
HARDLINK: u1 = 0,
}) SP_COPY_STYLE {
return @as(SP_COPY_STYLE, @enumFromInt(
(if (o.DELETESOURCE == 1) @intFromEnum(SP_COPY_STYLE.DELETESOURCE) else 0)
| (if (o.REPLACEONLY == 1) @intFromEnum(SP_COPY_STYLE.REPLACEONLY) else 0)
| (if (o.NEWER_OR_SAME == 1) @intFromEnum(SP_COPY_STYLE.NEWER_OR_SAME) else 0)
| (if (o.NEWER_ONLY == 1) @intFromEnum(SP_COPY_STYLE.NEWER_ONLY) else 0)
| (if (o.NOOVERWRITE == 1) @intFromEnum(SP_COPY_STYLE.NOOVERWRITE) else 0)
| (if (o.NODECOMP == 1) @intFromEnum(SP_COPY_STYLE.NODECOMP) else 0)
| (if (o.LANGUAGEAWARE == 1) @intFromEnum(SP_COPY_STYLE.LANGUAGEAWARE) else 0)
| (if (o.SOURCE_ABSOLUTE == 1) @intFromEnum(SP_COPY_STYLE.SOURCE_ABSOLUTE) else 0)
| (if (o.SOURCEPATH_ABSOLUTE == 1) @intFromEnum(SP_COPY_STYLE.SOURCEPATH_ABSOLUTE) else 0)
| (if (o.FORCE_IN_USE == 1) @intFromEnum(SP_COPY_STYLE.FORCE_IN_USE) else 0)
| (if (o.IN_USE_NEEDS_REBOOT == 1) @intFromEnum(SP_COPY_STYLE.IN_USE_NEEDS_REBOOT) else 0)
| (if (o.NOSKIP == 1) @intFromEnum(SP_COPY_STYLE.NOSKIP) else 0)
| (if (o.FORCE_NOOVERWRITE == 1) @intFromEnum(SP_COPY_STYLE.FORCE_NOOVERWRITE) else 0)
| (if (o.FORCE_NEWER == 1) @intFromEnum(SP_COPY_STYLE.FORCE_NEWER) else 0)
| (if (o.WARNIFSKIP == 1) @intFromEnum(SP_COPY_STYLE.WARNIFSKIP) else 0)
| (if (o.NOBROWSE == 1) @intFromEnum(SP_COPY_STYLE.NOBROWSE) else 0)
| (if (o.RESERVED == 1) @intFromEnum(SP_COPY_STYLE.RESERVED) else 0)
| (if (o.OEMINF_CATALOG_ONLY == 1) @intFromEnum(SP_COPY_STYLE.OEMINF_CATALOG_ONLY) else 0)
| (if (o.REPLACE_BOOT_FILE == 1) @intFromEnum(SP_COPY_STYLE.REPLACE_BOOT_FILE) else 0)
| (if (o.NOPRUNE == 1) @intFromEnum(SP_COPY_STYLE.NOPRUNE) else 0)
| (if (o.OEM_F6_INF == 1) @intFromEnum(SP_COPY_STYLE.OEM_F6_INF) else 0)
| (if (o.ALREADYDECOMP == 1) @intFromEnum(SP_COPY_STYLE.ALREADYDECOMP) else 0)
| (if (o.WINDOWS_SIGNED == 1) @intFromEnum(SP_COPY_STYLE.WINDOWS_SIGNED) else 0)
| (if (o.PNPLOCKED == 1) @intFromEnum(SP_COPY_STYLE.PNPLOCKED) else 0)
| (if (o.IN_USE_TRY_RENAME == 1) @intFromEnum(SP_COPY_STYLE.IN_USE_TRY_RENAME) else 0)
| (if (o.INBOX_INF == 1) @intFromEnum(SP_COPY_STYLE.INBOX_INF) else 0)
| (if (o.HARDLINK == 1) @intFromEnum(SP_COPY_STYLE.HARDLINK) else 0)
));
}
};
pub const SP_COPY_DELETESOURCE = SP_COPY_STYLE.DELETESOURCE;
pub const SP_COPY_REPLACEONLY = SP_COPY_STYLE.REPLACEONLY;
pub const SP_COPY_NEWER_OR_SAME = SP_COPY_STYLE.NEWER_OR_SAME;
pub const SP_COPY_NEWER_ONLY = SP_COPY_STYLE.NEWER_ONLY;
pub const SP_COPY_NOOVERWRITE = SP_COPY_STYLE.NOOVERWRITE;
pub const SP_COPY_NODECOMP = SP_COPY_STYLE.NODECOMP;
pub const SP_COPY_LANGUAGEAWARE = SP_COPY_STYLE.LANGUAGEAWARE;
pub const SP_COPY_SOURCE_ABSOLUTE = SP_COPY_STYLE.SOURCE_ABSOLUTE;
pub const SP_COPY_SOURCEPATH_ABSOLUTE = SP_COPY_STYLE.SOURCEPATH_ABSOLUTE;
pub const SP_COPY_FORCE_IN_USE = SP_COPY_STYLE.FORCE_IN_USE;
pub const SP_COPY_IN_USE_NEEDS_REBOOT = SP_COPY_STYLE.IN_USE_NEEDS_REBOOT;
pub const SP_COPY_NOSKIP = SP_COPY_STYLE.NOSKIP;
pub const SP_COPY_FORCE_NOOVERWRITE = SP_COPY_STYLE.FORCE_NOOVERWRITE;
pub const SP_COPY_FORCE_NEWER = SP_COPY_STYLE.FORCE_NEWER;
pub const SP_COPY_WARNIFSKIP = SP_COPY_STYLE.WARNIFSKIP;
pub const SP_COPY_NOBROWSE = SP_COPY_STYLE.NOBROWSE;
pub const SP_COPY_NEWER = SP_COPY_STYLE.NEWER_OR_SAME;
pub const SP_COPY_RESERVED = SP_COPY_STYLE.RESERVED;
pub const SP_COPY_OEMINF_CATALOG_ONLY = SP_COPY_STYLE.OEMINF_CATALOG_ONLY;
pub const SP_COPY_REPLACE_BOOT_FILE = SP_COPY_STYLE.REPLACE_BOOT_FILE;
pub const SP_COPY_NOPRUNE = SP_COPY_STYLE.NOPRUNE;
pub const SP_COPY_OEM_F6_INF = SP_COPY_STYLE.OEM_F6_INF;
pub const SP_COPY_ALREADYDECOMP = SP_COPY_STYLE.ALREADYDECOMP;
pub const SP_COPY_WINDOWS_SIGNED = SP_COPY_STYLE.WINDOWS_SIGNED;
pub const SP_COPY_PNPLOCKED = SP_COPY_STYLE.PNPLOCKED;
pub const SP_COPY_IN_USE_TRY_RENAME = SP_COPY_STYLE.IN_USE_TRY_RENAME;
pub const SP_COPY_INBOX_INF = SP_COPY_STYLE.INBOX_INF;
pub const SP_COPY_HARDLINK = SP_COPY_STYLE.HARDLINK;
pub const SETUP_FILE_OPERATION = enum(u32) {
DELETE = 2,
COPY = 0,
};
pub const FILEOP_DELETE = SETUP_FILE_OPERATION.DELETE;
pub const FILEOP_COPY = SETUP_FILE_OPERATION.COPY;
pub const OEM_SOURCE_MEDIA_TYPE = enum(u32) {
NONE = 0,
PATH = 1,
URL = 2,
};
pub const SPOST_NONE = OEM_SOURCE_MEDIA_TYPE.NONE;
pub const SPOST_PATH = OEM_SOURCE_MEDIA_TYPE.PATH;
pub const SPOST_URL = OEM_SOURCE_MEDIA_TYPE.URL;
pub const SETUP_DI_BUILD_DRIVER_DRIVER_TYPE = enum(u32) {
LASSDRIVER = 1,
OMPATDRIVER = 2,
};
pub const SPDIT_CLASSDRIVER = SETUP_DI_BUILD_DRIVER_DRIVER_TYPE.LASSDRIVER;
pub const SPDIT_COMPATDRIVER = SETUP_DI_BUILD_DRIVER_DRIVER_TYPE.OMPATDRIVER;
pub const SP_INF_STYLE = enum(u32) {
NONE = 0,
OLDNT = 1,
WIN4 = 2,
};
pub const INF_STYLE_NONE = SP_INF_STYLE.NONE;
pub const INF_STYLE_OLDNT = SP_INF_STYLE.OLDNT;
pub const INF_STYLE_WIN4 = SP_INF_STYLE.WIN4;
pub const CONFIGRET = enum(u32) {
CR_SUCCESS = 0,
CR_DEFAULT = 1,
CR_OUT_OF_MEMORY = 2,
CR_INVALID_POINTER = 3,
CR_INVALID_FLAG = 4,
CR_INVALID_DEVNODE = 5,
// CR_INVALID_DEVINST = 5, this enum value conflicts with CR_INVALID_DEVNODE
CR_INVALID_RES_DES = 6,
CR_INVALID_LOG_CONF = 7,
CR_INVALID_ARBITRATOR = 8,
CR_INVALID_NODELIST = 9,
CR_DEVNODE_HAS_REQS = 10,
// CR_DEVINST_HAS_REQS = 10, this enum value conflicts with CR_DEVNODE_HAS_REQS
CR_INVALID_RESOURCEID = 11,
CR_DLVXD_NOT_FOUND = 12,
CR_NO_SUCH_DEVNODE = 13,
// CR_NO_SUCH_DEVINST = 13, this enum value conflicts with CR_NO_SUCH_DEVNODE
CR_NO_MORE_LOG_CONF = 14,
CR_NO_MORE_RES_DES = 15,
CR_ALREADY_SUCH_DEVNODE = 16,
// CR_ALREADY_SUCH_DEVINST = 16, this enum value conflicts with CR_ALREADY_SUCH_DEVNODE
CR_INVALID_RANGE_LIST = 17,
CR_INVALID_RANGE = 18,
CR_FAILURE = 19,
CR_NO_SUCH_LOGICAL_DEV = 20,
CR_CREATE_BLOCKED = 21,
CR_NOT_SYSTEM_VM = 22,
CR_REMOVE_VETOED = 23,
CR_APM_VETOED = 24,
CR_INVALID_LOAD_TYPE = 25,
CR_BUFFER_SMALL = 26,
CR_NO_ARBITRATOR = 27,
CR_NO_REGISTRY_HANDLE = 28,
CR_REGISTRY_ERROR = 29,
CR_INVALID_DEVICE_ID = 30,
CR_INVALID_DATA = 31,
CR_INVALID_API = 32,
CR_DEVLOADER_NOT_READY = 33,
CR_NEED_RESTART = 34,
CR_NO_MORE_HW_PROFILES = 35,
CR_DEVICE_NOT_THERE = 36,
CR_NO_SUCH_VALUE = 37,
CR_WRONG_TYPE = 38,
CR_INVALID_PRIORITY = 39,
CR_NOT_DISABLEABLE = 40,
CR_FREE_RESOURCES = 41,
CR_QUERY_VETOED = 42,
CR_CANT_SHARE_IRQ = 43,
CR_NO_DEPENDENT = 44,
CR_SAME_RESOURCES = 45,
CR_NO_SUCH_REGISTRY_KEY = 46,
CR_INVALID_MACHINENAME = 47,
CR_REMOTE_COMM_FAILURE = 48,
CR_MACHINE_UNAVAILABLE = 49,
CR_NO_CM_SERVICES = 50,
CR_ACCESS_DENIED = 51,
CR_CALL_NOT_IMPLEMENTED = 52,
CR_INVALID_PROPERTY = 53,
CR_DEVICE_INTERFACE_ACTIVE = 54,
CR_NO_SUCH_DEVICE_INTERFACE = 55,
CR_INVALID_REFERENCE_STRING = 56,
CR_INVALID_CONFLICT_LIST = 57,
CR_INVALID_INDEX = 58,
CR_INVALID_STRUCTURE_SIZE = 59,
NUM_CR_RESULTS = 60,
};
pub const CR_SUCCESS = CONFIGRET.CR_SUCCESS;
pub const CR_DEFAULT = CONFIGRET.CR_DEFAULT;
pub const CR_OUT_OF_MEMORY = CONFIGRET.CR_OUT_OF_MEMORY;
pub const CR_INVALID_POINTER = CONFIGRET.CR_INVALID_POINTER;
pub const CR_INVALID_FLAG = CONFIGRET.CR_INVALID_FLAG;
pub const CR_INVALID_DEVNODE = CONFIGRET.CR_INVALID_DEVNODE;
pub const CR_INVALID_DEVINST = CONFIGRET.CR_INVALID_DEVNODE;
pub const CR_INVALID_RES_DES = CONFIGRET.CR_INVALID_RES_DES;
pub const CR_INVALID_LOG_CONF = CONFIGRET.CR_INVALID_LOG_CONF;
pub const CR_INVALID_ARBITRATOR = CONFIGRET.CR_INVALID_ARBITRATOR;
pub const CR_INVALID_NODELIST = CONFIGRET.CR_INVALID_NODELIST;
pub const CR_DEVNODE_HAS_REQS = CONFIGRET.CR_DEVNODE_HAS_REQS;
pub const CR_DEVINST_HAS_REQS = CONFIGRET.CR_DEVNODE_HAS_REQS;
pub const CR_INVALID_RESOURCEID = CONFIGRET.CR_INVALID_RESOURCEID;
pub const CR_DLVXD_NOT_FOUND = CONFIGRET.CR_DLVXD_NOT_FOUND;
pub const CR_NO_SUCH_DEVNODE = CONFIGRET.CR_NO_SUCH_DEVNODE;
pub const CR_NO_SUCH_DEVINST = CONFIGRET.CR_NO_SUCH_DEVNODE;
pub const CR_NO_MORE_LOG_CONF = CONFIGRET.CR_NO_MORE_LOG_CONF;
pub const CR_NO_MORE_RES_DES = CONFIGRET.CR_NO_MORE_RES_DES;
pub const CR_ALREADY_SUCH_DEVNODE = CONFIGRET.CR_ALREADY_SUCH_DEVNODE;
pub const CR_ALREADY_SUCH_DEVINST = CONFIGRET.CR_ALREADY_SUCH_DEVNODE;
pub const CR_INVALID_RANGE_LIST = CONFIGRET.CR_INVALID_RANGE_LIST;
pub const CR_INVALID_RANGE = CONFIGRET.CR_INVALID_RANGE;
pub const CR_FAILURE = CONFIGRET.CR_FAILURE;
pub const CR_NO_SUCH_LOGICAL_DEV = CONFIGRET.CR_NO_SUCH_LOGICAL_DEV;
pub const CR_CREATE_BLOCKED = CONFIGRET.CR_CREATE_BLOCKED;
pub const CR_NOT_SYSTEM_VM = CONFIGRET.CR_NOT_SYSTEM_VM;
pub const CR_REMOVE_VETOED = CONFIGRET.CR_REMOVE_VETOED;
pub const CR_APM_VETOED = CONFIGRET.CR_APM_VETOED;
pub const CR_INVALID_LOAD_TYPE = CONFIGRET.CR_INVALID_LOAD_TYPE;
pub const CR_BUFFER_SMALL = CONFIGRET.CR_BUFFER_SMALL;
pub const CR_NO_ARBITRATOR = CONFIGRET.CR_NO_ARBITRATOR;
pub const CR_NO_REGISTRY_HANDLE = CONFIGRET.CR_NO_REGISTRY_HANDLE;
pub const CR_REGISTRY_ERROR = CONFIGRET.CR_REGISTRY_ERROR;
pub const CR_INVALID_DEVICE_ID = CONFIGRET.CR_INVALID_DEVICE_ID;
pub const CR_INVALID_DATA = CONFIGRET.CR_INVALID_DATA;
pub const CR_INVALID_API = CONFIGRET.CR_INVALID_API;
pub const CR_DEVLOADER_NOT_READY = CONFIGRET.CR_DEVLOADER_NOT_READY;
pub const CR_NEED_RESTART = CONFIGRET.CR_NEED_RESTART;
pub const CR_NO_MORE_HW_PROFILES = CONFIGRET.CR_NO_MORE_HW_PROFILES;
pub const CR_DEVICE_NOT_THERE = CONFIGRET.CR_DEVICE_NOT_THERE;
pub const CR_NO_SUCH_VALUE = CONFIGRET.CR_NO_SUCH_VALUE;
pub const CR_WRONG_TYPE = CONFIGRET.CR_WRONG_TYPE;
pub const CR_INVALID_PRIORITY = CONFIGRET.CR_INVALID_PRIORITY;
pub const CR_NOT_DISABLEABLE = CONFIGRET.CR_NOT_DISABLEABLE;
pub const CR_FREE_RESOURCES = CONFIGRET.CR_FREE_RESOURCES;
pub const CR_QUERY_VETOED = CONFIGRET.CR_QUERY_VETOED;
pub const CR_CANT_SHARE_IRQ = CONFIGRET.CR_CANT_SHARE_IRQ;
pub const CR_NO_DEPENDENT = CONFIGRET.CR_NO_DEPENDENT;
pub const CR_SAME_RESOURCES = CONFIGRET.CR_SAME_RESOURCES;
pub const CR_NO_SUCH_REGISTRY_KEY = CONFIGRET.CR_NO_SUCH_REGISTRY_KEY;
pub const CR_INVALID_MACHINENAME = CONFIGRET.CR_INVALID_MACHINENAME;
pub const CR_REMOTE_COMM_FAILURE = CONFIGRET.CR_REMOTE_COMM_FAILURE;
pub const CR_MACHINE_UNAVAILABLE = CONFIGRET.CR_MACHINE_UNAVAILABLE;
pub const CR_NO_CM_SERVICES = CONFIGRET.CR_NO_CM_SERVICES;
pub const CR_ACCESS_DENIED = CONFIGRET.CR_ACCESS_DENIED;
pub const CR_CALL_NOT_IMPLEMENTED = CONFIGRET.CR_CALL_NOT_IMPLEMENTED;
pub const CR_INVALID_PROPERTY = CONFIGRET.CR_INVALID_PROPERTY;
pub const CR_DEVICE_INTERFACE_ACTIVE = CONFIGRET.CR_DEVICE_INTERFACE_ACTIVE;
pub const CR_NO_SUCH_DEVICE_INTERFACE = CONFIGRET.CR_NO_SUCH_DEVICE_INTERFACE;
pub const CR_INVALID_REFERENCE_STRING = CONFIGRET.CR_INVALID_REFERENCE_STRING;
pub const CR_INVALID_CONFLICT_LIST = CONFIGRET.CR_INVALID_CONFLICT_LIST;
pub const CR_INVALID_INDEX = CONFIGRET.CR_INVALID_INDEX;
pub const CR_INVALID_STRUCTURE_SIZE = CONFIGRET.CR_INVALID_STRUCTURE_SIZE;
pub const NUM_CR_RESULTS = CONFIGRET.NUM_CR_RESULTS;
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
pub const HCMNOTIFICATION = *opaque{};
pub const PSP_FILE_CALLBACK_A = switch (@import("builtin").zig_backend) {
.stage1 => fn(
Context: ?*anyopaque,
Notification: u32,
Param1: usize,
Param2: usize,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
Context: ?*anyopaque,
Notification: u32,
Param1: usize,
Param2: usize,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const PSP_FILE_CALLBACK_W = switch (@import("builtin").zig_backend) {
.stage1 => fn(
Context: ?*anyopaque,
Notification: u32,
Param1: usize,
Param2: usize,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
Context: ?*anyopaque,
Notification: u32,
Param1: usize,
Param2: usize,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const SP_SELECTDEVICE_PARAMS_A = extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
Title: [60]CHAR,
Instructions: [256]CHAR,
ListLabel: [30]CHAR,
SubTitle: [256]CHAR,
Reserved: [2]u8,
};
pub const PDETECT_PROGRESS_NOTIFY = switch (@import("builtin").zig_backend) {
.stage1 => fn(
ProgressNotifyParam: ?*anyopaque,
DetectComplete: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
else => *const fn(
ProgressNotifyParam: ?*anyopaque,
DetectComplete: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL,
} ;
pub const SP_TROUBLESHOOTER_PARAMS_A = extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
ChmFile: [260]CHAR,
HtmlTroubleShooter: [260]CHAR,
};
pub const SP_POWERMESSAGEWAKE_PARAMS_A = extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
PowerMessageWake: [512]CHAR,
};
pub const PSP_DETSIG_CMPPROC = switch (@import("builtin").zig_backend) {
.stage1 => fn(
DeviceInfoSet: ?*anyopaque,
NewDeviceData: ?*SP_DEVINFO_DATA,
ExistingDeviceData: ?*SP_DEVINFO_DATA,
CompareContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
DeviceInfoSet: ?*anyopaque,
NewDeviceData: ?*SP_DEVINFO_DATA,
ExistingDeviceData: ?*SP_DEVINFO_DATA,
CompareContext: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const SetupFileLogInfo = enum(i32) {
SourceFilename = 0,
Checksum = 1,
DiskTagfile = 2,
DiskDescription = 3,
OtherInfo = 4,
Max = 5,
};
pub const SetupFileLogSourceFilename = SetupFileLogInfo.SourceFilename;
pub const SetupFileLogChecksum = SetupFileLogInfo.Checksum;
pub const SetupFileLogDiskTagfile = SetupFileLogInfo.DiskTagfile;
pub const SetupFileLogDiskDescription = SetupFileLogInfo.DiskDescription;
pub const SetupFileLogOtherInfo = SetupFileLogInfo.OtherInfo;
pub const SetupFileLogMax = SetupFileLogInfo.Max;
pub const PNP_VETO_TYPE = enum(i32) {
TypeUnknown = 0,
LegacyDevice = 1,
PendingClose = 2,
WindowsApp = 3,
WindowsService = 4,
OutstandingOpen = 5,
Device = 6,
Driver = 7,
IllegalDeviceRequest = 8,
InsufficientPower = 9,
NonDisableable = 10,
LegacyDriver = 11,
InsufficientRights = 12,
AlreadyRemoved = 13,
};
pub const PNP_VetoTypeUnknown = PNP_VETO_TYPE.TypeUnknown;
pub const PNP_VetoLegacyDevice = PNP_VETO_TYPE.LegacyDevice;
pub const PNP_VetoPendingClose = PNP_VETO_TYPE.PendingClose;
pub const PNP_VetoWindowsApp = PNP_VETO_TYPE.WindowsApp;
pub const PNP_VetoWindowsService = PNP_VETO_TYPE.WindowsService;
pub const PNP_VetoOutstandingOpen = PNP_VETO_TYPE.OutstandingOpen;
pub const PNP_VetoDevice = PNP_VETO_TYPE.Device;
pub const PNP_VetoDriver = PNP_VETO_TYPE.Driver;
pub const PNP_VetoIllegalDeviceRequest = PNP_VETO_TYPE.IllegalDeviceRequest;
pub const PNP_VetoInsufficientPower = PNP_VETO_TYPE.InsufficientPower;
pub const PNP_VetoNonDisableable = PNP_VETO_TYPE.NonDisableable;
pub const PNP_VetoLegacyDriver = PNP_VETO_TYPE.LegacyDriver;
pub const PNP_VetoInsufficientRights = PNP_VETO_TYPE.InsufficientRights;
pub const PNP_VetoAlreadyRemoved = PNP_VETO_TYPE.AlreadyRemoved;
pub const CONFLICT_DETAILS_A = extern struct {
CD_ulSize: u32,
CD_ulMask: u32,
CD_dnDevInst: u32,
CD_rdResDes: usize,
CD_ulFlags: u32,
CD_szDescription: [260]CHAR,
};
pub const CONFLICT_DETAILS_W = extern struct {
CD_ulSize: u32,
CD_ulMask: u32,
CD_dnDevInst: u32,
CD_rdResDes: usize,
CD_ulFlags: u32,
CD_szDescription: [260]u16,
};
pub const MEM_RANGE = extern struct {
MR_Align: u64 align(1),
MR_nBytes: u32 align(1),
MR_Min: u64 align(1),
MR_Max: u64 align(1),
MR_Flags: u32 align(1),
MR_Reserved: u32 align(1),
};
pub const MEM_DES = extern struct {
MD_Count: u32 align(1),
MD_Type: u32 align(1),
MD_Alloc_Base: u64 align(1),
MD_Alloc_End: u64 align(1),
MD_Flags: u32 align(1),
MD_Reserved: u32 align(1),
};
pub const MEM_RESOURCE = extern struct {
MEM_Header: MEM_DES,
MEM_Data: [1]MEM_RANGE,
};
pub const Mem_Large_Range_s = extern struct {
MLR_Align: u64 align(1),
MLR_nBytes: u64 align(1),
MLR_Min: u64 align(1),
MLR_Max: u64 align(1),
MLR_Flags: u32 align(1),
MLR_Reserved: u32 align(1),
};
pub const Mem_Large_Des_s = extern struct {
MLD_Count: u32 align(1),
MLD_Type: u32 align(1),
MLD_Alloc_Base: u64 align(1),
MLD_Alloc_End: u64 align(1),
MLD_Flags: u32 align(1),
MLD_Reserved: u32 align(1),
};
pub const Mem_Large_Resource_s = extern struct {
MEM_LARGE_Header: Mem_Large_Des_s,
MEM_LARGE_Data: [1]Mem_Large_Range_s,
};
pub const IO_RANGE = extern struct {
IOR_Align: u64 align(1),
IOR_nPorts: u32 align(1),
IOR_Min: u64 align(1),
IOR_Max: u64 align(1),
IOR_RangeFlags: u32 align(1),
IOR_Alias: u64 align(1),
};
pub const IO_DES = extern struct {
IOD_Count: u32 align(1),
IOD_Type: u32 align(1),
IOD_Alloc_Base: u64 align(1),
IOD_Alloc_End: u64 align(1),
IOD_DesFlags: u32 align(1),
};
pub const IO_RESOURCE = extern struct {
IO_Header: IO_DES,
IO_Data: [1]IO_RANGE,
};
pub const DMA_RANGE = extern struct {
DR_Min: u32 align(1),
DR_Max: u32 align(1),
DR_Flags: u32 align(1),
};
pub const DMA_DES = extern struct {
DD_Count: u32 align(1),
DD_Type: u32 align(1),
DD_Flags: u32 align(1),
DD_Alloc_Chan: u32 align(1),
};
pub const DMA_RESOURCE = extern struct {
DMA_Header: DMA_DES,
DMA_Data: [1]DMA_RANGE,
};
pub const IRQ_RANGE = extern struct {
IRQR_Min: u32 align(1),
IRQR_Max: u32 align(1),
IRQR_Flags: u32 align(1),
};
pub const IRQ_DES_32 = extern struct {
IRQD_Count: u32 align(1),
IRQD_Type: u32 align(1),
IRQD_Flags: u32 align(1),
IRQD_Alloc_Num: u32 align(1),
IRQD_Affinity: u32 align(1),
};
pub const IRQ_DES_64 = extern struct {
IRQD_Count: u32 align(1),
IRQD_Type: u32 align(1),
IRQD_Flags: u32 align(1),
IRQD_Alloc_Num: u32 align(1),
IRQD_Affinity: u64 align(1),
};
pub const IRQ_RESOURCE_32 = extern struct {
IRQ_Header: IRQ_DES_32,
IRQ_Data: [1]IRQ_RANGE,
};
pub const IRQ_RESOURCE_64 = extern struct {
IRQ_Header: IRQ_DES_64,
IRQ_Data: [1]IRQ_RANGE,
};
pub const DevPrivate_Range_s = extern struct {
PR_Data1: u32 align(1),
PR_Data2: u32 align(1),
PR_Data3: u32 align(1),
};
pub const DevPrivate_Des_s = extern struct {
PD_Count: u32 align(1),
PD_Type: u32 align(1),
PD_Data1: u32 align(1),
PD_Data2: u32 align(1),
PD_Data3: u32 align(1),
PD_Flags: u32 align(1),
};
pub const DevPrivate_Resource_s = extern struct {
PRV_Header: DevPrivate_Des_s,
PRV_Data: [1]DevPrivate_Range_s,
};
pub const CS_DES = extern struct {
CSD_SignatureLength: u32 align(1),
CSD_LegacyDataOffset: u32 align(1),
CSD_LegacyDataSize: u32 align(1),
CSD_Flags: u32 align(1),
CSD_ClassGuid: Guid align(1),
CSD_Signature: [1]u8 align(1),
};
pub const CS_RESOURCE = extern struct {
CS_Header: CS_DES,
};
pub const PCCARD_DES = extern struct {
PCD_Count: u32 align(1),
PCD_Type: u32 align(1),
PCD_Flags: u32 align(1),
PCD_ConfigIndex: u8 align(1),
PCD_Reserved: [3]u8 align(1),
PCD_MemoryCardBase1: u32 align(1),
PCD_MemoryCardBase2: u32 align(1),
PCD_MemoryCardBase: [2]u32 align(1),
PCD_MemoryFlags: [2]u16 align(1),
PCD_IoFlags: [2]u8 align(1),
};
pub const PCCARD_RESOURCE = extern struct {
PcCard_Header: PCCARD_DES,
};
pub const MFCARD_DES = extern struct {
PMF_Count: u32 align(1),
PMF_Type: u32 align(1),
PMF_Flags: u32 align(1),
PMF_ConfigOptions: u8 align(1),
PMF_IoResourceIndex: u8 align(1),
PMF_Reserved: [2]u8 align(1),
PMF_ConfigRegisterBase: u32 align(1),
};
pub const MFCARD_RESOURCE = extern struct {
MfCard_Header: MFCARD_DES,
};
pub const BUSNUMBER_RANGE = extern struct {
BUSR_Min: u32 align(1),
BUSR_Max: u32 align(1),
BUSR_nBusNumbers: u32 align(1),
BUSR_Flags: u32 align(1),
};
pub const BUSNUMBER_DES = extern struct {
BUSD_Count: u32 align(1),
BUSD_Type: u32 align(1),
BUSD_Flags: u32 align(1),
BUSD_Alloc_Base: u32 align(1),
BUSD_Alloc_End: u32 align(1),
};
pub const BUSNUMBER_RESOURCE = extern struct {
BusNumber_Header: BUSNUMBER_DES,
BusNumber_Data: [1]BUSNUMBER_RANGE,
};
pub const Connection_Des_s = extern struct {
COND_Type: u32 align(1),
COND_Flags: u32 align(1),
COND_Class: u8 align(1),
COND_ClassType: u8 align(1),
COND_Reserved1: u8 align(1),
COND_Reserved2: u8 align(1),
COND_Id: LARGE_INTEGER align(1),
};
pub const Connection_Resource_s = extern struct {
Connection_Header: Connection_Des_s,
};
pub const HWProfileInfo_sA = extern struct {
HWPI_ulHWProfile: u32 align(1),
HWPI_szFriendlyName: [80]CHAR align(1),
HWPI_dwFlags: u32 align(1),
};
pub const HWProfileInfo_sW = extern struct {
HWPI_ulHWProfile: u32 align(1),
HWPI_szFriendlyName: [80]u16 align(1),
HWPI_dwFlags: u32 align(1),
};
pub const CM_NOTIFY_FILTER_TYPE = enum(i32) {
DEVICEINTERFACE = 0,
DEVICEHANDLE = 1,
DEVICEINSTANCE = 2,
MAX = 3,
};
pub const CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE = CM_NOTIFY_FILTER_TYPE.DEVICEINTERFACE;
pub const CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE = CM_NOTIFY_FILTER_TYPE.DEVICEHANDLE;
pub const CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE = CM_NOTIFY_FILTER_TYPE.DEVICEINSTANCE;
pub const CM_NOTIFY_FILTER_TYPE_MAX = CM_NOTIFY_FILTER_TYPE.MAX;
pub const CM_NOTIFY_FILTER = extern struct {
cbSize: u32,
Flags: u32,
FilterType: CM_NOTIFY_FILTER_TYPE,
Reserved: u32,
u: extern union {
DeviceInterface: extern struct {
ClassGuid: Guid,
},
DeviceHandle: extern struct {
hTarget: ?HANDLE,
},
DeviceInstance: extern struct {
InstanceId: [200]u16,
},
},
};
pub const CM_NOTIFY_ACTION = enum(i32) {
DEVICEINTERFACEARRIVAL = 0,
DEVICEINTERFACEREMOVAL = 1,
DEVICEQUERYREMOVE = 2,
DEVICEQUERYREMOVEFAILED = 3,
DEVICEREMOVEPENDING = 4,
DEVICEREMOVECOMPLETE = 5,
DEVICECUSTOMEVENT = 6,
DEVICEINSTANCEENUMERATED = 7,
DEVICEINSTANCESTARTED = 8,
DEVICEINSTANCEREMOVED = 9,
MAX = 10,
};
pub const CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = CM_NOTIFY_ACTION.DEVICEINTERFACEARRIVAL;
pub const CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL = CM_NOTIFY_ACTION.DEVICEINTERFACEREMOVAL;
pub const CM_NOTIFY_ACTION_DEVICEQUERYREMOVE = CM_NOTIFY_ACTION.DEVICEQUERYREMOVE;
pub const CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED = CM_NOTIFY_ACTION.DEVICEQUERYREMOVEFAILED;
pub const CM_NOTIFY_ACTION_DEVICEREMOVEPENDING = CM_NOTIFY_ACTION.DEVICEREMOVEPENDING;
pub const CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE = CM_NOTIFY_ACTION.DEVICEREMOVECOMPLETE;
pub const CM_NOTIFY_ACTION_DEVICECUSTOMEVENT = CM_NOTIFY_ACTION.DEVICECUSTOMEVENT;
pub const CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED = CM_NOTIFY_ACTION.DEVICEINSTANCEENUMERATED;
pub const CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED = CM_NOTIFY_ACTION.DEVICEINSTANCESTARTED;
pub const CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED = CM_NOTIFY_ACTION.DEVICEINSTANCEREMOVED;
pub const CM_NOTIFY_ACTION_MAX = CM_NOTIFY_ACTION.MAX;
pub const CM_NOTIFY_EVENT_DATA = extern struct {
FilterType: CM_NOTIFY_FILTER_TYPE,
Reserved: u32,
u: extern union {
DeviceInterface: extern struct {
ClassGuid: Guid,
SymbolicLink: [1]u16,
},
DeviceHandle: extern struct {
EventGuid: Guid,
NameOffset: i32,
DataSize: u32,
Data: [1]u8,
},
DeviceInstance: extern struct {
InstanceId: [1]u16,
},
},
};
pub const PCM_NOTIFY_CALLBACK = switch (@import("builtin").zig_backend) {
.stage1 => fn(
hNotify: ?HCMNOTIFICATION,
Context: ?*anyopaque,
Action: CM_NOTIFY_ACTION,
// TODO: what to do with BytesParamIndex 4?
EventData: ?*CM_NOTIFY_EVENT_DATA,
EventDataSize: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
else => *const fn(
hNotify: ?HCMNOTIFICATION,
Context: ?*anyopaque,
Action: CM_NOTIFY_ACTION,
// TODO: what to do with BytesParamIndex 4?
EventData: ?*CM_NOTIFY_EVENT_DATA,
EventDataSize: u32,
) callconv(@import("std").os.windows.WINAPI) u32,
} ;
pub const INFCONTEXT = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
Inf: ?*anyopaque,
CurrentInf: ?*anyopaque,
Section: u32,
Line: u32,
},
.X86 => extern struct {
Inf: ?*anyopaque align(1),
CurrentInf: ?*anyopaque align(1),
Section: u32 align(1),
Line: u32 align(1),
},
};
pub const SP_INF_INFORMATION = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
InfStyle: SP_INF_STYLE,
InfCount: u32,
VersionData: [1]u8,
},
.X86 => extern struct {
InfStyle: SP_INF_STYLE align(1),
InfCount: u32 align(1),
VersionData: [1]u8 align(1),
},
};
pub const SP_ALTPLATFORM_INFO_V3 = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
Platform: u32,
MajorVersion: u32,
MinorVersion: u32,
ProcessorArchitecture: u16,
Anonymous: extern union {
Reserved: u16,
Flags: u16,
},
FirstValidatedMajorVersion: u32,
FirstValidatedMinorVersion: u32,
ProductType: u8,
SuiteMask: u16,
BuildNumber: u32,
},
.X86 => extern struct {
cbSize: u32 align(1),
Platform: u32 align(1),
MajorVersion: u32 align(1),
MinorVersion: u32 align(1),
ProcessorArchitecture: u16 align(1),
Anonymous: extern union {
Reserved: u16 align(1),
Flags: u16 align(1),
} align(1),
FirstValidatedMajorVersion: u32 align(1),
FirstValidatedMinorVersion: u32 align(1),
ProductType: u8 align(1),
SuiteMask: u16 align(1),
BuildNumber: u32 align(1),
},
};
pub const SP_ALTPLATFORM_INFO_V2 = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
Platform: VER_PLATFORM,
MajorVersion: u32,
MinorVersion: u32,
ProcessorArchitecture: u16,
Anonymous: extern union {
Reserved: u16,
Flags: u16,
},
FirstValidatedMajorVersion: u32,
FirstValidatedMinorVersion: u32,
},
.X86 => extern struct {
cbSize: u32 align(1),
Platform: VER_PLATFORM align(1),
MajorVersion: u32 align(1),
MinorVersion: u32 align(1),
ProcessorArchitecture: u16 align(1),
Anonymous: extern union {
Reserved: u16 align(1),
Flags: u16 align(1),
} align(1),
FirstValidatedMajorVersion: u32 align(1),
FirstValidatedMinorVersion: u32 align(1),
},
};
pub const SP_ALTPLATFORM_INFO_V1 = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
Platform: VER_PLATFORM,
MajorVersion: u32,
MinorVersion: u32,
ProcessorArchitecture: u16,
Reserved: u16,
},
.X86 => extern struct {
cbSize: u32 align(1),
Platform: VER_PLATFORM align(1),
MajorVersion: u32 align(1),
MinorVersion: u32 align(1),
ProcessorArchitecture: u16 align(1),
Reserved: u16 align(1),
},
};
pub const SP_ORIGINAL_FILE_INFO_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
OriginalInfName: [260]CHAR,
OriginalCatalogName: [260]CHAR,
},
.X86 => extern struct {
cbSize: u32 align(1),
OriginalInfName: [260]CHAR align(1),
OriginalCatalogName: [260]CHAR align(1),
},
};
pub const SP_ORIGINAL_FILE_INFO_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
OriginalInfName: [260]u16,
OriginalCatalogName: [260]u16,
},
.X86 => extern struct {
cbSize: u32 align(1),
OriginalInfName: [260]u16 align(1),
OriginalCatalogName: [260]u16 align(1),
},
};
pub const FILEPATHS_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
Target: ?[*:0]const u8,
Source: ?[*:0]const u8,
Win32Error: u32,
Flags: u32,
},
.X86 => extern struct {
Target: ?[*:0]const u8 align(1),
Source: ?[*:0]const u8 align(1),
Win32Error: u32 align(1),
Flags: u32 align(1),
},
};
pub const FILEPATHS_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
Target: ?[*:0]const u16,
Source: ?[*:0]const u16,
Win32Error: u32,
Flags: u32,
},
.X86 => extern struct {
Target: ?[*:0]const u16 align(1),
Source: ?[*:0]const u16 align(1),
Win32Error: u32 align(1),
Flags: u32 align(1),
},
};
pub const FILEPATHS_SIGNERINFO_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
Target: ?[*:0]const u8,
Source: ?[*:0]const u8,
Win32Error: u32,
Flags: u32,
DigitalSigner: ?[*:0]const u8,
Version: ?[*:0]const u8,
CatalogFile: ?[*:0]const u8,
},
.X86 => extern struct {
Target: ?[*:0]const u8 align(1),
Source: ?[*:0]const u8 align(1),
Win32Error: u32 align(1),
Flags: u32 align(1),
DigitalSigner: ?[*:0]const u8 align(1),
Version: ?[*:0]const u8 align(1),
CatalogFile: ?[*:0]const u8 align(1),
},
};
pub const FILEPATHS_SIGNERINFO_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
Target: ?[*:0]const u16,
Source: ?[*:0]const u16,
Win32Error: u32,
Flags: u32,
DigitalSigner: ?[*:0]const u16,
Version: ?[*:0]const u16,
CatalogFile: ?[*:0]const u16,
},
.X86 => extern struct {
Target: ?[*:0]const u16 align(1),
Source: ?[*:0]const u16 align(1),
Win32Error: u32 align(1),
Flags: u32 align(1),
DigitalSigner: ?[*:0]const u16 align(1),
Version: ?[*:0]const u16 align(1),
CatalogFile: ?[*:0]const u16 align(1),
},
};
pub const SOURCE_MEDIA_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
Reserved: ?[*:0]const u8,
Tagfile: ?[*:0]const u8,
Description: ?[*:0]const u8,
SourcePath: ?[*:0]const u8,
SourceFile: ?[*:0]const u8,
Flags: u32,
},
.X86 => extern struct {
Reserved: ?[*:0]const u8 align(1),
Tagfile: ?[*:0]const u8 align(1),
Description: ?[*:0]const u8 align(1),
SourcePath: ?[*:0]const u8 align(1),
SourceFile: ?[*:0]const u8 align(1),
Flags: u32 align(1),
},
};
pub const SOURCE_MEDIA_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
Reserved: ?[*:0]const u16,
Tagfile: ?[*:0]const u16,
Description: ?[*:0]const u16,
SourcePath: ?[*:0]const u16,
SourceFile: ?[*:0]const u16,
Flags: u32,
},
.X86 => extern struct {
Reserved: ?[*:0]const u16 align(1),
Tagfile: ?[*:0]const u16 align(1),
Description: ?[*:0]const u16 align(1),
SourcePath: ?[*:0]const u16 align(1),
SourceFile: ?[*:0]const u16 align(1),
Flags: u32 align(1),
},
};
pub const CABINET_INFO_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
CabinetPath: ?[*:0]const u8,
CabinetFile: ?[*:0]const u8,
DiskName: ?[*:0]const u8,
SetId: u16,
CabinetNumber: u16,
},
.X86 => extern struct {
CabinetPath: ?[*:0]const u8 align(1),
CabinetFile: ?[*:0]const u8 align(1),
DiskName: ?[*:0]const u8 align(1),
SetId: u16 align(1),
CabinetNumber: u16 align(1),
},
};
pub const CABINET_INFO_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
CabinetPath: ?[*:0]const u16,
CabinetFile: ?[*:0]const u16,
DiskName: ?[*:0]const u16,
SetId: u16,
CabinetNumber: u16,
},
.X86 => extern struct {
CabinetPath: ?[*:0]const u16 align(1),
CabinetFile: ?[*:0]const u16 align(1),
DiskName: ?[*:0]const u16 align(1),
SetId: u16 align(1),
CabinetNumber: u16 align(1),
},
};
pub const FILE_IN_CABINET_INFO_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
NameInCabinet: ?[*:0]const u8,
FileSize: u32,
Win32Error: u32,
DosDate: u16,
DosTime: u16,
DosAttribs: u16,
FullTargetName: [260]CHAR,
},
.X86 => extern struct {
NameInCabinet: ?[*:0]const u8 align(1),
FileSize: u32 align(1),
Win32Error: u32 align(1),
DosDate: u16 align(1),
DosTime: u16 align(1),
DosAttribs: u16 align(1),
FullTargetName: [260]CHAR align(1),
},
};
pub const FILE_IN_CABINET_INFO_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
NameInCabinet: ?[*:0]const u16,
FileSize: u32,
Win32Error: u32,
DosDate: u16,
DosTime: u16,
DosAttribs: u16,
FullTargetName: [260]u16,
},
.X86 => extern struct {
NameInCabinet: ?[*:0]const u16 align(1),
FileSize: u32 align(1),
Win32Error: u32 align(1),
DosDate: u16 align(1),
DosTime: u16 align(1),
DosAttribs: u16 align(1),
FullTargetName: [260]u16 align(1),
},
};
pub const SP_REGISTER_CONTROL_STATUSA = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
FileName: ?[*:0]const u8,
Win32Error: u32,
FailureCode: u32,
},
.X86 => extern struct {
cbSize: u32 align(1),
FileName: ?[*:0]const u8 align(1),
Win32Error: u32 align(1),
FailureCode: u32 align(1),
},
};
pub const SP_REGISTER_CONTROL_STATUSW = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
FileName: ?[*:0]const u16,
Win32Error: u32,
FailureCode: u32,
},
.X86 => extern struct {
cbSize: u32 align(1),
FileName: ?[*:0]const u16 align(1),
Win32Error: u32 align(1),
FailureCode: u32 align(1),
},
};
pub const SP_FILE_COPY_PARAMS_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
QueueHandle: ?*anyopaque,
SourceRootPath: ?[*:0]const u8,
SourcePath: ?[*:0]const u8,
SourceFilename: ?[*:0]const u8,
SourceDescription: ?[*:0]const u8,
SourceTagfile: ?[*:0]const u8,
TargetDirectory: ?[*:0]const u8,
TargetFilename: ?[*:0]const u8,
CopyStyle: u32,
LayoutInf: ?*anyopaque,
SecurityDescriptor: ?[*:0]const u8,
},
.X86 => extern struct {
cbSize: u32 align(1),
QueueHandle: ?*anyopaque align(1),
SourceRootPath: ?[*:0]const u8 align(1),
SourcePath: ?[*:0]const u8 align(1),
SourceFilename: ?[*:0]const u8 align(1),
SourceDescription: ?[*:0]const u8 align(1),
SourceTagfile: ?[*:0]const u8 align(1),
TargetDirectory: ?[*:0]const u8 align(1),
TargetFilename: ?[*:0]const u8 align(1),
CopyStyle: u32 align(1),
LayoutInf: ?*anyopaque align(1),
SecurityDescriptor: ?[*:0]const u8 align(1),
},
};
pub const SP_FILE_COPY_PARAMS_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
QueueHandle: ?*anyopaque,
SourceRootPath: ?[*:0]const u16,
SourcePath: ?[*:0]const u16,
SourceFilename: ?[*:0]const u16,
SourceDescription: ?[*:0]const u16,
SourceTagfile: ?[*:0]const u16,
TargetDirectory: ?[*:0]const u16,
TargetFilename: ?[*:0]const u16,
CopyStyle: u32,
LayoutInf: ?*anyopaque,
SecurityDescriptor: ?[*:0]const u16,
},
.X86 => extern struct {
cbSize: u32 align(1),
QueueHandle: ?*anyopaque align(1),
SourceRootPath: ?[*:0]const u16 align(1),
SourcePath: ?[*:0]const u16 align(1),
SourceFilename: ?[*:0]const u16 align(1),
SourceDescription: ?[*:0]const u16 align(1),
SourceTagfile: ?[*:0]const u16 align(1),
TargetDirectory: ?[*:0]const u16 align(1),
TargetFilename: ?[*:0]const u16 align(1),
CopyStyle: u32 align(1),
LayoutInf: ?*anyopaque align(1),
SecurityDescriptor: ?[*:0]const u16 align(1),
},
};
pub const SP_DEVINFO_DATA = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
ClassGuid: Guid,
DevInst: u32,
Reserved: usize,
},
.X86 => extern struct {
cbSize: u32 align(1),
ClassGuid: Guid align(1),
DevInst: u32 align(1),
Reserved: usize align(1),
},
};
pub const SP_DEVICE_INTERFACE_DATA = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
InterfaceClassGuid: Guid,
Flags: u32,
Reserved: usize,
},
.X86 => extern struct {
cbSize: u32 align(1),
InterfaceClassGuid: Guid align(1),
Flags: u32 align(1),
Reserved: usize align(1),
},
};
pub const SP_DEVICE_INTERFACE_DETAIL_DATA_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
DevicePath: [1]CHAR,
},
.X86 => extern struct {
cbSize: u32 align(1),
DevicePath: [1]CHAR align(1),
},
};
pub const SP_DEVICE_INTERFACE_DETAIL_DATA_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
DevicePath: [1]u16,
},
.X86 => extern struct {
cbSize: u32 align(1),
DevicePath: [1]u16 align(1),
},
};
pub const SP_DEVINFO_LIST_DETAIL_DATA_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
ClassGuid: Guid,
RemoteMachineHandle: ?HANDLE,
RemoteMachineName: [263]CHAR,
},
.X86 => extern struct {
cbSize: u32 align(1),
ClassGuid: Guid align(1),
RemoteMachineHandle: ?HANDLE align(1),
RemoteMachineName: [263]CHAR align(1),
},
};
pub const SP_DEVINFO_LIST_DETAIL_DATA_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
ClassGuid: Guid,
RemoteMachineHandle: ?HANDLE,
RemoteMachineName: [263]u16,
},
.X86 => extern struct {
cbSize: u32 align(1),
ClassGuid: Guid align(1),
RemoteMachineHandle: ?HANDLE align(1),
RemoteMachineName: [263]u16 align(1),
},
};
pub const SP_DEVINSTALL_PARAMS_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
Flags: u32,
FlagsEx: u32,
hwndParent: ?HWND,
InstallMsgHandler: ?PSP_FILE_CALLBACK_A,
InstallMsgHandlerContext: ?*anyopaque,
FileQueue: ?*anyopaque,
ClassInstallReserved: usize,
Reserved: u32,
DriverPath: [260]CHAR,
},
.X86 => extern struct {
cbSize: u32 align(1),
Flags: u32 align(1),
FlagsEx: u32 align(1),
hwndParent: ?HWND align(1),
InstallMsgHandler: ?PSP_FILE_CALLBACK_A align(1),
InstallMsgHandlerContext: ?*anyopaque align(1),
FileQueue: ?*anyopaque align(1),
ClassInstallReserved: usize align(1),
Reserved: u32 align(1),
DriverPath: [260]CHAR align(1),
},
};
pub const SP_DEVINSTALL_PARAMS_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
Flags: u32,
FlagsEx: u32,
hwndParent: ?HWND,
InstallMsgHandler: ?PSP_FILE_CALLBACK_A,
InstallMsgHandlerContext: ?*anyopaque,
FileQueue: ?*anyopaque,
ClassInstallReserved: usize,
Reserved: u32,
DriverPath: [260]u16,
},
.X86 => extern struct {
cbSize: u32 align(1),
Flags: u32 align(1),
FlagsEx: u32 align(1),
hwndParent: ?HWND align(1),
InstallMsgHandler: ?PSP_FILE_CALLBACK_A align(1),
InstallMsgHandlerContext: ?*anyopaque align(1),
FileQueue: ?*anyopaque align(1),
ClassInstallReserved: usize align(1),
Reserved: u32 align(1),
DriverPath: [260]u16 align(1),
},
};
pub const SP_CLASSINSTALL_HEADER = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
InstallFunction: u32,
},
.X86 => extern struct {
cbSize: u32 align(1),
InstallFunction: u32 align(1),
},
};
pub const SP_ENABLECLASS_PARAMS = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
ClassGuid: Guid,
EnableMessage: u32,
},
.X86 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER align(1),
ClassGuid: Guid align(1),
EnableMessage: u32 align(1),
},
};
pub const SP_PROPCHANGE_PARAMS = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
StateChange: u32,
Scope: u32,
HwProfile: u32,
},
.X86 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER align(1),
StateChange: u32 align(1),
Scope: u32 align(1),
HwProfile: u32 align(1),
},
};
pub const SP_REMOVEDEVICE_PARAMS = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
Scope: u32,
HwProfile: u32,
},
.X86 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER align(1),
Scope: u32 align(1),
HwProfile: u32 align(1),
},
};
pub const SP_UNREMOVEDEVICE_PARAMS = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
Scope: u32,
HwProfile: u32,
},
.X86 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER align(1),
Scope: u32 align(1),
HwProfile: u32 align(1),
},
};
pub const SP_SELECTDEVICE_PARAMS_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
Title: [60]u16,
Instructions: [256]u16,
ListLabel: [30]u16,
SubTitle: [256]u16,
},
.X86 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER align(1),
Title: [60]u16 align(1),
Instructions: [256]u16 align(1),
ListLabel: [30]u16 align(1),
SubTitle: [256]u16 align(1),
},
};
pub const SP_DETECTDEVICE_PARAMS = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
DetectProgressNotify: ?PDETECT_PROGRESS_NOTIFY,
ProgressNotifyParam: ?*anyopaque,
},
.X86 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER align(1),
DetectProgressNotify: ?PDETECT_PROGRESS_NOTIFY align(1),
ProgressNotifyParam: ?*anyopaque align(1),
},
};
pub const SP_INSTALLWIZARD_DATA = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
Flags: u32,
DynamicPages: [20]?HPROPSHEETPAGE,
NumDynamicPages: u32,
DynamicPageFlags: u32,
PrivateFlags: u32,
PrivateData: LPARAM,
hwndWizardDlg: ?HWND,
},
.X86 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER align(1),
Flags: u32 align(1),
DynamicPages: [20]?HPROPSHEETPAGE align(1),
NumDynamicPages: u32 align(1),
DynamicPageFlags: u32 align(1),
PrivateFlags: u32 align(1),
PrivateData: LPARAM align(1),
hwndWizardDlg: ?HWND align(1),
},
};
pub const SP_NEWDEVICEWIZARD_DATA = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
Flags: u32,
DynamicPages: [20]?HPROPSHEETPAGE,
NumDynamicPages: u32,
hwndWizardDlg: ?HWND,
},
.X86 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER align(1),
Flags: u32 align(1),
DynamicPages: [20]?HPROPSHEETPAGE align(1),
NumDynamicPages: u32 align(1),
hwndWizardDlg: ?HWND align(1),
},
};
pub const SP_TROUBLESHOOTER_PARAMS_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
ChmFile: [260]u16,
HtmlTroubleShooter: [260]u16,
},
.X86 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER align(1),
ChmFile: [260]u16 align(1),
HtmlTroubleShooter: [260]u16 align(1),
},
};
pub const SP_POWERMESSAGEWAKE_PARAMS_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER,
PowerMessageWake: [512]u16,
},
.X86 => extern struct {
ClassInstallHeader: SP_CLASSINSTALL_HEADER align(1),
PowerMessageWake: [512]u16 align(1),
},
};
pub const SP_DRVINFO_DATA_V2_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
DriverType: u32,
Reserved: usize,
Description: [256]CHAR,
MfgName: [256]CHAR,
ProviderName: [256]CHAR,
DriverDate: FILETIME,
DriverVersion: u64,
},
.X86 => extern struct {
cbSize: u32 align(1),
DriverType: u32 align(1),
Reserved: usize align(1),
Description: [256]CHAR align(1),
MfgName: [256]CHAR align(1),
ProviderName: [256]CHAR align(1),
DriverDate: FILETIME align(1),
DriverVersion: u64 align(1),
},
};
pub const SP_DRVINFO_DATA_V2_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
DriverType: u32,
Reserved: usize,
Description: [256]u16,
MfgName: [256]u16,
ProviderName: [256]u16,
DriverDate: FILETIME,
DriverVersion: u64,
},
.X86 => extern struct {
cbSize: u32 align(1),
DriverType: u32 align(1),
Reserved: usize align(1),
Description: [256]u16 align(1),
MfgName: [256]u16 align(1),
ProviderName: [256]u16 align(1),
DriverDate: FILETIME align(1),
DriverVersion: u64 align(1),
},
};
pub const SP_DRVINFO_DATA_V1_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
DriverType: u32,
Reserved: usize,
Description: [256]CHAR,
MfgName: [256]CHAR,
ProviderName: [256]CHAR,
},
.X86 => extern struct {
cbSize: u32 align(1),
DriverType: u32 align(1),
Reserved: usize align(1),
Description: [256]CHAR align(1),
MfgName: [256]CHAR align(1),
ProviderName: [256]CHAR align(1),
},
};
pub const SP_DRVINFO_DATA_V1_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
DriverType: u32,
Reserved: usize,
Description: [256]u16,
MfgName: [256]u16,
ProviderName: [256]u16,
},
.X86 => extern struct {
cbSize: u32 align(1),
DriverType: u32 align(1),
Reserved: usize align(1),
Description: [256]u16 align(1),
MfgName: [256]u16 align(1),
ProviderName: [256]u16 align(1),
},
};
pub const SP_DRVINFO_DETAIL_DATA_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
InfDate: FILETIME,
CompatIDsOffset: u32,
CompatIDsLength: u32,
Reserved: usize,
SectionName: [256]CHAR,
InfFileName: [260]CHAR,
DrvDescription: [256]CHAR,
HardwareID: [1]CHAR,
},
.X86 => extern struct {
cbSize: u32 align(1),
InfDate: FILETIME align(1),
CompatIDsOffset: u32 align(1),
CompatIDsLength: u32 align(1),
Reserved: usize align(1),
SectionName: [256]CHAR align(1),
InfFileName: [260]CHAR align(1),
DrvDescription: [256]CHAR align(1),
HardwareID: [1]CHAR align(1),
},
};
pub const SP_DRVINFO_DETAIL_DATA_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
InfDate: FILETIME,
CompatIDsOffset: u32,
CompatIDsLength: u32,
Reserved: usize,
SectionName: [256]u16,
InfFileName: [260]u16,
DrvDescription: [256]u16,
HardwareID: [1]u16,
},
.X86 => extern struct {
cbSize: u32 align(1),
InfDate: FILETIME align(1),
CompatIDsOffset: u32 align(1),
CompatIDsLength: u32 align(1),
Reserved: usize align(1),
SectionName: [256]u16 align(1),
InfFileName: [260]u16 align(1),
DrvDescription: [256]u16 align(1),
HardwareID: [1]u16 align(1),
},
};
pub const SP_DRVINSTALL_PARAMS = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
Rank: u32,
Flags: u32,
PrivateData: usize,
Reserved: u32,
},
.X86 => extern struct {
cbSize: u32 align(1),
Rank: u32 align(1),
Flags: u32 align(1),
PrivateData: usize align(1),
Reserved: u32 align(1),
},
};
pub const COINSTALLER_CONTEXT_DATA = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
PostProcessing: BOOL,
InstallResult: u32,
PrivateData: ?*anyopaque,
},
.X86 => extern struct {
PostProcessing: BOOL align(1),
InstallResult: u32 align(1),
PrivateData: ?*anyopaque align(1),
},
};
pub const SP_CLASSIMAGELIST_DATA = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
ImageList: ?HIMAGELIST,
Reserved: usize,
},
.X86 => extern struct {
cbSize: u32 align(1),
ImageList: ?HIMAGELIST align(1),
Reserved: usize align(1),
},
};
pub const SP_PROPSHEETPAGE_REQUEST = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
PageRequested: u32,
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
},
.X86 => extern struct {
cbSize: u32 align(1),
PageRequested: u32 align(1),
DeviceInfoSet: ?*anyopaque align(1),
DeviceInfoData: ?*SP_DEVINFO_DATA align(1),
},
};
pub const SP_BACKUP_QUEUE_PARAMS_V2_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
FullInfPath: [260]CHAR,
FilenameOffset: i32,
ReinstallInstance: [260]CHAR,
},
.X86 => extern struct {
cbSize: u32 align(1),
FullInfPath: [260]CHAR align(1),
FilenameOffset: i32 align(1),
ReinstallInstance: [260]CHAR align(1),
},
};
pub const SP_BACKUP_QUEUE_PARAMS_V2_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
FullInfPath: [260]u16,
FilenameOffset: i32,
ReinstallInstance: [260]u16,
},
.X86 => extern struct {
cbSize: u32 align(1),
FullInfPath: [260]u16 align(1),
FilenameOffset: i32 align(1),
ReinstallInstance: [260]u16 align(1),
},
};
pub const SP_BACKUP_QUEUE_PARAMS_V1_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
FullInfPath: [260]CHAR,
FilenameOffset: i32,
},
.X86 => extern struct {
cbSize: u32 align(1),
FullInfPath: [260]CHAR align(1),
FilenameOffset: i32 align(1),
},
};
pub const SP_BACKUP_QUEUE_PARAMS_V1_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
FullInfPath: [260]u16,
FilenameOffset: i32,
},
.X86 => extern struct {
cbSize: u32 align(1),
FullInfPath: [260]u16 align(1),
FilenameOffset: i32 align(1),
},
};
pub const SP_INF_SIGNER_INFO_V1_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
CatalogFile: [260]CHAR,
DigitalSigner: [260]CHAR,
DigitalSignerVersion: [260]CHAR,
},
.X86 => extern struct {
cbSize: u32 align(1),
CatalogFile: [260]CHAR align(1),
DigitalSigner: [260]CHAR align(1),
DigitalSignerVersion: [260]CHAR align(1),
},
};
pub const SP_INF_SIGNER_INFO_V1_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
CatalogFile: [260]u16,
DigitalSigner: [260]u16,
DigitalSignerVersion: [260]u16,
},
.X86 => extern struct {
cbSize: u32 align(1),
CatalogFile: [260]u16 align(1),
DigitalSigner: [260]u16 align(1),
DigitalSignerVersion: [260]u16 align(1),
},
};
pub const SP_INF_SIGNER_INFO_V2_A = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
CatalogFile: [260]CHAR,
DigitalSigner: [260]CHAR,
DigitalSignerVersion: [260]CHAR,
SignerScore: u32,
},
.X86 => extern struct {
cbSize: u32 align(1),
CatalogFile: [260]CHAR align(1),
DigitalSigner: [260]CHAR align(1),
DigitalSignerVersion: [260]CHAR align(1),
SignerScore: u32 align(1),
},
};
pub const SP_INF_SIGNER_INFO_V2_W = switch(@import("../zig.zig").arch) {
.X64, .Arm64 => extern struct {
cbSize: u32,
CatalogFile: [260]u16,
DigitalSigner: [260]u16,
DigitalSignerVersion: [260]u16,
SignerScore: u32,
},
.X86 => extern struct {
cbSize: u32 align(1),
CatalogFile: [260]u16 align(1),
DigitalSigner: [260]u16 align(1),
DigitalSignerVersion: [260]u16 align(1),
SignerScore: u32 align(1),
},
};
//--------------------------------------------------------------------------------
// Section: Functions (575)
//--------------------------------------------------------------------------------
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetInfInformationA(
InfSpec: ?*const anyopaque,
SearchControl: u32,
// TODO: what to do with BytesParamIndex 3?
ReturnBuffer: ?*SP_INF_INFORMATION,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetInfInformationW(
InfSpec: ?*const anyopaque,
SearchControl: u32,
// TODO: what to do with BytesParamIndex 3?
ReturnBuffer: ?*SP_INF_INFORMATION,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueryInfFileInformationA(
InfInformation: ?*SP_INF_INFORMATION,
InfIndex: u32,
ReturnBuffer: ?[*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueryInfFileInformationW(
InfInformation: ?*SP_INF_INFORMATION,
InfIndex: u32,
ReturnBuffer: ?[*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueryInfOriginalFileInformationA(
InfInformation: ?*SP_INF_INFORMATION,
InfIndex: u32,
AlternatePlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
OriginalFileInfo: ?*SP_ORIGINAL_FILE_INFO_A,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueryInfOriginalFileInformationW(
InfInformation: ?*SP_INF_INFORMATION,
InfIndex: u32,
AlternatePlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
OriginalFileInfo: ?*SP_ORIGINAL_FILE_INFO_W,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueryInfVersionInformationA(
InfInformation: ?*SP_INF_INFORMATION,
InfIndex: u32,
Key: ?[*:0]const u8,
ReturnBuffer: ?[*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueryInfVersionInformationW(
InfInformation: ?*SP_INF_INFORMATION,
InfIndex: u32,
Key: ?[*:0]const u16,
ReturnBuffer: ?[*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupGetInfDriverStoreLocationA(
FileName: ?[*:0]const u8,
AlternatePlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
LocaleName: ?[*:0]const u8,
ReturnBuffer: [*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupGetInfDriverStoreLocationW(
FileName: ?[*:0]const u16,
AlternatePlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
LocaleName: ?[*:0]const u16,
ReturnBuffer: [*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupGetInfPublishedNameA(
DriverStoreLocation: ?[*:0]const u8,
ReturnBuffer: [*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupGetInfPublishedNameW(
DriverStoreLocation: ?[*:0]const u16,
ReturnBuffer: [*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetInfFileListA(
DirectoryPath: ?[*:0]const u8,
InfStyle: u32,
ReturnBuffer: ?[*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetInfFileListW(
DirectoryPath: ?[*:0]const u16,
InfStyle: u32,
ReturnBuffer: [*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupOpenInfFileW(
FileName: ?[*:0]const u16,
InfClass: ?[*:0]const u16,
InfStyle: u32,
ErrorLine: ?*u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupOpenInfFileA(
FileName: ?[*:0]const u8,
InfClass: ?[*:0]const u8,
InfStyle: u32,
ErrorLine: ?*u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupOpenMasterInf(
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupOpenAppendInfFileW(
FileName: ?[*:0]const u16,
InfHandle: ?*anyopaque,
ErrorLine: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupOpenAppendInfFileA(
FileName: ?[*:0]const u8,
InfHandle: ?*anyopaque,
ErrorLine: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCloseInfFile(
InfHandle: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupFindFirstLineA(
InfHandle: ?*anyopaque,
Section: ?[*:0]const u8,
Key: ?[*:0]const u8,
Context: ?*INFCONTEXT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupFindFirstLineW(
InfHandle: ?*anyopaque,
Section: ?[*:0]const u16,
Key: ?[*:0]const u16,
Context: ?*INFCONTEXT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupFindNextLine(
ContextIn: ?*INFCONTEXT,
ContextOut: ?*INFCONTEXT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupFindNextMatchLineA(
ContextIn: ?*INFCONTEXT,
Key: ?[*:0]const u8,
ContextOut: ?*INFCONTEXT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupFindNextMatchLineW(
ContextIn: ?*INFCONTEXT,
Key: ?[*:0]const u16,
ContextOut: ?*INFCONTEXT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetLineByIndexA(
InfHandle: ?*anyopaque,
Section: ?[*:0]const u8,
Index: u32,
Context: ?*INFCONTEXT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetLineByIndexW(
InfHandle: ?*anyopaque,
Section: ?[*:0]const u16,
Index: u32,
Context: ?*INFCONTEXT,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetLineCountA(
InfHandle: ?*anyopaque,
Section: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetLineCountW(
InfHandle: ?*anyopaque,
Section: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetLineTextA(
Context: ?*INFCONTEXT,
InfHandle: ?*anyopaque,
Section: ?[*:0]const u8,
Key: ?[*:0]const u8,
ReturnBuffer: ?[*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetLineTextW(
Context: ?*INFCONTEXT,
InfHandle: ?*anyopaque,
Section: ?[*:0]const u16,
Key: ?[*:0]const u16,
ReturnBuffer: ?[*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetFieldCount(
Context: ?*INFCONTEXT,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetStringFieldA(
Context: ?*INFCONTEXT,
FieldIndex: u32,
ReturnBuffer: ?[*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetStringFieldW(
Context: ?*INFCONTEXT,
FieldIndex: u32,
ReturnBuffer: ?[*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetIntField(
Context: ?*INFCONTEXT,
FieldIndex: u32,
IntegerValue: ?*i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetMultiSzFieldA(
Context: ?*INFCONTEXT,
FieldIndex: u32,
ReturnBuffer: ?[*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetMultiSzFieldW(
Context: ?*INFCONTEXT,
FieldIndex: u32,
ReturnBuffer: ?[*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetBinaryField(
Context: ?*INFCONTEXT,
FieldIndex: u32,
// TODO: what to do with BytesParamIndex 3?
ReturnBuffer: ?*u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetFileCompressionInfoA(
SourceFileName: ?[*:0]const u8,
ActualSourceFileName: ?*?PSTR,
SourceFileSize: ?*u32,
TargetFileSize: ?*u32,
CompressionType: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetFileCompressionInfoW(
SourceFileName: ?[*:0]const u16,
ActualSourceFileName: ?*?PWSTR,
SourceFileSize: ?*u32,
TargetFileSize: ?*u32,
CompressionType: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetFileCompressionInfoExA(
SourceFileName: ?[*:0]const u8,
ActualSourceFileNameBuffer: ?[*:0]u8,
ActualSourceFileNameBufferLen: u32,
RequiredBufferLen: ?*u32,
SourceFileSize: ?*u32,
TargetFileSize: ?*u32,
CompressionType: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetFileCompressionInfoExW(
SourceFileName: ?[*:0]const u16,
ActualSourceFileNameBuffer: ?[*:0]u16,
ActualSourceFileNameBufferLen: u32,
RequiredBufferLen: ?*u32,
SourceFileSize: ?*u32,
TargetFileSize: ?*u32,
CompressionType: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDecompressOrCopyFileA(
SourceFileName: ?[*:0]const u8,
TargetFileName: ?[*:0]const u8,
CompressionType: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDecompressOrCopyFileW(
SourceFileName: ?[*:0]const u16,
TargetFileName: ?[*:0]const u16,
CompressionType: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetSourceFileLocationA(
InfHandle: ?*anyopaque,
InfContext: ?*INFCONTEXT,
FileName: ?[*:0]const u8,
SourceId: ?*u32,
ReturnBuffer: ?[*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetSourceFileLocationW(
InfHandle: ?*anyopaque,
InfContext: ?*INFCONTEXT,
FileName: ?[*:0]const u16,
SourceId: ?*u32,
ReturnBuffer: ?[*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetSourceFileSizeA(
InfHandle: ?*anyopaque,
InfContext: ?*INFCONTEXT,
FileName: ?[*:0]const u8,
Section: ?[*:0]const u8,
FileSize: ?*u32,
RoundingFactor: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetSourceFileSizeW(
InfHandle: ?*anyopaque,
InfContext: ?*INFCONTEXT,
FileName: ?[*:0]const u16,
Section: ?[*:0]const u16,
FileSize: ?*u32,
RoundingFactor: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetTargetPathA(
InfHandle: ?*anyopaque,
InfContext: ?*INFCONTEXT,
Section: ?[*:0]const u8,
ReturnBuffer: ?[*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetTargetPathW(
InfHandle: ?*anyopaque,
InfContext: ?*INFCONTEXT,
Section: ?[*:0]const u16,
ReturnBuffer: ?[*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetSourceListA(
Flags: u32,
SourceList: [*]?PSTR,
SourceCount: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetSourceListW(
Flags: u32,
SourceList: [*]?PWSTR,
SourceCount: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCancelTemporarySourceList(
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupAddToSourceListA(
Flags: u32,
Source: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupAddToSourceListW(
Flags: u32,
Source: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRemoveFromSourceListA(
Flags: u32,
Source: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRemoveFromSourceListW(
Flags: u32,
Source: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQuerySourceListA(
Flags: u32,
List: ?*?*?PSTR,
Count: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQuerySourceListW(
Flags: u32,
List: ?*?*?PWSTR,
Count: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupFreeSourceListA(
List: [*]?*?PSTR,
Count: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupFreeSourceListW(
List: [*]?*?PWSTR,
Count: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupPromptForDiskA(
hwndParent: ?HWND,
DialogTitle: ?[*:0]const u8,
DiskName: ?[*:0]const u8,
PathToSource: ?[*:0]const u8,
FileSought: ?[*:0]const u8,
TagFile: ?[*:0]const u8,
DiskPromptStyle: u32,
PathBuffer: ?[*:0]u8,
PathBufferSize: u32,
PathRequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupPromptForDiskW(
hwndParent: ?HWND,
DialogTitle: ?[*:0]const u16,
DiskName: ?[*:0]const u16,
PathToSource: ?[*:0]const u16,
FileSought: ?[*:0]const u16,
TagFile: ?[*:0]const u16,
DiskPromptStyle: u32,
PathBuffer: ?[*:0]u16,
PathBufferSize: u32,
PathRequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCopyErrorA(
hwndParent: ?HWND,
DialogTitle: ?[*:0]const u8,
DiskName: ?[*:0]const u8,
PathToSource: ?[*:0]const u8,
SourceFile: ?[*:0]const u8,
TargetPathFile: ?[*:0]const u8,
Win32ErrorCode: u32,
Style: u32,
PathBuffer: ?[*:0]u8,
PathBufferSize: u32,
PathRequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCopyErrorW(
hwndParent: ?HWND,
DialogTitle: ?[*:0]const u16,
DiskName: ?[*:0]const u16,
PathToSource: ?[*:0]const u16,
SourceFile: ?[*:0]const u16,
TargetPathFile: ?[*:0]const u16,
Win32ErrorCode: u32,
Style: u32,
PathBuffer: ?[*:0]u16,
PathBufferSize: u32,
PathRequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRenameErrorA(
hwndParent: ?HWND,
DialogTitle: ?[*:0]const u8,
SourceFile: ?[*:0]const u8,
TargetFile: ?[*:0]const u8,
Win32ErrorCode: u32,
Style: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRenameErrorW(
hwndParent: ?HWND,
DialogTitle: ?[*:0]const u16,
SourceFile: ?[*:0]const u16,
TargetFile: ?[*:0]const u16,
Win32ErrorCode: u32,
Style: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDeleteErrorA(
hwndParent: ?HWND,
DialogTitle: ?[*:0]const u8,
File: ?[*:0]const u8,
Win32ErrorCode: u32,
Style: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDeleteErrorW(
hwndParent: ?HWND,
DialogTitle: ?[*:0]const u16,
File: ?[*:0]const u16,
Win32ErrorCode: u32,
Style: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupBackupErrorA(
hwndParent: ?HWND,
DialogTitle: ?[*:0]const u8,
SourceFile: ?[*:0]const u8,
TargetFile: ?[*:0]const u8,
Win32ErrorCode: u32,
Style: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupBackupErrorW(
hwndParent: ?HWND,
DialogTitle: ?[*:0]const u16,
SourceFile: ?[*:0]const u16,
TargetFile: ?[*:0]const u16,
Win32ErrorCode: u32,
Style: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetDirectoryIdA(
InfHandle: ?*anyopaque,
Id: u32,
Directory: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetDirectoryIdW(
InfHandle: ?*anyopaque,
Id: u32,
Directory: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetDirectoryIdExA(
InfHandle: ?*anyopaque,
Id: u32,
Directory: ?[*:0]const u8,
Flags: u32,
Reserved1: u32,
Reserved2: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetDirectoryIdExW(
InfHandle: ?*anyopaque,
Id: u32,
Directory: ?[*:0]const u16,
Flags: u32,
Reserved1: u32,
Reserved2: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetSourceInfoA(
InfHandle: ?*anyopaque,
SourceId: u32,
InfoDesired: u32,
ReturnBuffer: ?[*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetSourceInfoW(
InfHandle: ?*anyopaque,
SourceId: u32,
InfoDesired: u32,
ReturnBuffer: ?[*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallFileA(
InfHandle: ?*anyopaque,
InfContext: ?*INFCONTEXT,
SourceFile: ?[*:0]const u8,
SourcePathRoot: ?[*:0]const u8,
DestinationName: ?[*:0]const u8,
CopyStyle: SP_COPY_STYLE,
CopyMsgHandler: ?PSP_FILE_CALLBACK_A,
Context: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallFileW(
InfHandle: ?*anyopaque,
InfContext: ?*INFCONTEXT,
SourceFile: ?[*:0]const u16,
SourcePathRoot: ?[*:0]const u16,
DestinationName: ?[*:0]const u16,
CopyStyle: SP_COPY_STYLE,
CopyMsgHandler: ?PSP_FILE_CALLBACK_W,
Context: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallFileExA(
InfHandle: ?*anyopaque,
InfContext: ?*INFCONTEXT,
SourceFile: ?[*:0]const u8,
SourcePathRoot: ?[*:0]const u8,
DestinationName: ?[*:0]const u8,
CopyStyle: SP_COPY_STYLE,
CopyMsgHandler: ?PSP_FILE_CALLBACK_A,
Context: ?*anyopaque,
FileWasInUse: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallFileExW(
InfHandle: ?*anyopaque,
InfContext: ?*INFCONTEXT,
SourceFile: ?[*:0]const u16,
SourcePathRoot: ?[*:0]const u16,
DestinationName: ?[*:0]const u16,
CopyStyle: SP_COPY_STYLE,
CopyMsgHandler: ?PSP_FILE_CALLBACK_W,
Context: ?*anyopaque,
FileWasInUse: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupOpenFileQueue(
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCloseFileQueue(
QueueHandle: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetFileQueueAlternatePlatformA(
QueueHandle: ?*anyopaque,
AlternatePlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
AlternateDefaultCatalogFile: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetFileQueueAlternatePlatformW(
QueueHandle: ?*anyopaque,
AlternatePlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
AlternateDefaultCatalogFile: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetPlatformPathOverrideA(
Override: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetPlatformPathOverrideW(
Override: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueCopyA(
QueueHandle: ?*anyopaque,
SourceRootPath: ?[*:0]const u8,
SourcePath: ?[*:0]const u8,
SourceFilename: ?[*:0]const u8,
SourceDescription: ?[*:0]const u8,
SourceTagfile: ?[*:0]const u8,
TargetDirectory: ?[*:0]const u8,
TargetFilename: ?[*:0]const u8,
CopyStyle: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueCopyW(
QueueHandle: ?*anyopaque,
SourceRootPath: ?[*:0]const u16,
SourcePath: ?[*:0]const u16,
SourceFilename: ?[*:0]const u16,
SourceDescription: ?[*:0]const u16,
SourceTagfile: ?[*:0]const u16,
TargetDirectory: ?[*:0]const u16,
TargetFilename: ?[*:0]const u16,
CopyStyle: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueCopyIndirectA(
CopyParams: ?*SP_FILE_COPY_PARAMS_A,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueCopyIndirectW(
CopyParams: ?*SP_FILE_COPY_PARAMS_W,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueDefaultCopyA(
QueueHandle: ?*anyopaque,
InfHandle: ?*anyopaque,
SourceRootPath: ?[*:0]const u8,
SourceFilename: ?[*:0]const u8,
TargetFilename: ?[*:0]const u8,
CopyStyle: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueDefaultCopyW(
QueueHandle: ?*anyopaque,
InfHandle: ?*anyopaque,
SourceRootPath: ?[*:0]const u16,
SourceFilename: ?[*:0]const u16,
TargetFilename: ?[*:0]const u16,
CopyStyle: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueCopySectionA(
QueueHandle: ?*anyopaque,
SourceRootPath: ?[*:0]const u8,
InfHandle: ?*anyopaque,
ListInfHandle: ?*anyopaque,
Section: ?[*:0]const u8,
CopyStyle: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueCopySectionW(
QueueHandle: ?*anyopaque,
SourceRootPath: ?[*:0]const u16,
InfHandle: ?*anyopaque,
ListInfHandle: ?*anyopaque,
Section: ?[*:0]const u16,
CopyStyle: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueDeleteA(
QueueHandle: ?*anyopaque,
PathPart1: ?[*:0]const u8,
PathPart2: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueDeleteW(
QueueHandle: ?*anyopaque,
PathPart1: ?[*:0]const u16,
PathPart2: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueDeleteSectionA(
QueueHandle: ?*anyopaque,
InfHandle: ?*anyopaque,
ListInfHandle: ?*anyopaque,
Section: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueDeleteSectionW(
QueueHandle: ?*anyopaque,
InfHandle: ?*anyopaque,
ListInfHandle: ?*anyopaque,
Section: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueRenameA(
QueueHandle: ?*anyopaque,
SourcePath: ?[*:0]const u8,
SourceFilename: ?[*:0]const u8,
TargetPath: ?[*:0]const u8,
TargetFilename: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueRenameW(
QueueHandle: ?*anyopaque,
SourcePath: ?[*:0]const u16,
SourceFilename: ?[*:0]const u16,
TargetPath: ?[*:0]const u16,
TargetFilename: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueRenameSectionA(
QueueHandle: ?*anyopaque,
InfHandle: ?*anyopaque,
ListInfHandle: ?*anyopaque,
Section: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueueRenameSectionW(
QueueHandle: ?*anyopaque,
InfHandle: ?*anyopaque,
ListInfHandle: ?*anyopaque,
Section: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCommitFileQueueA(
Owner: ?HWND,
QueueHandle: ?*anyopaque,
MsgHandler: ?PSP_FILE_CALLBACK_A,
Context: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCommitFileQueueW(
Owner: ?HWND,
QueueHandle: ?*anyopaque,
MsgHandler: ?PSP_FILE_CALLBACK_W,
Context: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupScanFileQueueA(
FileQueue: ?*anyopaque,
Flags: u32,
Window: ?HWND,
CallbackRoutine: ?PSP_FILE_CALLBACK_A,
CallbackContext: ?*anyopaque,
Result: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupScanFileQueueW(
FileQueue: ?*anyopaque,
Flags: u32,
Window: ?HWND,
CallbackRoutine: ?PSP_FILE_CALLBACK_W,
CallbackContext: ?*anyopaque,
Result: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetFileQueueCount(
FileQueue: ?*anyopaque,
SubQueueFileOp: u32,
NumOperations: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetFileQueueFlags(
FileQueue: ?*anyopaque,
Flags: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetFileQueueFlags(
FileQueue: ?*anyopaque,
FlagMask: u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCopyOEMInfA(
SourceInfFileName: ?[*:0]const u8,
OEMSourceMediaLocation: ?[*:0]const u8,
OEMSourceMediaType: OEM_SOURCE_MEDIA_TYPE,
CopyStyle: u32,
DestinationInfFileName: ?[*:0]u8,
DestinationInfFileNameSize: u32,
RequiredSize: ?*u32,
DestinationInfFileNameComponent: ?*?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCopyOEMInfW(
SourceInfFileName: ?[*:0]const u16,
OEMSourceMediaLocation: ?[*:0]const u16,
OEMSourceMediaType: OEM_SOURCE_MEDIA_TYPE,
CopyStyle: u32,
DestinationInfFileName: ?[*:0]u16,
DestinationInfFileNameSize: u32,
RequiredSize: ?*u32,
DestinationInfFileNameComponent: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupUninstallOEMInfA(
InfFileName: ?[*:0]const u8,
Flags: u32,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupUninstallOEMInfW(
InfFileName: ?[*:0]const u16,
Flags: u32,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupUninstallNewlyCopiedInfs(
FileQueue: ?*anyopaque,
Flags: u32,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCreateDiskSpaceListA(
Reserved1: ?*anyopaque,
Reserved2: u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCreateDiskSpaceListW(
Reserved1: ?*anyopaque,
Reserved2: u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDuplicateDiskSpaceListA(
DiskSpace: ?*anyopaque,
Reserved1: ?*anyopaque,
Reserved2: u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDuplicateDiskSpaceListW(
DiskSpace: ?*anyopaque,
Reserved1: ?*anyopaque,
Reserved2: u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDestroyDiskSpaceList(
DiskSpace: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueryDrivesInDiskSpaceListA(
DiskSpace: ?*anyopaque,
ReturnBuffer: ?[*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueryDrivesInDiskSpaceListW(
DiskSpace: ?*anyopaque,
ReturnBuffer: ?[*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQuerySpaceRequiredOnDriveA(
DiskSpace: ?*anyopaque,
DriveSpec: ?[*:0]const u8,
SpaceRequired: ?*i64,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQuerySpaceRequiredOnDriveW(
DiskSpace: ?*anyopaque,
DriveSpec: ?[*:0]const u16,
SpaceRequired: ?*i64,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupAdjustDiskSpaceListA(
DiskSpace: ?*anyopaque,
DriveRoot: ?[*:0]const u8,
Amount: i64,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupAdjustDiskSpaceListW(
DiskSpace: ?*anyopaque,
DriveRoot: ?[*:0]const u16,
Amount: i64,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupAddToDiskSpaceListA(
DiskSpace: ?*anyopaque,
TargetFilespec: ?[*:0]const u8,
FileSize: i64,
Operation: SETUP_FILE_OPERATION,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupAddToDiskSpaceListW(
DiskSpace: ?*anyopaque,
TargetFilespec: ?[*:0]const u16,
FileSize: i64,
Operation: SETUP_FILE_OPERATION,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupAddSectionToDiskSpaceListA(
DiskSpace: ?*anyopaque,
InfHandle: ?*anyopaque,
ListInfHandle: ?*anyopaque,
SectionName: ?[*:0]const u8,
Operation: SETUP_FILE_OPERATION,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupAddSectionToDiskSpaceListW(
DiskSpace: ?*anyopaque,
InfHandle: ?*anyopaque,
ListInfHandle: ?*anyopaque,
SectionName: ?[*:0]const u16,
Operation: SETUP_FILE_OPERATION,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupAddInstallSectionToDiskSpaceListA(
DiskSpace: ?*anyopaque,
InfHandle: ?*anyopaque,
LayoutInfHandle: ?*anyopaque,
SectionName: ?[*:0]const u8,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupAddInstallSectionToDiskSpaceListW(
DiskSpace: ?*anyopaque,
InfHandle: ?*anyopaque,
LayoutInfHandle: ?*anyopaque,
SectionName: ?[*:0]const u16,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRemoveFromDiskSpaceListA(
DiskSpace: ?*anyopaque,
TargetFilespec: ?[*:0]const u8,
Operation: SETUP_FILE_OPERATION,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRemoveFromDiskSpaceListW(
DiskSpace: ?*anyopaque,
TargetFilespec: ?[*:0]const u16,
Operation: SETUP_FILE_OPERATION,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRemoveSectionFromDiskSpaceListA(
DiskSpace: ?*anyopaque,
InfHandle: ?*anyopaque,
ListInfHandle: ?*anyopaque,
SectionName: ?[*:0]const u8,
Operation: SETUP_FILE_OPERATION,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRemoveSectionFromDiskSpaceListW(
DiskSpace: ?*anyopaque,
InfHandle: ?*anyopaque,
ListInfHandle: ?*anyopaque,
SectionName: ?[*:0]const u16,
Operation: SETUP_FILE_OPERATION,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRemoveInstallSectionFromDiskSpaceListA(
DiskSpace: ?*anyopaque,
InfHandle: ?*anyopaque,
LayoutInfHandle: ?*anyopaque,
SectionName: ?[*:0]const u8,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRemoveInstallSectionFromDiskSpaceListW(
DiskSpace: ?*anyopaque,
InfHandle: ?*anyopaque,
LayoutInfHandle: ?*anyopaque,
SectionName: ?[*:0]const u16,
Reserved1: ?*anyopaque,
Reserved2: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupIterateCabinetA(
CabinetFile: ?[*:0]const u8,
Reserved: u32,
MsgHandler: ?PSP_FILE_CALLBACK_A,
Context: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupIterateCabinetW(
CabinetFile: ?[*:0]const u16,
Reserved: u32,
MsgHandler: ?PSP_FILE_CALLBACK_W,
Context: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupPromptReboot(
FileQueue: ?*anyopaque,
Owner: ?HWND,
ScanOnly: BOOL,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInitDefaultQueueCallback(
OwnerWindow: ?HWND,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInitDefaultQueueCallbackEx(
OwnerWindow: ?HWND,
AlternateProgressWindow: ?HWND,
ProgressMessage: u32,
Reserved1: u32,
Reserved2: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupTermDefaultQueueCallback(
Context: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDefaultQueueCallbackA(
Context: ?*anyopaque,
Notification: u32,
Param1: usize,
Param2: usize,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDefaultQueueCallbackW(
Context: ?*anyopaque,
Notification: u32,
Param1: usize,
Param2: usize,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallFromInfSectionA(
Owner: ?HWND,
InfHandle: ?*anyopaque,
SectionName: ?[*:0]const u8,
Flags: u32,
RelativeKeyRoot: ?HKEY,
SourceRootPath: ?[*:0]const u8,
CopyFlags: u32,
MsgHandler: ?PSP_FILE_CALLBACK_A,
Context: ?*anyopaque,
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallFromInfSectionW(
Owner: ?HWND,
InfHandle: ?*anyopaque,
SectionName: ?[*:0]const u16,
Flags: u32,
RelativeKeyRoot: ?HKEY,
SourceRootPath: ?[*:0]const u16,
CopyFlags: u32,
MsgHandler: ?PSP_FILE_CALLBACK_W,
Context: ?*anyopaque,
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallFilesFromInfSectionA(
InfHandle: ?*anyopaque,
LayoutInfHandle: ?*anyopaque,
FileQueue: ?*anyopaque,
SectionName: ?[*:0]const u8,
SourceRootPath: ?[*:0]const u8,
CopyFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallFilesFromInfSectionW(
InfHandle: ?*anyopaque,
LayoutInfHandle: ?*anyopaque,
FileQueue: ?*anyopaque,
SectionName: ?[*:0]const u16,
SourceRootPath: ?[*:0]const u16,
CopyFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallServicesFromInfSectionA(
InfHandle: ?*anyopaque,
SectionName: ?[*:0]const u8,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallServicesFromInfSectionW(
InfHandle: ?*anyopaque,
SectionName: ?[*:0]const u16,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallServicesFromInfSectionExA(
InfHandle: ?*anyopaque,
SectionName: ?[*:0]const u8,
Flags: u32,
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Reserved1: ?*anyopaque,
Reserved2: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInstallServicesFromInfSectionExW(
InfHandle: ?*anyopaque,
SectionName: ?[*:0]const u16,
Flags: u32,
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Reserved1: ?*anyopaque,
Reserved2: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn InstallHinfSectionA(
Window: ?HWND,
ModuleHandle: ?HINSTANCE,
CommandLine: ?[*:0]const u8,
ShowCommand: i32,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn InstallHinfSectionW(
Window: ?HWND,
ModuleHandle: ?HINSTANCE,
CommandLine: ?[*:0]const u16,
ShowCommand: i32,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInitializeFileLogA(
LogFileName: ?[*:0]const u8,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupInitializeFileLogW(
LogFileName: ?[*:0]const u16,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupTerminateFileLog(
FileLogHandle: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupLogFileA(
FileLogHandle: ?*anyopaque,
LogSectionName: ?[*:0]const u8,
SourceFilename: ?[*:0]const u8,
TargetFilename: ?[*:0]const u8,
Checksum: u32,
DiskTagfile: ?[*:0]const u8,
DiskDescription: ?[*:0]const u8,
OtherInfo: ?[*:0]const u8,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupLogFileW(
FileLogHandle: ?*anyopaque,
LogSectionName: ?[*:0]const u16,
SourceFilename: ?[*:0]const u16,
TargetFilename: ?[*:0]const u16,
Checksum: u32,
DiskTagfile: ?[*:0]const u16,
DiskDescription: ?[*:0]const u16,
OtherInfo: ?[*:0]const u16,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRemoveFileLogEntryA(
FileLogHandle: ?*anyopaque,
LogSectionName: ?[*:0]const u8,
TargetFilename: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupRemoveFileLogEntryW(
FileLogHandle: ?*anyopaque,
LogSectionName: ?[*:0]const u16,
TargetFilename: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueryFileLogA(
FileLogHandle: ?*anyopaque,
LogSectionName: ?[*:0]const u8,
TargetFilename: ?[*:0]const u8,
DesiredInfo: SetupFileLogInfo,
DataOut: ?[*:0]u8,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupQueryFileLogW(
FileLogHandle: ?*anyopaque,
LogSectionName: ?[*:0]const u16,
TargetFilename: ?[*:0]const u16,
DesiredInfo: SetupFileLogInfo,
DataOut: ?[*:0]u16,
ReturnBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupOpenLog(
Erase: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupLogErrorA(
MessageString: ?[*:0]const u8,
Severity: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupLogErrorW(
MessageString: ?[*:0]const u16,
Severity: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupCloseLog(
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupGetThreadLogToken(
) callconv(@import("std").os.windows.WINAPI) u64;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupSetThreadLogToken(
LogToken: u64,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupWriteTextLog(
LogToken: u64,
Category: u32,
Flags: u32,
MessageStr: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupWriteTextLogError(
LogToken: u64,
Category: u32,
LogFlags: u32,
Error: u32,
MessageStr: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) void;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupWriteTextLogInfLine(
LogToken: u64,
Flags: u32,
InfHandle: ?*anyopaque,
Context: ?*INFCONTEXT,
) callconv(@import("std").os.windows.WINAPI) void;
pub extern "setupapi" fn SetupGetBackupInformationA(
QueueHandle: ?*anyopaque,
BackupParams: ?*SP_BACKUP_QUEUE_PARAMS_V2_A,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "setupapi" fn SetupGetBackupInformationW(
QueueHandle: ?*anyopaque,
BackupParams: ?*SP_BACKUP_QUEUE_PARAMS_V2_W,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "setupapi" fn SetupPrepareQueueForRestoreA(
QueueHandle: ?*anyopaque,
BackupPath: ?[*:0]const u8,
RestoreFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "setupapi" fn SetupPrepareQueueForRestoreW(
QueueHandle: ?*anyopaque,
BackupPath: ?[*:0]const u16,
RestoreFlags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupSetNonInteractiveMode(
NonInteractiveFlag: BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupGetNonInteractiveMode(
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCreateDeviceInfoList(
ClassGuid: ?*const Guid,
hwndParent: ?HWND,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCreateDeviceInfoListExA(
ClassGuid: ?*const Guid,
hwndParent: ?HWND,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCreateDeviceInfoListExW(
ClassGuid: ?*const Guid,
hwndParent: ?HWND,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceInfoListClass(
DeviceInfoSet: ?*anyopaque,
ClassGuid: ?*Guid,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceInfoListDetailA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoSetDetailData: ?*SP_DEVINFO_LIST_DETAIL_DATA_A,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceInfoListDetailW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoSetDetailData: ?*SP_DEVINFO_LIST_DETAIL_DATA_W,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCreateDeviceInfoA(
DeviceInfoSet: ?*anyopaque,
DeviceName: ?[*:0]const u8,
ClassGuid: ?*const Guid,
DeviceDescription: ?[*:0]const u8,
hwndParent: ?HWND,
CreationFlags: u32,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCreateDeviceInfoW(
DeviceInfoSet: ?*anyopaque,
DeviceName: ?[*:0]const u16,
ClassGuid: ?*const Guid,
DeviceDescription: ?[*:0]const u16,
hwndParent: ?HWND,
CreationFlags: u32,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiOpenDeviceInfoA(
DeviceInfoSet: ?*anyopaque,
DeviceInstanceId: ?[*:0]const u8,
hwndParent: ?HWND,
OpenFlags: u32,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiOpenDeviceInfoW(
DeviceInfoSet: ?*anyopaque,
DeviceInstanceId: ?[*:0]const u16,
hwndParent: ?HWND,
OpenFlags: u32,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceInstanceIdA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DeviceInstanceId: ?[*:0]u8,
DeviceInstanceIdSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceInstanceIdW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DeviceInstanceId: ?[*:0]u16,
DeviceInstanceIdSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiDeleteDeviceInfo(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiEnumDeviceInfo(
DeviceInfoSet: ?*anyopaque,
MemberIndex: u32,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiDestroyDeviceInfoList(
DeviceInfoSet: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiEnumDeviceInterfaces(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
InterfaceClassGuid: ?*const Guid,
MemberIndex: u32,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCreateDeviceInterfaceA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
InterfaceClassGuid: ?*const Guid,
ReferenceString: ?[*:0]const u8,
CreationFlags: u32,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCreateDeviceInterfaceW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
InterfaceClassGuid: ?*const Guid,
ReferenceString: ?[*:0]const u16,
CreationFlags: u32,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiOpenDeviceInterfaceA(
DeviceInfoSet: ?*anyopaque,
DevicePath: ?[*:0]const u8,
OpenFlags: u32,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiOpenDeviceInterfaceW(
DeviceInfoSet: ?*anyopaque,
DevicePath: ?[*:0]const u16,
OpenFlags: u32,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceInterfaceAlias(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
AliasInterfaceClassGuid: ?*const Guid,
AliasDeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiDeleteDeviceInterfaceData(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiRemoveDeviceInterface(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceInterfaceDetailA(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
// TODO: what to do with BytesParamIndex 3?
DeviceInterfaceDetailData: ?*SP_DEVICE_INTERFACE_DETAIL_DATA_A,
DeviceInterfaceDetailDataSize: u32,
RequiredSize: ?*u32,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceInterfaceDetailW(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
// TODO: what to do with BytesParamIndex 3?
DeviceInterfaceDetailData: ?*SP_DEVICE_INTERFACE_DETAIL_DATA_W,
DeviceInterfaceDetailDataSize: u32,
RequiredSize: ?*u32,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiInstallDeviceInterfaces(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDiSetDeviceInterfaceDefault(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
Flags: u32,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiRegisterDeviceInfo(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Flags: u32,
CompareProc: ?PSP_DETSIG_CMPPROC,
CompareContext: ?*anyopaque,
DupDeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiBuildDriverInfoList(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverType: SETUP_DI_BUILD_DRIVER_DRIVER_TYPE,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCancelDriverInfoSearch(
DeviceInfoSet: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiEnumDriverInfoA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverType: u32,
MemberIndex: u32,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_A,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiEnumDriverInfoW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverType: u32,
MemberIndex: u32,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_W,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetSelectedDriverA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_A,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetSelectedDriverW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_W,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSetSelectedDriverA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_A,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSetSelectedDriverW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_W,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDriverInfoDetailA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_A,
// TODO: what to do with BytesParamIndex 4?
DriverInfoDetailData: ?*SP_DRVINFO_DETAIL_DATA_A,
DriverInfoDetailDataSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDriverInfoDetailW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_W,
// TODO: what to do with BytesParamIndex 4?
DriverInfoDetailData: ?*SP_DRVINFO_DETAIL_DATA_W,
DriverInfoDetailDataSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiDestroyDriverInfoList(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverType: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassDevsA(
ClassGuid: ?*const Guid,
Enumerator: ?[*:0]const u8,
hwndParent: ?HWND,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassDevsW(
ClassGuid: ?*const Guid,
Enumerator: ?[*:0]const u16,
hwndParent: ?HWND,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassDevsExA(
ClassGuid: ?*const Guid,
Enumerator: ?[*:0]const u8,
hwndParent: ?HWND,
Flags: u32,
DeviceInfoSet: ?*anyopaque,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassDevsExW(
ClassGuid: ?*const Guid,
Enumerator: ?[*:0]const u16,
hwndParent: ?HWND,
Flags: u32,
DeviceInfoSet: ?*anyopaque,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetINFClassA(
InfName: ?[*:0]const u8,
ClassGuid: ?*Guid,
ClassName: [*:0]u8,
ClassNameSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetINFClassW(
InfName: ?[*:0]const u16,
ClassGuid: ?*Guid,
ClassName: [*:0]u16,
ClassNameSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiBuildClassInfoList(
Flags: u32,
ClassGuidList: ?[*]Guid,
ClassGuidListSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiBuildClassInfoListExA(
Flags: u32,
ClassGuidList: ?[*]Guid,
ClassGuidListSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiBuildClassInfoListExW(
Flags: u32,
ClassGuidList: ?[*]Guid,
ClassGuidListSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassDescriptionA(
ClassGuid: ?*const Guid,
ClassDescription: [*:0]u8,
ClassDescriptionSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassDescriptionW(
ClassGuid: ?*const Guid,
ClassDescription: [*:0]u16,
ClassDescriptionSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassDescriptionExA(
ClassGuid: ?*const Guid,
ClassDescription: [*:0]u8,
ClassDescriptionSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassDescriptionExW(
ClassGuid: ?*const Guid,
ClassDescription: [*:0]u16,
ClassDescriptionSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCallClassInstaller(
InstallFunction: u32,
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSelectDevice(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSelectBestCompatDrv(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiInstallDevice(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiInstallDriverFiles(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiRegisterCoDeviceInstallers(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiRemoveDevice(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiUnremoveDevice(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "setupapi" fn SetupDiRestartDevices(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiChangeState(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiInstallClassA(
hwndParent: ?HWND,
InfFileName: ?[*:0]const u8,
Flags: u32,
FileQueue: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiInstallClassW(
hwndParent: ?HWND,
InfFileName: ?[*:0]const u16,
Flags: u32,
FileQueue: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiInstallClassExA(
hwndParent: ?HWND,
InfFileName: ?[*:0]const u8,
Flags: u32,
FileQueue: ?*anyopaque,
InterfaceClassGuid: ?*const Guid,
Reserved1: ?*anyopaque,
Reserved2: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiInstallClassExW(
hwndParent: ?HWND,
InfFileName: ?[*:0]const u16,
Flags: u32,
FileQueue: ?*anyopaque,
InterfaceClassGuid: ?*const Guid,
Reserved1: ?*anyopaque,
Reserved2: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiOpenClassRegKey(
ClassGuid: ?*const Guid,
samDesired: u32,
) callconv(@import("std").os.windows.WINAPI) ?HKEY;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiOpenClassRegKeyExA(
ClassGuid: ?*const Guid,
samDesired: u32,
Flags: u32,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?HKEY;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiOpenClassRegKeyExW(
ClassGuid: ?*const Guid,
samDesired: u32,
Flags: u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) ?HKEY;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCreateDeviceInterfaceRegKeyA(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
Reserved: u32,
samDesired: u32,
InfHandle: ?*anyopaque,
InfSectionName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?HKEY;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCreateDeviceInterfaceRegKeyW(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
Reserved: u32,
samDesired: u32,
InfHandle: ?*anyopaque,
InfSectionName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) ?HKEY;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiOpenDeviceInterfaceRegKey(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
Reserved: u32,
samDesired: u32,
) callconv(@import("std").os.windows.WINAPI) ?HKEY;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiDeleteDeviceInterfaceRegKey(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
Reserved: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCreateDevRegKeyA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Scope: u32,
HwProfile: u32,
KeyType: u32,
InfHandle: ?*anyopaque,
InfSectionName: ?[*:0]const u8,
) callconv(@import("std").os.windows.WINAPI) ?HKEY;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiCreateDevRegKeyW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Scope: u32,
HwProfile: u32,
KeyType: u32,
InfHandle: ?*anyopaque,
InfSectionName: ?[*:0]const u16,
) callconv(@import("std").os.windows.WINAPI) ?HKEY;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiOpenDevRegKey(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Scope: u32,
HwProfile: u32,
KeyType: u32,
samDesired: u32,
) callconv(@import("std").os.windows.WINAPI) ?HKEY;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiDeleteDevRegKey(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Scope: u32,
HwProfile: u32,
KeyType: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetHwProfileList(
HwProfileList: [*]u32,
HwProfileListSize: u32,
RequiredSize: ?*u32,
CurrentlyActiveIndex: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetHwProfileListExA(
HwProfileList: [*]u32,
HwProfileListSize: u32,
RequiredSize: ?*u32,
CurrentlyActiveIndex: ?*u32,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetHwProfileListExW(
HwProfileList: [*]u32,
HwProfileListSize: u32,
RequiredSize: ?*u32,
CurrentlyActiveIndex: ?*u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiGetDevicePropertyKeys(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
PropertyKeyArray: ?[*]DEVPROPKEY,
PropertyKeyCount: u32,
RequiredPropertyKeyCount: ?*u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiGetDevicePropertyW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: ?*u32,
// TODO: what to do with BytesParamIndex 5?
PropertyBuffer: ?*u8,
PropertyBufferSize: u32,
RequiredSize: ?*u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiSetDevicePropertyW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: u32,
// TODO: what to do with BytesParamIndex 5?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiGetDeviceInterfacePropertyKeys(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
PropertyKeyArray: ?[*]DEVPROPKEY,
PropertyKeyCount: u32,
RequiredPropertyKeyCount: ?*u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiGetDeviceInterfacePropertyW(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: ?*u32,
// TODO: what to do with BytesParamIndex 5?
PropertyBuffer: ?*u8,
PropertyBufferSize: u32,
RequiredSize: ?*u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiSetDeviceInterfacePropertyW(
DeviceInfoSet: ?*anyopaque,
DeviceInterfaceData: ?*SP_DEVICE_INTERFACE_DATA,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: u32,
// TODO: what to do with BytesParamIndex 5?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiGetClassPropertyKeys(
ClassGuid: ?*const Guid,
PropertyKeyArray: ?[*]DEVPROPKEY,
PropertyKeyCount: u32,
RequiredPropertyKeyCount: ?*u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiGetClassPropertyKeysExW(
ClassGuid: ?*const Guid,
PropertyKeyArray: ?[*]DEVPROPKEY,
PropertyKeyCount: u32,
RequiredPropertyKeyCount: ?*u32,
Flags: u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiGetClassPropertyW(
ClassGuid: ?*const Guid,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*u8,
PropertyBufferSize: u32,
RequiredSize: ?*u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiGetClassPropertyExW(
ClassGuid: ?*const Guid,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*u8,
PropertyBufferSize: u32,
RequiredSize: ?*u32,
Flags: u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiSetClassPropertyW(
ClassGuid: ?*const Guid,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiSetClassPropertyExW(
ClassGuid: ?*const Guid,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
Flags: u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceRegistryPropertyA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Property: u32,
PropertyRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 5?
PropertyBuffer: ?*u8,
PropertyBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceRegistryPropertyW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Property: u32,
PropertyRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 5?
PropertyBuffer: ?*u8,
PropertyBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDiGetClassRegistryPropertyA(
ClassGuid: ?*const Guid,
Property: u32,
PropertyRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*u8,
PropertyBufferSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDiGetClassRegistryPropertyW(
ClassGuid: ?*const Guid,
Property: u32,
PropertyRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*u8,
PropertyBufferSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSetDeviceRegistryPropertyA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Property: u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSetDeviceRegistryPropertyW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Property: u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDiSetClassRegistryPropertyA(
ClassGuid: ?*const Guid,
Property: u32,
// TODO: what to do with BytesParamIndex 3?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDiSetClassRegistryPropertyW(
ClassGuid: ?*const Guid,
Property: u32,
// TODO: what to do with BytesParamIndex 3?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceInstallParamsA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DeviceInstallParams: ?*SP_DEVINSTALL_PARAMS_A,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDeviceInstallParamsW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DeviceInstallParams: ?*SP_DEVINSTALL_PARAMS_W,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassInstallParamsA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
// TODO: what to do with BytesParamIndex 3?
ClassInstallParams: ?*SP_CLASSINSTALL_HEADER,
ClassInstallParamsSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassInstallParamsW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
// TODO: what to do with BytesParamIndex 3?
ClassInstallParams: ?*SP_CLASSINSTALL_HEADER,
ClassInstallParamsSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSetDeviceInstallParamsA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DeviceInstallParams: ?*SP_DEVINSTALL_PARAMS_A,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSetDeviceInstallParamsW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DeviceInstallParams: ?*SP_DEVINSTALL_PARAMS_W,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSetClassInstallParamsA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
// TODO: what to do with BytesParamIndex 3?
ClassInstallParams: ?*SP_CLASSINSTALL_HEADER,
ClassInstallParamsSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSetClassInstallParamsW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
// TODO: what to do with BytesParamIndex 3?
ClassInstallParams: ?*SP_CLASSINSTALL_HEADER,
ClassInstallParamsSize: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDriverInstallParamsA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_A,
DriverInstallParams: ?*SP_DRVINSTALL_PARAMS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetDriverInstallParamsW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_W,
DriverInstallParams: ?*SP_DRVINSTALL_PARAMS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSetDriverInstallParamsA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_A,
DriverInstallParams: ?*SP_DRVINSTALL_PARAMS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSetDriverInstallParamsW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_W,
DriverInstallParams: ?*SP_DRVINSTALL_PARAMS,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiLoadClassIcon(
ClassGuid: ?*const Guid,
LargeIcon: ?*?HICON,
MiniIconIndex: ?*i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "setupapi" fn SetupDiLoadDeviceIcon(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
cxIcon: u32,
cyIcon: u32,
Flags: u32,
hIcon: ?*?HICON,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiDrawMiniIcon(
hdc: ?HDC,
rc: RECT,
MiniIconIndex: i32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) i32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassBitmapIndex(
ClassGuid: ?*const Guid,
MiniIconIndex: ?*i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassImageList(
ClassImageListData: ?*SP_CLASSIMAGELIST_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassImageListExA(
ClassImageListData: ?*SP_CLASSIMAGELIST_DATA,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassImageListExW(
ClassImageListData: ?*SP_CLASSIMAGELIST_DATA,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassImageIndex(
ClassImageListData: ?*SP_CLASSIMAGELIST_DATA,
ClassGuid: ?*const Guid,
ImageIndex: ?*i32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiDestroyClassImageList(
ClassImageListData: ?*SP_CLASSIMAGELIST_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassDevPropertySheetsA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
PropertySheetHeader: ?*PROPSHEETHEADERA_V2,
PropertySheetHeaderPageListSize: u32,
RequiredSize: ?*u32,
PropertySheetType: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetClassDevPropertySheetsW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
PropertySheetHeader: ?*PROPSHEETHEADERW_V2,
PropertySheetHeaderPageListSize: u32,
RequiredSize: ?*u32,
PropertySheetType: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiAskForOEMDisk(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSelectOEMDrv(
hwndParent: ?HWND,
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiClassNameFromGuidA(
ClassGuid: ?*const Guid,
ClassName: [*:0]u8,
ClassNameSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiClassNameFromGuidW(
ClassGuid: ?*const Guid,
ClassName: [*:0]u16,
ClassNameSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiClassNameFromGuidExA(
ClassGuid: ?*const Guid,
ClassName: [*:0]u8,
ClassNameSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiClassNameFromGuidExW(
ClassGuid: ?*const Guid,
ClassName: [*:0]u16,
ClassNameSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiClassGuidsFromNameA(
ClassName: ?[*:0]const u8,
ClassGuidList: [*]Guid,
ClassGuidListSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiClassGuidsFromNameW(
ClassName: ?[*:0]const u16,
ClassGuidList: [*]Guid,
ClassGuidListSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiClassGuidsFromNameExA(
ClassName: ?[*:0]const u8,
ClassGuidList: [*]Guid,
ClassGuidListSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiClassGuidsFromNameExW(
ClassName: ?[*:0]const u16,
ClassGuidList: [*]Guid,
ClassGuidListSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetHwProfileFriendlyNameA(
HwProfile: u32,
FriendlyName: [*:0]u8,
FriendlyNameSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetHwProfileFriendlyNameW(
HwProfile: u32,
FriendlyName: [*:0]u16,
FriendlyNameSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetHwProfileFriendlyNameExA(
HwProfile: u32,
FriendlyName: [*:0]u8,
FriendlyNameSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u8,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetHwProfileFriendlyNameExW(
HwProfile: u32,
FriendlyName: [*:0]u16,
FriendlyNameSize: u32,
RequiredSize: ?*u32,
MachineName: ?[*:0]const u16,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "setupapi" fn SetupDiGetWizardPage(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
InstallWizardData: ?*SP_INSTALLWIZARD_DATA,
PageType: u32,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) ?HPROPSHEETPAGE;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetSelectedDevice(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiSetSelectedDevice(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "setupapi" fn SetupDiGetActualModelsSectionA(
Context: ?*INFCONTEXT,
AlternatePlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
InfSectionWithExt: ?[*:0]u8,
InfSectionWithExtSize: u32,
RequiredSize: ?*u32,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "setupapi" fn SetupDiGetActualModelsSectionW(
Context: ?*INFCONTEXT,
AlternatePlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
InfSectionWithExt: ?[*:0]u16,
InfSectionWithExtSize: u32,
RequiredSize: ?*u32,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetActualSectionToInstallA(
InfHandle: ?*anyopaque,
InfSectionName: ?[*:0]const u8,
InfSectionWithExt: ?[*:0]u8,
InfSectionWithExtSize: u32,
RequiredSize: ?*u32,
Extension: ?*?PSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "setupapi" fn SetupDiGetActualSectionToInstallW(
InfHandle: ?*anyopaque,
InfSectionName: ?[*:0]const u16,
InfSectionWithExt: ?[*:0]u16,
InfSectionWithExtSize: u32,
RequiredSize: ?*u32,
Extension: ?*?PWSTR,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDiGetActualSectionToInstallExA(
InfHandle: ?*anyopaque,
InfSectionName: ?[*:0]const u8,
AlternatePlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
InfSectionWithExt: ?[*:0]u8,
InfSectionWithExtSize: u32,
RequiredSize: ?*u32,
Extension: ?*?PSTR,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDiGetActualSectionToInstallExW(
InfHandle: ?*anyopaque,
InfSectionName: ?[*:0]const u16,
AlternatePlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
InfSectionWithExt: ?[*:0]u16,
InfSectionWithExtSize: u32,
RequiredSize: ?*u32,
Extension: ?*?PWSTR,
Reserved: ?*anyopaque,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupEnumInfSectionsA(
InfHandle: ?*anyopaque,
Index: u32,
Buffer: ?[*:0]u8,
Size: u32,
SizeNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupEnumInfSectionsW(
InfHandle: ?*anyopaque,
Index: u32,
Buffer: ?[*:0]u16,
Size: u32,
SizeNeeded: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupVerifyInfFileA(
InfName: ?[*:0]const u8,
AltPlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
InfSignerInfo: ?*SP_INF_SIGNER_INFO_V2_A,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupVerifyInfFileW(
InfName: ?[*:0]const u16,
AltPlatformInfo: ?*SP_ALTPLATFORM_INFO_V2,
InfSignerInfo: ?*SP_INF_SIGNER_INFO_V2_W,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDiGetCustomDevicePropertyA(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
CustomPropertyName: ?[*:0]const u8,
Flags: u32,
PropertyRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 6?
PropertyBuffer: ?*u8,
PropertyBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "setupapi" fn SetupDiGetCustomDevicePropertyW(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
CustomPropertyName: ?[*:0]const u16,
Flags: u32,
PropertyRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 6?
PropertyBuffer: ?*u8,
PropertyBufferSize: u32,
RequiredSize: ?*u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windowsServer2003'
pub extern "setupapi" fn SetupConfigureWmiFromInfSectionA(
InfHandle: ?*anyopaque,
SectionName: ?[*:0]const u8,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windowsServer2003'
pub extern "setupapi" fn SetupConfigureWmiFromInfSectionW(
InfHandle: ?*anyopaque,
SectionName: ?[*:0]const u16,
Flags: u32,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Add_Empty_Log_Conf(
plcLogConf: ?*usize,
dnDevInst: u32,
Priority: PRIORITY,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Add_Empty_Log_Conf_Ex(
plcLogConf: ?*usize,
dnDevInst: u32,
Priority: PRIORITY,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Add_IDA(
dnDevInst: u32,
pszID: ?PSTR,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Add_IDW(
dnDevInst: u32,
pszID: ?PWSTR,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Add_ID_ExA(
dnDevInst: u32,
pszID: ?PSTR,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Add_ID_ExW(
dnDevInst: u32,
pszID: ?PWSTR,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Add_Range(
ullStartValue: u64,
ullEndValue: u64,
rlh: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Add_Res_Des(
prdResDes: ?*usize,
lcLogConf: usize,
ResourceID: u32,
// TODO: what to do with BytesParamIndex 4?
ResourceData: ?*anyopaque,
ResourceLen: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Add_Res_Des_Ex(
prdResDes: ?*usize,
lcLogConf: usize,
ResourceID: u32,
// TODO: what to do with BytesParamIndex 4?
ResourceData: ?*anyopaque,
ResourceLen: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Connect_MachineA(
UNCServerName: ?[*:0]const u8,
phMachine: ?*isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Connect_MachineW(
UNCServerName: ?[*:0]const u16,
phMachine: ?*isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Create_DevNodeA(
pdnDevInst: ?*u32,
pDeviceID: ?*i8,
dnParent: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Create_DevNodeW(
pdnDevInst: ?*u32,
pDeviceID: ?*u16,
dnParent: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Create_DevNode_ExA(
pdnDevInst: ?*u32,
pDeviceID: ?*i8,
dnParent: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Create_DevNode_ExW(
pdnDevInst: ?*u32,
pDeviceID: ?*u16,
dnParent: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Create_Range_List(
prlh: ?*usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Delete_Class_Key(
ClassGuid: ?*Guid,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Delete_Class_Key_Ex(
ClassGuid: ?*Guid,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Delete_DevNode_Key(
dnDevNode: u32,
ulHardwareProfile: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Delete_DevNode_Key_Ex(
dnDevNode: u32,
ulHardwareProfile: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Delete_Range(
ullStartValue: u64,
ullEndValue: u64,
rlh: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Detect_Resource_Conflict(
dnDevInst: u32,
ResourceID: u32,
// TODO: what to do with BytesParamIndex 3?
ResourceData: ?*anyopaque,
ResourceLen: u32,
pbConflictDetected: ?*BOOL,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Detect_Resource_Conflict_Ex(
dnDevInst: u32,
ResourceID: u32,
// TODO: what to do with BytesParamIndex 3?
ResourceData: ?*anyopaque,
ResourceLen: u32,
pbConflictDetected: ?*BOOL,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Disable_DevNode(
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Disable_DevNode_Ex(
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Disconnect_Machine(
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Dup_Range_List(
rlhOld: usize,
rlhNew: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Enable_DevNode(
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Enable_DevNode_Ex(
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Enumerate_Classes(
ulClassIndex: u32,
ClassGuid: ?*Guid,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Enumerate_Classes_Ex(
ulClassIndex: u32,
ClassGuid: ?*Guid,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Enumerate_EnumeratorsA(
ulEnumIndex: u32,
Buffer: [*:0]u8,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Enumerate_EnumeratorsW(
ulEnumIndex: u32,
Buffer: [*:0]u16,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Enumerate_Enumerators_ExA(
ulEnumIndex: u32,
Buffer: [*:0]u8,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Enumerate_Enumerators_ExW(
ulEnumIndex: u32,
Buffer: [*:0]u16,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Find_Range(
pullStart: ?*u64,
ullStart: u64,
ulLength: u32,
ullAlignment: u64,
ullEnd: u64,
rlh: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_First_Range(
rlh: usize,
pullStart: ?*u64,
pullEnd: ?*u64,
preElement: ?*usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Free_Log_Conf(
lcLogConfToBeFreed: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Free_Log_Conf_Ex(
lcLogConfToBeFreed: usize,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Free_Log_Conf_Handle(
lcLogConf: usize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Free_Range_List(
rlh: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Free_Res_Des(
prdResDes: ?*usize,
rdResDes: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Free_Res_Des_Ex(
prdResDes: ?*usize,
rdResDes: usize,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Free_Res_Des_Handle(
rdResDes: usize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Child(
pdnDevInst: ?*u32,
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Child_Ex(
pdnDevInst: ?*u32,
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Class_NameA(
ClassGuid: ?*Guid,
Buffer: ?[*:0]u8,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Class_NameW(
ClassGuid: ?*Guid,
Buffer: ?[*:0]u16,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Class_Name_ExA(
ClassGuid: ?*Guid,
Buffer: ?[*:0]u8,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Class_Name_ExW(
ClassGuid: ?*Guid,
Buffer: ?[*:0]u16,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Class_Key_NameA(
ClassGuid: ?*Guid,
pszKeyName: ?[*:0]u8,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Class_Key_NameW(
ClassGuid: ?*Guid,
pszKeyName: ?[*:0]u16,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Class_Key_Name_ExA(
ClassGuid: ?*Guid,
pszKeyName: ?[*:0]u8,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Class_Key_Name_ExW(
ClassGuid: ?*Guid,
pszKeyName: ?[*:0]u16,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Depth(
pulDepth: ?*u32,
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Depth_Ex(
pulDepth: ?*u32,
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Device_IDA(
dnDevInst: u32,
Buffer: [*:0]u8,
BufferLen: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_IDW(
dnDevInst: u32,
Buffer: [*:0]u16,
BufferLen: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Device_ID_ExA(
dnDevInst: u32,
Buffer: [*:0]u8,
BufferLen: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_ID_ExW(
dnDevInst: u32,
Buffer: [*:0]u16,
BufferLen: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_ID_ListA(
pszFilter: ?[*:0]const u8,
Buffer: [*]u8,
BufferLen: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_ID_ListW(
pszFilter: ?[*:0]const u16,
Buffer: [*]u16,
BufferLen: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Device_ID_List_ExA(
pszFilter: ?[*:0]const u8,
Buffer: [*]u8,
BufferLen: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_ID_List_ExW(
pszFilter: ?[*:0]const u16,
Buffer: [*]u16,
BufferLen: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_ID_List_SizeA(
pulLen: ?*u32,
pszFilter: ?[*:0]const u8,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_ID_List_SizeW(
pulLen: ?*u32,
pszFilter: ?[*:0]const u16,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Device_ID_List_Size_ExA(
pulLen: ?*u32,
pszFilter: ?[*:0]const u8,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_ID_List_Size_ExW(
pulLen: ?*u32,
pszFilter: ?[*:0]const u16,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_ID_Size(
pulLen: ?*u32,
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_ID_Size_Ex(
pulLen: ?*u32,
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Get_DevNode_PropertyW(
dnDevInst: u32,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*u8,
PropertyBufferSize: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Get_DevNode_Property_ExW(
dnDevInst: u32,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*u8,
PropertyBufferSize: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Get_DevNode_Property_Keys(
dnDevInst: u32,
PropertyKeyArray: ?[*]DEVPROPKEY,
PropertyKeyCount: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Get_DevNode_Property_Keys_Ex(
dnDevInst: u32,
PropertyKeyArray: ?[*]DEVPROPKEY,
PropertyKeyCount: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_DevNode_Registry_PropertyA(
dnDevInst: u32,
ulProperty: u32,
pulRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_DevNode_Registry_PropertyW(
dnDevInst: u32,
ulProperty: u32,
pulRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_DevNode_Registry_Property_ExA(
dnDevInst: u32,
ulProperty: u32,
pulRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_DevNode_Registry_Property_ExW(
dnDevInst: u32,
ulProperty: u32,
pulRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_DevNode_Custom_PropertyA(
dnDevInst: u32,
pszCustomPropertyName: ?[*:0]const u8,
pulRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_DevNode_Custom_PropertyW(
dnDevInst: u32,
pszCustomPropertyName: ?[*:0]const u16,
pulRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_DevNode_Custom_Property_ExA(
dnDevInst: u32,
pszCustomPropertyName: ?[*:0]const u8,
pulRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_DevNode_Custom_Property_ExW(
dnDevInst: u32,
pszCustomPropertyName: ?[*:0]const u16,
pulRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_DevNode_Status(
pulStatus: ?*u32,
pulProblemNumber: ?*u32,
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_DevNode_Status_Ex(
pulStatus: ?*u32,
pulProblemNumber: ?*u32,
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_First_Log_Conf(
plcLogConf: ?*usize,
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_First_Log_Conf_Ex(
plcLogConf: ?*usize,
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Global_State(
pulState: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Global_State_Ex(
pulState: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Hardware_Profile_InfoA(
ulIndex: u32,
pHWProfileInfo: ?*HWProfileInfo_sA,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Hardware_Profile_Info_ExA(
ulIndex: u32,
pHWProfileInfo: ?*HWProfileInfo_sA,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Hardware_Profile_InfoW(
ulIndex: u32,
pHWProfileInfo: ?*HWProfileInfo_sW,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Hardware_Profile_Info_ExW(
ulIndex: u32,
pHWProfileInfo: ?*HWProfileInfo_sW,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_HW_Prof_FlagsA(
pDeviceID: ?*i8,
ulHardwareProfile: u32,
pulValue: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_HW_Prof_FlagsW(
pDeviceID: ?*u16,
ulHardwareProfile: u32,
pulValue: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_HW_Prof_Flags_ExA(
pDeviceID: ?*i8,
ulHardwareProfile: u32,
pulValue: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_HW_Prof_Flags_ExW(
pDeviceID: ?*u16,
ulHardwareProfile: u32,
pulValue: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Device_Interface_AliasA(
pszDeviceInterface: ?[*:0]const u8,
AliasInterfaceGuid: ?*Guid,
pszAliasDeviceInterface: [*:0]u8,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_Interface_AliasW(
pszDeviceInterface: ?[*:0]const u16,
AliasInterfaceGuid: ?*Guid,
pszAliasDeviceInterface: [*:0]u16,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Device_Interface_Alias_ExA(
pszDeviceInterface: ?[*:0]const u8,
AliasInterfaceGuid: ?*Guid,
pszAliasDeviceInterface: [*:0]u8,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Device_Interface_Alias_ExW(
pszDeviceInterface: ?[*:0]const u16,
AliasInterfaceGuid: ?*Guid,
pszAliasDeviceInterface: [*:0]u16,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_Interface_ListA(
InterfaceClassGuid: ?*Guid,
pDeviceID: ?*i8,
Buffer: [*]u8,
BufferLen: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_Interface_ListW(
InterfaceClassGuid: ?*Guid,
pDeviceID: ?*u16,
Buffer: [*]u16,
BufferLen: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Device_Interface_List_ExA(
InterfaceClassGuid: ?*Guid,
pDeviceID: ?*i8,
Buffer: [*]u8,
BufferLen: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Device_Interface_List_ExW(
InterfaceClassGuid: ?*Guid,
pDeviceID: ?*u16,
Buffer: [*]u16,
BufferLen: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_Interface_List_SizeA(
pulLen: ?*u32,
InterfaceClassGuid: ?*Guid,
pDeviceID: ?*i8,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Device_Interface_List_SizeW(
pulLen: ?*u32,
InterfaceClassGuid: ?*Guid,
pDeviceID: ?*u16,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Device_Interface_List_Size_ExA(
pulLen: ?*u32,
InterfaceClassGuid: ?*Guid,
pDeviceID: ?*i8,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Device_Interface_List_Size_ExW(
pulLen: ?*u32,
InterfaceClassGuid: ?*Guid,
pDeviceID: ?*u16,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Get_Device_Interface_PropertyW(
pszDeviceInterface: ?[*:0]const u16,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*u8,
PropertyBufferSize: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Get_Device_Interface_Property_ExW(
pszDeviceInterface: ?[*:0]const u16,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*u8,
PropertyBufferSize: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Get_Device_Interface_Property_KeysW(
pszDeviceInterface: ?[*:0]const u16,
PropertyKeyArray: ?[*]DEVPROPKEY,
PropertyKeyCount: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Get_Device_Interface_Property_Keys_ExW(
pszDeviceInterface: ?[*:0]const u16,
PropertyKeyArray: ?[*]DEVPROPKEY,
PropertyKeyCount: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Log_Conf_Priority(
lcLogConf: usize,
pPriority: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Log_Conf_Priority_Ex(
lcLogConf: usize,
pPriority: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Next_Log_Conf(
plcLogConf: ?*usize,
lcLogConf: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Next_Log_Conf_Ex(
plcLogConf: ?*usize,
lcLogConf: usize,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Parent(
pdnDevInst: ?*u32,
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Parent_Ex(
pdnDevInst: ?*u32,
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Res_Des_Data(
rdResDes: usize,
// TODO: what to do with BytesParamIndex 2?
Buffer: ?*anyopaque,
BufferLen: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Res_Des_Data_Ex(
rdResDes: usize,
// TODO: what to do with BytesParamIndex 2?
Buffer: ?*anyopaque,
BufferLen: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Res_Des_Data_Size(
pulSize: ?*u32,
rdResDes: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Res_Des_Data_Size_Ex(
pulSize: ?*u32,
rdResDes: usize,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Sibling(
pdnDevInst: ?*u32,
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Sibling_Ex(
pdnDevInst: ?*u32,
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Version(
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Version_Ex(
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) u16;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "cfgmgr32" fn CM_Is_Version_Available(
wVersion: u16,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.1.2600'
pub extern "cfgmgr32" fn CM_Is_Version_Available_Ex(
wVersion: u16,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "cfgmgr32" fn CM_Intersect_Range_List(
rlhOld1: usize,
rlhOld2: usize,
rlhNew: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Invert_Range_List(
rlhOld: usize,
rlhNew: usize,
ullMaxValue: u64,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Locate_DevNodeA(
pdnDevInst: ?*u32,
pDeviceID: ?*i8,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Locate_DevNodeW(
pdnDevInst: ?*u32,
pDeviceID: ?*u16,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Locate_DevNode_ExA(
pdnDevInst: ?*u32,
pDeviceID: ?*i8,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Locate_DevNode_ExW(
pdnDevInst: ?*u32,
pDeviceID: ?*u16,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Merge_Range_List(
rlhOld1: usize,
rlhOld2: usize,
rlhNew: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Modify_Res_Des(
prdResDes: ?*usize,
rdResDes: usize,
ResourceID: u32,
// TODO: what to do with BytesParamIndex 4?
ResourceData: ?*anyopaque,
ResourceLen: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Modify_Res_Des_Ex(
prdResDes: ?*usize,
rdResDes: usize,
ResourceID: u32,
// TODO: what to do with BytesParamIndex 4?
ResourceData: ?*anyopaque,
ResourceLen: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Move_DevNode(
dnFromDevInst: u32,
dnToDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Move_DevNode_Ex(
dnFromDevInst: u32,
dnToDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Next_Range(
preElement: ?*usize,
pullStart: ?*u64,
pullEnd: ?*u64,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Next_Res_Des(
prdResDes: ?*usize,
rdResDes: usize,
ForResource: u32,
pResourceID: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Next_Res_Des_Ex(
prdResDes: ?*usize,
rdResDes: usize,
ForResource: u32,
pResourceID: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Open_Class_KeyA(
ClassGuid: ?*Guid,
pszClassName: ?[*:0]const u8,
samDesired: u32,
Disposition: u32,
phkClass: ?*?HKEY,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Open_Class_KeyW(
ClassGuid: ?*Guid,
pszClassName: ?[*:0]const u16,
samDesired: u32,
Disposition: u32,
phkClass: ?*?HKEY,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Open_Class_Key_ExA(
ClassGuid: ?*Guid,
pszClassName: ?[*:0]const u8,
samDesired: u32,
Disposition: u32,
phkClass: ?*?HKEY,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Open_Class_Key_ExW(
ClassGuid: ?*Guid,
pszClassName: ?[*:0]const u16,
samDesired: u32,
Disposition: u32,
phkClass: ?*?HKEY,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Open_DevNode_Key(
dnDevNode: u32,
samDesired: u32,
ulHardwareProfile: u32,
Disposition: u32,
phkDevice: ?*?HKEY,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Open_DevNode_Key_Ex(
dnDevNode: u32,
samDesired: u32,
ulHardwareProfile: u32,
Disposition: u32,
phkDevice: ?*?HKEY,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Open_Device_Interface_KeyA(
pszDeviceInterface: ?[*:0]const u8,
samDesired: u32,
Disposition: u32,
phkDeviceInterface: ?*?HKEY,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Open_Device_Interface_KeyW(
pszDeviceInterface: ?[*:0]const u16,
samDesired: u32,
Disposition: u32,
phkDeviceInterface: ?*?HKEY,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Open_Device_Interface_Key_ExA(
pszDeviceInterface: ?[*:0]const u8,
samDesired: u32,
Disposition: u32,
phkDeviceInterface: ?*?HKEY,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Open_Device_Interface_Key_ExW(
pszDeviceInterface: ?[*:0]const u16,
samDesired: u32,
Disposition: u32,
phkDeviceInterface: ?*?HKEY,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Delete_Device_Interface_KeyA(
pszDeviceInterface: ?[*:0]const u8,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Delete_Device_Interface_KeyW(
pszDeviceInterface: ?[*:0]const u16,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Delete_Device_Interface_Key_ExA(
pszDeviceInterface: ?[*:0]const u8,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Delete_Device_Interface_Key_ExW(
pszDeviceInterface: ?[*:0]const u16,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Query_Arbitrator_Free_Data(
// TODO: what to do with BytesParamIndex 1?
pData: ?*anyopaque,
DataLen: u32,
dnDevInst: u32,
ResourceID: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Query_Arbitrator_Free_Data_Ex(
// TODO: what to do with BytesParamIndex 1?
pData: ?*anyopaque,
DataLen: u32,
dnDevInst: u32,
ResourceID: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Query_Arbitrator_Free_Size(
pulSize: ?*u32,
dnDevInst: u32,
ResourceID: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Query_Arbitrator_Free_Size_Ex(
pulSize: ?*u32,
dnDevInst: u32,
ResourceID: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Query_Remove_SubTree(
dnAncestor: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Query_Remove_SubTree_Ex(
dnAncestor: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Query_And_Remove_SubTreeA(
dnAncestor: u32,
pVetoType: ?*PNP_VETO_TYPE,
pszVetoName: ?[*:0]u8,
ulNameLength: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Query_And_Remove_SubTreeW(
dnAncestor: u32,
pVetoType: ?*PNP_VETO_TYPE,
pszVetoName: ?[*:0]u16,
ulNameLength: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Query_And_Remove_SubTree_ExA(
dnAncestor: u32,
pVetoType: ?*PNP_VETO_TYPE,
pszVetoName: ?[*:0]u8,
ulNameLength: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Query_And_Remove_SubTree_ExW(
dnAncestor: u32,
pVetoType: ?*PNP_VETO_TYPE,
pszVetoName: ?[*:0]u16,
ulNameLength: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Request_Device_EjectA(
dnDevInst: u32,
pVetoType: ?*PNP_VETO_TYPE,
pszVetoName: ?[*:0]u8,
ulNameLength: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Request_Device_Eject_ExA(
dnDevInst: u32,
pVetoType: ?*PNP_VETO_TYPE,
pszVetoName: ?[*:0]u8,
ulNameLength: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Request_Device_EjectW(
dnDevInst: u32,
pVetoType: ?*PNP_VETO_TYPE,
pszVetoName: ?[*:0]u16,
ulNameLength: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Request_Device_Eject_ExW(
dnDevInst: u32,
pVetoType: ?*PNP_VETO_TYPE,
pszVetoName: ?[*:0]u16,
ulNameLength: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Reenumerate_DevNode(
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Reenumerate_DevNode_Ex(
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Register_Device_InterfaceA(
dnDevInst: u32,
InterfaceClassGuid: ?*Guid,
pszReference: ?[*:0]const u8,
pszDeviceInterface: [*:0]u8,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Register_Device_InterfaceW(
dnDevInst: u32,
InterfaceClassGuid: ?*Guid,
pszReference: ?[*:0]const u16,
pszDeviceInterface: [*:0]u16,
pulLength: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Register_Device_Interface_ExA(
dnDevInst: u32,
InterfaceClassGuid: ?*Guid,
pszReference: ?[*:0]const u8,
pszDeviceInterface: [*:0]u8,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Register_Device_Interface_ExW(
dnDevInst: u32,
InterfaceClassGuid: ?*Guid,
pszReference: ?[*:0]const u16,
pszDeviceInterface: [*:0]u16,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Set_DevNode_Problem_Ex(
dnDevInst: u32,
ulProblem: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Set_DevNode_Problem(
dnDevInst: u32,
ulProblem: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Unregister_Device_InterfaceA(
pszDeviceInterface: ?[*:0]const u8,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Unregister_Device_InterfaceW(
pszDeviceInterface: ?[*:0]const u16,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Unregister_Device_Interface_ExA(
pszDeviceInterface: ?[*:0]const u8,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Unregister_Device_Interface_ExW(
pszDeviceInterface: ?[*:0]const u16,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Register_Device_Driver(
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Register_Device_Driver_Ex(
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Remove_SubTree(
dnAncestor: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Remove_SubTree_Ex(
dnAncestor: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Set_DevNode_PropertyW(
dnDevInst: u32,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Set_DevNode_Property_ExW(
dnDevInst: u32,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Set_DevNode_Registry_PropertyA(
dnDevInst: u32,
ulProperty: u32,
// TODO: what to do with BytesParamIndex 3?
Buffer: ?*anyopaque,
ulLength: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Set_DevNode_Registry_PropertyW(
dnDevInst: u32,
ulProperty: u32,
// TODO: what to do with BytesParamIndex 3?
Buffer: ?*anyopaque,
ulLength: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Set_DevNode_Registry_Property_ExA(
dnDevInst: u32,
ulProperty: u32,
// TODO: what to do with BytesParamIndex 3?
Buffer: ?*anyopaque,
ulLength: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Set_DevNode_Registry_Property_ExW(
dnDevInst: u32,
ulProperty: u32,
// TODO: what to do with BytesParamIndex 3?
Buffer: ?*anyopaque,
ulLength: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Set_Device_Interface_PropertyW(
pszDeviceInterface: ?[*:0]const u16,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Set_Device_Interface_Property_ExW(
pszDeviceInterface: ?[*:0]const u16,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Is_Dock_Station_Present(
pbPresent: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Is_Dock_Station_Present_Ex(
pbPresent: ?*BOOL,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Request_Eject_PC(
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Request_Eject_PC_Ex(
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Set_HW_Prof_FlagsA(
pDeviceID: ?*i8,
ulConfig: u32,
ulValue: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Set_HW_Prof_FlagsW(
pDeviceID: ?*u16,
ulConfig: u32,
ulValue: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Set_HW_Prof_Flags_ExA(
pDeviceID: ?*i8,
ulConfig: u32,
ulValue: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Set_HW_Prof_Flags_ExW(
pDeviceID: ?*u16,
ulConfig: u32,
ulValue: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Setup_DevNode(
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Setup_DevNode_Ex(
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Test_Range_Available(
ullStartValue: u64,
ullEndValue: u64,
rlh: usize,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Uninstall_DevNode(
dnDevInst: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Uninstall_DevNode_Ex(
dnDevInst: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Run_Detection(
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Run_Detection_Ex(
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Set_HW_Prof(
ulHardwareProfile: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Set_HW_Prof_Ex(
ulHardwareProfile: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Query_Resource_Conflict_List(
pclConflictList: ?*usize,
dnDevInst: u32,
ResourceID: u32,
// TODO: what to do with BytesParamIndex 4?
ResourceData: ?*anyopaque,
ResourceLen: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Free_Resource_Conflict_Handle(
clConflictList: usize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Resource_Conflict_Count(
clConflictList: usize,
pulCount: ?*u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Resource_Conflict_DetailsA(
clConflictList: usize,
ulIndex: u32,
pConflictDetails: ?*CONFLICT_DETAILS_A,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Resource_Conflict_DetailsW(
clConflictList: usize,
ulIndex: u32,
pConflictDetails: ?*CONFLICT_DETAILS_W,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Get_Class_PropertyW(
ClassGUID: ?*const Guid,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*u8,
PropertyBufferSize: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Get_Class_Property_ExW(
ClassGUID: ?*const Guid,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*u8,
PropertyBufferSize: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Get_Class_Property_Keys(
ClassGUID: ?*const Guid,
PropertyKeyArray: ?[*]DEVPROPKEY,
PropertyKeyCount: ?*u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Get_Class_Property_Keys_Ex(
ClassGUID: ?*const Guid,
PropertyKeyArray: ?[*]DEVPROPKEY,
PropertyKeyCount: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "cfgmgr32" fn CM_Set_Class_PropertyW(
ClassGUID: ?*const Guid,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
ulFlags: u32,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "cfgmgr32" fn CM_Set_Class_Property_ExW(
ClassGUID: ?*const Guid,
PropertyKey: ?*const DEVPROPKEY,
PropertyType: u32,
// TODO: what to do with BytesParamIndex 4?
PropertyBuffer: ?*const u8,
PropertyBufferSize: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Get_Class_Registry_PropertyA(
ClassGuid: ?*Guid,
ulProperty: u32,
pulRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Get_Class_Registry_PropertyW(
ClassGuid: ?*Guid,
ulProperty: u32,
pulRegDataType: ?*u32,
// TODO: what to do with BytesParamIndex 4?
Buffer: ?*anyopaque,
pulLength: ?*u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CM_Set_Class_Registry_PropertyA(
ClassGuid: ?*Guid,
ulProperty: u32,
// TODO: what to do with BytesParamIndex 3?
Buffer: ?*anyopaque,
ulLength: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows5.0'
pub extern "cfgmgr32" fn CM_Set_Class_Registry_PropertyW(
ClassGuid: ?*Guid,
ulProperty: u32,
// TODO: what to do with BytesParamIndex 3?
Buffer: ?*anyopaque,
ulLength: u32,
ulFlags: u32,
hMachine: isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
pub extern "cfgmgr32" fn CMP_WaitNoPendingInstallEvents(
dwTimeout: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows8.0'
pub extern "cfgmgr32" fn CM_Register_Notification(
pFilter: ?*CM_NOTIFY_FILTER,
pContext: ?*anyopaque,
pCallback: ?PCM_NOTIFY_CALLBACK,
pNotifyContext: ?*isize,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows8.0'
pub extern "cfgmgr32" fn CM_Unregister_Notification(
NotifyContext: ?HCMNOTIFICATION,
) callconv(@import("std").os.windows.WINAPI) CONFIGRET;
// TODO: this type is limited to platform 'windows6.1'
pub extern "cfgmgr32" fn CM_MapCrToWin32Err(
CmReturnCode: CONFIGRET,
DefaultErr: u32,
) callconv(@import("std").os.windows.WINAPI) u32;
// TODO: this type is limited to platform 'windows5.0'
pub extern "newdev" fn UpdateDriverForPlugAndPlayDevicesA(
hwndParent: ?HWND,
HardwareId: ?[*:0]const u8,
FullInfPath: ?[*:0]const u8,
InstallFlags: u32,
bRebootRequired: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows5.0'
pub extern "newdev" fn UpdateDriverForPlugAndPlayDevicesW(
hwndParent: ?HWND,
HardwareId: ?[*:0]const u16,
FullInfPath: ?[*:0]const u16,
InstallFlags: u32,
bRebootRequired: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "newdev" fn DiInstallDevice(
hwndParent: ?HWND,
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
DriverInfoData: ?*SP_DRVINFO_DATA_V2_A,
Flags: u32,
NeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "newdev" fn DiInstallDriverW(
hwndParent: ?HWND,
InfPath: ?[*:0]const u16,
Flags: u32,
NeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "newdev" fn DiInstallDriverA(
hwndParent: ?HWND,
InfPath: ?[*:0]const u8,
Flags: u32,
NeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.1'
pub extern "newdev" fn DiUninstallDevice(
hwndParent: ?HWND,
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Flags: u32,
NeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows10.0.10240'
pub extern "newdev" fn DiUninstallDriverW(
hwndParent: ?HWND,
InfPath: ?[*:0]const u16,
Flags: u32,
NeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "newdev" fn DiUninstallDriverA(
hwndParent: ?HWND,
InfPath: ?[*:0]const u8,
Flags: u32,
NeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "newdev" fn DiShowUpdateDevice(
hwndParent: ?HWND,
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
Flags: u32,
NeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
// TODO: this type is limited to platform 'windows6.0.6000'
pub extern "newdev" fn DiRollbackDriver(
DeviceInfoSet: ?*anyopaque,
DeviceInfoData: ?*SP_DEVINFO_DATA,
hwndParent: ?HWND,
Flags: u32,
NeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
pub extern "newdev" fn DiShowUpdateDriver(
hwndParent: ?HWND,
FilePath: ?[*:0]const u16,
Flags: u32,
NeedReboot: ?*BOOL,
) callconv(@import("std").os.windows.WINAPI) BOOL;
//--------------------------------------------------------------------------------
// Section: Unicode Aliases (206)
//--------------------------------------------------------------------------------
const thismodule = @This();
pub usingnamespace switch (@import("../zig.zig").unicode_mode) {
.ansi => struct {
pub const SP_ORIGINAL_FILE_INFO_ = thismodule.SP_ORIGINAL_FILE_INFO_A;
pub const PSP_FILE_CALLBACK_ = thismodule.PSP_FILE_CALLBACK_A;
pub const FILEPATHS_ = thismodule.FILEPATHS_A;
pub const FILEPATHS_SIGNERINFO_ = thismodule.FILEPATHS_SIGNERINFO_A;
pub const SOURCE_MEDIA_ = thismodule.SOURCE_MEDIA_A;
pub const CABINET_INFO_ = thismodule.CABINET_INFO_A;
pub const FILE_IN_CABINET_INFO_ = thismodule.FILE_IN_CABINET_INFO_A;
pub const SP_REGISTER_CONTROL_STATUS = thismodule.SP_REGISTER_CONTROL_STATUSA;
pub const SP_FILE_COPY_PARAMS_ = thismodule.SP_FILE_COPY_PARAMS_A;
pub const SP_DEVICE_INTERFACE_DETAIL_DATA_ = thismodule.SP_DEVICE_INTERFACE_DETAIL_DATA_A;
pub const SP_DEVINFO_LIST_DETAIL_DATA_ = thismodule.SP_DEVINFO_LIST_DETAIL_DATA_A;
pub const SP_DEVINSTALL_PARAMS_ = thismodule.SP_DEVINSTALL_PARAMS_A;
pub const SP_SELECTDEVICE_PARAMS_ = thismodule.SP_SELECTDEVICE_PARAMS_A;
pub const SP_TROUBLESHOOTER_PARAMS_ = thismodule.SP_TROUBLESHOOTER_PARAMS_A;
pub const SP_POWERMESSAGEWAKE_PARAMS_ = thismodule.SP_POWERMESSAGEWAKE_PARAMS_A;
pub const SP_DRVINFO_DATA_V2_ = thismodule.SP_DRVINFO_DATA_V2_A;
pub const SP_DRVINFO_DATA_V1_ = thismodule.SP_DRVINFO_DATA_V1_A;
pub const SP_DRVINFO_DETAIL_DATA_ = thismodule.SP_DRVINFO_DETAIL_DATA_A;
pub const SP_BACKUP_QUEUE_PARAMS_V2_ = thismodule.SP_BACKUP_QUEUE_PARAMS_V2_A;
pub const SP_BACKUP_QUEUE_PARAMS_V1_ = thismodule.SP_BACKUP_QUEUE_PARAMS_V1_A;
pub const SP_INF_SIGNER_INFO_V1_ = thismodule.SP_INF_SIGNER_INFO_V1_A;
pub const SP_INF_SIGNER_INFO_V2_ = thismodule.SP_INF_SIGNER_INFO_V2_A;
pub const CONFLICT_DETAILS_ = thismodule.CONFLICT_DETAILS_A;
pub const HWProfileInfo_s = thismodule.HWProfileInfo_sA;
pub const SetupGetInfInformation = thismodule.SetupGetInfInformationA;
pub const SetupQueryInfFileInformation = thismodule.SetupQueryInfFileInformationA;
pub const SetupQueryInfOriginalFileInformation = thismodule.SetupQueryInfOriginalFileInformationA;
pub const SetupQueryInfVersionInformation = thismodule.SetupQueryInfVersionInformationA;
pub const SetupGetInfDriverStoreLocation = thismodule.SetupGetInfDriverStoreLocationA;
pub const SetupGetInfPublishedName = thismodule.SetupGetInfPublishedNameA;
pub const SetupGetInfFileList = thismodule.SetupGetInfFileListA;
pub const SetupOpenInfFile = thismodule.SetupOpenInfFileA;
pub const SetupOpenAppendInfFile = thismodule.SetupOpenAppendInfFileA;
pub const SetupFindFirstLine = thismodule.SetupFindFirstLineA;
pub const SetupFindNextMatchLine = thismodule.SetupFindNextMatchLineA;
pub const SetupGetLineByIndex = thismodule.SetupGetLineByIndexA;
pub const SetupGetLineCount = thismodule.SetupGetLineCountA;
pub const SetupGetLineText = thismodule.SetupGetLineTextA;
pub const SetupGetStringField = thismodule.SetupGetStringFieldA;
pub const SetupGetMultiSzField = thismodule.SetupGetMultiSzFieldA;
pub const SetupGetFileCompressionInfo = thismodule.SetupGetFileCompressionInfoA;
pub const SetupGetFileCompressionInfoEx = thismodule.SetupGetFileCompressionInfoExA;
pub const SetupDecompressOrCopyFile = thismodule.SetupDecompressOrCopyFileA;
pub const SetupGetSourceFileLocation = thismodule.SetupGetSourceFileLocationA;
pub const SetupGetSourceFileSize = thismodule.SetupGetSourceFileSizeA;
pub const SetupGetTargetPath = thismodule.SetupGetTargetPathA;
pub const SetupSetSourceList = thismodule.SetupSetSourceListA;
pub const SetupAddToSourceList = thismodule.SetupAddToSourceListA;
pub const SetupRemoveFromSourceList = thismodule.SetupRemoveFromSourceListA;
pub const SetupQuerySourceList = thismodule.SetupQuerySourceListA;
pub const SetupFreeSourceList = thismodule.SetupFreeSourceListA;
pub const SetupPromptForDisk = thismodule.SetupPromptForDiskA;
pub const SetupCopyError = thismodule.SetupCopyErrorA;
pub const SetupRenameError = thismodule.SetupRenameErrorA;
pub const SetupDeleteError = thismodule.SetupDeleteErrorA;
pub const SetupBackupError = thismodule.SetupBackupErrorA;
pub const SetupSetDirectoryId = thismodule.SetupSetDirectoryIdA;
pub const SetupSetDirectoryIdEx = thismodule.SetupSetDirectoryIdExA;
pub const SetupGetSourceInfo = thismodule.SetupGetSourceInfoA;
pub const SetupInstallFile = thismodule.SetupInstallFileA;
pub const SetupInstallFileEx = thismodule.SetupInstallFileExA;
pub const SetupSetFileQueueAlternatePlatform = thismodule.SetupSetFileQueueAlternatePlatformA;
pub const SetupSetPlatformPathOverride = thismodule.SetupSetPlatformPathOverrideA;
pub const SetupQueueCopy = thismodule.SetupQueueCopyA;
pub const SetupQueueCopyIndirect = thismodule.SetupQueueCopyIndirectA;
pub const SetupQueueDefaultCopy = thismodule.SetupQueueDefaultCopyA;
pub const SetupQueueCopySection = thismodule.SetupQueueCopySectionA;
pub const SetupQueueDelete = thismodule.SetupQueueDeleteA;
pub const SetupQueueDeleteSection = thismodule.SetupQueueDeleteSectionA;
pub const SetupQueueRename = thismodule.SetupQueueRenameA;
pub const SetupQueueRenameSection = thismodule.SetupQueueRenameSectionA;
pub const SetupCommitFileQueue = thismodule.SetupCommitFileQueueA;
pub const SetupScanFileQueue = thismodule.SetupScanFileQueueA;
pub const SetupCopyOEMInf = thismodule.SetupCopyOEMInfA;
pub const SetupUninstallOEMInf = thismodule.SetupUninstallOEMInfA;
pub const SetupCreateDiskSpaceList = thismodule.SetupCreateDiskSpaceListA;
pub const SetupDuplicateDiskSpaceList = thismodule.SetupDuplicateDiskSpaceListA;
pub const SetupQueryDrivesInDiskSpaceList = thismodule.SetupQueryDrivesInDiskSpaceListA;
pub const SetupQuerySpaceRequiredOnDrive = thismodule.SetupQuerySpaceRequiredOnDriveA;
pub const SetupAdjustDiskSpaceList = thismodule.SetupAdjustDiskSpaceListA;
pub const SetupAddToDiskSpaceList = thismodule.SetupAddToDiskSpaceListA;
pub const SetupAddSectionToDiskSpaceList = thismodule.SetupAddSectionToDiskSpaceListA;
pub const SetupAddInstallSectionToDiskSpaceList = thismodule.SetupAddInstallSectionToDiskSpaceListA;
pub const SetupRemoveFromDiskSpaceList = thismodule.SetupRemoveFromDiskSpaceListA;
pub const SetupRemoveSectionFromDiskSpaceList = thismodule.SetupRemoveSectionFromDiskSpaceListA;
pub const SetupRemoveInstallSectionFromDiskSpaceList = thismodule.SetupRemoveInstallSectionFromDiskSpaceListA;
pub const SetupIterateCabinet = thismodule.SetupIterateCabinetA;
pub const SetupDefaultQueueCallback = thismodule.SetupDefaultQueueCallbackA;
pub const SetupInstallFromInfSection = thismodule.SetupInstallFromInfSectionA;
pub const SetupInstallFilesFromInfSection = thismodule.SetupInstallFilesFromInfSectionA;
pub const SetupInstallServicesFromInfSection = thismodule.SetupInstallServicesFromInfSectionA;
pub const SetupInstallServicesFromInfSectionEx = thismodule.SetupInstallServicesFromInfSectionExA;
pub const InstallHinfSection = thismodule.InstallHinfSectionA;
pub const SetupInitializeFileLog = thismodule.SetupInitializeFileLogA;
pub const SetupLogFile = thismodule.SetupLogFileA;
pub const SetupRemoveFileLogEntry = thismodule.SetupRemoveFileLogEntryA;
pub const SetupQueryFileLog = thismodule.SetupQueryFileLogA;
pub const SetupLogError = thismodule.SetupLogErrorA;
pub const SetupGetBackupInformation = thismodule.SetupGetBackupInformationA;
pub const SetupPrepareQueueForRestore = thismodule.SetupPrepareQueueForRestoreA;
pub const SetupDiCreateDeviceInfoListEx = thismodule.SetupDiCreateDeviceInfoListExA;
pub const SetupDiGetDeviceInfoListDetail = thismodule.SetupDiGetDeviceInfoListDetailA;
pub const SetupDiCreateDeviceInfo = thismodule.SetupDiCreateDeviceInfoA;
pub const SetupDiOpenDeviceInfo = thismodule.SetupDiOpenDeviceInfoA;
pub const SetupDiGetDeviceInstanceId = thismodule.SetupDiGetDeviceInstanceIdA;
pub const SetupDiCreateDeviceInterface = thismodule.SetupDiCreateDeviceInterfaceA;
pub const SetupDiOpenDeviceInterface = thismodule.SetupDiOpenDeviceInterfaceA;
pub const SetupDiGetDeviceInterfaceDetail = thismodule.SetupDiGetDeviceInterfaceDetailA;
pub const SetupDiEnumDriverInfo = thismodule.SetupDiEnumDriverInfoA;
pub const SetupDiGetSelectedDriver = thismodule.SetupDiGetSelectedDriverA;
pub const SetupDiSetSelectedDriver = thismodule.SetupDiSetSelectedDriverA;
pub const SetupDiGetDriverInfoDetail = thismodule.SetupDiGetDriverInfoDetailA;
pub const SetupDiGetClassDevs = thismodule.SetupDiGetClassDevsA;
pub const SetupDiGetClassDevsEx = thismodule.SetupDiGetClassDevsExA;
pub const SetupDiGetINFClass = thismodule.SetupDiGetINFClassA;
pub const SetupDiBuildClassInfoListEx = thismodule.SetupDiBuildClassInfoListExA;
pub const SetupDiGetClassDescription = thismodule.SetupDiGetClassDescriptionA;
pub const SetupDiGetClassDescriptionEx = thismodule.SetupDiGetClassDescriptionExA;
pub const SetupDiInstallClass = thismodule.SetupDiInstallClassA;
pub const SetupDiInstallClassEx = thismodule.SetupDiInstallClassExA;
pub const SetupDiOpenClassRegKeyEx = thismodule.SetupDiOpenClassRegKeyExA;
pub const SetupDiCreateDeviceInterfaceRegKey = thismodule.SetupDiCreateDeviceInterfaceRegKeyA;
pub const SetupDiCreateDevRegKey = thismodule.SetupDiCreateDevRegKeyA;
pub const SetupDiGetHwProfileListEx = thismodule.SetupDiGetHwProfileListExA;
pub const SetupDiGetDeviceRegistryProperty = thismodule.SetupDiGetDeviceRegistryPropertyA;
pub const SetupDiGetClassRegistryProperty = thismodule.SetupDiGetClassRegistryPropertyA;
pub const SetupDiSetDeviceRegistryProperty = thismodule.SetupDiSetDeviceRegistryPropertyA;
pub const SetupDiSetClassRegistryProperty = thismodule.SetupDiSetClassRegistryPropertyA;
pub const SetupDiGetDeviceInstallParams = thismodule.SetupDiGetDeviceInstallParamsA;
pub const SetupDiGetClassInstallParams = thismodule.SetupDiGetClassInstallParamsA;
pub const SetupDiSetDeviceInstallParams = thismodule.SetupDiSetDeviceInstallParamsA;
pub const SetupDiSetClassInstallParams = thismodule.SetupDiSetClassInstallParamsA;
pub const SetupDiGetDriverInstallParams = thismodule.SetupDiGetDriverInstallParamsA;
pub const SetupDiSetDriverInstallParams = thismodule.SetupDiSetDriverInstallParamsA;
pub const SetupDiGetClassImageListEx = thismodule.SetupDiGetClassImageListExA;
pub const SetupDiGetClassDevPropertySheets = thismodule.SetupDiGetClassDevPropertySheetsA;
pub const SetupDiClassNameFromGuid = thismodule.SetupDiClassNameFromGuidA;
pub const SetupDiClassNameFromGuidEx = thismodule.SetupDiClassNameFromGuidExA;
pub const SetupDiClassGuidsFromName = thismodule.SetupDiClassGuidsFromNameA;
pub const SetupDiClassGuidsFromNameEx = thismodule.SetupDiClassGuidsFromNameExA;
pub const SetupDiGetHwProfileFriendlyName = thismodule.SetupDiGetHwProfileFriendlyNameA;
pub const SetupDiGetHwProfileFriendlyNameEx = thismodule.SetupDiGetHwProfileFriendlyNameExA;
pub const SetupDiGetActualModelsSection = thismodule.SetupDiGetActualModelsSectionA;
pub const SetupDiGetActualSectionToInstall = thismodule.SetupDiGetActualSectionToInstallA;
pub const SetupDiGetActualSectionToInstallEx = thismodule.SetupDiGetActualSectionToInstallExA;
pub const SetupEnumInfSections = thismodule.SetupEnumInfSectionsA;
pub const SetupVerifyInfFile = thismodule.SetupVerifyInfFileA;
pub const SetupDiGetCustomDeviceProperty = thismodule.SetupDiGetCustomDevicePropertyA;
pub const SetupConfigureWmiFromInfSection = thismodule.SetupConfigureWmiFromInfSectionA;
pub const CM_Add_ID = thismodule.CM_Add_IDA;
pub const CM_Add_ID_Ex = thismodule.CM_Add_ID_ExA;
pub const CM_Connect_Machine = thismodule.CM_Connect_MachineA;
pub const CM_Create_DevNode = thismodule.CM_Create_DevNodeA;
pub const CM_Create_DevNode_Ex = thismodule.CM_Create_DevNode_ExA;
pub const CM_Enumerate_Enumerators = thismodule.CM_Enumerate_EnumeratorsA;
pub const CM_Enumerate_Enumerators_Ex = thismodule.CM_Enumerate_Enumerators_ExA;
pub const CM_Get_Class_Name = thismodule.CM_Get_Class_NameA;
pub const CM_Get_Class_Name_Ex = thismodule.CM_Get_Class_Name_ExA;
pub const CM_Get_Class_Key_Name = thismodule.CM_Get_Class_Key_NameA;
pub const CM_Get_Class_Key_Name_Ex = thismodule.CM_Get_Class_Key_Name_ExA;
pub const CM_Get_Device_ID = thismodule.CM_Get_Device_IDA;
pub const CM_Get_Device_ID_Ex = thismodule.CM_Get_Device_ID_ExA;
pub const CM_Get_Device_ID_List = thismodule.CM_Get_Device_ID_ListA;
pub const CM_Get_Device_ID_List_Ex = thismodule.CM_Get_Device_ID_List_ExA;
pub const CM_Get_Device_ID_List_Size = thismodule.CM_Get_Device_ID_List_SizeA;
pub const CM_Get_Device_ID_List_Size_Ex = thismodule.CM_Get_Device_ID_List_Size_ExA;
pub const CM_Get_DevNode_Registry_Property = thismodule.CM_Get_DevNode_Registry_PropertyA;
pub const CM_Get_DevNode_Registry_Property_Ex = thismodule.CM_Get_DevNode_Registry_Property_ExA;
pub const CM_Get_DevNode_Custom_Property = thismodule.CM_Get_DevNode_Custom_PropertyA;
pub const CM_Get_DevNode_Custom_Property_Ex = thismodule.CM_Get_DevNode_Custom_Property_ExA;
pub const CM_Get_Hardware_Profile_Info = thismodule.CM_Get_Hardware_Profile_InfoA;
pub const CM_Get_Hardware_Profile_Info_Ex = thismodule.CM_Get_Hardware_Profile_Info_ExA;
pub const CM_Get_HW_Prof_Flags = thismodule.CM_Get_HW_Prof_FlagsA;
pub const CM_Get_HW_Prof_Flags_Ex = thismodule.CM_Get_HW_Prof_Flags_ExA;
pub const CM_Get_Device_Interface_Alias = thismodule.CM_Get_Device_Interface_AliasA;
pub const CM_Get_Device_Interface_Alias_Ex = thismodule.CM_Get_Device_Interface_Alias_ExA;
pub const CM_Get_Device_Interface_List = thismodule.CM_Get_Device_Interface_ListA;
pub const CM_Get_Device_Interface_List_Ex = thismodule.CM_Get_Device_Interface_List_ExA;
pub const CM_Get_Device_Interface_List_Size = thismodule.CM_Get_Device_Interface_List_SizeA;
pub const CM_Get_Device_Interface_List_Size_Ex = thismodule.CM_Get_Device_Interface_List_Size_ExA;
pub const CM_Locate_DevNode = thismodule.CM_Locate_DevNodeA;
pub const CM_Locate_DevNode_Ex = thismodule.CM_Locate_DevNode_ExA;
pub const CM_Open_Class_Key = thismodule.CM_Open_Class_KeyA;
pub const CM_Open_Class_Key_Ex = thismodule.CM_Open_Class_Key_ExA;
pub const CM_Open_Device_Interface_Key = thismodule.CM_Open_Device_Interface_KeyA;
pub const CM_Open_Device_Interface_Key_Ex = thismodule.CM_Open_Device_Interface_Key_ExA;
pub const CM_Delete_Device_Interface_Key = thismodule.CM_Delete_Device_Interface_KeyA;
pub const CM_Delete_Device_Interface_Key_Ex = thismodule.CM_Delete_Device_Interface_Key_ExA;
pub const CM_Query_And_Remove_SubTree = thismodule.CM_Query_And_Remove_SubTreeA;
pub const CM_Query_And_Remove_SubTree_Ex = thismodule.CM_Query_And_Remove_SubTree_ExA;
pub const CM_Request_Device_Eject = thismodule.CM_Request_Device_EjectA;
pub const CM_Request_Device_Eject_Ex = thismodule.CM_Request_Device_Eject_ExA;
pub const CM_Register_Device_Interface = thismodule.CM_Register_Device_InterfaceA;
pub const CM_Register_Device_Interface_Ex = thismodule.CM_Register_Device_Interface_ExA;
pub const CM_Unregister_Device_Interface = thismodule.CM_Unregister_Device_InterfaceA;
pub const CM_Unregister_Device_Interface_Ex = thismodule.CM_Unregister_Device_Interface_ExA;
pub const CM_Set_DevNode_Registry_Property = thismodule.CM_Set_DevNode_Registry_PropertyA;
pub const CM_Set_DevNode_Registry_Property_Ex = thismodule.CM_Set_DevNode_Registry_Property_ExA;
pub const CM_Set_HW_Prof_Flags = thismodule.CM_Set_HW_Prof_FlagsA;
pub const CM_Set_HW_Prof_Flags_Ex = thismodule.CM_Set_HW_Prof_Flags_ExA;
pub const CM_Get_Resource_Conflict_Details = thismodule.CM_Get_Resource_Conflict_DetailsA;
pub const CM_Get_Class_Registry_Property = thismodule.CM_Get_Class_Registry_PropertyA;
pub const CM_Set_Class_Registry_Property = thismodule.CM_Set_Class_Registry_PropertyA;
pub const UpdateDriverForPlugAndPlayDevices = thismodule.UpdateDriverForPlugAndPlayDevicesA;
pub const DiInstallDriver = thismodule.DiInstallDriverA;
pub const DiUninstallDriver = thismodule.DiUninstallDriverA;
},
.wide => struct {
pub const SP_ORIGINAL_FILE_INFO_ = thismodule.SP_ORIGINAL_FILE_INFO_W;
pub const PSP_FILE_CALLBACK_ = thismodule.PSP_FILE_CALLBACK_W;
pub const FILEPATHS_ = thismodule.FILEPATHS_W;
pub const FILEPATHS_SIGNERINFO_ = thismodule.FILEPATHS_SIGNERINFO_W;
pub const SOURCE_MEDIA_ = thismodule.SOURCE_MEDIA_W;
pub const CABINET_INFO_ = thismodule.CABINET_INFO_W;
pub const FILE_IN_CABINET_INFO_ = thismodule.FILE_IN_CABINET_INFO_W;
pub const SP_REGISTER_CONTROL_STATUS = thismodule.SP_REGISTER_CONTROL_STATUSW;
pub const SP_FILE_COPY_PARAMS_ = thismodule.SP_FILE_COPY_PARAMS_W;
pub const SP_DEVICE_INTERFACE_DETAIL_DATA_ = thismodule.SP_DEVICE_INTERFACE_DETAIL_DATA_W;
pub const SP_DEVINFO_LIST_DETAIL_DATA_ = thismodule.SP_DEVINFO_LIST_DETAIL_DATA_W;
pub const SP_DEVINSTALL_PARAMS_ = thismodule.SP_DEVINSTALL_PARAMS_W;
pub const SP_SELECTDEVICE_PARAMS_ = thismodule.SP_SELECTDEVICE_PARAMS_W;
pub const SP_TROUBLESHOOTER_PARAMS_ = thismodule.SP_TROUBLESHOOTER_PARAMS_W;
pub const SP_POWERMESSAGEWAKE_PARAMS_ = thismodule.SP_POWERMESSAGEWAKE_PARAMS_W;
pub const SP_DRVINFO_DATA_V2_ = thismodule.SP_DRVINFO_DATA_V2_W;
pub const SP_DRVINFO_DATA_V1_ = thismodule.SP_DRVINFO_DATA_V1_W;
pub const SP_DRVINFO_DETAIL_DATA_ = thismodule.SP_DRVINFO_DETAIL_DATA_W;
pub const SP_BACKUP_QUEUE_PARAMS_V2_ = thismodule.SP_BACKUP_QUEUE_PARAMS_V2_W;
pub const SP_BACKUP_QUEUE_PARAMS_V1_ = thismodule.SP_BACKUP_QUEUE_PARAMS_V1_W;
pub const SP_INF_SIGNER_INFO_V1_ = thismodule.SP_INF_SIGNER_INFO_V1_W;
pub const SP_INF_SIGNER_INFO_V2_ = thismodule.SP_INF_SIGNER_INFO_V2_W;
pub const CONFLICT_DETAILS_ = thismodule.CONFLICT_DETAILS_W;
pub const HWProfileInfo_s = thismodule.HWProfileInfo_sW;
pub const SetupGetInfInformation = thismodule.SetupGetInfInformationW;
pub const SetupQueryInfFileInformation = thismodule.SetupQueryInfFileInformationW;
pub const SetupQueryInfOriginalFileInformation = thismodule.SetupQueryInfOriginalFileInformationW;
pub const SetupQueryInfVersionInformation = thismodule.SetupQueryInfVersionInformationW;
pub const SetupGetInfDriverStoreLocation = thismodule.SetupGetInfDriverStoreLocationW;
pub const SetupGetInfPublishedName = thismodule.SetupGetInfPublishedNameW;
pub const SetupGetInfFileList = thismodule.SetupGetInfFileListW;
pub const SetupOpenInfFile = thismodule.SetupOpenInfFileW;
pub const SetupOpenAppendInfFile = thismodule.SetupOpenAppendInfFileW;
pub const SetupFindFirstLine = thismodule.SetupFindFirstLineW;
pub const SetupFindNextMatchLine = thismodule.SetupFindNextMatchLineW;
pub const SetupGetLineByIndex = thismodule.SetupGetLineByIndexW;
pub const SetupGetLineCount = thismodule.SetupGetLineCountW;
pub const SetupGetLineText = thismodule.SetupGetLineTextW;
pub const SetupGetStringField = thismodule.SetupGetStringFieldW;
pub const SetupGetMultiSzField = thismodule.SetupGetMultiSzFieldW;
pub const SetupGetFileCompressionInfo = thismodule.SetupGetFileCompressionInfoW;
pub const SetupGetFileCompressionInfoEx = thismodule.SetupGetFileCompressionInfoExW;
pub const SetupDecompressOrCopyFile = thismodule.SetupDecompressOrCopyFileW;
pub const SetupGetSourceFileLocation = thismodule.SetupGetSourceFileLocationW;
pub const SetupGetSourceFileSize = thismodule.SetupGetSourceFileSizeW;
pub const SetupGetTargetPath = thismodule.SetupGetTargetPathW;
pub const SetupSetSourceList = thismodule.SetupSetSourceListW;
pub const SetupAddToSourceList = thismodule.SetupAddToSourceListW;
pub const SetupRemoveFromSourceList = thismodule.SetupRemoveFromSourceListW;
pub const SetupQuerySourceList = thismodule.SetupQuerySourceListW;
pub const SetupFreeSourceList = thismodule.SetupFreeSourceListW;
pub const SetupPromptForDisk = thismodule.SetupPromptForDiskW;
pub const SetupCopyError = thismodule.SetupCopyErrorW;
pub const SetupRenameError = thismodule.SetupRenameErrorW;
pub const SetupDeleteError = thismodule.SetupDeleteErrorW;
pub const SetupBackupError = thismodule.SetupBackupErrorW;
pub const SetupSetDirectoryId = thismodule.SetupSetDirectoryIdW;
pub const SetupSetDirectoryIdEx = thismodule.SetupSetDirectoryIdExW;
pub const SetupGetSourceInfo = thismodule.SetupGetSourceInfoW;
pub const SetupInstallFile = thismodule.SetupInstallFileW;
pub const SetupInstallFileEx = thismodule.SetupInstallFileExW;
pub const SetupSetFileQueueAlternatePlatform = thismodule.SetupSetFileQueueAlternatePlatformW;
pub const SetupSetPlatformPathOverride = thismodule.SetupSetPlatformPathOverrideW;
pub const SetupQueueCopy = thismodule.SetupQueueCopyW;
pub const SetupQueueCopyIndirect = thismodule.SetupQueueCopyIndirectW;
pub const SetupQueueDefaultCopy = thismodule.SetupQueueDefaultCopyW;
pub const SetupQueueCopySection = thismodule.SetupQueueCopySectionW;
pub const SetupQueueDelete = thismodule.SetupQueueDeleteW;
pub const SetupQueueDeleteSection = thismodule.SetupQueueDeleteSectionW;
pub const SetupQueueRename = thismodule.SetupQueueRenameW;
pub const SetupQueueRenameSection = thismodule.SetupQueueRenameSectionW;
pub const SetupCommitFileQueue = thismodule.SetupCommitFileQueueW;
pub const SetupScanFileQueue = thismodule.SetupScanFileQueueW;
pub const SetupCopyOEMInf = thismodule.SetupCopyOEMInfW;
pub const SetupUninstallOEMInf = thismodule.SetupUninstallOEMInfW;
pub const SetupCreateDiskSpaceList = thismodule.SetupCreateDiskSpaceListW;
pub const SetupDuplicateDiskSpaceList = thismodule.SetupDuplicateDiskSpaceListW;
pub const SetupQueryDrivesInDiskSpaceList = thismodule.SetupQueryDrivesInDiskSpaceListW;
pub const SetupQuerySpaceRequiredOnDrive = thismodule.SetupQuerySpaceRequiredOnDriveW;
pub const SetupAdjustDiskSpaceList = thismodule.SetupAdjustDiskSpaceListW;
pub const SetupAddToDiskSpaceList = thismodule.SetupAddToDiskSpaceListW;
pub const SetupAddSectionToDiskSpaceList = thismodule.SetupAddSectionToDiskSpaceListW;
pub const SetupAddInstallSectionToDiskSpaceList = thismodule.SetupAddInstallSectionToDiskSpaceListW;
pub const SetupRemoveFromDiskSpaceList = thismodule.SetupRemoveFromDiskSpaceListW;
pub const SetupRemoveSectionFromDiskSpaceList = thismodule.SetupRemoveSectionFromDiskSpaceListW;
pub const SetupRemoveInstallSectionFromDiskSpaceList = thismodule.SetupRemoveInstallSectionFromDiskSpaceListW;
pub const SetupIterateCabinet = thismodule.SetupIterateCabinetW;
pub const SetupDefaultQueueCallback = thismodule.SetupDefaultQueueCallbackW;
pub const SetupInstallFromInfSection = thismodule.SetupInstallFromInfSectionW;
pub const SetupInstallFilesFromInfSection = thismodule.SetupInstallFilesFromInfSectionW;
pub const SetupInstallServicesFromInfSection = thismodule.SetupInstallServicesFromInfSectionW;
pub const SetupInstallServicesFromInfSectionEx = thismodule.SetupInstallServicesFromInfSectionExW;
pub const InstallHinfSection = thismodule.InstallHinfSectionW;
pub const SetupInitializeFileLog = thismodule.SetupInitializeFileLogW;
pub const SetupLogFile = thismodule.SetupLogFileW;
pub const SetupRemoveFileLogEntry = thismodule.SetupRemoveFileLogEntryW;
pub const SetupQueryFileLog = thismodule.SetupQueryFileLogW;
pub const SetupLogError = thismodule.SetupLogErrorW;
pub const SetupGetBackupInformation = thismodule.SetupGetBackupInformationW;
pub const SetupPrepareQueueForRestore = thismodule.SetupPrepareQueueForRestoreW;
pub const SetupDiCreateDeviceInfoListEx = thismodule.SetupDiCreateDeviceInfoListExW;
pub const SetupDiGetDeviceInfoListDetail = thismodule.SetupDiGetDeviceInfoListDetailW;
pub const SetupDiCreateDeviceInfo = thismodule.SetupDiCreateDeviceInfoW;
pub const SetupDiOpenDeviceInfo = thismodule.SetupDiOpenDeviceInfoW;
pub const SetupDiGetDeviceInstanceId = thismodule.SetupDiGetDeviceInstanceIdW;
pub const SetupDiCreateDeviceInterface = thismodule.SetupDiCreateDeviceInterfaceW;
pub const SetupDiOpenDeviceInterface = thismodule.SetupDiOpenDeviceInterfaceW;
pub const SetupDiGetDeviceInterfaceDetail = thismodule.SetupDiGetDeviceInterfaceDetailW;
pub const SetupDiEnumDriverInfo = thismodule.SetupDiEnumDriverInfoW;
pub const SetupDiGetSelectedDriver = thismodule.SetupDiGetSelectedDriverW;
pub const SetupDiSetSelectedDriver = thismodule.SetupDiSetSelectedDriverW;
pub const SetupDiGetDriverInfoDetail = thismodule.SetupDiGetDriverInfoDetailW;
pub const SetupDiGetClassDevs = thismodule.SetupDiGetClassDevsW;
pub const SetupDiGetClassDevsEx = thismodule.SetupDiGetClassDevsExW;
pub const SetupDiGetINFClass = thismodule.SetupDiGetINFClassW;
pub const SetupDiBuildClassInfoListEx = thismodule.SetupDiBuildClassInfoListExW;
pub const SetupDiGetClassDescription = thismodule.SetupDiGetClassDescriptionW;
pub const SetupDiGetClassDescriptionEx = thismodule.SetupDiGetClassDescriptionExW;
pub const SetupDiInstallClass = thismodule.SetupDiInstallClassW;
pub const SetupDiInstallClassEx = thismodule.SetupDiInstallClassExW;
pub const SetupDiOpenClassRegKeyEx = thismodule.SetupDiOpenClassRegKeyExW;
pub const SetupDiCreateDeviceInterfaceRegKey = thismodule.SetupDiCreateDeviceInterfaceRegKeyW;
pub const SetupDiCreateDevRegKey = thismodule.SetupDiCreateDevRegKeyW;
pub const SetupDiGetHwProfileListEx = thismodule.SetupDiGetHwProfileListExW;
pub const SetupDiGetDeviceRegistryProperty = thismodule.SetupDiGetDeviceRegistryPropertyW;
pub const SetupDiGetClassRegistryProperty = thismodule.SetupDiGetClassRegistryPropertyW;
pub const SetupDiSetDeviceRegistryProperty = thismodule.SetupDiSetDeviceRegistryPropertyW;
pub const SetupDiSetClassRegistryProperty = thismodule.SetupDiSetClassRegistryPropertyW;
pub const SetupDiGetDeviceInstallParams = thismodule.SetupDiGetDeviceInstallParamsW;
pub const SetupDiGetClassInstallParams = thismodule.SetupDiGetClassInstallParamsW;
pub const SetupDiSetDeviceInstallParams = thismodule.SetupDiSetDeviceInstallParamsW;
pub const SetupDiSetClassInstallParams = thismodule.SetupDiSetClassInstallParamsW;
pub const SetupDiGetDriverInstallParams = thismodule.SetupDiGetDriverInstallParamsW;
pub const SetupDiSetDriverInstallParams = thismodule.SetupDiSetDriverInstallParamsW;
pub const SetupDiGetClassImageListEx = thismodule.SetupDiGetClassImageListExW;
pub const SetupDiGetClassDevPropertySheets = thismodule.SetupDiGetClassDevPropertySheetsW;
pub const SetupDiClassNameFromGuid = thismodule.SetupDiClassNameFromGuidW;
pub const SetupDiClassNameFromGuidEx = thismodule.SetupDiClassNameFromGuidExW;
pub const SetupDiClassGuidsFromName = thismodule.SetupDiClassGuidsFromNameW;
pub const SetupDiClassGuidsFromNameEx = thismodule.SetupDiClassGuidsFromNameExW;
pub const SetupDiGetHwProfileFriendlyName = thismodule.SetupDiGetHwProfileFriendlyNameW;
pub const SetupDiGetHwProfileFriendlyNameEx = thismodule.SetupDiGetHwProfileFriendlyNameExW;
pub const SetupDiGetActualModelsSection = thismodule.SetupDiGetActualModelsSectionW;
pub const SetupDiGetActualSectionToInstall = thismodule.SetupDiGetActualSectionToInstallW;
pub const SetupDiGetActualSectionToInstallEx = thismodule.SetupDiGetActualSectionToInstallExW;
pub const SetupEnumInfSections = thismodule.SetupEnumInfSectionsW;
pub const SetupVerifyInfFile = thismodule.SetupVerifyInfFileW;
pub const SetupDiGetCustomDeviceProperty = thismodule.SetupDiGetCustomDevicePropertyW;
pub const SetupConfigureWmiFromInfSection = thismodule.SetupConfigureWmiFromInfSectionW;
pub const CM_Add_ID = thismodule.CM_Add_IDW;
pub const CM_Add_ID_Ex = thismodule.CM_Add_ID_ExW;
pub const CM_Connect_Machine = thismodule.CM_Connect_MachineW;
pub const CM_Create_DevNode = thismodule.CM_Create_DevNodeW;
pub const CM_Create_DevNode_Ex = thismodule.CM_Create_DevNode_ExW;
pub const CM_Enumerate_Enumerators = thismodule.CM_Enumerate_EnumeratorsW;
pub const CM_Enumerate_Enumerators_Ex = thismodule.CM_Enumerate_Enumerators_ExW;
pub const CM_Get_Class_Name = thismodule.CM_Get_Class_NameW;
pub const CM_Get_Class_Name_Ex = thismodule.CM_Get_Class_Name_ExW;
pub const CM_Get_Class_Key_Name = thismodule.CM_Get_Class_Key_NameW;
pub const CM_Get_Class_Key_Name_Ex = thismodule.CM_Get_Class_Key_Name_ExW;
pub const CM_Get_Device_ID = thismodule.CM_Get_Device_IDW;
pub const CM_Get_Device_ID_Ex = thismodule.CM_Get_Device_ID_ExW;
pub const CM_Get_Device_ID_List = thismodule.CM_Get_Device_ID_ListW;
pub const CM_Get_Device_ID_List_Ex = thismodule.CM_Get_Device_ID_List_ExW;
pub const CM_Get_Device_ID_List_Size = thismodule.CM_Get_Device_ID_List_SizeW;
pub const CM_Get_Device_ID_List_Size_Ex = thismodule.CM_Get_Device_ID_List_Size_ExW;
pub const CM_Get_DevNode_Registry_Property = thismodule.CM_Get_DevNode_Registry_PropertyW;
pub const CM_Get_DevNode_Registry_Property_Ex = thismodule.CM_Get_DevNode_Registry_Property_ExW;
pub const CM_Get_DevNode_Custom_Property = thismodule.CM_Get_DevNode_Custom_PropertyW;
pub const CM_Get_DevNode_Custom_Property_Ex = thismodule.CM_Get_DevNode_Custom_Property_ExW;
pub const CM_Get_Hardware_Profile_Info = thismodule.CM_Get_Hardware_Profile_InfoW;
pub const CM_Get_Hardware_Profile_Info_Ex = thismodule.CM_Get_Hardware_Profile_Info_ExW;
pub const CM_Get_HW_Prof_Flags = thismodule.CM_Get_HW_Prof_FlagsW;
pub const CM_Get_HW_Prof_Flags_Ex = thismodule.CM_Get_HW_Prof_Flags_ExW;
pub const CM_Get_Device_Interface_Alias = thismodule.CM_Get_Device_Interface_AliasW;
pub const CM_Get_Device_Interface_Alias_Ex = thismodule.CM_Get_Device_Interface_Alias_ExW;
pub const CM_Get_Device_Interface_List = thismodule.CM_Get_Device_Interface_ListW;
pub const CM_Get_Device_Interface_List_Ex = thismodule.CM_Get_Device_Interface_List_ExW;
pub const CM_Get_Device_Interface_List_Size = thismodule.CM_Get_Device_Interface_List_SizeW;
pub const CM_Get_Device_Interface_List_Size_Ex = thismodule.CM_Get_Device_Interface_List_Size_ExW;
pub const CM_Locate_DevNode = thismodule.CM_Locate_DevNodeW;
pub const CM_Locate_DevNode_Ex = thismodule.CM_Locate_DevNode_ExW;
pub const CM_Open_Class_Key = thismodule.CM_Open_Class_KeyW;
pub const CM_Open_Class_Key_Ex = thismodule.CM_Open_Class_Key_ExW;
pub const CM_Open_Device_Interface_Key = thismodule.CM_Open_Device_Interface_KeyW;
pub const CM_Open_Device_Interface_Key_Ex = thismodule.CM_Open_Device_Interface_Key_ExW;
pub const CM_Delete_Device_Interface_Key = thismodule.CM_Delete_Device_Interface_KeyW;
pub const CM_Delete_Device_Interface_Key_Ex = thismodule.CM_Delete_Device_Interface_Key_ExW;
pub const CM_Query_And_Remove_SubTree = thismodule.CM_Query_And_Remove_SubTreeW;
pub const CM_Query_And_Remove_SubTree_Ex = thismodule.CM_Query_And_Remove_SubTree_ExW;
pub const CM_Request_Device_Eject = thismodule.CM_Request_Device_EjectW;
pub const CM_Request_Device_Eject_Ex = thismodule.CM_Request_Device_Eject_ExW;
pub const CM_Register_Device_Interface = thismodule.CM_Register_Device_InterfaceW;
pub const CM_Register_Device_Interface_Ex = thismodule.CM_Register_Device_Interface_ExW;
pub const CM_Unregister_Device_Interface = thismodule.CM_Unregister_Device_InterfaceW;
pub const CM_Unregister_Device_Interface_Ex = thismodule.CM_Unregister_Device_Interface_ExW;
pub const CM_Set_DevNode_Registry_Property = thismodule.CM_Set_DevNode_Registry_PropertyW;
pub const CM_Set_DevNode_Registry_Property_Ex = thismodule.CM_Set_DevNode_Registry_Property_ExW;
pub const CM_Set_HW_Prof_Flags = thismodule.CM_Set_HW_Prof_FlagsW;
pub const CM_Set_HW_Prof_Flags_Ex = thismodule.CM_Set_HW_Prof_Flags_ExW;
pub const CM_Get_Resource_Conflict_Details = thismodule.CM_Get_Resource_Conflict_DetailsW;
pub const CM_Get_Class_Registry_Property = thismodule.CM_Get_Class_Registry_PropertyW;
pub const CM_Set_Class_Registry_Property = thismodule.CM_Set_Class_Registry_PropertyW;
pub const UpdateDriverForPlugAndPlayDevices = thismodule.UpdateDriverForPlugAndPlayDevicesW;
pub const DiInstallDriver = thismodule.DiInstallDriverW;
pub const DiUninstallDriver = thismodule.DiUninstallDriverW;
},
.unspecified => if (@import("builtin").is_test) struct {
pub const SP_ORIGINAL_FILE_INFO_ = *opaque{};
pub const PSP_FILE_CALLBACK_ = *opaque{};
pub const FILEPATHS_ = *opaque{};
pub const FILEPATHS_SIGNERINFO_ = *opaque{};
pub const SOURCE_MEDIA_ = *opaque{};
pub const CABINET_INFO_ = *opaque{};
pub const FILE_IN_CABINET_INFO_ = *opaque{};
pub const SP_REGISTER_CONTROL_STATUS = *opaque{};
pub const SP_FILE_COPY_PARAMS_ = *opaque{};
pub const SP_DEVICE_INTERFACE_DETAIL_DATA_ = *opaque{};
pub const SP_DEVINFO_LIST_DETAIL_DATA_ = *opaque{};
pub const SP_DEVINSTALL_PARAMS_ = *opaque{};
pub const SP_SELECTDEVICE_PARAMS_ = *opaque{};
pub const SP_TROUBLESHOOTER_PARAMS_ = *opaque{};
pub const SP_POWERMESSAGEWAKE_PARAMS_ = *opaque{};
pub const SP_DRVINFO_DATA_V2_ = *opaque{};
pub const SP_DRVINFO_DATA_V1_ = *opaque{};
pub const SP_DRVINFO_DETAIL_DATA_ = *opaque{};
pub const SP_BACKUP_QUEUE_PARAMS_V2_ = *opaque{};
pub const SP_BACKUP_QUEUE_PARAMS_V1_ = *opaque{};
pub const SP_INF_SIGNER_INFO_V1_ = *opaque{};
pub const SP_INF_SIGNER_INFO_V2_ = *opaque{};
pub const CONFLICT_DETAILS_ = *opaque{};
pub const HWProfileInfo_s = *opaque{};
pub const SetupGetInfInformation = *opaque{};
pub const SetupQueryInfFileInformation = *opaque{};
pub const SetupQueryInfOriginalFileInformation = *opaque{};
pub const SetupQueryInfVersionInformation = *opaque{};
pub const SetupGetInfDriverStoreLocation = *opaque{};
pub const SetupGetInfPublishedName = *opaque{};
pub const SetupGetInfFileList = *opaque{};
pub const SetupOpenInfFile = *opaque{};
pub const SetupOpenAppendInfFile = *opaque{};
pub const SetupFindFirstLine = *opaque{};
pub const SetupFindNextMatchLine = *opaque{};
pub const SetupGetLineByIndex = *opaque{};
pub const SetupGetLineCount = *opaque{};
pub const SetupGetLineText = *opaque{};
pub const SetupGetStringField = *opaque{};
pub const SetupGetMultiSzField = *opaque{};
pub const SetupGetFileCompressionInfo = *opaque{};
pub const SetupGetFileCompressionInfoEx = *opaque{};
pub const SetupDecompressOrCopyFile = *opaque{};
pub const SetupGetSourceFileLocation = *opaque{};
pub const SetupGetSourceFileSize = *opaque{};
pub const SetupGetTargetPath = *opaque{};
pub const SetupSetSourceList = *opaque{};
pub const SetupAddToSourceList = *opaque{};
pub const SetupRemoveFromSourceList = *opaque{};
pub const SetupQuerySourceList = *opaque{};
pub const SetupFreeSourceList = *opaque{};
pub const SetupPromptForDisk = *opaque{};
pub const SetupCopyError = *opaque{};
pub const SetupRenameError = *opaque{};
pub const SetupDeleteError = *opaque{};
pub const SetupBackupError = *opaque{};
pub const SetupSetDirectoryId = *opaque{};
pub const SetupSetDirectoryIdEx = *opaque{};
pub const SetupGetSourceInfo = *opaque{};
pub const SetupInstallFile = *opaque{};
pub const SetupInstallFileEx = *opaque{};
pub const SetupSetFileQueueAlternatePlatform = *opaque{};
pub const SetupSetPlatformPathOverride = *opaque{};
pub const SetupQueueCopy = *opaque{};
pub const SetupQueueCopyIndirect = *opaque{};
pub const SetupQueueDefaultCopy = *opaque{};
pub const SetupQueueCopySection = *opaque{};
pub const SetupQueueDelete = *opaque{};
pub const SetupQueueDeleteSection = *opaque{};
pub const SetupQueueRename = *opaque{};
pub const SetupQueueRenameSection = *opaque{};
pub const SetupCommitFileQueue = *opaque{};
pub const SetupScanFileQueue = *opaque{};
pub const SetupCopyOEMInf = *opaque{};
pub const SetupUninstallOEMInf = *opaque{};
pub const SetupCreateDiskSpaceList = *opaque{};
pub const SetupDuplicateDiskSpaceList = *opaque{};
pub const SetupQueryDrivesInDiskSpaceList = *opaque{};
pub const SetupQuerySpaceRequiredOnDrive = *opaque{};
pub const SetupAdjustDiskSpaceList = *opaque{};
pub const SetupAddToDiskSpaceList = *opaque{};
pub const SetupAddSectionToDiskSpaceList = *opaque{};
pub const SetupAddInstallSectionToDiskSpaceList = *opaque{};
pub const SetupRemoveFromDiskSpaceList = *opaque{};
pub const SetupRemoveSectionFromDiskSpaceList = *opaque{};
pub const SetupRemoveInstallSectionFromDiskSpaceList = *opaque{};
pub const SetupIterateCabinet = *opaque{};
pub const SetupDefaultQueueCallback = *opaque{};
pub const SetupInstallFromInfSection = *opaque{};
pub const SetupInstallFilesFromInfSection = *opaque{};
pub const SetupInstallServicesFromInfSection = *opaque{};
pub const SetupInstallServicesFromInfSectionEx = *opaque{};
pub const InstallHinfSection = *opaque{};
pub const SetupInitializeFileLog = *opaque{};
pub const SetupLogFile = *opaque{};
pub const SetupRemoveFileLogEntry = *opaque{};
pub const SetupQueryFileLog = *opaque{};
pub const SetupLogError = *opaque{};
pub const SetupGetBackupInformation = *opaque{};
pub const SetupPrepareQueueForRestore = *opaque{};
pub const SetupDiCreateDeviceInfoListEx = *opaque{};
pub const SetupDiGetDeviceInfoListDetail = *opaque{};
pub const SetupDiCreateDeviceInfo = *opaque{};
pub const SetupDiOpenDeviceInfo = *opaque{};
pub const SetupDiGetDeviceInstanceId = *opaque{};
pub const SetupDiCreateDeviceInterface = *opaque{};
pub const SetupDiOpenDeviceInterface = *opaque{};
pub const SetupDiGetDeviceInterfaceDetail = *opaque{};
pub const SetupDiEnumDriverInfo = *opaque{};
pub const SetupDiGetSelectedDriver = *opaque{};
pub const SetupDiSetSelectedDriver = *opaque{};
pub const SetupDiGetDriverInfoDetail = *opaque{};
pub const SetupDiGetClassDevs = *opaque{};
pub const SetupDiGetClassDevsEx = *opaque{};
pub const SetupDiGetINFClass = *opaque{};
pub const SetupDiBuildClassInfoListEx = *opaque{};
pub const SetupDiGetClassDescription = *opaque{};
pub const SetupDiGetClassDescriptionEx = *opaque{};
pub const SetupDiInstallClass = *opaque{};
pub const SetupDiInstallClassEx = *opaque{};
pub const SetupDiOpenClassRegKeyEx = *opaque{};
pub const SetupDiCreateDeviceInterfaceRegKey = *opaque{};
pub const SetupDiCreateDevRegKey = *opaque{};
pub const SetupDiGetHwProfileListEx = *opaque{};
pub const SetupDiGetDeviceRegistryProperty = *opaque{};
pub const SetupDiGetClassRegistryProperty = *opaque{};
pub const SetupDiSetDeviceRegistryProperty = *opaque{};
pub const SetupDiSetClassRegistryProperty = *opaque{};
pub const SetupDiGetDeviceInstallParams = *opaque{};
pub const SetupDiGetClassInstallParams = *opaque{};
pub const SetupDiSetDeviceInstallParams = *opaque{};
pub const SetupDiSetClassInstallParams = *opaque{};
pub const SetupDiGetDriverInstallParams = *opaque{};
pub const SetupDiSetDriverInstallParams = *opaque{};
pub const SetupDiGetClassImageListEx = *opaque{};
pub const SetupDiGetClassDevPropertySheets = *opaque{};
pub const SetupDiClassNameFromGuid = *opaque{};
pub const SetupDiClassNameFromGuidEx = *opaque{};
pub const SetupDiClassGuidsFromName = *opaque{};
pub const SetupDiClassGuidsFromNameEx = *opaque{};
pub const SetupDiGetHwProfileFriendlyName = *opaque{};
pub const SetupDiGetHwProfileFriendlyNameEx = *opaque{};
pub const SetupDiGetActualModelsSection = *opaque{};
pub const SetupDiGetActualSectionToInstall = *opaque{};
pub const SetupDiGetActualSectionToInstallEx = *opaque{};
pub const SetupEnumInfSections = *opaque{};
pub const SetupVerifyInfFile = *opaque{};
pub const SetupDiGetCustomDeviceProperty = *opaque{};
pub const SetupConfigureWmiFromInfSection = *opaque{};
pub const CM_Add_ID = *opaque{};
pub const CM_Add_ID_Ex = *opaque{};
pub const CM_Connect_Machine = *opaque{};
pub const CM_Create_DevNode = *opaque{};
pub const CM_Create_DevNode_Ex = *opaque{};
pub const CM_Enumerate_Enumerators = *opaque{};
pub const CM_Enumerate_Enumerators_Ex = *opaque{};
pub const CM_Get_Class_Name = *opaque{};
pub const CM_Get_Class_Name_Ex = *opaque{};
pub const CM_Get_Class_Key_Name = *opaque{};
pub const CM_Get_Class_Key_Name_Ex = *opaque{};
pub const CM_Get_Device_ID = *opaque{};
pub const CM_Get_Device_ID_Ex = *opaque{};
pub const CM_Get_Device_ID_List = *opaque{};
pub const CM_Get_Device_ID_List_Ex = *opaque{};
pub const CM_Get_Device_ID_List_Size = *opaque{};
pub const CM_Get_Device_ID_List_Size_Ex = *opaque{};
pub const CM_Get_DevNode_Registry_Property = *opaque{};
pub const CM_Get_DevNode_Registry_Property_Ex = *opaque{};
pub const CM_Get_DevNode_Custom_Property = *opaque{};
pub const CM_Get_DevNode_Custom_Property_Ex = *opaque{};
pub const CM_Get_Hardware_Profile_Info = *opaque{};
pub const CM_Get_Hardware_Profile_Info_Ex = *opaque{};
pub const CM_Get_HW_Prof_Flags = *opaque{};
pub const CM_Get_HW_Prof_Flags_Ex = *opaque{};
pub const CM_Get_Device_Interface_Alias = *opaque{};
pub const CM_Get_Device_Interface_Alias_Ex = *opaque{};
pub const CM_Get_Device_Interface_List = *opaque{};
pub const CM_Get_Device_Interface_List_Ex = *opaque{};
pub const CM_Get_Device_Interface_List_Size = *opaque{};
pub const CM_Get_Device_Interface_List_Size_Ex = *opaque{};
pub const CM_Locate_DevNode = *opaque{};
pub const CM_Locate_DevNode_Ex = *opaque{};
pub const CM_Open_Class_Key = *opaque{};
pub const CM_Open_Class_Key_Ex = *opaque{};
pub const CM_Open_Device_Interface_Key = *opaque{};
pub const CM_Open_Device_Interface_Key_Ex = *opaque{};
pub const CM_Delete_Device_Interface_Key = *opaque{};
pub const CM_Delete_Device_Interface_Key_Ex = *opaque{};
pub const CM_Query_And_Remove_SubTree = *opaque{};
pub const CM_Query_And_Remove_SubTree_Ex = *opaque{};
pub const CM_Request_Device_Eject = *opaque{};
pub const CM_Request_Device_Eject_Ex = *opaque{};
pub const CM_Register_Device_Interface = *opaque{};
pub const CM_Register_Device_Interface_Ex = *opaque{};
pub const CM_Unregister_Device_Interface = *opaque{};
pub const CM_Unregister_Device_Interface_Ex = *opaque{};
pub const CM_Set_DevNode_Registry_Property = *opaque{};
pub const CM_Set_DevNode_Registry_Property_Ex = *opaque{};
pub const CM_Set_HW_Prof_Flags = *opaque{};
pub const CM_Set_HW_Prof_Flags_Ex = *opaque{};
pub const CM_Get_Resource_Conflict_Details = *opaque{};
pub const CM_Get_Class_Registry_Property = *opaque{};
pub const CM_Set_Class_Registry_Property = *opaque{};
pub const UpdateDriverForPlugAndPlayDevices = *opaque{};
pub const DiInstallDriver = *opaque{};
pub const DiUninstallDriver = *opaque{};
} else struct {
pub const SP_ORIGINAL_FILE_INFO_ = @compileError("'SP_ORIGINAL_FILE_INFO_' requires that UNICODE be set to true or false in the root module");
pub const PSP_FILE_CALLBACK_ = @compileError("'PSP_FILE_CALLBACK_' requires that UNICODE be set to true or false in the root module");
pub const FILEPATHS_ = @compileError("'FILEPATHS_' requires that UNICODE be set to true or false in the root module");
pub const FILEPATHS_SIGNERINFO_ = @compileError("'FILEPATHS_SIGNERINFO_' requires that UNICODE be set to true or false in the root module");
pub const SOURCE_MEDIA_ = @compileError("'SOURCE_MEDIA_' requires that UNICODE be set to true or false in the root module");
pub const CABINET_INFO_ = @compileError("'CABINET_INFO_' requires that UNICODE be set to true or false in the root module");
pub const FILE_IN_CABINET_INFO_ = @compileError("'FILE_IN_CABINET_INFO_' requires that UNICODE be set to true or false in the root module");
pub const SP_REGISTER_CONTROL_STATUS = @compileError("'SP_REGISTER_CONTROL_STATUS' requires that UNICODE be set to true or false in the root module");
pub const SP_FILE_COPY_PARAMS_ = @compileError("'SP_FILE_COPY_PARAMS_' requires that UNICODE be set to true or false in the root module");
pub const SP_DEVICE_INTERFACE_DETAIL_DATA_ = @compileError("'SP_DEVICE_INTERFACE_DETAIL_DATA_' requires that UNICODE be set to true or false in the root module");
pub const SP_DEVINFO_LIST_DETAIL_DATA_ = @compileError("'SP_DEVINFO_LIST_DETAIL_DATA_' requires that UNICODE be set to true or false in the root module");
pub const SP_DEVINSTALL_PARAMS_ = @compileError("'SP_DEVINSTALL_PARAMS_' requires that UNICODE be set to true or false in the root module");
pub const SP_SELECTDEVICE_PARAMS_ = @compileError("'SP_SELECTDEVICE_PARAMS_' requires that UNICODE be set to true or false in the root module");
pub const SP_TROUBLESHOOTER_PARAMS_ = @compileError("'SP_TROUBLESHOOTER_PARAMS_' requires that UNICODE be set to true or false in the root module");
pub const SP_POWERMESSAGEWAKE_PARAMS_ = @compileError("'SP_POWERMESSAGEWAKE_PARAMS_' requires that UNICODE be set to true or false in the root module");
pub const SP_DRVINFO_DATA_V2_ = @compileError("'SP_DRVINFO_DATA_V2_' requires that UNICODE be set to true or false in the root module");
pub const SP_DRVINFO_DATA_V1_ = @compileError("'SP_DRVINFO_DATA_V1_' requires that UNICODE be set to true or false in the root module");
pub const SP_DRVINFO_DETAIL_DATA_ = @compileError("'SP_DRVINFO_DETAIL_DATA_' requires that UNICODE be set to true or false in the root module");
pub const SP_BACKUP_QUEUE_PARAMS_V2_ = @compileError("'SP_BACKUP_QUEUE_PARAMS_V2_' requires that UNICODE be set to true or false in the root module");
pub const SP_BACKUP_QUEUE_PARAMS_V1_ = @compileError("'SP_BACKUP_QUEUE_PARAMS_V1_' requires that UNICODE be set to true or false in the root module");
pub const SP_INF_SIGNER_INFO_V1_ = @compileError("'SP_INF_SIGNER_INFO_V1_' requires that UNICODE be set to true or false in the root module");
pub const SP_INF_SIGNER_INFO_V2_ = @compileError("'SP_INF_SIGNER_INFO_V2_' requires that UNICODE be set to true or false in the root module");
pub const CONFLICT_DETAILS_ = @compileError("'CONFLICT_DETAILS_' requires that UNICODE be set to true or false in the root module");
pub const HWProfileInfo_s = @compileError("'HWProfileInfo_s' requires that UNICODE be set to true or false in the root module");
pub const SetupGetInfInformation = @compileError("'SetupGetInfInformation' requires that UNICODE be set to true or false in the root module");
pub const SetupQueryInfFileInformation = @compileError("'SetupQueryInfFileInformation' requires that UNICODE be set to true or false in the root module");
pub const SetupQueryInfOriginalFileInformation = @compileError("'SetupQueryInfOriginalFileInformation' requires that UNICODE be set to true or false in the root module");
pub const SetupQueryInfVersionInformation = @compileError("'SetupQueryInfVersionInformation' requires that UNICODE be set to true or false in the root module");
pub const SetupGetInfDriverStoreLocation = @compileError("'SetupGetInfDriverStoreLocation' requires that UNICODE be set to true or false in the root module");
pub const SetupGetInfPublishedName = @compileError("'SetupGetInfPublishedName' requires that UNICODE be set to true or false in the root module");
pub const SetupGetInfFileList = @compileError("'SetupGetInfFileList' requires that UNICODE be set to true or false in the root module");
pub const SetupOpenInfFile = @compileError("'SetupOpenInfFile' requires that UNICODE be set to true or false in the root module");
pub const SetupOpenAppendInfFile = @compileError("'SetupOpenAppendInfFile' requires that UNICODE be set to true or false in the root module");
pub const SetupFindFirstLine = @compileError("'SetupFindFirstLine' requires that UNICODE be set to true or false in the root module");
pub const SetupFindNextMatchLine = @compileError("'SetupFindNextMatchLine' requires that UNICODE be set to true or false in the root module");
pub const SetupGetLineByIndex = @compileError("'SetupGetLineByIndex' requires that UNICODE be set to true or false in the root module");
pub const SetupGetLineCount = @compileError("'SetupGetLineCount' requires that UNICODE be set to true or false in the root module");
pub const SetupGetLineText = @compileError("'SetupGetLineText' requires that UNICODE be set to true or false in the root module");
pub const SetupGetStringField = @compileError("'SetupGetStringField' requires that UNICODE be set to true or false in the root module");
pub const SetupGetMultiSzField = @compileError("'SetupGetMultiSzField' requires that UNICODE be set to true or false in the root module");
pub const SetupGetFileCompressionInfo = @compileError("'SetupGetFileCompressionInfo' requires that UNICODE be set to true or false in the root module");
pub const SetupGetFileCompressionInfoEx = @compileError("'SetupGetFileCompressionInfoEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDecompressOrCopyFile = @compileError("'SetupDecompressOrCopyFile' requires that UNICODE be set to true or false in the root module");
pub const SetupGetSourceFileLocation = @compileError("'SetupGetSourceFileLocation' requires that UNICODE be set to true or false in the root module");
pub const SetupGetSourceFileSize = @compileError("'SetupGetSourceFileSize' requires that UNICODE be set to true or false in the root module");
pub const SetupGetTargetPath = @compileError("'SetupGetTargetPath' requires that UNICODE be set to true or false in the root module");
pub const SetupSetSourceList = @compileError("'SetupSetSourceList' requires that UNICODE be set to true or false in the root module");
pub const SetupAddToSourceList = @compileError("'SetupAddToSourceList' requires that UNICODE be set to true or false in the root module");
pub const SetupRemoveFromSourceList = @compileError("'SetupRemoveFromSourceList' requires that UNICODE be set to true or false in the root module");
pub const SetupQuerySourceList = @compileError("'SetupQuerySourceList' requires that UNICODE be set to true or false in the root module");
pub const SetupFreeSourceList = @compileError("'SetupFreeSourceList' requires that UNICODE be set to true or false in the root module");
pub const SetupPromptForDisk = @compileError("'SetupPromptForDisk' requires that UNICODE be set to true or false in the root module");
pub const SetupCopyError = @compileError("'SetupCopyError' requires that UNICODE be set to true or false in the root module");
pub const SetupRenameError = @compileError("'SetupRenameError' requires that UNICODE be set to true or false in the root module");
pub const SetupDeleteError = @compileError("'SetupDeleteError' requires that UNICODE be set to true or false in the root module");
pub const SetupBackupError = @compileError("'SetupBackupError' requires that UNICODE be set to true or false in the root module");
pub const SetupSetDirectoryId = @compileError("'SetupSetDirectoryId' requires that UNICODE be set to true or false in the root module");
pub const SetupSetDirectoryIdEx = @compileError("'SetupSetDirectoryIdEx' requires that UNICODE be set to true or false in the root module");
pub const SetupGetSourceInfo = @compileError("'SetupGetSourceInfo' requires that UNICODE be set to true or false in the root module");
pub const SetupInstallFile = @compileError("'SetupInstallFile' requires that UNICODE be set to true or false in the root module");
pub const SetupInstallFileEx = @compileError("'SetupInstallFileEx' requires that UNICODE be set to true or false in the root module");
pub const SetupSetFileQueueAlternatePlatform = @compileError("'SetupSetFileQueueAlternatePlatform' requires that UNICODE be set to true or false in the root module");
pub const SetupSetPlatformPathOverride = @compileError("'SetupSetPlatformPathOverride' requires that UNICODE be set to true or false in the root module");
pub const SetupQueueCopy = @compileError("'SetupQueueCopy' requires that UNICODE be set to true or false in the root module");
pub const SetupQueueCopyIndirect = @compileError("'SetupQueueCopyIndirect' requires that UNICODE be set to true or false in the root module");
pub const SetupQueueDefaultCopy = @compileError("'SetupQueueDefaultCopy' requires that UNICODE be set to true or false in the root module");
pub const SetupQueueCopySection = @compileError("'SetupQueueCopySection' requires that UNICODE be set to true or false in the root module");
pub const SetupQueueDelete = @compileError("'SetupQueueDelete' requires that UNICODE be set to true or false in the root module");
pub const SetupQueueDeleteSection = @compileError("'SetupQueueDeleteSection' requires that UNICODE be set to true or false in the root module");
pub const SetupQueueRename = @compileError("'SetupQueueRename' requires that UNICODE be set to true or false in the root module");
pub const SetupQueueRenameSection = @compileError("'SetupQueueRenameSection' requires that UNICODE be set to true or false in the root module");
pub const SetupCommitFileQueue = @compileError("'SetupCommitFileQueue' requires that UNICODE be set to true or false in the root module");
pub const SetupScanFileQueue = @compileError("'SetupScanFileQueue' requires that UNICODE be set to true or false in the root module");
pub const SetupCopyOEMInf = @compileError("'SetupCopyOEMInf' requires that UNICODE be set to true or false in the root module");
pub const SetupUninstallOEMInf = @compileError("'SetupUninstallOEMInf' requires that UNICODE be set to true or false in the root module");
pub const SetupCreateDiskSpaceList = @compileError("'SetupCreateDiskSpaceList' requires that UNICODE be set to true or false in the root module");
pub const SetupDuplicateDiskSpaceList = @compileError("'SetupDuplicateDiskSpaceList' requires that UNICODE be set to true or false in the root module");
pub const SetupQueryDrivesInDiskSpaceList = @compileError("'SetupQueryDrivesInDiskSpaceList' requires that UNICODE be set to true or false in the root module");
pub const SetupQuerySpaceRequiredOnDrive = @compileError("'SetupQuerySpaceRequiredOnDrive' requires that UNICODE be set to true or false in the root module");
pub const SetupAdjustDiskSpaceList = @compileError("'SetupAdjustDiskSpaceList' requires that UNICODE be set to true or false in the root module");
pub const SetupAddToDiskSpaceList = @compileError("'SetupAddToDiskSpaceList' requires that UNICODE be set to true or false in the root module");
pub const SetupAddSectionToDiskSpaceList = @compileError("'SetupAddSectionToDiskSpaceList' requires that UNICODE be set to true or false in the root module");
pub const SetupAddInstallSectionToDiskSpaceList = @compileError("'SetupAddInstallSectionToDiskSpaceList' requires that UNICODE be set to true or false in the root module");
pub const SetupRemoveFromDiskSpaceList = @compileError("'SetupRemoveFromDiskSpaceList' requires that UNICODE be set to true or false in the root module");
pub const SetupRemoveSectionFromDiskSpaceList = @compileError("'SetupRemoveSectionFromDiskSpaceList' requires that UNICODE be set to true or false in the root module");
pub const SetupRemoveInstallSectionFromDiskSpaceList = @compileError("'SetupRemoveInstallSectionFromDiskSpaceList' requires that UNICODE be set to true or false in the root module");
pub const SetupIterateCabinet = @compileError("'SetupIterateCabinet' requires that UNICODE be set to true or false in the root module");
pub const SetupDefaultQueueCallback = @compileError("'SetupDefaultQueueCallback' requires that UNICODE be set to true or false in the root module");
pub const SetupInstallFromInfSection = @compileError("'SetupInstallFromInfSection' requires that UNICODE be set to true or false in the root module");
pub const SetupInstallFilesFromInfSection = @compileError("'SetupInstallFilesFromInfSection' requires that UNICODE be set to true or false in the root module");
pub const SetupInstallServicesFromInfSection = @compileError("'SetupInstallServicesFromInfSection' requires that UNICODE be set to true or false in the root module");
pub const SetupInstallServicesFromInfSectionEx = @compileError("'SetupInstallServicesFromInfSectionEx' requires that UNICODE be set to true or false in the root module");
pub const InstallHinfSection = @compileError("'InstallHinfSection' requires that UNICODE be set to true or false in the root module");
pub const SetupInitializeFileLog = @compileError("'SetupInitializeFileLog' requires that UNICODE be set to true or false in the root module");
pub const SetupLogFile = @compileError("'SetupLogFile' requires that UNICODE be set to true or false in the root module");
pub const SetupRemoveFileLogEntry = @compileError("'SetupRemoveFileLogEntry' requires that UNICODE be set to true or false in the root module");
pub const SetupQueryFileLog = @compileError("'SetupQueryFileLog' requires that UNICODE be set to true or false in the root module");
pub const SetupLogError = @compileError("'SetupLogError' requires that UNICODE be set to true or false in the root module");
pub const SetupGetBackupInformation = @compileError("'SetupGetBackupInformation' requires that UNICODE be set to true or false in the root module");
pub const SetupPrepareQueueForRestore = @compileError("'SetupPrepareQueueForRestore' requires that UNICODE be set to true or false in the root module");
pub const SetupDiCreateDeviceInfoListEx = @compileError("'SetupDiCreateDeviceInfoListEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetDeviceInfoListDetail = @compileError("'SetupDiGetDeviceInfoListDetail' requires that UNICODE be set to true or false in the root module");
pub const SetupDiCreateDeviceInfo = @compileError("'SetupDiCreateDeviceInfo' requires that UNICODE be set to true or false in the root module");
pub const SetupDiOpenDeviceInfo = @compileError("'SetupDiOpenDeviceInfo' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetDeviceInstanceId = @compileError("'SetupDiGetDeviceInstanceId' requires that UNICODE be set to true or false in the root module");
pub const SetupDiCreateDeviceInterface = @compileError("'SetupDiCreateDeviceInterface' requires that UNICODE be set to true or false in the root module");
pub const SetupDiOpenDeviceInterface = @compileError("'SetupDiOpenDeviceInterface' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetDeviceInterfaceDetail = @compileError("'SetupDiGetDeviceInterfaceDetail' requires that UNICODE be set to true or false in the root module");
pub const SetupDiEnumDriverInfo = @compileError("'SetupDiEnumDriverInfo' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetSelectedDriver = @compileError("'SetupDiGetSelectedDriver' requires that UNICODE be set to true or false in the root module");
pub const SetupDiSetSelectedDriver = @compileError("'SetupDiSetSelectedDriver' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetDriverInfoDetail = @compileError("'SetupDiGetDriverInfoDetail' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetClassDevs = @compileError("'SetupDiGetClassDevs' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetClassDevsEx = @compileError("'SetupDiGetClassDevsEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetINFClass = @compileError("'SetupDiGetINFClass' requires that UNICODE be set to true or false in the root module");
pub const SetupDiBuildClassInfoListEx = @compileError("'SetupDiBuildClassInfoListEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetClassDescription = @compileError("'SetupDiGetClassDescription' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetClassDescriptionEx = @compileError("'SetupDiGetClassDescriptionEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDiInstallClass = @compileError("'SetupDiInstallClass' requires that UNICODE be set to true or false in the root module");
pub const SetupDiInstallClassEx = @compileError("'SetupDiInstallClassEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDiOpenClassRegKeyEx = @compileError("'SetupDiOpenClassRegKeyEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDiCreateDeviceInterfaceRegKey = @compileError("'SetupDiCreateDeviceInterfaceRegKey' requires that UNICODE be set to true or false in the root module");
pub const SetupDiCreateDevRegKey = @compileError("'SetupDiCreateDevRegKey' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetHwProfileListEx = @compileError("'SetupDiGetHwProfileListEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetDeviceRegistryProperty = @compileError("'SetupDiGetDeviceRegistryProperty' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetClassRegistryProperty = @compileError("'SetupDiGetClassRegistryProperty' requires that UNICODE be set to true or false in the root module");
pub const SetupDiSetDeviceRegistryProperty = @compileError("'SetupDiSetDeviceRegistryProperty' requires that UNICODE be set to true or false in the root module");
pub const SetupDiSetClassRegistryProperty = @compileError("'SetupDiSetClassRegistryProperty' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetDeviceInstallParams = @compileError("'SetupDiGetDeviceInstallParams' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetClassInstallParams = @compileError("'SetupDiGetClassInstallParams' requires that UNICODE be set to true or false in the root module");
pub const SetupDiSetDeviceInstallParams = @compileError("'SetupDiSetDeviceInstallParams' requires that UNICODE be set to true or false in the root module");
pub const SetupDiSetClassInstallParams = @compileError("'SetupDiSetClassInstallParams' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetDriverInstallParams = @compileError("'SetupDiGetDriverInstallParams' requires that UNICODE be set to true or false in the root module");
pub const SetupDiSetDriverInstallParams = @compileError("'SetupDiSetDriverInstallParams' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetClassImageListEx = @compileError("'SetupDiGetClassImageListEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetClassDevPropertySheets = @compileError("'SetupDiGetClassDevPropertySheets' requires that UNICODE be set to true or false in the root module");
pub const SetupDiClassNameFromGuid = @compileError("'SetupDiClassNameFromGuid' requires that UNICODE be set to true or false in the root module");
pub const SetupDiClassNameFromGuidEx = @compileError("'SetupDiClassNameFromGuidEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDiClassGuidsFromName = @compileError("'SetupDiClassGuidsFromName' requires that UNICODE be set to true or false in the root module");
pub const SetupDiClassGuidsFromNameEx = @compileError("'SetupDiClassGuidsFromNameEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetHwProfileFriendlyName = @compileError("'SetupDiGetHwProfileFriendlyName' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetHwProfileFriendlyNameEx = @compileError("'SetupDiGetHwProfileFriendlyNameEx' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetActualModelsSection = @compileError("'SetupDiGetActualModelsSection' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetActualSectionToInstall = @compileError("'SetupDiGetActualSectionToInstall' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetActualSectionToInstallEx = @compileError("'SetupDiGetActualSectionToInstallEx' requires that UNICODE be set to true or false in the root module");
pub const SetupEnumInfSections = @compileError("'SetupEnumInfSections' requires that UNICODE be set to true or false in the root module");
pub const SetupVerifyInfFile = @compileError("'SetupVerifyInfFile' requires that UNICODE be set to true or false in the root module");
pub const SetupDiGetCustomDeviceProperty = @compileError("'SetupDiGetCustomDeviceProperty' requires that UNICODE be set to true or false in the root module");
pub const SetupConfigureWmiFromInfSection = @compileError("'SetupConfigureWmiFromInfSection' requires that UNICODE be set to true or false in the root module");
pub const CM_Add_ID = @compileError("'CM_Add_ID' requires that UNICODE be set to true or false in the root module");
pub const CM_Add_ID_Ex = @compileError("'CM_Add_ID_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Connect_Machine = @compileError("'CM_Connect_Machine' requires that UNICODE be set to true or false in the root module");
pub const CM_Create_DevNode = @compileError("'CM_Create_DevNode' requires that UNICODE be set to true or false in the root module");
pub const CM_Create_DevNode_Ex = @compileError("'CM_Create_DevNode_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Enumerate_Enumerators = @compileError("'CM_Enumerate_Enumerators' requires that UNICODE be set to true or false in the root module");
pub const CM_Enumerate_Enumerators_Ex = @compileError("'CM_Enumerate_Enumerators_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Class_Name = @compileError("'CM_Get_Class_Name' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Class_Name_Ex = @compileError("'CM_Get_Class_Name_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Class_Key_Name = @compileError("'CM_Get_Class_Key_Name' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Class_Key_Name_Ex = @compileError("'CM_Get_Class_Key_Name_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_ID = @compileError("'CM_Get_Device_ID' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_ID_Ex = @compileError("'CM_Get_Device_ID_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_ID_List = @compileError("'CM_Get_Device_ID_List' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_ID_List_Ex = @compileError("'CM_Get_Device_ID_List_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_ID_List_Size = @compileError("'CM_Get_Device_ID_List_Size' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_ID_List_Size_Ex = @compileError("'CM_Get_Device_ID_List_Size_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_DevNode_Registry_Property = @compileError("'CM_Get_DevNode_Registry_Property' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_DevNode_Registry_Property_Ex = @compileError("'CM_Get_DevNode_Registry_Property_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_DevNode_Custom_Property = @compileError("'CM_Get_DevNode_Custom_Property' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_DevNode_Custom_Property_Ex = @compileError("'CM_Get_DevNode_Custom_Property_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Hardware_Profile_Info = @compileError("'CM_Get_Hardware_Profile_Info' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Hardware_Profile_Info_Ex = @compileError("'CM_Get_Hardware_Profile_Info_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_HW_Prof_Flags = @compileError("'CM_Get_HW_Prof_Flags' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_HW_Prof_Flags_Ex = @compileError("'CM_Get_HW_Prof_Flags_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_Interface_Alias = @compileError("'CM_Get_Device_Interface_Alias' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_Interface_Alias_Ex = @compileError("'CM_Get_Device_Interface_Alias_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_Interface_List = @compileError("'CM_Get_Device_Interface_List' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_Interface_List_Ex = @compileError("'CM_Get_Device_Interface_List_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_Interface_List_Size = @compileError("'CM_Get_Device_Interface_List_Size' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Device_Interface_List_Size_Ex = @compileError("'CM_Get_Device_Interface_List_Size_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Locate_DevNode = @compileError("'CM_Locate_DevNode' requires that UNICODE be set to true or false in the root module");
pub const CM_Locate_DevNode_Ex = @compileError("'CM_Locate_DevNode_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Open_Class_Key = @compileError("'CM_Open_Class_Key' requires that UNICODE be set to true or false in the root module");
pub const CM_Open_Class_Key_Ex = @compileError("'CM_Open_Class_Key_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Open_Device_Interface_Key = @compileError("'CM_Open_Device_Interface_Key' requires that UNICODE be set to true or false in the root module");
pub const CM_Open_Device_Interface_Key_Ex = @compileError("'CM_Open_Device_Interface_Key_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Delete_Device_Interface_Key = @compileError("'CM_Delete_Device_Interface_Key' requires that UNICODE be set to true or false in the root module");
pub const CM_Delete_Device_Interface_Key_Ex = @compileError("'CM_Delete_Device_Interface_Key_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Query_And_Remove_SubTree = @compileError("'CM_Query_And_Remove_SubTree' requires that UNICODE be set to true or false in the root module");
pub const CM_Query_And_Remove_SubTree_Ex = @compileError("'CM_Query_And_Remove_SubTree_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Request_Device_Eject = @compileError("'CM_Request_Device_Eject' requires that UNICODE be set to true or false in the root module");
pub const CM_Request_Device_Eject_Ex = @compileError("'CM_Request_Device_Eject_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Register_Device_Interface = @compileError("'CM_Register_Device_Interface' requires that UNICODE be set to true or false in the root module");
pub const CM_Register_Device_Interface_Ex = @compileError("'CM_Register_Device_Interface_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Unregister_Device_Interface = @compileError("'CM_Unregister_Device_Interface' requires that UNICODE be set to true or false in the root module");
pub const CM_Unregister_Device_Interface_Ex = @compileError("'CM_Unregister_Device_Interface_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Set_DevNode_Registry_Property = @compileError("'CM_Set_DevNode_Registry_Property' requires that UNICODE be set to true or false in the root module");
pub const CM_Set_DevNode_Registry_Property_Ex = @compileError("'CM_Set_DevNode_Registry_Property_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Set_HW_Prof_Flags = @compileError("'CM_Set_HW_Prof_Flags' requires that UNICODE be set to true or false in the root module");
pub const CM_Set_HW_Prof_Flags_Ex = @compileError("'CM_Set_HW_Prof_Flags_Ex' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Resource_Conflict_Details = @compileError("'CM_Get_Resource_Conflict_Details' requires that UNICODE be set to true or false in the root module");
pub const CM_Get_Class_Registry_Property = @compileError("'CM_Get_Class_Registry_Property' requires that UNICODE be set to true or false in the root module");
pub const CM_Set_Class_Registry_Property = @compileError("'CM_Set_Class_Registry_Property' requires that UNICODE be set to true or false in the root module");
pub const UpdateDriverForPlugAndPlayDevices = @compileError("'UpdateDriverForPlugAndPlayDevices' requires that UNICODE be set to true or false in the root module");
pub const DiInstallDriver = @compileError("'DiInstallDriver' requires that UNICODE be set to true or false in the root module");
pub const DiUninstallDriver = @compileError("'DiUninstallDriver' requires that UNICODE be set to true or false in the root module");
},
};
//--------------------------------------------------------------------------------
// Section: Imports (22)
//--------------------------------------------------------------------------------
const Guid = @import("../zig.zig").Guid;
const BOOL = @import("../foundation.zig").BOOL;
const CHAR = @import("../foundation.zig").CHAR;
const DEVPROPKEY = @import("../devices/properties.zig").DEVPROPKEY;
const FILETIME = @import("../foundation.zig").FILETIME;
const HANDLE = @import("../foundation.zig").HANDLE;
const HDC = @import("../graphics/gdi.zig").HDC;
const HICON = @import("../ui/windows_and_messaging.zig").HICON;
const HIMAGELIST = @import("../ui/controls.zig").HIMAGELIST;
const HINSTANCE = @import("../foundation.zig").HINSTANCE;
const HKEY = @import("../system/registry.zig").HKEY;
const HPROPSHEETPAGE = @import("../ui/controls.zig").HPROPSHEETPAGE;
const HWND = @import("../foundation.zig").HWND;
const LARGE_INTEGER = @import("../foundation.zig").LARGE_INTEGER;
const LPARAM = @import("../foundation.zig").LPARAM;
const PRIORITY = @import("../data/html_help.zig").PRIORITY;
const PROPSHEETHEADERA_V2 = @import("../ui/controls.zig").PROPSHEETHEADERA_V2;
const PROPSHEETHEADERW_V2 = @import("../ui/controls.zig").PROPSHEETHEADERW_V2;
const PSTR = @import("../foundation.zig").PSTR;
const PWSTR = @import("../foundation.zig").PWSTR;
const RECT = @import("../foundation.zig").RECT;
const VER_PLATFORM = @import("../system/diagnostics/debug.zig").VER_PLATFORM;
test {
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
if (@hasDecl(@This(), "PSP_FILE_CALLBACK_A")) { _ = PSP_FILE_CALLBACK_A; }
if (@hasDecl(@This(), "PSP_FILE_CALLBACK_W")) { _ = PSP_FILE_CALLBACK_W; }
if (@hasDecl(@This(), "PDETECT_PROGRESS_NOTIFY")) { _ = PDETECT_PROGRESS_NOTIFY; }
if (@hasDecl(@This(), "PSP_DETSIG_CMPPROC")) { _ = PSP_DETSIG_CMPPROC; }
if (@hasDecl(@This(), "PCM_NOTIFY_CALLBACK")) { _ = PCM_NOTIFY_CALLBACK; }
@setEvalBranchQuota(
comptime @import("std").meta.declarations(@This()).len * 3
);
// reference all the pub declarations
if (!@import("builtin").is_test) return;
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
_ = @field(@This(), decl.name);
}
}