diff options
Diffstat (limited to 'third_party/rust/winapi-0.2.8')
167 files changed, 57615 insertions, 0 deletions
diff --git a/third_party/rust/winapi-0.2.8/.cargo-checksum.json b/third_party/rust/winapi-0.2.8/.cargo-checksum.json new file mode 100644 index 0000000000..8723902673 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/.cargo-checksum.json @@ -0,0 +1 @@ +{"files":{"Cargo.toml":"d15a0464554e57323507a2ff34925a2c592f3dffec9beb092c7ce985440f5bda","LICENSE.md":"fd232cfaeeff018cd3b9f22e0279b1c2237742999277596638800e967f6e4a29","src/activation.rs":"0e25834dfecd59391e2ecfdaa2e01bb5ac4d181778b47d0b9f67c56a6b2bd75f","src/audioclient.rs":"8c645d4ddb171620a527bcc14fa2904ff9aeb529262e68a0a9957d2ed77118be","src/audiosessiontypes.rs":"ba8cd1950cdab112861208ac1ecc35e656cbbe36e60c31315e547cfe47707685","src/basetsd.rs":"7b879d3164d5e6ec1b94d18a6b58f74a7f4e62fc279df32126e76c4f3138239d","src/bcrypt.rs":"05fe44190a37dd744bff8fc682f25a47c5f4239d417b213d18542aaa19b08b06","src/cfg.rs":"057ace203f04f8c09b6f68fefba7d3eb6644c46f2e44ca8f1364a8bc3bdd4970","src/cfgmgr32.rs":"714289f058283fc89fc79bbd4932bdbc0e9a88edd62a1787aac82c338f2dfb45","src/combaseapi.rs":"45458b1e0d918b237afd7e9581e2714b58ee009a91bbec45827694d1159a2e8b","src/commctrl.rs":"c0173aabd50f34a85c2523876fa0191d052d1d0c157f95ed228d98508806cc7d","src/commdlg.rs":"e75f64491eea54f651884eb3cc5353588c7fe54b086b43557d6d4917abbf95cd","src/corsym.rs":"301f937c7cb394675b2127a24595beef261d269d8f7cb45d6b4ac21a063985e3","src/d2d1.rs":"e7aa08883d85e2631f5327541e644b650ad009095daadef606bb06d9ac99afd3","src/d2dbasetypes.rs":"5a26048c997a580d8bb2a3512f1cb20dba411da99ffd6b23f4b0615ab9378058","src/d3d10shader.rs":"d6edf923fa8442be35b7f4ebebcd2e4bec4c3842ed5aee4bfd05c2de11edc4e0","src/d3d11.rs":"3f2f681357730df7ea954fb78903f0f0ad0bb3b577727307e751fd9598a4e837","src/d3d11shader.rs":"29612cc75ba238e2cd691fdcc01be9c79ca12b046e207d3cbfc5af23f04c4cb9","src/d3d12.rs":"906e512385e78756fe84f9a9622c510ce5a6daeb121127cf93f11af0f2fa3763","src/d3d12sdklayers.rs":"b50edb48a1c51bc7e3bf7176733c3dad4eb45a4e9747096e3b5a723052e130c8","src/d3d12shader.rs":"ff58932ef32c108348e41864f09ac6f909d641cac4f94c3e4f6c3dc4e5916521","src/d3d9.rs":"e01614130a4d68bb6e2a23f62ffb4d5016381e9026f8477aaca64851c8dcad53","src/d3d9caps.rs":"d4bcf91b7ae307388c91c19eacdb808506faea184b03178feee5c47959211b7b","src/d3d9types.rs":"1e10aae6297bc8dc083b111da496313ff19dcb9b88450e2637f8e98c0401519c","src/d3dcommon.rs":"f841b2e4df6dfccb9eb1955add24689db7b173780ec25e99b89097140a012152","src/d3dcompiler.rs":"02269410bd7f83f49391f852320ca0d76fd8d907ed22c68a003af65b3f5ab54a","src/dbghelp.rs":"c0ea5bcd04f414a696cd876439a7c4d6ee63627f4662705d189fd6e0412622f8","src/dcommon.rs":"8889ca66e2f89f1c275e5d6b7d6b203e7f25b4e7a262689b2ec6f04b9d1b5ae8","src/devpropdef.rs":"74948513ed623d3bdf1ea3fbf1f540b3e9e46efb9c1674ecccfe7f2fae5792f2","src/docobj.rs":"43e214d9d0c436a88ed2c620b8386e58e4d549ba9c8be51bf52291caf95e225d","src/dpapi.rs":"d44a1a6c9e52b34e8e87df1079b97081c646f07d0eee51f0d0cf66ae1c6fd58a","src/dsgetdc.rs":"5911c35ef3d80a5162fdbea6902f9b07033b746ff91bff2657a0971edb07bff2","src/dsound.rs":"53a5532d645e1b7995f0b4a0f0711fc66da8a27b7f8c87ce3d9e0882cfdca07c","src/dsrole.rs":"50b27a8afb11188ce24ab49620fe69ea21658148d8fd6076b8927175db5c1a9e","src/dwmapi.rs":"e65ca961eec0db275e211e04c59a8995c8c13d36ab08dc36ce197d9a4856266f","src/dwrite.rs":"f138d36e8b93778a7866cc755893b4da19cfd6ce42427139589a0bbaa294eb44","src/dxgi.rs":"5b6fcc5c665df1c0c6ed3de5d678a7bade1bb8ab1acbe952b784ce99fc817e53","src/dxgi1_2.rs":"6ba44755d715f2493236103fc5c24d7d45dff2e1fc3690aefbd4eb6c859dbc07","src/dxgi1_3.rs":"1f86a9db5fd45199fcc3ce56423e5fcf0c58df4001e2b50c5586d38ab820b78f","src/dxgi1_4.rs":"c578e6fcb82d535b20fc10232b75a7b9512d068919cc1e3f1c7cf55f3eb46460","src/dxgiformat.rs":"2e73df34f480b6ef3b5e21de0a520dacec91b00772e42786568fd162ca5e9aa6","src/dxgitype.rs":"204b8dae38c13a1dd8cd2ce6ca68851f743b416213d6db1cd0d96808bcbf7058","src/errhandlingapi.rs":"a70f9db3dd8ab60aba0daf39f12b527e54e312ca640e0b80d80c93ffdb6913c6","src/excpt.rs":"b07cf9ff0d23dd50c0776d048d0c579e401b7d729635f78998f85d35f33f05a4","src/fileapi.rs":"d31814c612bbd9372abbf6f8455fc2af89ac236c6b1855da10d66545e485ec57","src/gl.rs":"9429708bb97aeecb2c40030460ed0c3415fc0f2335c9513c68afa6157bd9b465","src/guiddef.rs":"86618dcd39c77048c7e453e6e86dafe90358eb7f97144f9672ae09e7b9855729","src/heapapi.rs":"21e420ba7641e507e8f2801d2b0ed25dbcb98e967924d711beb5cbfa8a5785e4","src/hidclass.rs":"a93380d35dc4d45807b10bbd69ee63eb8517b75989b68391685070a2fcfbefa1","src/hidpi.rs":"0b641fc119ac35761fe8e5eaed9a0781e9018598ea269d6cd386dbf5563ab9a0","src/hidsdi.rs":"50abb938ea8d0af90ccdea7ac3de4bc10fe42e34bc6a6d6eb4da1b330727da34","src/hidusage.rs":"44adc029bc89f0d4977b1295b7e998ddabf5283de66e1e33146bda8968d1d98b","src/hstring.rs":"51b3e63e3f1ed48f54c63c3e820e0563fb857b2743529d5f947f718d43425b89","src/http.rs":"ebb8b8db9e786e2683ad8b9a9066ef418df773ae7ce4d75f166cb5321f85f5a0","src/imm.rs":"b9277502f17f4cc6bde4f80f722ec1b976913355edbf162814ccfec2b3b080fd","src/inaddr.rs":"938143669da02c83a31d207be11e2176ed5219edf0e6f8f7a5534a5c6c3ce8d1","src/inspectable.rs":"b01f1814a233a77bf9f25c264747252c0464388c7d9c7302e5bde57502b8139b","src/ksmedia.rs":"acb96b1ea0cf3b5397f9037958093c6b4dbb54c4246516e57b9fed055e8e69c1","src/lib.rs":"8a7840b030f56883f68bdf90a1a04df8be2a5e2698a9ea86c73fac59c9f09b6e","src/libloaderapi.rs":"21a5d17c9f8ac4c006b515979964a8870f30710be4482083f45c6a41a16a36ce","src/lmaccess.rs":"712661c871569513334152bdcdf56c07776c560a22cd5b892a0f38e1957e28db","src/lmcons.rs":"3449aab4399cc36e7d7db551e384d82dfa4204178c4cfb9642f90645687fbc81","src/lmdfs.rs":"c351cdb2d10bf3a7c5ce7400dcdca41a792554e21e75fa9e5378ac18d8d3e4e7","src/lmerrlog.rs":"7937928544d27575e302c5e9c5e6803e9033e1f4d715e7ca29be202276d7d7a6","src/lmjoin.rs":"362cdc71f3f50099b862eff0733b3a57dd0f95cac15943135f794424f651b916","src/lsalookup.rs":"4aef1a95033444181f2b2b9df364ea165b0fdedb396c63e5d12db6b7398a3d5f","src/macros.rs":"5dacc570f226b6f1ad31d76a03675f0d182a3d578846920000fabb7cd92fc7f8","src/memoryapi.rs":"2273b8bfd7fc36dcf654c320826952ad502e8922a84174f8c1f7ed08aa555a04","src/minschannel.rs":"139828de63a0a4476de2bee454f5bca5e8a46cc29f1680339bb2804ee2d17322","src/minwinbase.rs":"6cd387a7f79e1a708bc48b5b27eaeaa7aadf0fff7a5e0a76cda0bdf3fa871863","src/minwindef.rs":"47ba4f2ec7789109ae339170715ed76288ae60ee57a4f06d5cc50a0e6855699f","src/mmdeviceapi.rs":"c8b7f7b6b78488d23ccba2b34e8765eac60ec9f08e19c96b377d957f65b1b6d1","src/mmreg.rs":"1621fad6eaa16d1e5ca95055fd11bf066b777b1343625f9fdc74e4d313d60dea","src/mmsystem.rs":"f6a2bff3bf80af1468de2c2a5f7ff2ced2b625adaf24f08f9b303965ed5ee371","src/mscat.rs":"9226a8e30546c4142e4fcdc716f8a15cc7c8081c9e875ec72ff9e8551f86f9a1","src/mssip.rs":"d7e2b91e358ff4986e700396d04f92aa1671aafada0d4889914a413177c091e1","src/nb30.rs":"dd85d7849111f04d33895835269929dc219e04de4373e91468eb053e3e0a5c52","src/ncrypt.rs":"29f168dcddeaa2cb231a7174cec672be83cca192ffc4632cead4c4a25189fb49","src/ntdef.rs":"3be66042d16a862f0fed8f48406b08c3091fbf92885a44efb7747f4a764d7de7","src/ntsecapi.rs":"dfb2cc7e23e8b20fa5ffd30ccecdb81b62d8ffeb68fdf99f93fb141ff4155afd","src/ntstatus.rs":"de6208f4e119a6405c1726433ea5e47a8b5f46b345f5809e9f580cce88360a79","src/oaidl.rs":"640c911e39888928baf77145cca34c1a768bfd759ec9709f70649a2946cb3246","src/objbase.rs":"7c9edb6a9ea72baddb15a6aec3602b3f9e7b1ce969dd655f440eae0ede1372e2","src/objidl.rs":"2a623b989f2a216edca3bd118eceff41267632839a3fd4410df9a7c126a87b64","src/objidlbase.rs":"3415a0bcd1b5b63ff48e17138ff87dae7c31eaeb323ae81f34b6712efade1d04","src/olectl.rs":"da2014c3d5858c5abff1635e1b8c8223333e7d22d28cac614aac3305a7f04ee4","src/pdh.rs":"eb01459c2acc456ecd204c6716d26027a6c77c2b4a9b698d3c922254fe2cc319","src/playsoundapi.rs":"7efddfc8601de565946c8c93074211c83b20866a1588e36e0518bba9864d0cf0","src/processsnapshot.rs":"df99a56280e6e41c5896341ffa1abe734f6c8662f4d7ea960cb97fb34c5b85d9","src/processthreadsapi.rs":"bf8edf8984ee97bc5054e68d02ec4633b5f15720602ab19c95d78e7d420c9cc8","src/propidl.rs":"88b5f176e4624063cadd8db95db52bf07cff421d73a8cfe319f992a9c99cd315","src/propsys.rs":"05c411639479f88e77383c585117a886f48ea7453260210db9f283e2cafdffbf","src/prsht.rs":"f862538c0010a51a02e5f24b3a44b54ba5993c32400b98a3b0558741ae7473a3","src/psapi.rs":"512523c5f8334c9ad221a73776c0ed2da93d8e2353dc4d2cee951ffa6ea7c163","src/qos.rs":"9ef6183b7c03b5b412f81f38ebb06048ff6266032bc236964dd994f173b82ec4","src/reason.rs":"c92aded3bbea859f110eed73b9b0fb40df6ac4a6ed6431ca69882b46b5ad5229","src/restrictederrorinfo.rs":"b8c53f4ae149ea806028cdafe699390a20202d72028b5f62836bcbf97720d133","src/roapi.rs":"dbbefb19f402a2aece66b500739b0a9e2c4d0133a8bc94d076510d5a67def175","src/roerrorapi.rs":"84a0a71a3f9ce67a577954ee5761cbd97d892eb5e7eb2c381f6bd29d4e1d4af7","src/rpc.rs":"e2293651222edf37f3ad3076adaae9033b25b06bd7b88ed7372585a4ae46c7d9","src/rpcdce.rs":"de77ca3c9b689ffaaf395a6882d3dfc3a1cec181efa6cb6075e605e4462bc3f6","src/sapi.rs":"05dbc1166b836251538c9e52a772fa584a1d0a1ad823e4336ab5e6cfefb96d57","src/schannel.rs":"e48926896227ffae5033bd634a7c71f5359d7a08b7b8c6e94e03864d87a37f8b","src/servprov.rs":"f086b4330162c7da711ea59d7023304a8fa2a53470b54d846ea1c11567703693","src/setupapi.rs":"4959862dd39597cd711022fcefbaf5c75b61410d57d04e9dbec2ddf7a2fa6f31","src/shellapi.rs":"ce3e3e7cd8aefe8068d6c51256827c0c3d51a449e4ab73e7125ea28d44dd6b6d","src/shellscalingapi.rs":"59c162b0215ff4b71b3535b6e142cca8cd99028031f47f0a6efb960c160a8776","src/shlguid.rs":"dcb7a1ada1b1b90f405e6dea8bcf1fc6994725b49a3165b7908670b2c31490e5","src/shlobj.rs":"53ff059ec6123001bed8f007c36e40812f83e4e04bd50b371319d10b4e38c36f","src/shobjidl.rs":"953d6ef4dc2a0d175d7133dc2f41255123ab8f778b22feaebd8ca1fa77356aa7","src/shtypes.rs":"ff785004e819bcfc521ab79327e58f98debab4e40c20412bbecdcee1b2801371","src/spapidef.rs":"9abe751425b6aaac7e4a7ea49f6d8e859f8f73164abd4d69b48e3e224d7de829","src/sql.rs":"004ed353b40bb4bceab55d6e8c33063a8eac992b076e47e6ead8303dbbc5b67f","src/sqltypes.rs":"0c5fa183c9f5b9e16e292de6a9afdf73f554730e651250856148ac04718803b8","src/sspi.rs":"dbd9d544abea4396983867ef4f7fbe2588673cc953dbeb74e7edc46503b16fa0","src/strmif.rs":"168040999cf99843cc1447988e46c56481a7a343ae41ab854db40ef566fa1119","src/subauth.rs":"183dd0df6436e9f0e859d62ca78e8ed42d4c1a5dc0690dcf22d42467fd2e0700","src/synchapi.rs":"cfce677c85377a340cb9307d9ac9eb06ffe9fd5e2ce08ed4a0390729e3a7d717","src/sysinfoapi.rs":"9a5579143263ce20d8c365b9874a0ae90ef28bc3295eab26ba3782efa48b464a","src/threadpoolapi.rs":"57876ea70b86d08663f7916ce076547f17596c26b8bf4dfafbad60e78264ff95","src/timezoneapi.rs":"5ccd80e6d16a858c56e20a7f3c5570e29777dab0fdfc057b6d2fb06463d56eb3","src/tlhelp32.rs":"c96ef7416bceab473463cc4ad98f037aeaac87bb7adf45cc16c281308537e82f","src/unknwnbase.rs":"2708c19491deb7364100025f3bb88a791c219551a65af70a776f8f3c5bf18b05","src/urlhist.rs":"8c8c0d0a613e59f68bf0e8cec061ea2126baa98d1479df4d07c8df5e41b50bc1","src/urlmon.rs":"0652e602ef2f5826360e5eab68bdf4f9365827a012c2c89289c54016ea001b74","src/usb.rs":"7e682ee819b237eabe796e604cff2434c450f724f4c86d919683eb7a5167c343","src/usbspec.rs":"d19671960838eb592cda4cd7c84c6f66cd9484f0904b5a28e1d8fd91e9c2c6af","src/usp10.rs":"baa2c1ef6ca5f064bc55b24f39c0553ede45a87b9183318572916fd4f1c679c6","src/vadefs.rs":"0e2f12fd1c521a943908669b2d10fceea409bac45242ec6e87c0e69706c1b3d0","src/vsbackup.rs":"af71cb851bd7eacde9d3e46a112497baef3ecebb472aae3c76c7faff804d33f9","src/vss.rs":"a626613810a69309b8f50d0a3bd75928d9de771c2287b6242487cb8cd55394a0","src/vsserror.rs":"f06b108d66ea9f06ad15d83b981117ed6a2a9cd218bb3bf53f13b0055acd9b2e","src/vswriter.rs":"8c4f5d27fa0883d187506538136cc610074941bb952afbe0984f7cb7c3c656f7","src/werapi.rs":"a2d692514ff3a61126971c5c2c5a7298c0f822559550a7f14501f8c96d1d951a","src/winbase.rs":"e224c40d827b1f1a9c74643c000f71e87ad18f749810cc611425af325c9472b8","src/wincon.rs":"402c5ebf80aa6ab1002935b7ddca17e8a243d0c714982054395862fe0ae40a04","src/wincred.rs":"e5fa987622dd880151ae190bb45daa666ffae3ae8e2da97407210afe01dd93d6","src/wincrypt.rs":"f7f8743b6a89d3f5e8b07405e43010bb3729aa8a8cf4546cc02705f802947ebc","src/windef.rs":"89fa9f5ab2909a4840f16979ebbc0afa2134abcb1d47cb7435b581f31b227658","src/windowscodecs.rs":"7c63bc4e2d0e7ce60c7bb13b93ef5aa12213f71a46845b6e034a9c224ef3eb3c","src/windowsx.rs":"414a9a841590f88804da3eb9ba55d583372a467cc50ab1ebdd7cfc653ce5f627","src/winerror.rs":"f3882eba4e299acbdedd548feb1ff89de958fb72d665bd6ba013b6a1f7596b52","src/winevt.rs":"64ae96f475ed98da7a84704d53d16caccbac2dbd525de0ef0f65fc58a6775ed1","src/wingdi.rs":"35aa9dd14b4b4c5a227ac3df0d312c19cbaede2d1388c26ad8eb910e80efeafd","src/winhttp.rs":"37769be104a2eb9efa70ffd74c8f38a09d9639cf575a677ad75d941e8d87cd58","src/winioctl.rs":"0f0efe0a41894a325b70428d04aeddec8dd7a87a91489a4e564a248e8498861b","src/winnetwk.rs":"d492c3d14a422f611166d39b895ddc6dd749ebc64a020bf3125af452494f91dd","src/winnls.rs":"90904d6adad70081a620165223fb4a71b64d747596c64d0df7de9511cd0f75c6","src/winnt.rs":"2c51ad0a065006010f1cfe7a3335274304e4747adc63f9798e1ca1f7091154a5","src/winreg.rs":"c687a5c6433daa13793815ef9af8befaedc9635be14eea0c618ad5334952dc31","src/winscard.rs":"78ab1d3ae22e486726740c343a4cc6268ca318de43f4b7d7ba51acbdf1b93936","src/winsmcrd.rs":"62be129c3d4cdea9dd31e769b587f071a94c347c8df71a43bb1eea18d52a60cc","src/winsock2.rs":"21dc0393f37f56c15c59d49a32861fb24c8f28d43ce26b56d958a174a5040a76","src/winspool.rs":"a3bd8e04f2db6118fe529bf52cb856a773cd8b816d197fc8edc8ac942578fd74","src/winstring.rs":"dc535f972d93be2fe067a5ca64edb45b6ad8e4549ecc0ce24486bd94555d5707","src/winsvc.rs":"7999f00b341f3e0e8701ea89f71986a6600650ff8cffdb1292e9f55d47bd0a3e","src/winusb.rs":"0ac355aa879a4aae501db04f1e8859dbef5e33fda9d46a7a12ef25e5524ec396","src/winusbio.rs":"8e2d64832999b59b2ea900396184c36d34cf94c97f31e15916c299213748a3e1","src/winuser.rs":"791bd8625812feccc8ec421489194d635c94cb4c4d754287a0caa54fa8f71c19","src/ws2def.rs":"0a1c7a69e4da8edc0584b0e3fb4ad1fa4aed621510b1bc1b0d104990577c6a38","src/ws2ipdef.rs":"c6a898cf25d187ad83e110af1e2286824868691a60818ecc44e68fa0bbbd4ff6","src/ws2spi.rs":"e63da700de55a317769230319eb9e4ec85cc0ac80b2baa076399367338b7ca0f","src/ws2tcpip.rs":"698084fd5d631a2ef236fe76001e7c44afd9b8958243e4ad4c098ac4beb4b352","src/wtypes.rs":"2689e8f442ccdc0b0e1ec82160a5cc3e80abf95dca82855ec595314062774a14","src/wtypesbase.rs":"f6dc0a8b09f3f003339c5dd366bdddb9dd671894be9dcf4a42058b226d2917a8","src/xinput.rs":"e15cd46bf18977481e22d609f8e0bb5508776902d7fa64477bb5b78596c0f67d"},"package":"167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"}
\ No newline at end of file diff --git a/third_party/rust/winapi-0.2.8/Cargo.toml b/third_party/rust/winapi-0.2.8/Cargo.toml new file mode 100644 index 0000000000..941a659b0f --- /dev/null +++ b/third_party/rust/winapi-0.2.8/Cargo.toml @@ -0,0 +1,61 @@ +[package] +name = "winapi" +version = "0.2.8" +authors = ["Peter Atashian <retep998@gmail.com>"] +description = "Types and constants for WinAPI bindings. See README for list of crates providing function bindings." +documentation = "https://retep998.github.io/doc/winapi/" +repository = "https://github.com/retep998/winapi-rs" +readme = "README.md" +keywords = ["windows", "ffi", "win32", "com", "directx"] +license = "MIT" +include = ["src/**/*", "Cargo.toml", "LICENSE.md"] + +[dev-dependencies] +advapi32-sys = { version = "0", path = "lib/advapi32" } +bcrypt-sys = { version = "0", path = "lib/bcrypt" } +comctl32-sys = { version = "0", path = "lib/comctl32" } +comdlg32-sys = { version = "0", path = "lib/comdlg32" } +credui-sys = { version = "0", path = "lib/credui" } +crypt32-sys = { version = "0", path = "lib/crypt32" } +d2d1-sys = { version = "0", path = "lib/d2d1" } +d3d11-sys = { version = "0", path = "lib/d3d11" } +d3d12-sys = { version = "0", path = "lib/d3d12" } +d3d9-sys = { version = "0", path = "lib/d3d9" } +d3dcompiler-sys = { version = "0", path = "lib/d3dcompiler" } +dbghelp-sys = { version = "0", path = "lib/dbghelp" } +dsound-sys = { version = "0", path = "lib/dsound" } +dwmapi-sys = { version = "0", path = "lib/dwmapi" } +dwrite-sys = { version = "0", path = "lib/dwrite" } +dxgi-sys = { version = "0", path = "lib/dxgi" } +dxguid-sys = { version = "0", path = "lib/dxguid" } +gdi32-sys = { version = "0", path = "lib/gdi32" } +hid-sys = { version = "0", path = "lib/hid" } +httpapi-sys = { version = "0", path = "lib/httpapi" } +kernel32-sys = { version = "0", path = "lib/kernel32" } +ktmw32-sys = { version = "0", path = "lib/ktmw32" } +mpr-sys = { version = "0", path = "lib/mpr" } +netapi32-sys = { version = "0", path = "lib/netapi32" } +odbc32-sys = { version = "0", path = "lib/odbc32" } +ole32-sys = { version = "0", path = "lib/ole32" } +oleaut32-sys = { version = "0", path = "lib/oleaut32" } +opengl32-sys = { version = "0", path = "lib/opengl32" } +pdh-sys = { version = "0", path = "lib/pdh" } +psapi-sys = { version = "0", path = "lib/psapi" } +runtimeobject-sys = { version = "0", path = "lib/runtimeobject" } +secur32-sys = { version = "0", path = "lib/secur32" } +setupapi-sys = { version = "0", path = "lib/setupapi" } +shell32-sys = { version = "0", path = "lib/shell32" } +shlwapi-sys = { version = "0", path = "lib/shlwapi" } +user32-sys = { version = "0", path = "lib/user32" } +userenv-sys = { version = "0", path = "lib/userenv" } +usp10-sys = { version = "0", path = "lib/usp10" } +uuid-sys = { version = "0", path = "lib/uuid" } +vssapi-sys = { version = "0", path = "lib/vssapi" } +wevtapi-sys = { version = "0", path = "lib/wevtapi" } +winhttp-sys = { version = "0", path = "lib/winhttp" } +winmm-sys = { version = "0", path = "lib/winmm" } +winscard-sys = { version = "0", path = "lib/winscard" } +winspool-sys = { version = "0", path = "lib/winspool" } +winusb-sys = { version = "0", path = "lib/winusb" } +ws2_32-sys = { version = "0", path = "lib/ws2_32" } +xinput-sys = { version = "0", path = "lib/xinput" } diff --git a/third_party/rust/winapi-0.2.8/LICENSE.md b/third_party/rust/winapi-0.2.8/LICENSE.md new file mode 100644 index 0000000000..60d12ac7b7 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 Peter Atashian + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/third_party/rust/winapi-0.2.8/src/activation.rs b/third_party/rust/winapi-0.2.8/src/activation.rs new file mode 100644 index 0000000000..f94f81b4ea --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/activation.rs @@ -0,0 +1,5 @@ +RIDL!( +interface IActivationFactory(IActivationFactoryVtbl): IInspectable(IInspectableVtbl) { + fn ActivateInstance(&mut self, instance: *mut *mut ::IInspectable) -> ::HRESULT +} +);
\ No newline at end of file diff --git a/third_party/rust/winapi-0.2.8/src/audioclient.rs b/third_party/rust/winapi-0.2.8/src/audioclient.rs new file mode 100644 index 0000000000..5a5ee6a84c --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/audioclient.rs @@ -0,0 +1,71 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! this ALWAYS GENERATED file contains the definitions for the interfaces +//1627 +pub const AUDCLNT_E_NOT_INITIALIZED: ::HRESULT = AUDCLNT_ERR!(0x001); +pub const AUDCLNT_E_ALREADY_INITIALIZED: ::HRESULT = AUDCLNT_ERR!(0x002); +pub const AUDCLNT_E_WRONG_ENDPOINT_TYPE: ::HRESULT = AUDCLNT_ERR!(0x003); +pub const AUDCLNT_E_DEVICE_INVALIDATED: ::HRESULT = AUDCLNT_ERR!(0x004); +pub const AUDCLNT_E_NOT_STOPPED: ::HRESULT = AUDCLNT_ERR!(0x005); +pub const AUDCLNT_E_BUFFER_TOO_LARGE: ::HRESULT = AUDCLNT_ERR!(0x006); +pub const AUDCLNT_E_OUT_OF_ORDER: ::HRESULT = AUDCLNT_ERR!(0x007); +pub const AUDCLNT_E_UNSUPPORTED_FORMAT: ::HRESULT = AUDCLNT_ERR!(0x008); +pub const AUDCLNT_E_INVALID_SIZE: ::HRESULT = AUDCLNT_ERR!(0x009); +pub const AUDCLNT_E_DEVICE_IN_USE: ::HRESULT = AUDCLNT_ERR!(0x00a); +pub const AUDCLNT_E_BUFFER_OPERATION_PENDING: ::HRESULT = AUDCLNT_ERR!(0x00b); +pub const AUDCLNT_E_THREAD_NOT_REGISTERED: ::HRESULT = AUDCLNT_ERR!(0x00c); +pub const AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED: ::HRESULT = AUDCLNT_ERR!(0x00e); +pub const AUDCLNT_E_ENDPOINT_CREATE_FAILED: ::HRESULT = AUDCLNT_ERR!(0x00f); +pub const AUDCLNT_E_SERVICE_NOT_RUNNING: ::HRESULT = AUDCLNT_ERR!(0x010); +pub const AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED: ::HRESULT = AUDCLNT_ERR!(0x011); +pub const AUDCLNT_E_EXCLUSIVE_MODE_ONLY: ::HRESULT = AUDCLNT_ERR!(0x012); +pub const AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL: ::HRESULT = AUDCLNT_ERR!(0x013); +pub const AUDCLNT_E_EVENTHANDLE_NOT_SET: ::HRESULT = AUDCLNT_ERR!(0x014); +pub const AUDCLNT_E_INCORRECT_BUFFER_SIZE: ::HRESULT = AUDCLNT_ERR!(0x015); +pub const AUDCLNT_E_BUFFER_SIZE_ERROR: ::HRESULT = AUDCLNT_ERR!(0x016); +pub const AUDCLNT_E_CPUUSAGE_EXCEEDED: ::HRESULT = AUDCLNT_ERR!(0x017); +pub const AUDCLNT_E_BUFFER_ERROR: ::HRESULT = AUDCLNT_ERR!(0x018); +pub const AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED: ::HRESULT = AUDCLNT_ERR!(0x019); +pub const AUDCLNT_E_INVALID_DEVICE_PERIOD: ::HRESULT = AUDCLNT_ERR!(0x020); +pub const AUDCLNT_E_INVALID_STREAM_FLAG: ::HRESULT = AUDCLNT_ERR!(0x021); +pub const AUDCLNT_E_ENDPOINT_OFFLOAD_NOT_CAPABLE: ::HRESULT = AUDCLNT_ERR!(0x022); +pub const AUDCLNT_E_OUT_OF_OFFLOAD_RESOURCES: ::HRESULT = AUDCLNT_ERR!(0x023); +pub const AUDCLNT_E_OFFLOAD_MODE_ONLY: ::HRESULT = AUDCLNT_ERR!(0x024); +pub const AUDCLNT_E_NONOFFLOAD_MODE_ONLY: ::HRESULT = AUDCLNT_ERR!(0x025); +pub const AUDCLNT_E_RESOURCES_INVALIDATED: ::HRESULT = AUDCLNT_ERR!(0x026); +pub const AUDCLNT_E_RAW_MODE_UNSUPPORTED: ::HRESULT = AUDCLNT_ERR!(0x027); +pub const AUDCLNT_S_BUFFER_EMPTY: ::SCODE = AUDCLNT_SUCCESS!(0x001); +pub const AUDCLNT_S_THREAD_ALREADY_REGISTERED: ::SCODE = AUDCLNT_SUCCESS!(0x002); +pub const AUDCLNT_S_POSITION_STALLED: ::SCODE = AUDCLNT_SUCCESS!(0x003); +DEFINE_GUID!(IID_IAudioClient, 0x1CB9AD4C, 0xDBFA, 0x4c32, + 0xB1, 0x78, 0xC2, 0xF5, 0x68, 0xA7, 0x03, 0xB2); +DEFINE_GUID!(IID_IAudioRenderClient, 0xF294ACFC, 0x3146, 0x4483, + 0xA7, 0xBF, 0xAD, 0xDC, 0xA7, 0xC2, 0x60, 0xE2); +RIDL!{interface IAudioClient(IAudioClientVtbl): IUnknown(IUnknownVtbl) { + fn Initialize( + &mut self, ShareMode: ::AUDCLNT_SHAREMODE, StreamFlags: ::DWORD, + hnsBufferDuration: ::REFERENCE_TIME, hnsPeriodicity: ::REFERENCE_TIME, + pFormat: *const ::WAVEFORMATEX, AudioSessionGuid: ::LPCGUID + ) -> ::HRESULT, + fn GetBufferSize(&mut self, pNumBufferFrames: *mut ::UINT32) -> ::HRESULT, + fn GetStreamLatency(&mut self, phnsLatency: *mut ::REFERENCE_TIME) -> ::HRESULT, + fn GetCurrentPadding(&mut self, pNumPaddingFrames: *mut ::UINT32) -> ::HRESULT, + fn IsFormatSupported( + &mut self, ShareMode: ::AUDCLNT_SHAREMODE, pFormat: *const ::WAVEFORMATEX, + ppClosestMatch: *mut *mut ::WAVEFORMATEX + ) -> ::HRESULT, + fn GetMixFormat(&mut self, ppDeviceFormat: *mut *mut ::WAVEFORMATEX) -> ::HRESULT, + fn GetDevicePeriod( + &mut self, phnsDefaultDevicePeriod: *mut ::REFERENCE_TIME, + phnsMinimumDevicePeriod: *mut ::REFERENCE_TIME + ) -> ::HRESULT, + fn Start(&mut self) -> ::HRESULT, + fn Stop(&mut self) -> ::HRESULT, + fn Reset(&mut self) -> ::HRESULT, + fn SetEventHandle(&mut self, eventHandle: ::HANDLE) -> ::HRESULT, + fn GetService(&mut self, riid: ::REFIID, ppv: *mut ::LPVOID) -> ::HRESULT +}} +RIDL!{interface IAudioRenderClient(IAudioRenderClientVtbl): IUnknown(IUnknownVtbl) { + fn GetBuffer(&mut self, NumFramesRequested: ::UINT32, ppData: *mut *mut ::BYTE) -> ::HRESULT, + fn ReleaseBuffer(&mut self, NumFramesWritten: ::UINT32, dwFlags: ::DWORD) -> ::HRESULT +}} diff --git a/third_party/rust/winapi-0.2.8/src/audiosessiontypes.rs b/third_party/rust/winapi-0.2.8/src/audiosessiontypes.rs new file mode 100644 index 0000000000..796f17f286 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/audiosessiontypes.rs @@ -0,0 +1,11 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +ENUM!{enum AUDCLNT_SHAREMODE { + AUDCLNT_SHAREMODE_SHARED, + AUDCLNT_SHAREMODE_EXCLUSIVE, +}} +pub const AUDCLNT_STREAMFLAGS_CROSSPROCESS: ::DWORD = 0x00010000; +pub const AUDCLNT_STREAMFLAGS_LOOPBACK: ::DWORD = 0x00020000; +pub const AUDCLNT_STREAMFLAGS_EVENTCALLBACK: ::DWORD = 0x00040000; +pub const AUDCLNT_STREAMFLAGS_NOPERSIST: ::DWORD = 0x00080000; +pub const AUDCLNT_STREAMFLAGS_RATEADJUST: ::DWORD = 0x00100000; diff --git a/third_party/rust/winapi-0.2.8/src/basetsd.rs b/third_party/rust/winapi-0.2.8/src/basetsd.rs new file mode 100644 index 0000000000..6bf20fc96d --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/basetsd.rs @@ -0,0 +1,99 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Type definitions for the basic sized types. +#[cfg(target_arch = "x86")] +pub type POINTER_64_INT = ::c_ulong; +#[cfg(target_arch = "x86_64")] +pub type POINTER_64_INT = ::__uint64; +pub type INT8 = ::c_schar; +pub type PINT8 = *mut ::c_schar; +pub type INT16 = ::c_short; +pub type PINT16 = *mut ::c_short; +pub type INT32 = ::c_int; +pub type PINT32 = *mut ::c_int; +pub type INT64 = ::__int64; +pub type PINT64 = *mut ::__int64; +pub type UINT8 = ::c_uchar; +pub type PUINT8 = *mut ::c_uchar; +pub type UINT16 = ::c_ushort; +pub type PUINT16 = *mut ::c_ushort; +pub type UINT32 = ::c_uint; +pub type PUINT32 = *mut ::c_uint; +pub type UINT64 = ::__uint64; +pub type PUINT64 = *mut ::__uint64; +pub type LONG32 = ::c_int; +pub type PLONG32 = *mut ::c_int; +pub type ULONG32 = ::c_uint; +pub type PULONG32 = *mut ::c_uint; +pub type DWORD32 = ::c_uint; +pub type PDWORD32 = *mut ::c_uint; +#[cfg(target_arch = "x86")] +pub type INT_PTR = ::c_int; +#[cfg(target_arch = "x86_64")] +pub type INT_PTR = ::__int64; +#[cfg(target_arch = "x86")] +pub type PINT_PTR = *mut ::c_int; +#[cfg(target_arch = "x86_64")] +pub type PINT_PTR = *mut ::__int64; +#[cfg(target_arch = "x86")] +pub type UINT_PTR = ::c_uint; +#[cfg(target_arch = "x86_64")] +pub type UINT_PTR = ::__uint64; +#[cfg(target_arch = "x86")] +pub type PUINT_PTR = *mut ::c_uint; +#[cfg(target_arch = "x86_64")] +pub type PUINT_PTR = *mut ::__uint64; +#[cfg(target_arch = "x86")] +pub type LONG_PTR = ::c_long; +#[cfg(target_arch = "x86_64")] +pub type LONG_PTR = ::__int64; +#[cfg(target_arch = "x86")] +pub type PLONG_PTR = *mut ::c_long; +#[cfg(target_arch = "x86_64")] +pub type PLONG_PTR = *mut ::__int64; +#[cfg(target_arch = "x86")] +pub type ULONG_PTR = ::c_ulong; +#[cfg(target_arch = "x86_64")] +pub type ULONG_PTR = ::__uint64; +#[cfg(target_arch = "x86")] +pub type PULONG_PTR = *mut ::c_ulong; +#[cfg(target_arch = "x86_64")] +pub type PULONG_PTR = *mut ::__uint64; +#[cfg(target_arch = "x86_64")] +pub type SHANDLE_PTR = ::__int64; +#[cfg(target_arch = "x86_64")] +pub type HANDLE_PTR = ::__uint64; +#[cfg(target_arch = "x86_64")] +pub type UHALF_PTR = ::c_uint; +#[cfg(target_arch = "x86_64")] +pub type PUHALF_PTR = *mut ::c_uint; +#[cfg(target_arch = "x86_64")] +pub type HALF_PTR = ::c_int; +#[cfg(target_arch = "x86_64")] +pub type PHALF_PTR = *mut ::c_int; +#[cfg(target_arch = "x86")] +pub type SHANDLE_PTR = ::c_long; +#[cfg(target_arch = "x86")] +pub type HANDLE_PTR = ::c_ulong; +#[cfg(target_arch = "x86")] +pub type UHALF_PTR = ::c_ushort; +#[cfg(target_arch = "x86")] +pub type PUHALF_PTR = *mut ::c_ushort; +#[cfg(target_arch = "x86")] +pub type HALF_PTR = ::c_short; +#[cfg(target_arch = "x86")] +pub type PHALF_PTR = *mut ::c_short; +pub type SIZE_T = ULONG_PTR; +pub type PSIZE_T = *mut ULONG_PTR; +pub type SSIZE_T = LONG_PTR; +pub type PSSIZE_T = *mut LONG_PTR; +pub type DWORD_PTR = ULONG_PTR; +pub type PDWORD_PTR = *mut ULONG_PTR; +pub type LONG64 = ::__int64; +pub type PLONG64 = *mut ::__int64; +pub type ULONG64 = ::__uint64; +pub type PULONG64 = *mut ::__uint64; +pub type DWORD64 = ::__uint64; +pub type PDWORD64 = *mut ::__uint64; +pub type KAFFINITY = ULONG_PTR; +pub type PKAFFINITY = *mut KAFFINITY; diff --git a/third_party/rust/winapi-0.2.8/src/bcrypt.rs b/third_party/rust/winapi-0.2.8/src/bcrypt.rs new file mode 100644 index 0000000000..ee818a5bd0 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/bcrypt.rs @@ -0,0 +1,356 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Cryptographic Primitive API Prototypes and Definitions +pub const KDF_HASH_ALGORITHM: ::ULONG = 0x0; +pub const KDF_SECRET_PREPEND: ::ULONG = 0x1; +pub const KDF_SECRET_APPEND: ::ULONG = 0x2; +pub const KDF_HMAC_KEY: ::ULONG = 0x3; +pub const KDF_TLS_PRF_LABEL: ::ULONG = 0x4; +pub const KDF_TLS_PRF_SEED: ::ULONG = 0x5; +pub const KDF_SECRET_HANDLE: ::ULONG = 0x6; +pub const KDF_TLS_PRF_PROTOCOL: ::ULONG = 0x7; +pub const KDF_ALGORITHMID: ::ULONG = 0x8; +pub const KDF_PARTYUINFO: ::ULONG = 0x9; +pub const KDF_PARTYVINFO: ::ULONG = 0xA; +pub const KDF_SUPPPUBINFO: ::ULONG = 0xB; +pub const KDF_SUPPPRIVINFO: ::ULONG = 0xC; +pub const KDF_LABEL: ::ULONG = 0xD; +pub const KDF_CONTEXT: ::ULONG = 0xE; +pub const KDF_SALT: ::ULONG = 0xF; +pub const KDF_ITERATION_COUNT: ::ULONG = 0x10; +pub const KDF_GENERIC_PARAMETER: ::ULONG = 0x11; +pub const KDF_KEYBITLENGTH: ::ULONG = 0x12; +pub const KDF_USE_SECRET_AS_HMAC_KEY_FLAG: ::ULONG = 0x1; +STRUCT!{struct BCRYPT_KEY_LENGTHS_STRUCT { + dwMinLength: ::ULONG, + dwMaxLength: ::ULONG, + dwIncrement: ::ULONG, +}} +pub type BCRYPT_AUTH_TAG_LENGTHS_STRUCT = BCRYPT_KEY_LENGTHS_STRUCT; +STRUCT!{struct BCRYPT_OID { + cbOID: ::ULONG, + pbOID: ::PUCHAR, +}} +STRUCT!{struct BCRYPT_OID_LIST { + dwOIDCount: ::ULONG, + pOIDs: *mut BCRYPT_OID, +}} +STRUCT!{struct BCRYPT_PKCS1_PADDING_INFO { + pszAlgId: ::LPCWSTR, +}} +STRUCT!{struct BCRYPT_PSS_PADDING_INFO { + pszAlgId: ::LPCWSTR, + cbSalt: ::ULONG, +}} +STRUCT!{struct BCRYPT_OAEP_PADDING_INFO { + pszAlgId: ::LPCWSTR, + pbLabel: ::PUCHAR, + cbLabel: ::ULONG, +}} +pub const BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO_VERSION: ::ULONG = 1; +pub const BCRYPT_AUTH_MODE_CHAIN_CALLS_FLAG: ::ULONG = 0x00000001; +pub const BCRYPT_AUTH_MODE_IN_PROGRESS_FLAG: ::ULONG = 0x00000002; +STRUCT!{struct BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO { + cbSize: ::ULONG, + dwInfoVersion: ::ULONG, + pbNonce: ::PUCHAR, + cbNonce: ::ULONG, + pbAuthData: ::PUCHAR, + cbAuthData: ::ULONG, + pbTag: ::PUCHAR, + cbTag: ::ULONG, + pbMacContext: ::PUCHAR, + cbMacContext: ::ULONG, + cbAAD: ::ULONG, + cbData: ::ULONGLONG, + dwFlags: ::ULONG, +}} +pub type PBCRYPT_AUTHENTICATED_CIPHER_MODE_INFO = *mut BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO; +pub const BCRYPT_PROV_DISPATCH: ::ULONG = 0x00000001; +pub const BCRYPT_BLOCK_PADDING: ::ULONG = 0x00000001; +pub const BCRYPT_PAD_NONE: ::ULONG = 0x00000001; +pub const BCRYPT_PAD_PKCS1: ::ULONG = 0x00000002; +pub const BCRYPT_PAD_OAEP: ::ULONG = 0x00000004; +pub const BCRYPT_PAD_PSS: ::ULONG = 0x00000008; +pub const BCRYPT_PAD_PKCS1_OPTIONAL_HASH_OID: ::ULONG = 0x00000010; +pub const BCRYPTBUFFER_VERSION: ::ULONG = 0; +STRUCT!{struct BCryptBuffer { + cbBuffer: ::ULONG, + BufferType: ::ULONG, + pvBuffer: ::PVOID, +}} +pub type PBCryptBuffer = *mut BCryptBuffer; +STRUCT!{struct BCryptBufferDesc { + ulVersion: ::ULONG, + cBuffers: ::ULONG, + pBuffers: PBCryptBuffer, +}} +pub type PBCryptBufferDesc = *mut BCryptBufferDesc; +//321 +pub type BCRYPT_HANDLE = ::PVOID; +pub type BCRYPT_ALG_HANDLE = ::PVOID; +pub type BCRYPT_KEY_HANDLE = ::PVOID; +pub type BCRYPT_HASH_HANDLE = ::PVOID; +pub type BCRYPT_SECRET_HANDLE = ::PVOID; +STRUCT!{struct BCRYPT_KEY_BLOB { + Magic: ::ULONG, +}} +pub const BCRYPT_RSAPUBLIC_MAGIC: ::ULONG = 0x31415352; +pub const BCRYPT_RSAPRIVATE_MAGIC: ::ULONG = 0x32415352; +STRUCT!{struct BCRYPT_RSAKEY_BLOB { + Magic: ::ULONG, + BitLength: ::ULONG, + cbPublicExp: ::ULONG, + cbModulus: ::ULONG, + cbPrime1: ::ULONG, + cbPrime2: ::ULONG, +}} +pub const BCRYPT_RSAFULLPRIVATE_MAGIC: ::ULONG = 0x33415352; +pub const BCRYPT_ECDH_PUBLIC_P256_MAGIC: ::ULONG = 0x314B4345; +pub const BCRYPT_ECDH_PRIVATE_P256_MAGIC: ::ULONG = 0x324B4345; +pub const BCRYPT_ECDH_PUBLIC_P384_MAGIC: ::ULONG = 0x334B4345; +pub const BCRYPT_ECDH_PRIVATE_P384_MAGIC: ::ULONG = 0x344B4345; +pub const BCRYPT_ECDH_PUBLIC_P521_MAGIC: ::ULONG = 0x354B4345; +pub const BCRYPT_ECDH_PRIVATE_P521_MAGIC: ::ULONG = 0x364B4345; +pub const BCRYPT_ECDSA_PUBLIC_P256_MAGIC: ::ULONG = 0x31534345; +pub const BCRYPT_ECDSA_PRIVATE_P256_MAGIC: ::ULONG = 0x32534345; +pub const BCRYPT_ECDSA_PUBLIC_P384_MAGIC: ::ULONG = 0x33534345; +pub const BCRYPT_ECDSA_PRIVATE_P384_MAGIC: ::ULONG = 0x34534345; +pub const BCRYPT_ECDSA_PUBLIC_P521_MAGIC: ::ULONG = 0x35534345; +pub const BCRYPT_ECDSA_PRIVATE_P521_MAGIC: ::ULONG = 0x36534345; +STRUCT!{struct BCRYPT_ECCKEY_BLOB { + dwMagic: ::ULONG, + cbKey: ::ULONG, +}} +pub type PBCRYPT_ECCKEY_BLOB = *mut BCRYPT_ECCKEY_BLOB; +pub const BCRYPT_DH_PUBLIC_MAGIC: ::ULONG = 0x42504844; +pub const BCRYPT_DH_PRIVATE_MAGIC: ::ULONG = 0x56504844; +STRUCT!{struct BCRYPT_DH_KEY_BLOB { + dwMagic: ::ULONG, + cbKey: ::ULONG, +}} +pub type PBCRYPT_DH_KEY_BLOB = *mut BCRYPT_DH_KEY_BLOB; +pub const BCRYPT_DH_PARAMETERS_MAGIC: ::ULONG = 0x4d504844; +STRUCT!{struct BCRYPT_DH_PARAMETER_HEADER { + cbLength: ::ULONG, + dwMagic: ::ULONG, + cbKeyLength: ::ULONG, +}} +pub const BCRYPT_DSA_PUBLIC_MAGIC: ::ULONG = 0x42505344; +pub const BCRYPT_DSA_PRIVATE_MAGIC: ::ULONG = 0x56505344; +pub const BCRYPT_DSA_PUBLIC_MAGIC_V2: ::ULONG = 0x32425044; +pub const BCRYPT_DSA_PRIVATE_MAGIC_V2: ::ULONG = 0x32565044; +STRUCT!{struct BCRYPT_DSA_KEY_BLOB { + dwMagic: ::ULONG, + cbKey: ::ULONG, + Count: [::UCHAR; 4], + Seed: [::UCHAR; 20], + q: [::UCHAR; 20], +}} +pub type PBCRYPT_DSA_KEY_BLOB = *mut BCRYPT_DSA_KEY_BLOB; +ENUM!{enum HASHALGORITHM_ENUM { + DSA_HASH_ALGORITHM_SHA1, + DSA_HASH_ALGORITHM_SHA256, + DSA_HASH_ALGORITHM_SHA512, +}} +ENUM!{enum DSAFIPSVERSION_ENUM { + DSA_FIPS186_2, + DSA_FIPS186_3, +}} +STRUCT!{struct BCRYPT_DSA_KEY_BLOB_V2 { + dwMagic: ::ULONG, + cbKey: ::ULONG, + hashAlgorithm: HASHALGORITHM_ENUM, + standardVersion: DSAFIPSVERSION_ENUM, + cbSeedLength: ::ULONG, + cbGroupSize: ::ULONG, + Count: [::UCHAR; 4], +}} +pub type PBCRYPT_DSA_KEY_BLOB_V2 = *mut BCRYPT_DSA_KEY_BLOB_V2; +STRUCT!{struct BCRYPT_KEY_DATA_BLOB_HEADER { + dwMagic: ::ULONG, + dwVersion: ::ULONG, + cbKeyData: ::ULONG, +}} +pub type PBCRYPT_KEY_DATA_BLOB_HEADER = *mut BCRYPT_KEY_DATA_BLOB_HEADER; +pub const BCRYPT_KEY_DATA_BLOB_MAGIC: ::ULONG = 0x4d42444b; +pub const BCRYPT_KEY_DATA_BLOB_VERSION1: ::ULONG = 0x1; +pub const BCRYPT_DSA_PARAMETERS_MAGIC: ::ULONG = 0x4d505344; +pub const BCRYPT_DSA_PARAMETERS_MAGIC_V2: ::ULONG = 0x324d5044; +STRUCT!{struct BCRYPT_DSA_PARAMETER_HEADER { + cbLength: ::ULONG, + dwMagic: ::ULONG, + cbKeyLength: ::ULONG, + Count: [::UCHAR; 4], + Seed: [::UCHAR; 20], + q: [::UCHAR; 20], +}} +STRUCT!{struct BCRYPT_DSA_PARAMETER_HEADER_V2 { + cbLength: ::ULONG, + dwMagic: ::ULONG, + cbKeyLength: ::ULONG, + hashAlgorithm: HASHALGORITHM_ENUM, + standardVersion: DSAFIPSVERSION_ENUM, + cbSeedLength: ::ULONG, + cbGroupSize: ::ULONG, + Count: [::UCHAR; 4], +}} +ENUM!{enum BCRYPT_HASH_OPERATION_TYPE { + BCRYPT_HASH_OPERATION_HASH_DATA = 1, + BCRYPT_HASH_OPERATION_FINISH_HASH = 2, +}} +STRUCT!{struct BCRYPT_MULTI_HASH_OPERATION { + iHash: ::ULONG, + hashOperation: BCRYPT_HASH_OPERATION_TYPE, + pbBuffer: ::PUCHAR, + cbBuffer: ::ULONG, +}} +ENUM!{enum BCRYPT_MULTI_OPERATION_TYPE { + BCRYPT_OPERATION_TYPE_HASH = 1, +}} +STRUCT!{struct BCRYPT_MULTI_OBJECT_LENGTH_STRUCT { + cbPerObject: ::ULONG, + cbPerElement: ::ULONG, +}} +pub const BCRYPT_CIPHER_INTERFACE: ::ULONG = 0x00000001; +pub const BCRYPT_HASH_INTERFACE: ::ULONG = 0x00000002; +pub const BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE: ::ULONG = 0x00000003; +pub const BCRYPT_SECRET_AGREEMENT_INTERFACE: ::ULONG = 0x00000004; +pub const BCRYPT_SIGNATURE_INTERFACE: ::ULONG = 0x00000005; +pub const BCRYPT_RNG_INTERFACE: ::ULONG = 0x00000006; +pub const BCRYPT_KEY_DERIVATION_INTERFACE: ::ULONG = 0x00000007; +pub const BCRYPT_ALG_HANDLE_HMAC_FLAG: ::ULONG = 0x00000008; +pub const BCRYPT_CAPI_AES_FLAG: ::ULONG = 0x00000010; +pub const BCRYPT_HASH_REUSABLE_FLAG: ::ULONG = 0x00000020; +pub const BCRYPT_BUFFERS_LOCKED_FLAG: ::ULONG = 0x00000040; +pub const BCRYPT_EXTENDED_KEYSIZE: ::ULONG = 0x00000080; +pub const BCRYPT_CIPHER_OPERATION: ::ULONG = 0x00000001; +pub const BCRYPT_HASH_OPERATION: ::ULONG = 0x00000002; +pub const BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION: ::ULONG = 0x00000004; +pub const BCRYPT_SECRET_AGREEMENT_OPERATION: ::ULONG = 0x00000008; +pub const BCRYPT_SIGNATURE_OPERATION: ::ULONG = 0x00000010; +pub const BCRYPT_RNG_OPERATION: ::ULONG = 0x00000020; +pub const BCRYPT_KEY_DERIVATION_OPERATION: ::ULONG = 0x00000040; +STRUCT!{struct BCRYPT_ALGORITHM_IDENTIFIER { + pszName: ::LPWSTR, + dwClass: ::ULONG, + dwFlags: ::ULONG, +}} +STRUCT!{struct BCRYPT_PROVIDER_NAME { + pszProviderName: ::LPWSTR, +}} +pub const BCRYPT_PUBLIC_KEY_FLAG: ::ULONG = 0x00000001; +pub const BCRYPT_PRIVATE_KEY_FLAG: ::ULONG = 0x00000002; +pub const BCRYPT_RNG_USE_ENTROPY_IN_BUFFER: ::ULONG = 0x00000001; +pub const BCRYPT_USE_SYSTEM_PREFERRED_RNG: ::ULONG = 0x00000002; +STRUCT!{struct BCRYPT_INTERFACE_VERSION { + MajorVersion: ::USHORT, + MinorVersion: ::USHORT, +}} +pub type PBCRYPT_INTERFACE_VERSION = *mut BCRYPT_INTERFACE_VERSION; +pub const BCRYPT_CIPHER_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = + BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); +pub const BCRYPT_HASH_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = + BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); +pub const BCRYPT_HASH_INTERFACE_MAJORVERSION_2: ::USHORT = 2; +pub const BCRYPT_HASH_INTERFACE_VERSION_2: BCRYPT_INTERFACE_VERSION = + BCRYPT_MAKE_INTERFACE_VERSION!(BCRYPT_HASH_INTERFACE_MAJORVERSION_2, 0); +pub const BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = + BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); +pub const BCRYPT_SECRET_AGREEMENT_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = + BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); +pub const BCRYPT_SIGNATURE_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = + BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); +pub const BCRYPT_RNG_INTERFACE_VERSION_1: BCRYPT_INTERFACE_VERSION = + BCRYPT_MAKE_INTERFACE_VERSION!(1, 0); +pub const CRYPT_MIN_DEPENDENCIES: ::ULONG = 0x00000001; +pub const CRYPT_PROCESS_ISOLATE: ::ULONG = 0x00010000; +pub const CRYPT_UM: ::ULONG = 0x00000001; +pub const CRYPT_KM: ::ULONG = 0x00000002; +pub const CRYPT_MM: ::ULONG = 0x00000003; +pub const CRYPT_ANY: ::ULONG = 0x00000004; +pub const CRYPT_OVERWRITE: ::ULONG = 0x00000001; +pub const CRYPT_LOCAL: ::ULONG = 0x00000001; +pub const CRYPT_DOMAIN: ::ULONG = 0x00000002; +pub const CRYPT_EXCLUSIVE: ::ULONG = 0x00000001; +pub const CRYPT_OVERRIDE: ::ULONG = 0x00010000; +pub const CRYPT_ALL_FUNCTIONS: ::ULONG = 0x00000001; +pub const CRYPT_ALL_PROVIDERS: ::ULONG = 0x00000002; +pub const CRYPT_PRIORITY_TOP: ::ULONG = 0x00000000; +pub const CRYPT_PRIORITY_BOTTOM: ::ULONG = 0xFFFFFFFF; +STRUCT!{struct CRYPT_INTERFACE_REG { + dwInterface: ::ULONG, + dwFlags: ::ULONG, + cFunctions: ::ULONG, + rgpszFunctions: *mut ::PWSTR, +}} +pub type PCRYPT_INTERFACE_REG = *mut CRYPT_INTERFACE_REG; +STRUCT!{struct CRYPT_IMAGE_REG { + pszImage: ::PWSTR, + cInterfaces: ::ULONG, + rgpInterfaces: *mut PCRYPT_INTERFACE_REG, +}} +pub type PCRYPT_IMAGE_REG = *mut CRYPT_IMAGE_REG; +STRUCT!{struct CRYPT_PROVIDER_REG { + cAliases: ::ULONG, + rgpszAliases: *mut ::PWSTR, + pUM: PCRYPT_IMAGE_REG, + pKM: PCRYPT_IMAGE_REG, +}} +pub type PCRYPT_PROVIDER_REG = *mut CRYPT_PROVIDER_REG; +STRUCT!{struct CRYPT_PROVIDERS { + cProviders: ::ULONG, + rgpszProviders: *mut ::PWSTR, +}} +pub type PCRYPT_PROVIDERS = *mut CRYPT_PROVIDERS; +STRUCT!{struct CRYPT_CONTEXT_CONFIG { + dwFlags: ::ULONG, + dwReserved: ::ULONG, +}} +pub type PCRYPT_CONTEXT_CONFIG = *mut CRYPT_CONTEXT_CONFIG; +STRUCT!{struct CRYPT_CONTEXT_FUNCTION_CONFIG { + dwFlags: ::ULONG, + dwReserved: ::ULONG, +}} +pub type PCRYPT_CONTEXT_FUNCTION_CONFIG = *mut CRYPT_CONTEXT_FUNCTION_CONFIG; +STRUCT!{struct CRYPT_CONTEXTS { + cContexts: ::ULONG, + rgpszContexts: *mut ::PWSTR, +}} +pub type PCRYPT_CONTEXTS = *mut CRYPT_CONTEXTS; +STRUCT!{struct CRYPT_CONTEXT_FUNCTIONS { + cFunctions: ::ULONG, + rgpszFunctions: *mut ::PWSTR, +}} +pub type PCRYPT_CONTEXT_FUNCTIONS = *mut CRYPT_CONTEXT_FUNCTIONS; +STRUCT!{struct CRYPT_CONTEXT_FUNCTION_PROVIDERS { + cProviders: ::ULONG, + rgpszProviders: *mut ::PWSTR, +}} +pub type PCRYPT_CONTEXT_FUNCTION_PROVIDERS = *mut CRYPT_CONTEXT_FUNCTION_PROVIDERS; +STRUCT!{struct CRYPT_PROPERTY_REF { + pszProperty: ::PWSTR, + cbValue: ::ULONG, + pbValue: ::PUCHAR, +}} +pub type PCRYPT_PROPERTY_REF = *mut CRYPT_PROPERTY_REF; +STRUCT!{struct CRYPT_IMAGE_REF { + pszImage: ::PWSTR, + dwFlags: ::ULONG, +}} +pub type PCRYPT_IMAGE_REF = *mut CRYPT_IMAGE_REF; +STRUCT!{struct CRYPT_PROVIDER_REF { + dwInterface: ::ULONG, + pszFunction: ::PWSTR, + pszProvider: ::PWSTR, + cProperties: ::ULONG, + rgpProperties: *mut PCRYPT_PROPERTY_REF, + pUM: PCRYPT_IMAGE_REF, + pKM: PCRYPT_IMAGE_REF, +}} +pub type PCRYPT_PROVIDER_REF = *mut CRYPT_PROVIDER_REF; +STRUCT!{struct CRYPT_PROVIDER_REFS { + cProviders: ::ULONG, + rgpProviders: *mut PCRYPT_PROVIDER_REF, +}} +pub type PCRYPT_PROVIDER_REFS = *mut CRYPT_PROVIDER_REFS; diff --git a/third_party/rust/winapi-0.2.8/src/cfg.rs b/third_party/rust/winapi-0.2.8/src/cfg.rs new file mode 100644 index 0000000000..0720d32472 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/cfg.rs @@ -0,0 +1,134 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! common Configuration Manager definitions for both user mode and kernel mode code +ENUM!{enum PNP_VETO_TYPE { + PNP_VetoTypeUnknown, + PNP_VetoLegacyDevice, + PNP_VetoPendingClose, + PNP_VetoWindowsApp, + PNP_VetoWindowsService, + PNP_VetoOutstandingOpen, + PNP_VetoDevice, + PNP_VetoDriver, + PNP_VetoIllegalDeviceRequest, + PNP_VetoInsufficientPower, + PNP_VetoNonDisableable, + PNP_VetoLegacyDriver, + PNP_VetoInsufficientRights, +}} +pub type PPNP_VETO_TYPE = *mut PNP_VETO_TYPE; +pub const CM_PROB_NOT_CONFIGURED: ::CONFIGRET = 0x00000001; +pub const CM_PROB_DEVLOADER_FAILED: ::CONFIGRET = 0x00000002; +pub const CM_PROB_OUT_OF_MEMORY: ::CONFIGRET = 0x00000003; +pub const CM_PROB_ENTRY_IS_WRONG_TYPE: ::CONFIGRET = 0x00000004; +pub const CM_PROB_LACKED_ARBITRATOR: ::CONFIGRET = 0x00000005; +pub const CM_PROB_BOOT_CONFIG_CONFLICT: ::CONFIGRET = 0x00000006; +pub const CM_PROB_FAILED_FILTER: ::CONFIGRET = 0x00000007; +pub const CM_PROB_DEVLOADER_NOT_FOUND: ::CONFIGRET = 0x00000008; +pub const CM_PROB_INVALID_DATA: ::CONFIGRET = 0x00000009; +pub const CM_PROB_FAILED_START: ::CONFIGRET = 0x0000000A; +pub const CM_PROB_LIAR: ::CONFIGRET = 0x0000000B; +pub const CM_PROB_NORMAL_CONFLICT: ::CONFIGRET = 0x0000000C; +pub const CM_PROB_NOT_VERIFIED: ::CONFIGRET = 0x0000000D; +pub const CM_PROB_NEED_RESTART: ::CONFIGRET = 0x0000000E; +pub const CM_PROB_REENUMERATION: ::CONFIGRET = 0x0000000F; +pub const CM_PROB_PARTIAL_LOG_CONF: ::CONFIGRET = 0x00000010; +pub const CM_PROB_UNKNOWN_RESOURCE: ::CONFIGRET = 0x00000011; +pub const CM_PROB_REINSTALL: ::CONFIGRET = 0x00000012; +pub const CM_PROB_REGISTRY: ::CONFIGRET = 0x00000013; +pub const CM_PROB_VXDLDR: ::CONFIGRET = 0x00000014; +pub const CM_PROB_WILL_BE_REMOVED: ::CONFIGRET = 0x00000015; +pub const CM_PROB_DISABLED: ::CONFIGRET = 0x00000016; +pub const CM_PROB_DEVLOADER_NOT_READY: ::CONFIGRET = 0x00000017; +pub const CM_PROB_DEVICE_NOT_THERE: ::CONFIGRET = 0x00000018; +pub const CM_PROB_MOVED: ::CONFIGRET = 0x00000019; +pub const CM_PROB_TOO_EARLY: ::CONFIGRET = 0x0000001A; +pub const CM_PROB_NO_VALID_LOG_CONF: ::CONFIGRET = 0x0000001B; +pub const CM_PROB_FAILED_INSTALL: ::CONFIGRET = 0x0000001C; +pub const CM_PROB_HARDWARE_DISABLED: ::CONFIGRET = 0x0000001D; +pub const CM_PROB_CANT_SHARE_IRQ: ::CONFIGRET = 0x0000001E; +pub const CM_PROB_FAILED_ADD: ::CONFIGRET = 0x0000001F; +pub const CM_PROB_DISABLED_SERVICE: ::CONFIGRET = 0x00000020; +pub const CM_PROB_TRANSLATION_FAILED: ::CONFIGRET = 0x00000021; +pub const CM_PROB_NO_SOFTCONFIG: ::CONFIGRET = 0x00000022; +pub const CM_PROB_BIOS_TABLE: ::CONFIGRET = 0x00000023; +pub const CM_PROB_IRQ_TRANSLATION_FAILED: ::CONFIGRET = 0x00000024; +pub const CM_PROB_FAILED_DRIVER_ENTRY: ::CONFIGRET = 0x00000025; +pub const CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD: ::CONFIGRET = 0x00000026; +pub const CM_PROB_DRIVER_FAILED_LOAD: ::CONFIGRET = 0x00000027; +pub const CM_PROB_DRIVER_SERVICE_KEY_INVALID: ::CONFIGRET = 0x00000028; +pub const CM_PROB_LEGACY_SERVICE_NO_DEVICES: ::CONFIGRET = 0x00000029; +pub const CM_PROB_DUPLICATE_DEVICE: ::CONFIGRET = 0x0000002A; +pub const CM_PROB_FAILED_POST_START: ::CONFIGRET = 0x0000002B; +pub const CM_PROB_HALTED: ::CONFIGRET = 0x0000002C; +pub const CM_PROB_PHANTOM: ::CONFIGRET = 0x0000002D; +pub const CM_PROB_SYSTEM_SHUTDOWN: ::CONFIGRET = 0x0000002E; +pub const CM_PROB_HELD_FOR_EJECT: ::CONFIGRET = 0x0000002F; +pub const CM_PROB_DRIVER_BLOCKED: ::CONFIGRET = 0x00000030; +pub const CM_PROB_REGISTRY_TOO_LARGE: ::CONFIGRET = 0x00000031; +pub const CM_PROB_SETPROPERTIES_FAILED: ::CONFIGRET = 0x00000032; +pub const CM_PROB_WAITING_ON_DEPENDENCY: ::CONFIGRET = 0x00000033; +pub const CM_PROB_UNSIGNED_DRIVER: ::CONFIGRET = 0x00000034; +pub const CM_PROB_USED_BY_DEBUGGER: ::CONFIGRET = 0x00000035; +pub const NUM_CM_PROB_V1: ::CONFIGRET = 0x00000025; +pub const NUM_CM_PROB_V2: ::CONFIGRET = 0x00000032; +pub const NUM_CM_PROB_V3: ::CONFIGRET = 0x00000033; +pub const NUM_CM_PROB_V4: ::CONFIGRET = 0x00000034; +pub const NUM_CM_PROB_V5: ::CONFIGRET = 0x00000035; +pub const NUM_CM_PROB_V6: ::CONFIGRET = 0x00000036; +pub const DN_ROOT_ENUMERATED: ::CONFIGRET = 0x00000001; +pub const DN_DRIVER_LOADED: ::CONFIGRET = 0x00000002; +pub const DN_ENUM_LOADED: ::CONFIGRET = 0x00000004; +pub const DN_STARTED: ::CONFIGRET = 0x00000008; +pub const DN_MANUAL: ::CONFIGRET = 0x00000010; +pub const DN_NEED_TO_ENUM: ::CONFIGRET = 0x00000020; +pub const DN_NOT_FIRST_TIME: ::CONFIGRET = 0x00000040; +pub const DN_HARDWARE_ENUM: ::CONFIGRET = 0x00000080; +pub const DN_LIAR: ::CONFIGRET = 0x00000100; +pub const DN_HAS_MARK: ::CONFIGRET = 0x00000200; +pub const DN_HAS_PROBLEM: ::CONFIGRET = 0x00000400; +pub const DN_FILTERED: ::CONFIGRET = 0x00000800; +pub const DN_MOVED: ::CONFIGRET = 0x00001000; +pub const DN_DISABLEABLE: ::CONFIGRET = 0x00002000; +pub const DN_REMOVABLE: ::CONFIGRET = 0x00004000; +pub const DN_PRIVATE_PROBLEM: ::CONFIGRET = 0x00008000; +pub const DN_MF_PARENT: ::CONFIGRET = 0x00010000; +pub const DN_MF_CHILD: ::CONFIGRET = 0x00020000; +pub const DN_WILL_BE_REMOVED: ::CONFIGRET = 0x00040000; +pub const DN_NOT_FIRST_TIMEE: ::CONFIGRET = 0x00080000; +pub const DN_STOP_FREE_RES: ::CONFIGRET = 0x00100000; +pub const DN_REBAL_CANDIDATE: ::CONFIGRET = 0x00200000; +pub const DN_BAD_PARTIAL: ::CONFIGRET = 0x00400000; +pub const DN_NT_ENUMERATOR: ::CONFIGRET = 0x00800000; +pub const DN_NT_DRIVER: ::CONFIGRET = 0x01000000; +pub const DN_NEEDS_LOCKING: ::CONFIGRET = 0x02000000; +pub const DN_ARM_WAKEUP: ::CONFIGRET = 0x04000000; +pub const DN_APM_ENUMERATOR: ::CONFIGRET = 0x08000000; +pub const DN_APM_DRIVER: ::CONFIGRET = 0x10000000; +pub const DN_SILENT_INSTALL: ::CONFIGRET = 0x20000000; +pub const DN_NO_SHOW_IN_DM: ::CONFIGRET = 0x40000000; +pub const DN_BOOT_LOG_PROB: ::CONFIGRET = 0x80000000; +pub const DN_NEED_RESTART: ::CONFIGRET = DN_LIAR; +pub const DN_DRIVER_BLOCKED: ::CONFIGRET = DN_NOT_FIRST_TIME; +pub const DN_LEGACY_DRIVER: ::CONFIGRET = DN_MOVED; +pub const DN_CHILD_WITH_INVALID_ID: ::CONFIGRET = DN_HAS_MARK; +pub const DN_DEVICE_DISCONNECTED: ::CONFIGRET = DN_NEEDS_LOCKING; +pub const DN_CHANGEABLE_FLAGS: ::CONFIGRET = DN_NOT_FIRST_TIME + DN_HARDWARE_ENUM + DN_HAS_MARK + + DN_DISABLEABLE + DN_REMOVABLE + DN_MF_CHILD + DN_MF_PARENT + DN_NOT_FIRST_TIMEE + + DN_STOP_FREE_RES + DN_REBAL_CANDIDATE + DN_NT_ENUMERATOR + DN_NT_DRIVER + DN_SILENT_INSTALL + + DN_NO_SHOW_IN_DM; +pub const LCPRI_FORCECONFIG: ::PRIORITY = 0x00000000; +pub const LCPRI_BOOTCONFIG: ::PRIORITY = 0x00000001; +pub const LCPRI_DESIRED: ::PRIORITY = 0x00002000; +pub const LCPRI_NORMAL: ::PRIORITY = 0x00003000; +pub const LCPRI_LASTBESTCONFIG: ::PRIORITY = 0x00003FFF; +pub const LCPRI_SUBOPTIMAL: ::PRIORITY = 0x00005000; +pub const LCPRI_LASTSOFTCONFIG: ::PRIORITY = 0x00007FFF; +pub const LCPRI_RESTART: ::PRIORITY = 0x00008000; +pub const LCPRI_REBOOT: ::PRIORITY = 0x00009000; +pub const LCPRI_POWEROFF: ::PRIORITY = 0x0000A000; +pub const LCPRI_HARDRECONFIG: ::PRIORITY = 0x0000C000; +pub const LCPRI_HARDWIRED: ::PRIORITY = 0x0000E000; +pub const LCPRI_IMPOSSIBLE: ::PRIORITY = 0x0000F000; +pub const LCPRI_DISABLED: ::PRIORITY = 0x0000FFFF; +pub const MAX_LCPRI: ::PRIORITY = 0x0000FFFF; diff --git a/third_party/rust/winapi-0.2.8/src/cfgmgr32.rs b/third_party/rust/winapi-0.2.8/src/cfgmgr32.rs new file mode 100644 index 0000000000..0305f1bd7f --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/cfgmgr32.rs @@ -0,0 +1,758 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! user APIs for the Configuration Manager +pub type PCVOID = *const ::VOID; +pub const MAX_DEVICE_ID_LEN: usize = 200; +pub const MAX_DEVNODE_ID_LEN: usize = MAX_DEVICE_ID_LEN; +pub const MAX_GUID_STRING_LEN: usize = 39; +pub const MAX_CLASS_NAME_LEN: usize = 32; +pub const MAX_PROFILE_LEN: usize = 80; +pub const MAX_CONFIG_VALUE: ::DWORD = 9999; +pub const MAX_INSTANCE_VALUE: ::DWORD = 9999; +pub const MAX_MEM_REGISTERS: ::DWORD = 9; +pub const MAX_IO_PORTS: ::DWORD = 20; +pub const MAX_IRQS: ::DWORD = 7; +pub const MAX_DMA_CHANNELS: ::DWORD = 7; +pub const DWORD_MAX: ::DWORD = 0xffffffff; +pub const DWORDLONG_MAX: ::DWORDLONG = 0xffffffffffffffff; +pub const CONFIGMG_VERSION: ::DWORD = 0x0400; +pub type RETURN_TYPE = ::DWORD; +pub type CONFIGRET = RETURN_TYPE; +pub type DEVNODE = ::DWORD; +pub type DEVINST = ::DWORD; +pub type PDEVNODE = *mut DEVNODE; +pub type PDEVINST = *mut DEVNODE; +pub type DEVNODEID_A = *mut ::CHAR; +pub type DEVINSTID_A = *mut ::CHAR; +pub type DEVNODEID_W = *mut ::WCHAR; +pub type DEVINSTID_W = *mut ::WCHAR; +pub type LOG_CONF = ::DWORD_PTR; +pub type PLOG_CONF = *mut LOG_CONF; +pub type RES_DES = ::DWORD_PTR; +pub type PRES_DES = *mut RES_DES; +pub type RESOURCEID = ::ULONG; +pub type PRESOURCEID = *mut RESOURCEID; +pub type PRIORITY = ::ULONG; +pub type PPRIORITY = *mut PRIORITY; +pub type RANGE_LIST = ::DWORD_PTR; +pub type PRANGE_LIST = *mut RANGE_LIST; +pub type RANGE_ELEMENT = ::DWORD_PTR; +pub type PRANGE_ELEMENT = *mut RANGE_ELEMENT; +pub type HMACHINE = ::HANDLE; +pub type PHMACHINE = *mut HMACHINE; +pub type CONFLICT_LIST = ::ULONG_PTR; +pub type PCONFLICT_LIST = *mut CONFLICT_LIST; +STRUCT!{nodebug struct CONFLICT_DETAILS_A { + CD_ulSize: ::ULONG, + CD_ulMask: ::ULONG, + CD_dnDevInst: DEVINST, + CD_rdResDes: RES_DES, + CD_ulFlags: ::ULONG, + CD_szDescription: [::CHAR; ::MAX_PATH], +}} +pub type PCONFLICT_DETAILS_A = *mut CONFLICT_DETAILS_A; +STRUCT!{nodebug struct CONFLICT_DETAILS_W { + CD_ulSize: ::ULONG, + CD_ulMask: ::ULONG, + CD_dnDevInst: DEVINST, + CD_rdResDes: RES_DES, + CD_ulFlags: ::ULONG, + CD_szDescription: [::WCHAR; ::MAX_PATH], +}} +pub type PCONFLICT_DETAILS_W = *mut CONFLICT_DETAILS_W; +pub const CM_CDMASK_DEVINST: ::ULONG = 0x00000001; +pub const CM_CDMASK_RESDES: ::ULONG = 0x00000002; +pub const CM_CDMASK_FLAGS: ::ULONG = 0x00000004; +pub const CM_CDMASK_DESCRIPTION: ::ULONG = 0x00000008; +pub const CM_CDMASK_VALID: ::ULONG = 0x0000000F; +pub const CM_CDFLAGS_DRIVER: ::ULONG = 0x00000001; +pub const CM_CDFLAGS_ROOT_OWNED: ::ULONG = 0x00000002; +pub const CM_CDFLAGS_RESERVED: ::ULONG = 0x00000004; +pub type REGDISPOSITION = ::ULONG; +pub const mMD_MemoryType: ::DWORD = 0x1; +pub const fMD_MemoryType: ::DWORD = mMD_MemoryType; +pub const fMD_ROM: ::DWORD = 0x0; +pub const fMD_RAM: ::DWORD = 0x1; +pub const mMD_32_24: ::DWORD = 0x2; +pub const fMD_32_24: ::DWORD = mMD_32_24; +pub const fMD_24: ::DWORD = 0x0; +pub const fMD_32: ::DWORD = 0x2; +pub const mMD_Prefetchable: ::DWORD = 0x4; +pub const fMD_Prefetchable: ::DWORD = mMD_Prefetchable; +pub const fMD_Pref: ::DWORD = mMD_Prefetchable; +pub const fMD_PrefetchDisallowed: ::DWORD = 0x0; +pub const fMD_PrefetchAllowed: ::DWORD = 0x4; +pub const mMD_Readable: ::DWORD = 0x8; +pub const fMD_Readable: ::DWORD = mMD_Readable; +pub const fMD_ReadAllowed: ::DWORD = 0x0; +pub const fMD_ReadDisallowed: ::DWORD = 0x8; +pub const mMD_CombinedWrite: ::DWORD = 0x10; +pub const fMD_CombinedWrite: ::DWORD = mMD_CombinedWrite; +pub const fMD_CombinedWriteDisallowed: ::DWORD = 0x0; +pub const fMD_CombinedWriteAllowed: ::DWORD = 0x10; +pub const mMD_Cacheable: ::DWORD = 0x20; +pub const fMD_NonCacheable: ::DWORD = 0x0; +pub const fMD_Cacheable: ::DWORD = 0x20; +pub const fMD_WINDOW_DECODE: ::DWORD = 0x40; +pub const fMD_MEMORY_BAR: ::DWORD = 0x80; +STRUCT!{struct MEM_RANGE { + MR_Align: ::DWORDLONG, + MR_nBytes: ::ULONG, + MR_Min: ::DWORDLONG, + MR_Max: ::DWORDLONG, + MR_Flags: ::DWORD, + MR_Reserved: ::DWORD, +}} +pub type PMEM_RANGE = *mut MEM_RANGE; +STRUCT!{struct MEM_DES { + MD_Count: ::DWORD, + MD_Type: ::DWORD, + MD_Alloc_Base: ::DWORDLONG, + MD_Alloc_End: ::DWORDLONG, + MD_Flags: ::DWORD, + MD_Reserved: ::DWORD, +}} +pub type PMEM_DES = *mut MEM_DES; +STRUCT!{struct MEM_RESOURCE { + MEM_Header: MEM_DES, + MEM_Data: [MEM_RANGE; ::ANYSIZE_ARRAY], +}} +pub type PMEM_RESOURCE = *mut MEM_RESOURCE; +STRUCT!{struct MEM_LARGE_RANGE { + MLR_Align: ::DWORDLONG, + MLR_nBytes: ::ULONGLONG, + MLR_Min: ::DWORDLONG, + MLR_Max: ::DWORDLONG, + MLR_Flags: ::DWORD, + MLR_Reserved: ::DWORD, +}} +pub type PMEM_LARGE_RANGE = *mut MEM_LARGE_RANGE; +STRUCT!{struct MEM_LARGE_DES { + MLD_Count: ::DWORD, + MLD_Type: ::DWORD, + MLD_Alloc_Base: ::DWORDLONG, + MLD_Alloc_End: ::DWORDLONG, + MLD_Flags: ::DWORD, + MLD_Reserved: ::DWORD, +}} +pub type PMEM_LARGE_DES = *mut MEM_LARGE_DES; +STRUCT!{struct MEM_LARGE_RESOURCE { + MEM_LARGE_Header: MEM_LARGE_DES, + MEM_LARGE_Data: [MEM_LARGE_RANGE; ::ANYSIZE_ARRAY], +}} +pub type PMEM_LARGE_RESOURCE = *mut MEM_LARGE_RESOURCE; +pub const fIOD_PortType: ::DWORD = 0x1; +pub const fIOD_Memory: ::DWORD = 0x0; +pub const fIOD_IO: ::DWORD = 0x1; +pub const fIOD_DECODE: ::DWORD = 0x00fc; +pub const fIOD_10_BIT_DECODE: ::DWORD = 0x0004; +pub const fIOD_12_BIT_DECODE: ::DWORD = 0x0008; +pub const fIOD_16_BIT_DECODE: ::DWORD = 0x0010; +pub const fIOD_POSITIVE_DECODE: ::DWORD = 0x0020; +pub const fIOD_PASSIVE_DECODE: ::DWORD = 0x0040; +pub const fIOD_WINDOW_DECODE: ::DWORD = 0x0080; +pub const fIOD_PORT_BAR: ::DWORD = 0x0100; +pub const IO_ALIAS_10_BIT_DECODE: ::DWORDLONG = 0x00000004; +pub const IO_ALIAS_12_BIT_DECODE: ::DWORDLONG = 0x00000010; +pub const IO_ALIAS_16_BIT_DECODE: ::DWORDLONG = 0x00000000; +pub const IO_ALIAS_POSITIVE_DECODE: ::DWORDLONG = 0x000000FF; +STRUCT!{struct IO_RANGE { + IOR_Align: ::DWORDLONG, + IOR_nPorts: ::DWORD, + IOR_Min: ::DWORDLONG, + IOR_Max: ::DWORDLONG, + IOR_RangeFlags: ::DWORD, + IOR_Alias: ::DWORDLONG, +}} +pub type PIO_RANGE = *mut IO_RANGE; +STRUCT!{struct IO_DES { + IOD_Count: ::DWORD, + IOD_Type: ::DWORD, + IOD_Alloc_Base: ::DWORDLONG, + IOD_Alloc_End: ::DWORDLONG, + IOD_DesFlags: ::DWORD, +}} +pub type PIO_DES = *mut IO_DES; +STRUCT!{struct IO_RESOURCE { + IO_Header: IO_DES, + IO_Data: [IO_RANGE; ::ANYSIZE_ARRAY], +}} +pub type PIO_RESOURCE = *mut IO_RESOURCE; +pub const mDD_Width: ::ULONG = 0x3; +pub const fDD_BYTE: ::ULONG = 0x0; +pub const fDD_WORD: ::ULONG = 0x1; +pub const fDD_DWORD: ::ULONG = 0x2; +pub const fDD_BYTE_AND_WORD: ::ULONG = 0x3; +pub const mDD_BusMaster: ::ULONG = 0x4; +pub const fDD_NoBusMaster: ::ULONG = 0x0; +pub const fDD_BusMaster: ::ULONG = 0x4; +pub const mDD_Type: ::ULONG = 0x18; +pub const fDD_TypeStandard: ::ULONG = 0x00; +pub const fDD_TypeA: ::ULONG = 0x08; +pub const fDD_TypeB: ::ULONG = 0x10; +pub const fDD_TypeF: ::ULONG = 0x18; +STRUCT!{struct DMA_RANGE { + DR_Min: ::ULONG, + DR_Max: ::ULONG, + DR_Flags: ::ULONG, +}} +pub type PDMA_RANGE = *mut DMA_RANGE; +STRUCT!{struct DMA_DES { + DD_Count: ::DWORD, + DD_Type: ::DWORD, + DD_Flags: ::DWORD, + DD_Alloc_Chan: ::ULONG, +}} +pub type PDMA_DES = *mut DMA_DES; +STRUCT!{struct DMA_RESOURCE { + DMA_Header: DMA_DES, + DMA_Data: [DMA_RANGE; ::ANYSIZE_ARRAY], +}} +pub type PDMA_RESOURCE = *mut DMA_RESOURCE; +pub const mIRQD_Share: ::ULONG = 0x1; +pub const fIRQD_Exclusive: ::ULONG = 0x0; +pub const fIRQD_Share: ::ULONG = 0x1; +pub const fIRQD_Share_Bit: ::ULONG = 0; +pub const fIRQD_Level_Bit: ::ULONG = 1; +pub const mIRQD_Edge_Level: ::ULONG = 0x2; +pub const fIRQD_Level: ::ULONG = 0x0; +pub const fIRQD_Edge: ::ULONG = 0x2; +STRUCT!{struct IRQ_RANGE { + IRQR_Min: ::ULONG, + IRQR_Max: ::ULONG, + IRQR_Flags: ::ULONG, +}} +pub type PIRQ_RANGE = *mut IRQ_RANGE; +STRUCT!{struct IRQ_DES_32 { + IRQD_Count: ::DWORD, + IRQD_Type: ::DWORD, + IRQD_Flags: ::DWORD, + IRQD_Alloc_Num: ::ULONG, + IRQD_Affinity: ::ULONG32, +}} +pub type PIRQ_DES_32 = *mut IRQ_DES_32; +STRUCT!{struct IRQ_DES_64 { + IRQD_Count: ::DWORD, + IRQD_Type: ::DWORD, + IRQD_Flags: ::DWORD, + IRQD_Alloc_Num: ::ULONG, + IRQD_Affinity: ::ULONG64, +}} +pub type PIRQ_DES_64 = *mut IRQ_DES_64; +STRUCT!{struct IRQ_RESOURCE_32 { + IRQ_Header: IRQ_DES_32, + IRQ_Data: [IRQ_RANGE; ::ANYSIZE_ARRAY], +}} +pub type PIRQ_RESOURCE_32 = *mut IRQ_RESOURCE_32; +STRUCT!{struct IRQ_RESOURCE_64 { + IRQ_Header: IRQ_DES_64, + IRQ_Data: [IRQ_RANGE; ::ANYSIZE_ARRAY], +}} +pub type PIRQ_RESOURCE_64 = *mut IRQ_RESOURCE_64; +STRUCT!{struct DEVPRIVATE_RANGE { + PR_Data1: ::DWORD, + PR_Data2: ::DWORD, + PR_Data3: ::DWORD, +}} +pub type PDEVPRIVATE_RANGE = *mut DEVPRIVATE_RANGE; +STRUCT!{struct DEVPRIVATE_DES { + PD_Count: ::DWORD, + PD_Type: ::DWORD, + PD_Data1: ::DWORD, + PD_Data2: ::DWORD, + PD_Data3: ::DWORD, + PD_Flags: ::DWORD, +}} +pub type PDEVPRIVATE_DES = *mut DEVPRIVATE_DES; +STRUCT!{struct DEVPRIVATE_RESOURCE { + PRV_Header: DEVPRIVATE_DES, + PRV_Data: [DEVPRIVATE_RANGE; ::ANYSIZE_ARRAY], +}} +pub type PDEVPRIVATE_RESOURCE = *mut DEVPRIVATE_RESOURCE; +STRUCT!{struct CS_DES { + CSD_SignatureLength: ::DWORD, + CSD_LegacyDataOffset: ::DWORD, + CSD_LegacyDataSize: ::DWORD, + CSD_Flags: ::DWORD, + CSD_ClassGuid: ::GUID, + CSD_Signature: [::BYTE; ::ANYSIZE_ARRAY], +}} +pub type PCS_DES = *mut CS_DES; +STRUCT!{struct CS_RESOURCE { + CS_Header: CS_DES, +}} +pub type PCS_RESOURCE = *mut CS_RESOURCE; +pub const mPCD_IO_8_16: ::DWORD = 0x1; +pub const fPCD_IO_8: ::DWORD = 0x0; +pub const fPCD_IO_16: ::DWORD = 0x1; +pub const mPCD_MEM_8_16: ::DWORD = 0x2; +pub const fPCD_MEM_8: ::DWORD = 0x0; +pub const fPCD_MEM_16: ::DWORD = 0x2; +pub const mPCD_MEM_A_C: ::DWORD = 0xC; +pub const fPCD_MEM1_A: ::DWORD = 0x4; +pub const fPCD_MEM2_A: ::DWORD = 0x8; +pub const fPCD_IO_ZW_8: ::DWORD = 0x10; +pub const fPCD_IO_SRC_16: ::DWORD = 0x20; +pub const fPCD_IO_WS_16: ::DWORD = 0x40; +pub const mPCD_MEM_WS: ::DWORD = 0x300; +pub const fPCD_MEM_WS_ONE: ::DWORD = 0x100; +pub const fPCD_MEM_WS_TWO: ::DWORD = 0x200; +pub const fPCD_MEM_WS_THREE: ::DWORD = 0x300; +pub const fPCD_MEM_A: ::DWORD = 0x4; +pub const fPCD_ATTRIBUTES_PER_WINDOW: ::DWORD = 0x8000; +pub const fPCD_IO1_16: ::DWORD = 0x00010000; +pub const fPCD_IO1_ZW_8: ::DWORD = 0x00020000; +pub const fPCD_IO1_SRC_16: ::DWORD = 0x00040000; +pub const fPCD_IO1_WS_16: ::DWORD = 0x00080000; +pub const fPCD_IO2_16: ::DWORD = 0x00100000; +pub const fPCD_IO2_ZW_8: ::DWORD = 0x00200000; +pub const fPCD_IO2_SRC_16: ::DWORD = 0x00400000; +pub const fPCD_IO2_WS_16: ::DWORD = 0x00800000; +pub const mPCD_MEM1_WS: ::DWORD = 0x03000000; +pub const fPCD_MEM1_WS_TWO: ::DWORD = 0x02000000; +pub const fPCD_MEM1_WS_THREE: ::DWORD = 0x03000000; +pub const fPCD_MEM1_16: ::DWORD = 0x04000000; +pub const mPCD_MEM2_WS: ::DWORD = 0x30000000; +pub const fPCD_MEM2_WS_ONE: ::DWORD = 0x10000000; +pub const fPCD_MEM2_WS_TWO: ::DWORD = 0x20000000; +pub const fPCD_MEM2_WS_THREE: ::DWORD = 0x30000000; +pub const fPCD_MEM2_16: ::DWORD = 0x40000000; +pub const PCD_MAX_MEMORY: usize = 2; +pub const PCD_MAX_IO: usize = 2; +STRUCT!{struct PCCARD_DES { + PCD_Count: ::DWORD, + PCD_Type: ::DWORD, + PCD_Flags: ::DWORD, + PCD_ConfigIndex: ::BYTE, + PCD_Reserved: [::BYTE; 3], + PCD_MemoryCardBase1: ::DWORD, + PCD_MemoryCardBase2: ::DWORD, + PCD_MemoryCardBase: [::DWORD; PCD_MAX_MEMORY], + PCD_MemoryFlags: [::WORD; PCD_MAX_MEMORY], + PCD_IoFlags: [::BYTE; PCD_MAX_IO], +}} +pub type PPCCARD_DES = *mut PCCARD_DES; +STRUCT!{struct PCCARD_RESOURCE { + PcCard_Header: PCCARD_DES, +}} +pub type PPCCARD_RESOURCE = *mut PCCARD_RESOURCE; +pub const mPMF_AUDIO_ENABLE: ::DWORD = 0x8; +pub const fPMF_AUDIO_ENABLE: ::DWORD = 0x8; +STRUCT!{struct MFCARD_DES { + PMF_Count: ::DWORD, + PMF_Type: ::DWORD, + PMF_Flags: ::DWORD, + PMF_ConfigOptions: ::BYTE, + PMF_IoResourceIndex: ::BYTE, + PMF_Reserved: [::BYTE; 2], + PMF_ConfigRegisterBase: ::DWORD, +}} +pub type PMFCARD_DES = *mut MFCARD_DES; +STRUCT!{struct MFCARD_RESOURCE { + MfCard_Header: MFCARD_DES, +}} +pub type PMFCARD_RESOURCE = *mut MFCARD_RESOURCE; +STRUCT!{struct BUSNUMBER_RANGE { + BUSR_Min: ::ULONG, + BUSR_Max: ::ULONG, + BUSR_nBusNumbers: ::ULONG, + BUSR_Flags: ::ULONG, +}} +pub type PBUSNUMBER_RANGE = *mut BUSNUMBER_RANGE; +STRUCT!{struct BUSNUMBER_DES { + BUSD_Count: ::DWORD, + BUSD_Type: ::DWORD, + BUSD_Flags: ::DWORD, + BUSD_Alloc_Base: ::ULONG, + BUSD_Alloc_End: ::ULONG, +}} +pub type PBUSNUMBER_DES = *mut BUSNUMBER_DES; +STRUCT!{struct BUSNUMBER_RESOURCE { + BusNumber_Header: BUSNUMBER_DES, + BusNumber_Data: [BUSNUMBER_RANGE; ::ANYSIZE_ARRAY], +}} +pub type PBUSNUMBER_RESOURCE = *mut BUSNUMBER_RESOURCE; +STRUCT!{struct CONNECTION_DES { + COND_Type: ::DWORD, + COND_Flags: ::DWORD, + COND_Class: ::BYTE, + COND_ClassType: ::BYTE, + COND_Reserved1: ::BYTE, + COND_Reserved2: ::BYTE, + COND_Id: ::LARGE_INTEGER, +}} +pub type PCONNECTION_DES = *mut CONNECTION_DES; +STRUCT!{struct CONNECTION_RESOURCE { + Connection_Header: CONNECTION_DES, +}} +pub type PCONNECTION_RESOURCE = *mut CONNECTION_RESOURCE; +pub const CM_HWPI_NOT_DOCKABLE: ::DWORD = 0x00000000; +pub const CM_HWPI_UNDOCKED: ::DWORD = 0x00000001; +pub const CM_HWPI_DOCKED: ::DWORD = 0x00000002; +STRUCT!{nodebug struct HWPROFILEINFO_A { + HWPI_ulHWProfile: ::ULONG, + HWPI_szFriendlyName: [::CHAR; MAX_PROFILE_LEN], + HWPI_dwFlags: ::DWORD, +}} +pub type PHWPROFILEINFO_A = *mut HWPROFILEINFO_A; +STRUCT!{nodebug struct HWPROFILEINFO_W { + HWPI_ulHWProfile: ::ULONG, + HWPI_szFriendlyName: [::WCHAR; MAX_PROFILE_LEN], + HWPI_dwFlags: ::DWORD, +}} +pub type PHWPROFILEINFO_W = *mut HWPROFILEINFO_W; +pub const ResType_All: RESOURCEID = 0x00000000; +pub const ResType_None: RESOURCEID = 0x00000000; +pub const ResType_Mem: RESOURCEID = 0x00000001; +pub const ResType_IO: RESOURCEID = 0x00000002; +pub const ResType_DMA: RESOURCEID = 0x00000003; +pub const ResType_IRQ: RESOURCEID = 0x00000004; +pub const ResType_DoNotUse: RESOURCEID = 0x00000005; +pub const ResType_BusNumber: RESOURCEID = 0x00000006; +pub const ResType_MemLarge: RESOURCEID = 0x00000007; +pub const ResType_MAX: RESOURCEID = 0x00000007; +pub const ResType_Ignored_Bit: RESOURCEID = 0x00008000; +pub const ResType_ClassSpecific: RESOURCEID = 0x0000FFFF; +pub const ResType_Reserved: RESOURCEID = 0x00008000; +pub const ResType_DevicePrivate: RESOURCEID = 0x00008001; +pub const ResType_PcCardConfig: RESOURCEID = 0x00008002; +pub const ResType_MfCardConfig: RESOURCEID = 0x00008003; +pub const ResType_Connection: RESOURCEID = 0x00008004; +pub const CM_ADD_RANGE_ADDIFCONFLICT: ::ULONG = 0x00000000; +pub const CM_ADD_RANGE_DONOTADDIFCONFLICT: ::ULONG = 0x00000001; +pub const CM_ADD_RANGE_BITS: ::ULONG = 0x00000001; +pub const BASIC_LOG_CONF: ::ULONG = 0x00000000; +pub const FILTERED_LOG_CONF: ::ULONG = 0x00000001; +pub const ALLOC_LOG_CONF: ::ULONG = 0x00000002; +pub const BOOT_LOG_CONF: ::ULONG = 0x00000003; +pub const FORCED_LOG_CONF: ::ULONG = 0x00000004; +pub const OVERRIDE_LOG_CONF: ::ULONG = 0x00000005; +pub const NUM_LOG_CONF: ::ULONG = 0x00000006; +pub const LOG_CONF_BITS: ::ULONG = 0x00000007; +pub const PRIORITY_EQUAL_FIRST: ::ULONG = 0x00000008; +pub const PRIORITY_EQUAL_LAST: ::ULONG = 0x00000000; +pub const PRIORITY_BIT: ::ULONG = 0x00000008; +pub const RegDisposition_OpenAlways: REGDISPOSITION = 0x00000000; +pub const RegDisposition_OpenExisting: REGDISPOSITION = 0x00000001; +pub const RegDisposition_Bits: REGDISPOSITION = 0x00000001; +pub const CM_ADD_ID_HARDWARE: ::ULONG = 0x00000000; +pub const CM_ADD_ID_COMPATIBLE: ::ULONG = 0x00000001; +pub const CM_ADD_ID_BITS: ::ULONG = 0x00000001; +pub const CM_CREATE_DEVNODE_NORMAL: ::ULONG = 0x00000000; +pub const CM_CREATE_DEVNODE_NO_WAIT_INSTALL: ::ULONG = 0x00000001; +pub const CM_CREATE_DEVNODE_PHANTOM: ::ULONG = 0x00000002; +pub const CM_CREATE_DEVNODE_GENERATE_ID: ::ULONG = 0x00000004; +pub const CM_CREATE_DEVNODE_DO_NOT_INSTALL: ::ULONG = 0x00000008; +pub const CM_CREATE_DEVNODE_BITS: ::ULONG = 0x0000000F; +pub const CM_CREATE_DEVINST_NORMAL: ::ULONG = CM_CREATE_DEVNODE_NORMAL; +pub const CM_CREATE_DEVINST_NO_WAIT_INSTALL: ::ULONG = CM_CREATE_DEVNODE_NO_WAIT_INSTALL; +pub const CM_CREATE_DEVINST_PHANTOM: ::ULONG = CM_CREATE_DEVNODE_PHANTOM; +pub const CM_CREATE_DEVINST_GENERATE_ID: ::ULONG = CM_CREATE_DEVNODE_GENERATE_ID; +pub const CM_CREATE_DEVINST_DO_NOT_INSTALL: ::ULONG = CM_CREATE_DEVNODE_DO_NOT_INSTALL; +pub const CM_CREATE_DEVINST_BITS: ::ULONG = CM_CREATE_DEVNODE_BITS; +pub const CM_DELETE_CLASS_ONLY: ::ULONG = 0x00000000; +pub const CM_DELETE_CLASS_SUBKEYS: ::ULONG = 0x00000001; +pub const CM_DELETE_CLASS_INTERFACE: ::ULONG = 0x00000002; +pub const CM_DELETE_CLASS_BITS: ::ULONG = 0x00000003; +pub const CM_ENUMERATE_CLASSES_INSTALLER: ::ULONG = 0x00000000; +pub const CM_ENUMERATE_CLASSES_INTERFACE: ::ULONG = 0x00000001; +pub const CM_ENUMERATE_CLASSES_BITS: ::ULONG = 0x00000001; +pub const CM_DETECT_NEW_PROFILE: ::ULONG = 0x00000001; +pub const CM_DETECT_CRASHED: ::ULONG = 0x00000002; +pub const CM_DETECT_HWPROF_FIRST_BOOT: ::ULONG = 0x00000004; +pub const CM_DETECT_RUN: ::ULONG = 0x80000000; +pub const CM_DETECT_BITS: ::ULONG = 0x80000007; +pub const CM_DISABLE_POLITE: ::ULONG = 0x00000000; +pub const CM_DISABLE_ABSOLUTE: ::ULONG = 0x00000001; +pub const CM_DISABLE_HARDWARE: ::ULONG = 0x00000002; +pub const CM_DISABLE_UI_NOT_OK: ::ULONG = 0x00000004; +pub const CM_DISABLE_BITS: ::ULONG = 0x00000007; +pub const CM_GETIDLIST_FILTER_NONE: ::ULONG = 0x00000000; +pub const CM_GETIDLIST_FILTER_ENUMERATOR: ::ULONG = 0x00000001; +pub const CM_GETIDLIST_FILTER_SERVICE: ::ULONG = 0x00000002; +pub const CM_GETIDLIST_FILTER_EJECTRELATIONS: ::ULONG = 0x00000004; +pub const CM_GETIDLIST_FILTER_REMOVALRELATIONS: ::ULONG = 0x00000008; +pub const CM_GETIDLIST_FILTER_POWERRELATIONS: ::ULONG = 0x00000010; +pub const CM_GETIDLIST_FILTER_BUSRELATIONS: ::ULONG = 0x00000020; +pub const CM_GETIDLIST_DONOTGENERATE: ::ULONG = 0x10000040; +pub const CM_GETIDLIST_FILTER_TRANSPORTRELATIONS: ::ULONG = 0x00000080; +pub const CM_GETIDLIST_FILTER_PRESENT: ::ULONG = 0x00000100; +pub const CM_GETIDLIST_FILTER_CLASS: ::ULONG = 0x00000200; +pub const CM_GETIDLIST_FILTER_BITS: ::ULONG = 0x100003FF; +pub const CM_GET_DEVICE_INTERFACE_LIST_PRESENT: ::ULONG = 0x00000000; +pub const CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES: ::ULONG = 0x00000001; +pub const CM_GET_DEVICE_INTERFACE_LIST_BITS: ::ULONG = 0x00000001; +pub const CM_DRP_DEVICEDESC: ::ULONG = 0x00000001; +pub const CM_DRP_HARDWAREID: ::ULONG = 0x00000002; +pub const CM_DRP_COMPATIBLEIDS: ::ULONG = 0x00000003; +pub const CM_DRP_UNUSED0: ::ULONG = 0x00000004; +pub const CM_DRP_SERVICE: ::ULONG = 0x00000005; +pub const CM_DRP_UNUSED1: ::ULONG = 0x00000006; +pub const CM_DRP_UNUSED2: ::ULONG = 0x00000007; +pub const CM_DRP_CLASS: ::ULONG = 0x00000008; +pub const CM_DRP_CLASSGUID: ::ULONG = 0x00000009; +pub const CM_DRP_DRIVER: ::ULONG = 0x0000000A; +pub const CM_DRP_CONFIGFLAGS: ::ULONG = 0x0000000B; +pub const CM_DRP_MFG: ::ULONG = 0x0000000C; +pub const CM_DRP_FRIENDLYNAME: ::ULONG = 0x0000000D; +pub const CM_DRP_LOCATION_INFORMATION: ::ULONG = 0x0000000E; +pub const CM_DRP_PHYSICAL_DEVICE_OBJECT_NAME: ::ULONG = 0x0000000F; +pub const CM_DRP_CAPABILITIES: ::ULONG = 0x00000010; +pub const CM_DRP_UI_NUMBER: ::ULONG = 0x00000011; +pub const CM_DRP_UPPERFILTERS: ::ULONG = 0x00000012; +pub const CM_CRP_UPPERFILTERS: ::ULONG = CM_DRP_UPPERFILTERS; +pub const CM_DRP_LOWERFILTERS: ::ULONG = 0x00000013; +pub const CM_CRP_LOWERFILTERS: ::ULONG = CM_DRP_LOWERFILTERS; +pub const CM_DRP_BUSTYPEGUID: ::ULONG = 0x00000014; +pub const CM_DRP_LEGACYBUSTYPE: ::ULONG = 0x00000015; +pub const CM_DRP_BUSNUMBER: ::ULONG = 0x00000016; +pub const CM_DRP_ENUMERATOR_NAME: ::ULONG = 0x00000017; +pub const CM_DRP_SECURITY: ::ULONG = 0x00000018; +pub const CM_CRP_SECURITY: ::ULONG = CM_DRP_SECURITY; +pub const CM_DRP_SECURITY_SDS: ::ULONG = 0x00000019; +pub const CM_CRP_SECURITY_SDS: ::ULONG = CM_DRP_SECURITY_SDS; +pub const CM_DRP_DEVTYPE: ::ULONG = 0x0000001A; +pub const CM_CRP_DEVTYPE: ::ULONG = CM_DRP_DEVTYPE; +pub const CM_DRP_EXCLUSIVE: ::ULONG = 0x0000001B; +pub const CM_CRP_EXCLUSIVE: ::ULONG = CM_DRP_EXCLUSIVE; +pub const CM_DRP_CHARACTERISTICS: ::ULONG = 0x0000001C; +pub const CM_CRP_CHARACTERISTICS: ::ULONG = CM_DRP_CHARACTERISTICS; +pub const CM_DRP_ADDRESS: ::ULONG = 0x0000001D; +pub const CM_DRP_UI_NUMBER_DESC_FORMAT: ::ULONG = 0x0000001E; +pub const CM_DRP_DEVICE_POWER_DATA: ::ULONG = 0x0000001F; +pub const CM_DRP_REMOVAL_POLICY: ::ULONG = 0x00000020; +pub const CM_DRP_REMOVAL_POLICY_HW_DEFAULT: ::ULONG = 0x00000021; +pub const CM_DRP_REMOVAL_POLICY_OVERRIDE: ::ULONG = 0x00000022; +pub const CM_DRP_INSTALL_STATE: ::ULONG = 0x00000023; +pub const CM_DRP_LOCATION_PATHS: ::ULONG = 0x00000024; +pub const CM_DRP_BASE_CONTAINERID: ::ULONG = 0x00000025; +pub const CM_DRP_MIN: ::ULONG = 0x00000001; +pub const CM_CRP_MIN: ::ULONG = CM_DRP_MIN; +pub const CM_DRP_MAX: ::ULONG = 0x00000025; +pub const CM_CRP_MAX: ::ULONG = CM_DRP_MAX; +pub const CM_DEVCAP_LOCKSUPPORTED: ::ULONG = 0x00000001; +pub const CM_DEVCAP_EJECTSUPPORTED: ::ULONG = 0x00000002; +pub const CM_DEVCAP_REMOVABLE: ::ULONG = 0x00000004; +pub const CM_DEVCAP_DOCKDEVICE: ::ULONG = 0x00000008; +pub const CM_DEVCAP_UNIQUEID: ::ULONG = 0x00000010; +pub const CM_DEVCAP_SILENTINSTALL: ::ULONG = 0x00000020; +pub const CM_DEVCAP_RAWDEVICEOK: ::ULONG = 0x00000040; +pub const CM_DEVCAP_SURPRISEREMOVALOK: ::ULONG = 0x00000080; +pub const CM_DEVCAP_HARDWAREDISABLED: ::ULONG = 0x00000100; +pub const CM_DEVCAP_NONDYNAMIC: ::ULONG = 0x00000200; +pub const CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL: ::ULONG = 1; +pub const CM_REMOVAL_POLICY_EXPECT_ORDERLY_REMOVAL: ::ULONG = 2; +pub const CM_REMOVAL_POLICY_EXPECT_SURPRISE_REMOVAL: ::ULONG = 3; +pub const CM_INSTALL_STATE_INSTALLED: ::ULONG = 0; +pub const CM_INSTALL_STATE_NEEDS_REINSTALL: ::ULONG = 1; +pub const CM_INSTALL_STATE_FAILED_INSTALL: ::ULONG = 2; +pub const CM_INSTALL_STATE_FINISH_INSTALL: ::ULONG = 3; +pub const CM_LOCATE_DEVNODE_NORMAL: ::ULONG = 0x00000000; +pub const CM_LOCATE_DEVNODE_PHANTOM: ::ULONG = 0x00000001; +pub const CM_LOCATE_DEVNODE_CANCELREMOVE: ::ULONG = 0x00000002; +pub const CM_LOCATE_DEVNODE_NOVALIDATION: ::ULONG = 0x00000004; +pub const CM_LOCATE_DEVNODE_BITS: ::ULONG = 0x00000007; +pub const CM_LOCATE_DEVINST_NORMAL: ::ULONG = CM_LOCATE_DEVNODE_NORMAL; +pub const CM_LOCATE_DEVINST_PHANTOM: ::ULONG = CM_LOCATE_DEVNODE_PHANTOM; +pub const CM_LOCATE_DEVINST_CANCELREMOVE: ::ULONG = CM_LOCATE_DEVNODE_CANCELREMOVE; +pub const CM_LOCATE_DEVINST_NOVALIDATION: ::ULONG = CM_LOCATE_DEVNODE_NOVALIDATION; +pub const CM_LOCATE_DEVINST_BITS: ::ULONG = CM_LOCATE_DEVNODE_BITS; +pub const CM_OPEN_CLASS_KEY_INSTALLER: ::ULONG = 0x00000000; +pub const CM_OPEN_CLASS_KEY_INTERFACE: ::ULONG = 0x00000001; +pub const CM_OPEN_CLASS_KEY_BITS: ::ULONG = 0x00000001; +pub const CM_REMOVE_UI_OK: ::ULONG = 0x00000000; +pub const CM_REMOVE_UI_NOT_OK: ::ULONG = 0x00000001; +pub const CM_REMOVE_NO_RESTART: ::ULONG = 0x00000002; +pub const CM_REMOVE_BITS: ::ULONG = 0x00000003; +pub const CM_QUERY_REMOVE_UI_OK: ::ULONG = CM_REMOVE_UI_OK; +pub const CM_QUERY_REMOVE_UI_NOT_OK: ::ULONG = CM_REMOVE_UI_NOT_OK; +pub const CM_QUERY_REMOVE_BITS: ::ULONG = CM_QUERY_REMOVE_UI_OK | CM_QUERY_REMOVE_UI_NOT_OK; +pub const CM_REENUMERATE_NORMAL: ::ULONG = 0x00000000; +pub const CM_REENUMERATE_SYNCHRONOUS: ::ULONG = 0x00000001; +pub const CM_REENUMERATE_RETRY_INSTALLATION: ::ULONG = 0x00000002; +pub const CM_REENUMERATE_ASYNCHRONOUS: ::ULONG = 0x00000004; +pub const CM_REENUMERATE_BITS: ::ULONG = 0x00000007; +pub const CM_REGISTER_DEVICE_DRIVER_STATIC: ::ULONG = 0x00000000; +pub const CM_REGISTER_DEVICE_DRIVER_DISABLEABLE: ::ULONG = 0x00000001; +pub const CM_REGISTER_DEVICE_DRIVER_REMOVABLE: ::ULONG = 0x00000002; +pub const CM_REGISTER_DEVICE_DRIVER_BITS: ::ULONG = 0x00000003; +pub const CM_REGISTRY_HARDWARE: ::ULONG = 0x00000000; +pub const CM_REGISTRY_SOFTWARE: ::ULONG = 0x00000001; +pub const CM_REGISTRY_USER: ::ULONG = 0x00000100; +pub const CM_REGISTRY_CONFIG: ::ULONG = 0x00000200; +pub const CM_REGISTRY_BITS: ::ULONG = 0x00000301; +pub const CM_SET_DEVNODE_PROBLEM_NORMAL: ::ULONG = 0x00000000; +pub const CM_SET_DEVNODE_PROBLEM_OVERRIDE: ::ULONG = 0x00000001; +pub const CM_SET_DEVNODE_PROBLEM_BITS: ::ULONG = 0x00000001; +pub const CM_SET_DEVINST_PROBLEM_NORMAL: ::ULONG = CM_SET_DEVNODE_PROBLEM_NORMAL; +pub const CM_SET_DEVINST_PROBLEM_OVERRIDE: ::ULONG = CM_SET_DEVNODE_PROBLEM_OVERRIDE; +pub const CM_SET_DEVINST_PROBLEM_BITS: ::ULONG = CM_SET_DEVNODE_PROBLEM_BITS; +pub const CM_SET_HW_PROF_FLAGS_UI_NOT_OK: ::ULONG = 0x00000001; +pub const CM_SET_HW_PROF_FLAGS_BITS: ::ULONG = 0x00000001; +pub const CM_SETUP_DEVNODE_READY: ::ULONG = 0x00000000; +pub const CM_SETUP_DEVINST_READY: ::ULONG = CM_SETUP_DEVNODE_READY; +pub const CM_SETUP_DOWNLOAD: ::ULONG = 0x00000001; +pub const CM_SETUP_WRITE_LOG_CONFS: ::ULONG = 0x00000002; +pub const CM_SETUP_PROP_CHANGE: ::ULONG = 0x00000003; +pub const CM_SETUP_DEVNODE_RESET: ::ULONG = 0x00000004; +pub const CM_SETUP_DEVINST_RESET: ::ULONG = CM_SETUP_DEVNODE_RESET; +pub const CM_SETUP_DEVNODE_CONFIG: ::ULONG = 0x00000005; +pub const CM_SETUP_DEVINST_CONFIG: ::ULONG = CM_SETUP_DEVNODE_CONFIG; +pub const CM_SETUP_DEVNODE_CONFIG_CLASS: ::ULONG = 0x00000006; +pub const CM_SETUP_DEVINST_CONFIG_CLASS: ::ULONG = CM_SETUP_DEVNODE_CONFIG_CLASS; +pub const CM_SETUP_DEVNODE_CONFIG_EXTENSIONS: ::ULONG = 0x00000007; +pub const CM_SETUP_DEVINST_CONFIG_EXTENSIONS: ::ULONG = CM_SETUP_DEVNODE_CONFIG_EXTENSIONS; +pub const CM_SETUP_BITS: ::ULONG = 0x00000007; +pub const CM_QUERY_ARBITRATOR_RAW: ::ULONG = 0x00000000; +pub const CM_QUERY_ARBITRATOR_TRANSLATED: ::ULONG = 0x00000001; +pub const CM_QUERY_ARBITRATOR_BITS: ::ULONG = 0x00000001; +pub const CM_CUSTOMDEVPROP_MERGE_MULTISZ: ::ULONG = 0x00000001; +pub const CM_CUSTOMDEVPROP_BITS: ::ULONG = 0x00000001; +pub const CM_NAME_ATTRIBUTE_NAME_RETRIEVED_FROM_DEVICE: ::ULONG = 0x1; +pub const CM_NAME_ATTRIBUTE_USER_ASSIGNED_NAME: ::ULONG = 0x2; +pub const CM_CLASS_PROPERTY_INSTALLER: ::ULONG = 0x00000000; +pub const CM_CLASS_PROPERTY_INTERFACE: ::ULONG = 0x00000001; +pub const CM_CLASS_PROPERTY_BITS: ::ULONG = 0x00000001; +DECLARE_HANDLE!(HCMNOTIFICATION, HCMNOTIFICATION__); +pub type PHCMNOTIFICATION = *mut HCMNOTIFICATION; +pub const CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES: ::ULONG = 0x00000001; +pub const CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES: ::ULONG = 0x00000002; +pub const CM_NOTIFY_FILTER_VALID_FLAGS: ::ULONG = CM_NOTIFY_FILTER_FLAG_ALL_INTERFACE_CLASSES + | CM_NOTIFY_FILTER_FLAG_ALL_DEVICE_INSTANCES; +ENUM!{enum CM_NOTIFY_FILTER_TYPE { + CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE = 0, + CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE, + CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE, + CM_NOTIFY_FILTER_TYPE_MAX, +}} +pub type PCM_NOTIFY_FILTER_TYPE = *mut CM_NOTIFY_FILTER_TYPE; +STRUCT!{struct CM_NOTIFY_FILTER_DeviceInterface { + ClassGuid: ::GUID, +}} +STRUCT!{struct CM_NOTIFY_FILTER_DeviceHandle { + hTarget: ::HANDLE, +}} +STRUCT!{nodebug struct CM_NOTIFY_FILTER_DeviceInstance { + InstanceId: [::WCHAR; MAX_DEVICE_ID_LEN], +}} +STRUCT!{nodebug struct CM_NOTIFY_FILTER { + cbSize: ::DWORD, + Flags: ::DWORD, + FilterType: CM_NOTIFY_FILTER_TYPE, + Reserved: ::DWORD, + u: [::BYTE; 400], +}} +UNION!(CM_NOTIFY_FILTER, u, DeviceInterface, DeviceInterface_mut, CM_NOTIFY_FILTER_DeviceInterface); +UNION!(CM_NOTIFY_FILTER, u, DeviceHandle, DeviceHandle_mut, CM_NOTIFY_FILTER_DeviceHandle); +UNION!(CM_NOTIFY_FILTER, u, DeviceInstance, DeviceInstance_mut, CM_NOTIFY_FILTER_DeviceInstance); +pub type PCM_NOTIFY_FILTER = *mut CM_NOTIFY_FILTER; +ENUM!{enum CM_NOTIFY_ACTION { + CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL = 0, + CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL, + CM_NOTIFY_ACTION_DEVICEQUERYREMOVE, + CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED, + CM_NOTIFY_ACTION_DEVICEREMOVEPENDING, + CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE, + CM_NOTIFY_ACTION_DEVICECUSTOMEVENT, + CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED, + CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED, + CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED, + CM_NOTIFY_ACTION_MAX, +}} +pub type PCM_NOTIFY_ACTION = *mut CM_NOTIFY_ACTION; +STRUCT!{struct CM_NOTIFY_EVENT_DATA_DeviceInterface { + ClassGuid: ::GUID, + SymbolicLink: [::WCHAR; ::ANYSIZE_ARRAY], +}} +STRUCT!{struct CM_NOTIFY_EVENT_DATA_DeviceHandle { + EventGuid: ::GUID, + NameOffset: ::LONG, + DataSize: ::DWORD, + Data: [::BYTE; ::ANYSIZE_ARRAY], +}} +STRUCT!{struct CM_NOTIFY_EVENT_DATA_DeviceInstance { + InstanceId: [::WCHAR; ::ANYSIZE_ARRAY], +}} +STRUCT!{struct CM_NOTIFY_EVENT_DATA { + FilterType: CM_NOTIFY_FILTER_TYPE, + Reserved: ::DWORD, + u: [::BYTE; 25], +}} +UNION!( + CM_NOTIFY_EVENT_DATA, u, DeviceInterface, DeviceInterface_mut, + CM_NOTIFY_EVENT_DATA_DeviceInterface +); +UNION!(CM_NOTIFY_EVENT_DATA, u, DeviceHandle, DeviceHandle_mut, CM_NOTIFY_EVENT_DATA_DeviceHandle); +UNION!( + CM_NOTIFY_EVENT_DATA, u, DeviceInstance, DeviceInstance_mut, CM_NOTIFY_EVENT_DATA_DeviceInstance +); +pub type PCM_NOTIFY_EVENT_DATA = *mut CM_NOTIFY_EVENT_DATA; +pub type PCM_NOTIFY_CALLBACK = Option<unsafe extern "system" fn( + hNotify: HCMNOTIFICATION, Context: ::PVOID, Action: CM_NOTIFY_ACTION, + EventData: PCM_NOTIFY_EVENT_DATA, EventDataSize: ::DWORD, +) -> ::DWORD>; +pub const CR_SUCCESS: CONFIGRET = 0x00000000; +pub const CR_DEFAULT: CONFIGRET = 0x00000001; +pub const CR_OUT_OF_MEMORY: CONFIGRET = 0x00000002; +pub const CR_INVALID_POINTER: CONFIGRET = 0x00000003; +pub const CR_INVALID_FLAG: CONFIGRET = 0x00000004; +pub const CR_INVALID_DEVNODE: CONFIGRET = 0x00000005; +pub const CR_INVALID_DEVINST: CONFIGRET = CR_INVALID_DEVNODE; +pub const CR_INVALID_RES_DES: CONFIGRET = 0x00000006; +pub const CR_INVALID_LOG_CONF: CONFIGRET = 0x00000007; +pub const CR_INVALID_ARBITRATOR: CONFIGRET = 0x00000008; +pub const CR_INVALID_NODELIST: CONFIGRET = 0x00000009; +pub const CR_DEVNODE_HAS_REQS: CONFIGRET = 0x0000000A; +pub const CR_DEVINST_HAS_REQS: CONFIGRET = CR_DEVNODE_HAS_REQS; +pub const CR_INVALID_RESOURCEID: CONFIGRET = 0x0000000B; +pub const CR_DLVXD_NOT_FOUND: CONFIGRET = 0x0000000C; +pub const CR_NO_SUCH_DEVNODE: CONFIGRET = 0x0000000D; +pub const CR_NO_SUCH_DEVINST: CONFIGRET = CR_NO_SUCH_DEVNODE; +pub const CR_NO_MORE_LOG_CONF: CONFIGRET = 0x0000000E; +pub const CR_NO_MORE_RES_DES: CONFIGRET = 0x0000000F; +pub const CR_ALREADY_SUCH_DEVNODE: CONFIGRET = 0x00000010; +pub const CR_ALREADY_SUCH_DEVINST: CONFIGRET = CR_ALREADY_SUCH_DEVNODE; +pub const CR_INVALID_RANGE_LIST: CONFIGRET = 0x00000011; +pub const CR_INVALID_RANGE: CONFIGRET = 0x00000012; +pub const CR_FAILURE: CONFIGRET = 0x00000013; +pub const CR_NO_SUCH_LOGICAL_DEV: CONFIGRET = 0x00000014; +pub const CR_CREATE_BLOCKED: CONFIGRET = 0x00000015; +pub const CR_NOT_SYSTEM_VM: CONFIGRET = 0x00000016; +pub const CR_REMOVE_VETOED: CONFIGRET = 0x00000017; +pub const CR_APM_VETOED: CONFIGRET = 0x00000018; +pub const CR_INVALID_LOAD_TYPE: CONFIGRET = 0x00000019; +pub const CR_BUFFER_SMALL: CONFIGRET = 0x0000001A; +pub const CR_NO_ARBITRATOR: CONFIGRET = 0x0000001B; +pub const CR_NO_REGISTRY_HANDLE: CONFIGRET = 0x0000001C; +pub const CR_REGISTRY_ERROR: CONFIGRET = 0x0000001D; +pub const CR_INVALID_DEVICE_ID: CONFIGRET = 0x0000001E; +pub const CR_INVALID_DATA: CONFIGRET = 0x0000001F; +pub const CR_INVALID_API: CONFIGRET = 0x00000020; +pub const CR_DEVLOADER_NOT_READY: CONFIGRET = 0x00000021; +pub const CR_NEED_RESTART: CONFIGRET = 0x00000022; +pub const CR_NO_MORE_HW_PROFILES: CONFIGRET = 0x00000023; +pub const CR_DEVICE_NOT_THERE: CONFIGRET = 0x00000024; +pub const CR_NO_SUCH_VALUE: CONFIGRET = 0x00000025; +pub const CR_WRONG_TYPE: CONFIGRET = 0x00000026; +pub const CR_INVALID_PRIORITY: CONFIGRET = 0x00000027; +pub const CR_NOT_DISABLEABLE: CONFIGRET = 0x00000028; +pub const CR_FREE_RESOURCES: CONFIGRET = 0x00000029; +pub const CR_QUERY_VETOED: CONFIGRET = 0x0000002A; +pub const CR_CANT_SHARE_IRQ: CONFIGRET = 0x0000002B; +pub const CR_NO_DEPENDENT: CONFIGRET = 0x0000002C; +pub const CR_SAME_RESOURCES: CONFIGRET = 0x0000002D; +pub const CR_NO_SUCH_REGISTRY_KEY: CONFIGRET = 0x0000002E; +pub const CR_INVALID_MACHINENAME: CONFIGRET = 0x0000002F; +pub const CR_REMOTE_COMM_FAILURE: CONFIGRET = 0x00000030; +pub const CR_MACHINE_UNAVAILABLE: CONFIGRET = 0x00000031; +pub const CR_NO_CM_SERVICES: CONFIGRET = 0x00000032; +pub const CR_ACCESS_DENIED: CONFIGRET = 0x00000033; +pub const CR_CALL_NOT_IMPLEMENTED: CONFIGRET = 0x00000034; +pub const CR_INVALID_PROPERTY: CONFIGRET = 0x00000035; +pub const CR_DEVICE_INTERFACE_ACTIVE: CONFIGRET = 0x00000036; +pub const CR_NO_SUCH_DEVICE_INTERFACE: CONFIGRET = 0x00000037; +pub const CR_INVALID_REFERENCE_STRING: CONFIGRET = 0x00000038; +pub const CR_INVALID_CONFLICT_LIST: CONFIGRET = 0x00000039; +pub const CR_INVALID_INDEX: CONFIGRET = 0x0000003A; +pub const CR_INVALID_STRUCTURE_SIZE: CONFIGRET = 0x0000003B; +pub const NUM_CR_RESULTS: CONFIGRET = 0x0000003C; diff --git a/third_party/rust/winapi-0.2.8/src/combaseapi.rs b/third_party/rust/winapi-0.2.8/src/combaseapi.rs new file mode 100644 index 0000000000..9233bc58a0 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/combaseapi.rs @@ -0,0 +1,17 @@ +// Copyright © 2016, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +use super::*; +pub const CLSCTX_INPROC_SERVER: DWORD = 0x1; +pub const CLSCTX_INPROC_HANDLER: DWORD = 0x2; +pub const CLSCTX_LOCAL_SERVER: DWORD = 0x4; +pub const CLSCTX_REMOTE_SERVER: DWORD = 0x10; +pub const CLSCTX_SERVER: DWORD = CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | + CLSCTX_REMOTE_SERVER; +pub const CLSCTX_ALL: DWORD = CLSCTX_INPROC_HANDLER | CLSCTX_SERVER; +STRUCT!{struct ServerInformation { + dwServerPid: DWORD, + dwServerTid: DWORD, + ui64ServerAddress: UINT64, +}} +pub type PServerInformation = *mut ServerInformation; +DECLARE_HANDLE!(CO_MTA_USAGE_COOKIE, CO_MTA_USAGE_COOKIE__); diff --git a/third_party/rust/winapi-0.2.8/src/commctrl.rs b/third_party/rust/winapi-0.2.8/src/commctrl.rs new file mode 100644 index 0000000000..88513e1170 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/commctrl.rs @@ -0,0 +1,3578 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//138 +STRUCT!{struct INITCOMMONCONTROLSEX { + dwSize: ::DWORD, + dwICC: ::DWORD, +}} +pub type LPINITCOMMONCONTROLSEX = *mut INITCOMMONCONTROLSEX; +pub const ICC_LISTVIEW_CLASSES: ::DWORD = 0x1; +pub const ICC_TREEVIEW_CLASSES: ::DWORD = 0x2; +pub const ICC_BAR_CLASSES: ::DWORD = 0x4; +pub const ICC_TAB_CLASSES: ::DWORD = 0x8; +pub const ICC_UPDOWN_CLASS: ::DWORD = 0x10; +pub const ICC_PROGRESS_CLASS: ::DWORD = 0x20; +pub const ICC_HOTKEY_CLASS: ::DWORD = 0x40; +pub const ICC_ANIMATE_CLASS: ::DWORD = 0x80; +pub const ICC_WIN95_CLASSES: ::DWORD = 0xFF; +pub const ICC_DATE_CLASSES: ::DWORD = 0x100; +pub const ICC_USEREX_CLASSES: ::DWORD = 0x200; +pub const ICC_COOL_CLASSES: ::DWORD = 0x400; +pub const ICC_INTERNET_CLASSES: ::DWORD = 0x800; +pub const ICC_PAGESCROLLER_CLASS: ::DWORD = 0x1000; +pub const ICC_NATIVEFNTCTL_CLASS: ::DWORD = 0x2000; +pub const ICC_STANDARD_CLASSES: ::DWORD = 0x4000; +pub const ICC_LINK_CLASS: ::DWORD = 0x8000; +pub const ODT_HEADER: ::UINT = 100; +pub const ODT_TAB: ::UINT = 101; +pub const ODT_LISTVIEW: ::UINT = 102; +pub const LVM_FIRST: ::UINT = 0x1000; +pub const TV_FIRST: ::UINT = 0x1100; +pub const HDM_FIRST: ::UINT = 0x1200; +pub const TCM_FIRST: ::UINT = 0x1300; +pub const PGM_FIRST: ::UINT = 0x1400; +pub const ECM_FIRST: ::UINT = 0x1500; +pub const BCM_FIRST: ::UINT = 0x1600; +pub const CBM_FIRST: ::UINT = 0x1700; +pub const CCM_FIRST: ::UINT = 0x2000; +pub const CCM_LAST: ::UINT = CCM_FIRST + 0x200; +pub const CCM_SETBKCOLOR: ::UINT = CCM_FIRST + 1; +STRUCT!{struct COLORSCHEME { + dwSize: ::DWORD, + clrBtnHighlight: ::COLORREF, + clrBtnShadow: ::COLORREF, +}} +pub type LPCOLORSCHEME = *mut COLORSCHEME; +pub const CCM_SETCOLORSCHEME: ::UINT = CCM_FIRST + 2; +pub const CCM_GETCOLORSCHEME: ::UINT = CCM_FIRST + 3; +pub const CCM_GETDROPTARGET: ::UINT = CCM_FIRST + 4; +pub const CCM_SETUNICODEFORMAT: ::UINT = CCM_FIRST + 5; +pub const CCM_GETUNICODEFORMAT: ::UINT = CCM_FIRST + 6; +pub const CCM_SETVERSION: ::UINT = CCM_FIRST + 7; +pub const CCM_GETVERSION: ::UINT = CCM_FIRST + 8; +pub const CCM_SETNOTIFYWINDOW: ::UINT = CCM_FIRST + 9; +pub const CCM_SETWINDOWTHEME: ::UINT = CCM_FIRST + 0xb; +pub const CCM_DPISCALE: ::UINT = CCM_FIRST + 0xc; +pub const INFOTIPSIZE: ::c_int = 1024; +pub const NM_OUTOFMEMORY: ::UINT = (NM_FIRST as ::INT - 1) as ::UINT; +pub const NM_CLICK: ::UINT = (NM_FIRST as ::INT - 2) as ::UINT; +pub const NM_DBLCLK: ::UINT = (NM_FIRST as ::INT - 3) as ::UINT; +pub const NM_RETURN: ::UINT = (NM_FIRST as ::INT - 4) as ::UINT; +pub const NM_RCLICK: ::UINT = (NM_FIRST as ::INT - 5) as ::UINT; +pub const NM_RDBLCLK: ::UINT = (NM_FIRST as ::INT - 6) as ::UINT; +pub const NM_SETFOCUS: ::UINT = (NM_FIRST as ::INT - 7) as ::UINT; +pub const NM_KILLFOCUS: ::UINT = (NM_FIRST as ::INT - 8) as ::UINT; +pub const NM_CUSTOMDRAW: ::UINT = (NM_FIRST as ::INT - 12) as ::UINT; +pub const NM_HOVER: ::UINT = (NM_FIRST as ::INT - 13) as ::UINT; +pub const NM_NCHITTEST: ::UINT = (NM_FIRST as ::INT - 14) as ::UINT; +pub const NM_KEYDOWN: ::UINT = (NM_FIRST as ::INT - 15) as ::UINT; +pub const NM_RELEASEDCAPTURE: ::UINT = (NM_FIRST as ::INT - 16) as ::UINT; +pub const NM_SETCURSOR: ::UINT = (NM_FIRST as ::INT - 17) as ::UINT; +pub const NM_CHAR: ::UINT = (NM_FIRST as ::INT - 18) as ::UINT; +pub const NM_TOOLTIPSCREATED: ::UINT = (NM_FIRST as ::INT - 19) as ::UINT; +pub const NM_LDOWN: ::UINT = (NM_FIRST as ::INT - 20) as ::UINT; +pub const NM_RDOWN: ::UINT = (NM_FIRST as ::INT - 21) as ::UINT; +pub const NM_THEMECHANGED: ::UINT = (NM_FIRST as ::INT - 22) as ::UINT; +pub const NM_FONTCHANGED: ::UINT = (NM_FIRST as ::INT - 23) as ::UINT; +pub const NM_CUSTOMTEXT: ::UINT = (NM_FIRST as ::INT - 24) as ::UINT; +pub const NM_TVSTATEIMAGECHANGING: ::UINT = (NM_FIRST as ::INT - 24) as ::UINT; +STRUCT!{struct NMTOOLTIPSCREATED { + hdr: ::NMHDR, + hwndToolTips: ::HWND, +}} +pub type LPNMTOOLTIPSCREATED = *mut NMTOOLTIPSCREATED; +STRUCT!{struct NMMOUSE { + hdr : ::NMHDR, + dwItemSpec: ::DWORD_PTR, + dwItemData: ::DWORD_PTR, + pt: ::POINT, + dwHitInfo: ::LPARAM, +}} +pub type LPNMMOUSE = *mut NMMOUSE; +pub type NMCLICK = NMMOUSE; +pub type LPNMCLICK = LPNMMOUSE; +STRUCT!{struct NMOBJECTNOTIFY { + hdr: ::NMHDR, + iItem: ::c_int, + piid: *const ::IID, + pObject: *mut ::c_void, + hResult: ::HRESULT, + dwFlags: ::DWORD, +}} +pub type LPNMOBJECTNOTIFY = *mut NMOBJECTNOTIFY; +STRUCT!{struct NMKEY { + hdr: ::NMHDR, + nVKey: ::UINT, + uFlags: ::UINT, +}} +pub type LPNMKEY = *mut NMKEY; +STRUCT!{struct NMCHAR { + hdr: ::NMHDR, + ch: ::UINT, + dwItemPrev: ::DWORD, + dwItemNext: ::DWORD, +}} +pub type LPNMCHAR = *mut NMCHAR; +STRUCT!{struct NMCUSTOMTEXT { + hdr: ::NMHDR, + hDC: ::HDC, + lpString: ::LPCWSTR, + nCount: ::c_int, + lpRect: ::LPRECT, + uFormat: ::UINT, + fLink: ::BOOL, +}} +pub type LPNMCUSTOMTEXT = *mut NMCUSTOMTEXT; +pub const NM_FIRST: ::UINT = 0; +pub const NM_LAST: ::UINT = -99i32 as ::UINT; +pub const LVN_FIRST: ::UINT = -100i32 as ::UINT; +pub const LVN_LAST: ::UINT = -199i32 as ::UINT; +pub const HDN_FIRST: ::UINT = -300i32 as ::UINT; +pub const HDN_LAST: ::UINT = -399i32 as ::UINT; +pub const TVN_FIRST: ::UINT = -400i32 as ::UINT; +pub const TVN_LAST: ::UINT = -499i32 as ::UINT; +pub const TTN_FIRST: ::UINT = -520i32 as ::UINT; +pub const TTN_LAST: ::UINT = -549i32 as ::UINT; +pub const TCN_FIRST: ::UINT = -550i32 as ::UINT; +pub const TCN_LAST: ::UINT = -580i32 as ::UINT; +// pub const CDN_FIRST: ::UINT = 0 - 601; +// pub const CDN_LAST: ::UINT = 0 - 699; +pub const TBN_FIRST: ::UINT = -700i32 as ::UINT; +pub const TBN_LAST: ::UINT = -720i32 as ::UINT; +pub const UDN_FIRST: ::UINT = -721i32 as ::UINT; +pub const UDN_LAST: ::UINT = -729i32 as ::UINT; +pub const DTN_FIRST: ::UINT = -740i32 as ::UINT; +pub const DTN_LAST: ::UINT = -745i32 as ::UINT; +pub const MCN_FIRST: ::UINT = -746i32 as ::UINT; +pub const MCN_LAST: ::UINT = -752i32 as ::UINT; +pub const DTN_FIRST2: ::UINT = -753i32 as ::UINT; +pub const DTN_LAST2: ::UINT = -799i32 as ::UINT; +pub const CBEN_FIRST: ::UINT = -800i32 as ::UINT; +pub const CBEN_LAST: ::UINT = -830i32 as ::UINT; +pub const RBN_FIRST: ::UINT = -831i32 as ::UINT; +pub const RBN_LAST: ::UINT = -859i32 as ::UINT; +pub const IPN_FIRST: ::UINT = -860i32 as ::UINT; +pub const IPN_LAST: ::UINT = -879i32 as ::UINT; +pub const SBN_FIRST: ::UINT = -880i32 as ::UINT; +pub const SBN_LAST: ::UINT = -899i32 as ::UINT; +pub const PGN_FIRST: ::UINT = -900i32 as ::UINT; +pub const PGN_LAST: ::UINT = -950i32 as ::UINT; +pub const WMN_FIRST: ::UINT = -1000i32 as ::UINT; +pub const WMN_LAST: ::UINT = -1200i32 as ::UINT; +pub const BCN_FIRST: ::UINT = -1250i32 as ::UINT; +pub const BCN_LAST: ::UINT = -1350i32 as ::UINT; +pub const TRBN_FIRST: ::UINT = -1501i32 as ::UINT; +pub const TRBN_LAST: ::UINT = -1519i32 as ::UINT; +pub const CDRF_DODEFAULT: ::LRESULT = 0x00000000; +pub const CDRF_NEWFONT: ::LRESULT = 0x00000002; +pub const CDRF_SKIPDEFAULT: ::LRESULT = 0x00000004; +pub const CDRF_DOERASE: ::LRESULT = 0x00000008; +pub const CDRF_SKIPPOSTPAINT: ::LRESULT = 0x00000100; +pub const CDRF_NOTIFYPOSTPAINT: ::LRESULT = 0x00000010; +pub const CDRF_NOTIFYITEMDRAW: ::LRESULT = 0x00000020; +pub const CDRF_NOTIFYSUBITEMDRAW: ::LRESULT = 0x00000020; +pub const CDRF_NOTIFYPOSTERASE: ::LRESULT = 0x00000040; +pub const CDDS_PREPAINT: ::DWORD = 0x00000001; +pub const CDDS_POSTPAINT: ::DWORD = 0x00000002; +pub const CDDS_PREERASE: ::DWORD = 0x00000003; +pub const CDDS_POSTERASE: ::DWORD = 0x00000004; +pub const CDDS_ITEM: ::DWORD = 0x00010000; +pub const CDDS_ITEMPREPAINT: ::DWORD = CDDS_ITEM | CDDS_PREPAINT; +pub const CDDS_ITEMPOSTPAINT: ::DWORD = CDDS_ITEM | CDDS_POSTPAINT; +pub const CDDS_ITEMPREERASE: ::DWORD = CDDS_ITEM | CDDS_PREERASE; +pub const CDDS_ITEMPOSTERASE: ::DWORD = CDDS_ITEM | CDDS_POSTERASE; +pub const CDDS_SUBITEM: ::DWORD = 0x00020000; +pub const CDIS_SELECTED: ::UINT = 0x0001; +pub const CDIS_GRAYED: ::UINT = 0x0002; +pub const CDIS_DISABLED: ::UINT = 0x0004; +pub const CDIS_CHECKED: ::UINT = 0x0008; +pub const CDIS_FOCUS: ::UINT = 0x0010; +pub const CDIS_DEFAULT: ::UINT = 0x0020; +pub const CDIS_HOT: ::UINT = 0x0040; +pub const CDIS_MARKED: ::UINT = 0x0080; +pub const CDIS_INDETERMINATE: ::UINT = 0x0100; +pub const CDIS_SHOWKEYBOARDCUES: ::UINT = 0x0200; +pub const CDIS_NEARHOT: ::UINT = 0x0400; +pub const CDIS_OTHERSIDEHOT: ::UINT = 0x0800; +pub const CDIS_DROPHILITED: ::UINT = 0x1000; +STRUCT!{struct NMCUSTOMDRAW { + hdr: ::NMHDR, + dwDrawStage: ::DWORD, + hdc: ::HDC, + rc: ::RECT, + dwItemSpec: ::DWORD_PTR, + uItemState: ::UINT, + lItemlParam: ::LPARAM, +}} +pub type LPNMCUSTOMDRAW = *mut NMCUSTOMDRAW; +STRUCT!{struct NMTTCUSTOMDRAW { + nmcd: NMCUSTOMDRAW, + uDrawFlags: ::UINT, +}} +pub type LPNMTTCUSTOMDRAW = *mut NMTTCUSTOMDRAW; +STRUCT!{struct NMCUSTOMSPLITRECTINFO { + hdr: ::NMHDR, + rcClient: ::RECT, + rcButton: ::RECT, + rcSplit: ::RECT, +}} +pub type LPNMCUSTOMSPLITRECTINFO = *mut NMCUSTOMSPLITRECTINFO; +pub const NM_GETCUSTOMSPLITRECT: ::UINT = BCN_FIRST + 0x0003; +pub const CLR_NONE: ::DWORD = 0xFFFFFFFF; +pub const CLR_DEFAULT: ::DWORD = 0xFF000000; +pub enum IMAGELIST {} +pub type HIMAGELIST = *mut IMAGELIST; +STRUCT!{struct IMAGELISTDRAWPARAMS { + cbSize: ::DWORD, + himl: HIMAGELIST, + i: ::c_int, + hdcDst: ::HDC, + x: ::c_int, + y: ::c_int, + cx: ::c_int, + cy: ::c_int, + xBitmap: ::c_int, + yBitmap: ::c_int, + rgbBk: ::COLORREF, + rgbFg: ::COLORREF, + fStyle: ::UINT, + dwRop: ::DWORD, + fState: ::DWORD, + Frame: ::DWORD, + crEffect: ::COLORREF, +}} +pub type LPIMAGELISTDRAWPARAMS = *mut IMAGELISTDRAWPARAMS; +pub const ILC_MASK: ::UINT = 0x00000001; +pub const ILC_COLOR: ::UINT = 0x00000000; +pub const ILC_COLORDDB: ::UINT = 0x000000FE; +pub const ILC_COLOR4: ::UINT = 0x00000004; +pub const ILC_COLOR8: ::UINT = 0x00000008; +pub const ILC_COLOR16: ::UINT = 0x00000010; +pub const ILC_COLOR24: ::UINT = 0x00000018; +pub const ILC_COLOR32: ::UINT = 0x00000020; +pub const ILC_PALETTE: ::UINT = 0x00000800; +pub const ILC_MIRROR: ::UINT = 0x00002000; +pub const ILC_PERITEMMIRROR: ::UINT = 0x00008000; +pub const ILC_ORIGINALSIZE: ::UINT = 0x00010000; +pub const ILC_HIGHQUALITYSCALE: ::UINT = 0x00020000; +pub const ILD_NORMAL: ::UINT = 0x00000000; +pub const ILD_TRANSPARENT: ::UINT = 0x00000001; +pub const ILD_MASK: ::UINT = 0x00000010; +pub const ILD_IMAGE: ::UINT = 0x00000020; +pub const ILD_ROP: ::UINT = 0x00000040; +pub const ILD_BLEND25: ::UINT = 0x00000002; +pub const ILD_BLEND50: ::UINT = 0x00000004; +pub const ILD_OVERLAYMASK: ::UINT = 0x00000F00; +#[inline] #[allow(dead_code)] +pub fn INDEXTOOVERLAYMASK(i: ::UINT) -> ::UINT { i << 8 } +pub const ILD_PRESERVEALPHA: ::UINT = 0x00001000; +pub const ILD_SCALE: ::UINT = 0x00002000; +pub const ILD_DPISCALE: ::UINT = 0x00004000; +pub const ILD_ASYNC: ::UINT = 0x00008000; +pub const ILD_SELECTED: ::UINT = ILD_BLEND50; +pub const ILD_FOCUS: ::UINT = ILD_BLEND25; +pub const ILD_BLEND: ::UINT = ILD_BLEND50; +pub const CLR_HILIGHT: ::DWORD = CLR_DEFAULT; +pub const ILS_NORMAL: ::DWORD = 0x00000000; +pub const ILS_GLOW: ::DWORD = 0x00000001; +pub const ILS_SHADOW: ::DWORD = 0x00000002; +pub const ILS_SATURATE: ::DWORD = 0x00000004; +pub const ILS_ALPHA: ::DWORD = 0x00000008; +pub const HBITMAP_CALLBACK: ::HBITMAP = (0-1) as ::HBITMAP; +pub const ILCF_MOVE: ::UINT = 0x00000000; +pub const ILCF_SWAP: ::UINT = 0x00000001; +STRUCT!{struct IMAGEINFO { + hbmImage: ::HBITMAP, + hbmMask: ::HBITMAP, + Unused1: ::c_int, + Unused2: ::c_int, + rcImage: ::RECT, +}} +pub type LPIMAGEINFO = *mut IMAGEINFO; +pub const HDS_HORZ: ::DWORD = 0x0000; +pub const HDS_BUTTONS: ::DWORD = 0x0002; +pub const HDS_HOTTRACK: ::DWORD = 0x0004; +pub const HDS_HIDDEN: ::DWORD = 0x0008; +pub const HDS_DRAGDROP: ::DWORD = 0x0040; +pub const HDS_FULLDRAG: ::DWORD = 0x0080; +pub const HDS_FILTERBAR: ::DWORD = 0x0100; +pub const HDS_FLAT: ::DWORD = 0x0200; +pub const HDS_CHECKBOXES: ::DWORD = 0x0400; +pub const HDS_NOSIZING: ::DWORD = 0x0800; +pub const HDS_OVERFLOW: ::DWORD = 0x1000; +pub const HDFT_ISSTRING: ::UINT = 0x0000; +pub const HDFT_ISNUMBER: ::UINT = 0x0001; +pub const HDFT_ISDATE: ::UINT = 0x0002; +pub const HDFT_HASNOVALUE: ::UINT = 0x8000; +STRUCT!{struct HD_TEXTFILTERA { + pszText: ::LPSTR, + cchTextMax: ::INT, +}} +pub type LPHD_TEXTFILTERA = *mut HD_TEXTFILTERA; +STRUCT!{struct HD_TEXTFILTERW { + pszText: ::LPWSTR, + cchTextMax: ::INT, +}} +pub type LPHD_TEXTFILTERW = *mut HD_TEXTFILTERW; +STRUCT!{struct HDITEMA { + mask: ::UINT, + cxy: ::c_int, + pszText: ::LPSTR, + hbm: ::HBITMAP, + cchTextMax: ::c_int, + fmt: ::c_int, + lParam: ::LPARAM, + iImage: ::c_int, + iOrder: ::c_int, + _type: ::UINT, + pvFilter: *mut ::c_void, + state: ::UINT, +}} +pub type LPHDITEMA = *mut HDITEMA; +STRUCT!{struct HDITEMW { + mask: ::UINT, + cxy: ::c_int, + pszText: ::LPWSTR, + hbm: ::HBITMAP, + cchTextMax: ::c_int, + fmt: ::c_int, + lParam: ::LPARAM, + iImage: ::c_int, + iOrder: ::c_int, + _type: ::UINT, + pvFilter: *mut ::c_void, + state: ::UINT, +}} +pub type LPHDITEMW = *mut HDITEMW; +pub const HDI_WIDTH: ::UINT = 0x0001; +pub const HDI_HEIGHT: ::UINT = HDI_WIDTH; +pub const HDI_TEXT: ::UINT = 0x0002; +pub const HDI_FORMAT: ::UINT = 0x0004; +pub const HDI_LPARAM: ::UINT = 0x0008; +pub const HDI_BITMAP: ::UINT = 0x0010; +pub const HDI_IMAGE: ::UINT = 0x0020; +pub const HDI_DI_SETITEM: ::UINT = 0x0040; +pub const HDI_ORDER: ::UINT = 0x0080; +pub const HDI_FILTER: ::UINT = 0x0100; +pub const HDI_STATE: ::UINT = 0x0200; +pub const HDF_LEFT: ::c_int = 0x0000; +pub const HDF_RIGHT: ::c_int = 0x0001; +pub const HDF_CENTER: ::c_int = 0x0002; +pub const HDF_JUSTIFYMASK: ::c_int = 0x0003; +pub const HDF_RTLREADING: ::c_int = 0x0004; +pub const HDF_BITMAP: ::c_int = 0x2000; +pub const HDF_STRING: ::c_int = 0x4000; +pub const HDF_OWNERDRAW: ::c_int = 0x8000; +pub const HDF_IMAGE: ::c_int = 0x0800; +pub const HDF_BITMAP_ON_RIGHT: ::c_int = 0x1000; +pub const HDF_SORTUP: ::c_int = 0x0400; +pub const HDF_SORTDOWN: ::c_int = 0x0200; +pub const HDF_CHECKBOX: ::c_int = 0x0040; +pub const HDF_CHECKED: ::c_int = 0x0080; +pub const HDF_FIXEDWIDTH: ::c_int = 0x0100; +pub const HDF_SPLITBUTTON: ::c_int = 0x1000000; +pub const HDIS_FOCUSED: ::UINT = 0x00000001; +pub const HDM_GETITEMCOUNT: ::UINT = HDM_FIRST + 0; +pub const HDM_INSERTITEMA: ::UINT = HDM_FIRST + 1; +pub const HDM_INSERTITEMW: ::UINT = HDM_FIRST + 10; +pub const HDM_DELETEITEM: ::UINT = HDM_FIRST + 2; +pub const HDM_GETITEMA: ::UINT = HDM_FIRST + 3; +pub const HDM_GETITEMW: ::UINT = HDM_FIRST + 11; +pub const HDM_SETITEMA: ::UINT = HDM_FIRST + 4; +pub const HDM_SETITEMW: ::UINT = HDM_FIRST + 12; +STRUCT!{struct HDLAYOUT { + prc: *mut ::RECT, + pwpos: *mut ::WINDOWPOS, +}} +pub type LPHDLAYOUT = *mut HDLAYOUT; +pub const HDM_LAYOUT: ::UINT = HDM_FIRST + 5; +pub const HHT_NOWHERE: ::UINT = 0x0001; +pub const HHT_ONHEADER: ::UINT = 0x0002; +pub const HHT_ONDIVIDER: ::UINT = 0x0004; +pub const HHT_ONDIVOPEN: ::UINT = 0x0008; +pub const HHT_ONFILTER: ::UINT = 0x0010; +pub const HHT_ONFILTERBUTTON: ::UINT = 0x0020; +pub const HHT_ABOVE: ::UINT = 0x0100; +pub const HHT_BELOW: ::UINT = 0x0200; +pub const HHT_TORIGHT: ::UINT = 0x0400; +pub const HHT_TOLEFT: ::UINT = 0x0800; +pub const HHT_ONITEMSTATEICON: ::UINT = 0x1000; +pub const HHT_ONDROPDOWN: ::UINT = 0x2000; +pub const HHT_ONOVERFLOW: ::UINT = 0x4000; +STRUCT!{struct HDHITTESTINFO { + pt: ::POINT, + flags: ::UINT, + iItem: ::c_int, +}} +pub type LPHDHITTESTINFO = *mut HDHITTESTINFO; +pub const HDSIL_NORMAL: ::WPARAM = 0; +pub const HDSIL_STATE: ::WPARAM = 1; +pub const HDM_HITTEST: ::UINT = HDM_FIRST + 6; +pub const HDM_GETITEMRECT: ::UINT = HDM_FIRST + 7; +pub const HDM_SETIMAGELIST: ::UINT = HDM_FIRST + 8; +pub const HDM_GETIMAGELIST: ::UINT = HDM_FIRST + 9; +pub const HDM_ORDERTOINDEX: ::UINT = HDM_FIRST + 15; +pub const HDM_CREATEDRAGIMAGE: ::UINT = HDM_FIRST + 16; +pub const HDM_GETORDERARRAY: ::UINT = HDM_FIRST + 17; +pub const HDM_SETORDERARRAY: ::UINT = HDM_FIRST + 18; +pub const HDM_SETHOTDIVIDER: ::UINT = HDM_FIRST + 19; +pub const HDM_SETBITMAPMARGIN: ::UINT = HDM_FIRST + 20; +pub const HDM_GETBITMAPMARGIN: ::UINT = HDM_FIRST + 21; +pub const HDM_SETFILTERCHANGETIMEOUT: ::UINT = HDM_FIRST + 22; +pub const HDM_EDITFILTER: ::UINT = HDM_FIRST + 23; +pub const HDM_CLEARFILTER: ::UINT = HDM_FIRST + 24; +pub const HDM_GETITEMDROPDOWNRECT: ::UINT = HDM_FIRST + 25; +pub const HDM_GETOVERFLOWRECT: ::UINT = HDM_FIRST + 26; +pub const HDM_GETFOCUSEDITEM: ::UINT = HDM_FIRST + 27; +pub const HDM_SETFOCUSEDITEM: ::UINT = HDM_FIRST + 28; +pub const HDN_ITEMCHANGINGA: ::UINT = HDN_FIRST-0; +pub const HDN_ITEMCHANGINGW: ::UINT = HDN_FIRST-20; +pub const HDN_ITEMCHANGEDA: ::UINT = HDN_FIRST-1; +pub const HDN_ITEMCHANGEDW: ::UINT = HDN_FIRST-21; +pub const HDN_ITEMCLICKA: ::UINT = HDN_FIRST-2; +pub const HDN_ITEMCLICKW: ::UINT = HDN_FIRST-22; +pub const HDN_ITEMDBLCLICKA: ::UINT = HDN_FIRST-3; +pub const HDN_ITEMDBLCLICKW: ::UINT = HDN_FIRST-23; +pub const HDN_DIVIDERDBLCLICKA: ::UINT = HDN_FIRST-5; +pub const HDN_DIVIDERDBLCLICKW: ::UINT = HDN_FIRST-25; +pub const HDN_BEGINTRACKA: ::UINT = HDN_FIRST-6; +pub const HDN_BEGINTRACKW: ::UINT = HDN_FIRST-26; +pub const HDN_ENDTRACKA: ::UINT = HDN_FIRST-7; +pub const HDN_ENDTRACKW: ::UINT = HDN_FIRST-27; +pub const HDN_TRACKA: ::UINT = HDN_FIRST-8; +pub const HDN_TRACKW: ::UINT = HDN_FIRST-28; +pub const HDN_GETDISPINFOA: ::UINT = HDN_FIRST-9; +pub const HDN_GETDISPINFOW: ::UINT = HDN_FIRST-29; +pub const HDN_BEGINDRAG: ::UINT = HDN_FIRST-10; +pub const HDN_ENDDRAG: ::UINT = HDN_FIRST-11; +pub const HDN_FILTERCHANGE: ::UINT = HDN_FIRST-12; +pub const HDN_FILTERBTNCLICK: ::UINT = HDN_FIRST-13; +pub const HDN_BEGINFILTEREDIT: ::UINT = HDN_FIRST-14; +pub const HDN_ENDFILTEREDIT: ::UINT = HDN_FIRST-15; +pub const HDN_ITEMSTATEICONCLICK: ::UINT = HDN_FIRST-16; +pub const HDN_ITEMKEYDOWN: ::UINT = HDN_FIRST-17; +pub const HDN_DROPDOWN: ::UINT = HDN_FIRST-18; +pub const HDN_OVERFLOWCLICK: ::UINT = HDN_FIRST-19; +STRUCT!{struct NMHEADERA { + hdr: ::NMHDR, + iItem: ::c_int, + iButton: ::c_int, + pitem: *mut HDITEMA, +}} +pub type LPNMHEADERA = *mut NMHEADERA; +STRUCT!{struct NMHEADERW { + hdr: ::NMHDR, + iItem: ::c_int, + iButton: ::c_int, + pitem: *mut HDITEMW, +}} +pub type LPNMHEADERW = *mut NMHEADERW; +STRUCT!{struct NMHDDISPINFOW { + hdr: ::NMHDR, + iItem: ::c_int, + mask: ::UINT, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + lParam: ::LPARAM, +}} +pub type LPNMHDDISPINFOW = *mut NMHDDISPINFOW; +STRUCT!{struct NMHDDISPINFOA { + hdr: ::NMHDR, + iItem: ::c_int, + mask: ::UINT, + pszText: ::LPSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + lParam: ::LPARAM, +}} +pub type LPNMHDDISPINFOA = *mut NMHDDISPINFOA; +STRUCT!{struct NMHDFILTERBTNCLICK { + hdr: ::NMHDR, + iItem: ::INT, + rc: ::RECT, +}} +pub type LPNMHDFILTERBTNCLICK = *mut NMHDFILTERBTNCLICK; +#[cfg(target_arch="x86")] +STRUCT!{struct TBBUTTON { + iBitmap: ::c_int, + idCommand: ::c_int, + fsState: ::BYTE, + fsStyle: ::BYTE, + bReserved: [::BYTE; 2], + dwData: ::DWORD_PTR, + iString: ::INT_PTR, +}} +#[cfg(target_arch="x86_64")] +STRUCT!{struct TBBUTTON { + iBitmap: ::c_int, + idCommand: ::c_int, + fsState: ::BYTE, + fsStyle: ::BYTE, + bReserved: [::BYTE; 6], + dwData: ::DWORD_PTR, + iString: ::INT_PTR, +}} +pub type PTBBUTTON = *mut TBBUTTON; +pub type LPTBBUTTON = *mut TBBUTTON; +pub type LPCTBBUTTON = *const TBBUTTON; +STRUCT!{struct COLORMAP { + from: ::COLORREF, + to: ::COLORREF, +}} +pub type LPCOLORMAP = *mut COLORMAP; +pub const CMB_MASKED: ::UINT = 0x02; +pub const TBSTATE_CHECKED: ::BYTE = 0x01; +pub const TBSTATE_PRESSED: ::BYTE = 0x02; +pub const TBSTATE_ENABLED: ::BYTE = 0x04; +pub const TBSTATE_HIDDEN: ::BYTE = 0x08; +pub const TBSTATE_INDETERMINATE: ::BYTE = 0x10; +pub const TBSTATE_WRAP: ::BYTE = 0x20; +pub const TBSTATE_ELLIPSES: ::BYTE = 0x40; +pub const TBSTATE_MARKED: ::BYTE = 0x80; +pub const TBSTYLE_BUTTON: ::DWORD = 0x0000; +pub const TBSTYLE_SEP: ::DWORD = 0x0001; +pub const TBSTYLE_CHECK: ::DWORD = 0x0002; +pub const TBSTYLE_GROUP: ::DWORD = 0x0004; +pub const TBSTYLE_CHECKGROUP: ::DWORD = TBSTYLE_GROUP | TBSTYLE_CHECK; +pub const TBSTYLE_DROPDOWN: ::DWORD = 0x0008; +pub const TBSTYLE_AUTOSIZE: ::DWORD = 0x0010; +pub const TBSTYLE_NOPREFIX: ::DWORD = 0x0020; +pub const TBSTYLE_TOOLTIPS: ::DWORD = 0x0100; +pub const TBSTYLE_WRAPABLE: ::DWORD = 0x0200; +pub const TBSTYLE_ALTDRAG: ::DWORD = 0x0400; +pub const TBSTYLE_FLAT: ::DWORD = 0x0800; +pub const TBSTYLE_LIST: ::DWORD = 0x1000; +pub const TBSTYLE_CUSTOMERASE: ::DWORD = 0x2000; +pub const TBSTYLE_REGISTERDROP: ::DWORD = 0x4000; +pub const TBSTYLE_TRANSPARENT: ::DWORD = 0x8000; +pub const TBSTYLE_EX_DRAWDDARROWS: ::DWORD = 0x00000001; +pub const BTNS_BUTTON: ::DWORD = TBSTYLE_BUTTON; +pub const BTNS_SEP: ::DWORD = TBSTYLE_SEP; +pub const BTNS_CHECK: ::DWORD = TBSTYLE_CHECK; +pub const BTNS_GROUP: ::DWORD = TBSTYLE_GROUP; +pub const BTNS_CHECKGROUP: ::DWORD = TBSTYLE_CHECKGROUP; +pub const BTNS_DROPDOWN: ::DWORD = TBSTYLE_DROPDOWN; +pub const BTNS_AUTOSIZE: ::DWORD = TBSTYLE_AUTOSIZE; +pub const BTNS_NOPREFIX: ::DWORD = TBSTYLE_NOPREFIX; +pub const BTNS_SHOWTEXT: ::DWORD = 0x0040; +pub const BTNS_WHOLEDROPDOWN: ::DWORD = 0x0080; +pub const TBSTYLE_EX_MIXEDBUTTONS: ::DWORD = 0x00000008; +pub const TBSTYLE_EX_HIDECLIPPEDBUTTONS: ::DWORD = 0x00000010; +pub const TBSTYLE_EX_MULTICOLUMN: ::DWORD = 0x00000002; +pub const TBSTYLE_EX_VERTICAL: ::DWORD = 0x00000004; +pub const TBSTYLE_EX_DOUBLEBUFFER: ::DWORD = 0x00000080; +STRUCT!{struct NMTBCUSTOMDRAW { + nmcd: NMCUSTOMDRAW, + hbrMonoDither: ::HBRUSH, + hbrLines: ::HBRUSH, + hpenLines: ::HPEN, + clrText: ::COLORREF, + clrMark: ::COLORREF, + clrTextHighlight: ::COLORREF, + clrBtnFace: ::COLORREF, + clrBtnHighlight: ::COLORREF, + clrHighlightHotTrack: ::COLORREF, + rcText: ::RECT, + nStringBkMode: ::c_int, + nHLStringBkMode: ::c_int, + iListGap: ::c_int, +}} +pub type LPNMTBCUSTOMDRAW = *mut NMTBCUSTOMDRAW; +pub const TBCDRF_NOEDGES: ::LRESULT = 0x00010000; +pub const TBCDRF_HILITEHOTTRACK: ::LRESULT = 0x00020000; +pub const TBCDRF_NOOFFSET: ::LRESULT = 0x00040000; +pub const TBCDRF_NOMARK: ::LRESULT = 0x00080000; +pub const TBCDRF_NOETCHEDEFFECT: ::LRESULT = 0x00100000; +pub const TBCDRF_BLENDICON: ::LRESULT = 0x00200000; +pub const TBCDRF_NOBACKGROUND: ::LRESULT = 0x00400000; +pub const TBCDRF_USECDCOLORS: ::LRESULT = 0x00800000; +pub const TB_ENABLEBUTTON: ::UINT = ::WM_USER + 1; +pub const TB_CHECKBUTTON: ::UINT = ::WM_USER + 2; +pub const TB_PRESSBUTTON: ::UINT = ::WM_USER + 3; +pub const TB_HIDEBUTTON: ::UINT = ::WM_USER + 4; +pub const TB_INDETERMINATE: ::UINT = ::WM_USER + 5; +pub const TB_MARKBUTTON: ::UINT = ::WM_USER + 6; +pub const TB_ISBUTTONENABLED: ::UINT = ::WM_USER + 9; +pub const TB_ISBUTTONCHECKED: ::UINT = ::WM_USER + 10; +pub const TB_ISBUTTONPRESSED: ::UINT = ::WM_USER + 11; +pub const TB_ISBUTTONHIDDEN: ::UINT = ::WM_USER + 12; +pub const TB_ISBUTTONINDETERMINATE : ::UINT = ::WM_USER + 13; +pub const TB_ISBUTTONHIGHLIGHTED: ::UINT = ::WM_USER + 14; +pub const TB_SETSTATE: ::UINT = ::WM_USER + 17; +pub const TB_GETSTATE: ::UINT = ::WM_USER + 18; +pub const TB_ADDBITMAP: ::UINT = ::WM_USER + 19; +STRUCT!{struct TBADDBITMAP { + hInst: ::HINSTANCE, + nID: ::UINT_PTR, +}} +pub type LPTBADDBITMAP = *mut TBADDBITMAP; +pub const HINST_COMMCTRL: ::HINSTANCE = (0 - 1) as ::HINSTANCE; +pub const IDB_STD_SMALL_COLOR: ::WPARAM = 0; +pub const IDB_STD_LARGE_COLOR: ::WPARAM = 1; +pub const IDB_VIEW_SMALL_COLOR: ::WPARAM = 4; +pub const IDB_VIEW_LARGE_COLOR: ::WPARAM = 5; +pub const IDB_HIST_SMALL_COLOR: ::WPARAM = 8; +pub const IDB_HIST_LARGE_COLOR: ::WPARAM = 9; +pub const IDB_HIST_NORMAL: ::WPARAM = 12; +pub const IDB_HIST_HOT: ::WPARAM = 13; +pub const IDB_HIST_DISABLED: ::WPARAM = 14; +pub const IDB_HIST_PRESSED: ::WPARAM = 15; +pub const STD_CUT: ::c_int = 0; +pub const STD_COPY: ::c_int = 1; +pub const STD_PASTE: ::c_int = 2; +pub const STD_UNDO: ::c_int = 3; +pub const STD_REDOW: ::c_int = 4; +pub const STD_DELETE: ::c_int = 5; +pub const STD_FILENEW: ::c_int = 6; +pub const STD_FILEOPEN: ::c_int = 7; +pub const STD_FILESAVE: ::c_int = 8; +pub const STD_PRINTPRE: ::c_int = 9; +pub const STD_PROPERTIES: ::c_int = 10; +pub const STD_HELP: ::c_int = 11; +pub const STD_FIND: ::c_int = 12; +pub const STD_REPLACE: ::c_int = 13; +pub const STD_PRINT: ::c_int = 14; +pub const VIEW_LARGEICONS: ::c_int = 0; +pub const VIEW_SMALLICONS: ::c_int = 1; +pub const VIEW_LIST: ::c_int = 2; +pub const VIEW_DETAILS: ::c_int = 3; +pub const VIEW_SORTNAME: ::c_int = 4; +pub const VIEW_SORTSIZE: ::c_int = 5; +pub const VIEW_SORTDATE: ::c_int = 6; +pub const VIEW_SORTTYPE: ::c_int = 7; +pub const VIEW_PARENTFOLDER: ::c_int = 8; +pub const VIEW_NETCONNECT: ::c_int = 9; +pub const VIEW_NETDISCONNECT: ::c_int = 10; +pub const VIEW_NEWFOLDER: ::c_int = 11; +pub const VIEW_VIEWMENU: ::c_int = 12; +pub const HIST_BACK: ::c_int = 0; +pub const HIST_FORWARD: ::c_int = 1; +pub const HIST_FAVORITES: ::c_int = 2; +pub const HIST_ADDTOFAVORITES: ::c_int = 3; +pub const HIST_VIEWTREE: ::c_int = 4; +pub const TB_ADDBUTTONSA: ::UINT = ::WM_USER + 20; +pub const TB_INSERTBUTTONA: ::UINT = ::WM_USER + 21; +pub const TB_DELETEBUTTON: ::UINT = ::WM_USER + 22; +pub const TB_GETBUTTON: ::UINT = ::WM_USER + 23; +pub const TB_BUTTONCOUNT: ::UINT = ::WM_USER + 24; +pub const TB_COMMANDTOINDEX: ::UINT = ::WM_USER + 25; +STRUCT!{struct TBSAVEPARAMSA { + hkr: ::HKEY, + pszSubKey: ::LPCSTR, + pszValueName: ::LPCSTR, +}} +pub type LPTBSAVEPARAMSA = *mut TBSAVEPARAMSA; +STRUCT!{struct TBSAVEPARAMSW { + hkr: ::HKEY, + pszSubKey: ::LPCWSTR, + pszValueName: ::LPCWSTR, +}} +pub type LPTBSAVEPARAMSW = *mut TBSAVEPARAMSW; +pub const TB_SAVERESTOREA: ::UINT = ::WM_USER + 26; +pub const TB_SAVERESTOREW: ::UINT = ::WM_USER + 76; +pub const TB_CUSTOMIZE: ::UINT = ::WM_USER + 27; +pub const TB_ADDSTRINGA: ::UINT = ::WM_USER + 28; +pub const TB_ADDSTRINGW: ::UINT = ::WM_USER + 77; +pub const TB_GETITEMRECT: ::UINT = ::WM_USER + 29; +pub const TB_BUTTONSTRUCTSIZE: ::UINT = ::WM_USER + 30; +pub const TB_SETBUTTONSIZE: ::UINT = ::WM_USER + 31; +pub const TB_SETBITMAPSIZE: ::UINT = ::WM_USER + 32; +pub const TB_AUTOSIZE: ::UINT = ::WM_USER + 33; +pub const TB_GETTOOLTIPS: ::UINT = ::WM_USER + 35; +pub const TB_SETTOOLTIPS: ::UINT = ::WM_USER + 36; +pub const TB_SETPARENT: ::UINT = ::WM_USER + 37; +pub const TB_SETROWS: ::UINT = ::WM_USER + 39; +pub const TB_GETROWS: ::UINT = ::WM_USER + 40; +pub const TB_SETCMDID: ::UINT = ::WM_USER + 42; +pub const TB_CHANGEBITMAP: ::UINT = ::WM_USER + 43; +pub const TB_GETBITMAP: ::UINT = ::WM_USER + 44; +pub const TB_GETBUTTONTEXTA: ::UINT = ::WM_USER + 45; +pub const TB_GETBUTTONTEXTW: ::UINT = ::WM_USER + 75; +pub const TB_REPLACEBITMAP: ::UINT = ::WM_USER + 46; +pub const TB_SETINDENT: ::UINT = ::WM_USER + 47; +pub const TB_SETIMAGELIST: ::UINT = ::WM_USER + 48; +pub const TB_GETIMAGELIST: ::UINT = ::WM_USER + 49; +pub const TB_LOADIMAGES: ::UINT = ::WM_USER + 50; +pub const TB_GETRECT: ::UINT = ::WM_USER + 51; +pub const TB_SETHOTIMAGELIST: ::UINT = ::WM_USER + 52; +pub const TB_GETHOTIMAGELIST: ::UINT = ::WM_USER + 53; +pub const TB_SETDISABLEDIMAGELIST: ::UINT = ::WM_USER + 54; +pub const TB_GETDISABLEDIMAGELIST: ::UINT = ::WM_USER + 55; +pub const TB_SETSTYLE: ::UINT = ::WM_USER + 56; +pub const TB_GETSTYLE: ::UINT = ::WM_USER + 57; +pub const TB_GETBUTTONSIZE: ::UINT = ::WM_USER + 58; +pub const TB_SETBUTTONWIDTH: ::UINT = ::WM_USER + 59; +pub const TB_SETMAXTEXTROWS: ::UINT = ::WM_USER + 60; +pub const TB_GETTEXTROWS: ::UINT = ::WM_USER + 61; +pub const TB_GETOBJECT: ::UINT = ::WM_USER + 62; +pub const TB_GETHOTITEM: ::UINT = ::WM_USER + 71; +pub const TB_SETHOTITEM: ::UINT = ::WM_USER + 72; +pub const TB_SETANCHORHIGHLIGHT: ::UINT = ::WM_USER + 73; +pub const TB_GETANCHORHIGHLIGHT: ::UINT = ::WM_USER + 74; +pub const TB_MAPACCELERATORA: ::UINT = ::WM_USER + 78; +STRUCT!{struct TBINSERTMARK { + iButton: ::c_int, + dwFlags: ::DWORD, +}} +pub type LPTBINSERTMARK = *mut TBINSERTMARK; +pub const TBIMHT_AFTER: ::DWORD = 0x00000001; +pub const TBIMHT_BACKGROUND: ::DWORD = 0x00000002; +pub const TB_GETINSERTMARK: ::UINT = ::WM_USER + 79; +pub const TB_SETINSERTMARK: ::UINT = ::WM_USER + 80; +pub const TB_INSERTMARKHITTEST: ::UINT = ::WM_USER + 81; +pub const TB_MOVEBUTTON: ::UINT = ::WM_USER + 82; +pub const TB_GETMAXSIZE: ::UINT = ::WM_USER + 83; +pub const TB_SETEXTENDEDSTYLE: ::UINT = ::WM_USER + 84; +pub const TB_GETEXTENDEDSTYLE: ::UINT = ::WM_USER + 85; +pub const TB_GETPADDING: ::UINT = ::WM_USER + 86; +pub const TB_SETPADDING: ::UINT = ::WM_USER + 87; +pub const TB_SETINSERTMARKCOLOR: ::UINT = ::WM_USER + 88; +pub const TB_GETINSERTMARKCOLOR: ::UINT = ::WM_USER + 89; +pub const TB_SETCOLORSCHEME: ::UINT = CCM_SETCOLORSCHEME; +pub const TB_GETCOLORSCHEME: ::UINT = CCM_GETCOLORSCHEME; +pub const TB_SETUNICODEFORMAT: ::UINT = CCM_SETUNICODEFORMAT; +pub const TB_GETUNICODEFORMAT: ::UINT = CCM_GETUNICODEFORMAT; +pub const TB_MAPACCELERATORW: ::UINT = ::WM_USER + 90; +STRUCT!{struct TBREPLACEBITMAP { + hInstOld: ::HINSTANCE, + nIDOld: ::UINT_PTR, + hInstNew: ::HINSTANCE, + nIDNew: ::UINT_PTR, + nButtons: ::c_int, +}} +pub type LPTBREPLACEBITMAP = *mut TBREPLACEBITMAP; +pub const TBBF_LARGE: ::DWORD = 0x0001; +pub const TB_GETBITMAPFLAGS: ::UINT = ::WM_USER + 41; +pub const TBIF_IMAGE: ::DWORD = 0x00000001; +pub const TBIF_TEXT: ::DWORD = 0x00000002; +pub const TBIF_STATE: ::DWORD = 0x00000004; +pub const TBIF_STYLE: ::DWORD = 0x00000008; +pub const TBIF_LPARAM: ::DWORD = 0x00000010; +pub const TBIF_COMMAND: ::DWORD = 0x00000020; +pub const TBIF_SIZE: ::DWORD = 0x00000040; +pub const TBIF_BYINDEX: ::DWORD = 0x80000000; +STRUCT!{struct TBBUTTONINFOA { + cbSize: ::UINT, + dwMask: ::DWORD, + idCommand: ::c_int, + iImage: ::c_int, + fsState: ::BYTE, + fsStyle: ::BYTE, + cx: ::WORD, + lParam: ::DWORD_PTR, + pszText: ::LPSTR, + cchText: ::c_int, +}} +pub type LPTBBUTTONINFOA = *mut TBBUTTONINFOA; +STRUCT!{struct TBBUTTONINFOW { + cbSize: ::UINT, + dwMask: ::DWORD, + idCommand: ::c_int, + iImage: ::c_int, + fsState: ::BYTE, + fsStyle: ::BYTE, + cx: ::WORD, + lParam: ::DWORD_PTR, + pszText: ::LPWSTR, + cchText: ::c_int, +}} +pub type LPTBBUTTONINFOW = *mut TBBUTTONINFOW; +pub const TB_GETBUTTONINFOW: ::UINT = ::WM_USER + 63; +pub const TB_SETBUTTONINFOW: ::UINT = ::WM_USER + 64; +pub const TB_GETBUTTONINFOA: ::UINT = ::WM_USER + 65; +pub const TB_SETBUTTONINFOA: ::UINT = ::WM_USER + 66; +pub const TB_INSERTBUTTONW: ::UINT = ::WM_USER + 67; +pub const TB_ADDBUTTONSW: ::UINT = ::WM_USER + 68; +pub const TB_HITTEST: ::UINT = ::WM_USER + 69; +pub const TB_SETDRAWTEXTFLAGS: ::UINT = ::WM_USER + 70; +pub const TB_GETSTRINGW: ::UINT = ::WM_USER + 91; +pub const TB_GETSTRINGA: ::UINT = ::WM_USER + 92; +pub const TB_SETBOUNDINGSIZE: ::UINT = ::WM_USER + 93; +pub const TB_SETHOTITEM2: ::UINT = ::WM_USER + 94; +pub const TB_HASACCELERATOR: ::UINT = ::WM_USER + 95; +pub const TB_SETLISTGAP: ::UINT = ::WM_USER + 96; +pub const TB_GETIMAGELISTCOUNT: ::UINT = ::WM_USER + 98; +pub const TB_GETIDEALSIZE: ::UINT = ::WM_USER + 99; +pub const TBMF_PAD: ::DWORD = 0x00000001; +pub const TBMF_BARPAD: ::DWORD = 0x00000002; +pub const TBMF_BUTTONSPACING: ::DWORD = 0x00000004; +STRUCT!{struct TBMETRICS { + cbSize: ::UINT, + dwMask: ::DWORD, + cxPad: ::c_int, + cyPad: ::c_int, + cxBarPad: ::c_int, + cyBarPad: ::c_int, + cxButtonSpacing: ::c_int, + cyButtonSpacing: ::c_int, +}} +pub type LPTBMETRICS = *mut TBMETRICS; +pub const TB_GETMETRICS: ::UINT = ::WM_USER + 101; +pub const TB_SETMETRICS: ::UINT = ::WM_USER + 102; +pub const TB_GETITEMDROPDOWNRECT: ::UINT = ::WM_USER + 103; +pub const TB_SETPRESSEDIMAGELIST: ::UINT = ::WM_USER + 104; +pub const TB_GETPRESSEDIMAGELIST: ::UINT = ::WM_USER + 105; +pub const TB_SETWINDOWTHEME: ::UINT = CCM_SETWINDOWTHEME; +pub const TBN_GETBUTTONINFOA: ::UINT = TBN_FIRST - 0; +pub const TBN_BEGINDRAG: ::UINT = TBN_FIRST - 1; +pub const TBN_ENDDRAG: ::UINT = TBN_FIRST - 2; +pub const TBN_BEGINADJUST: ::UINT = TBN_FIRST - 3; +pub const TBN_ENDADJUST: ::UINT = TBN_FIRST - 4; +pub const TBN_RESET: ::UINT = TBN_FIRST - 5; +pub const TBN_QUERYINSERT: ::UINT = TBN_FIRST - 6; +pub const TBN_QUERYDELETE: ::UINT = TBN_FIRST - 7; +pub const TBN_TOOLBARCHANGE: ::UINT = TBN_FIRST - 8; +pub const TBN_CUSTHELP: ::UINT = TBN_FIRST - 9; +pub const TBN_DROPDOWN: ::UINT = TBN_FIRST - 10; +pub const TBN_GETOBJECT: ::UINT = TBN_FIRST - 12; +STRUCT!{struct NMTBHOTITEM { + hdr: ::NMHDR, + idOld: ::c_int, + idNew: ::c_int, + dwFlags: ::DWORD, +}} +pub type LPNMTBHOTITEM = *mut NMTBHOTITEM; +pub const HICF_OTHER: ::DWORD = 0x00000000; +pub const HICF_MOUSE: ::DWORD = 0x00000001; +pub const HICF_ARROWKEYS: ::DWORD = 0x00000002; +pub const HICF_ACCELERATOR: ::DWORD = 0x00000004; +pub const HICF_DUPACCEL: ::DWORD = 0x00000008; +pub const HICF_ENTERING: ::DWORD = 0x00000010; +pub const HICF_LEAVING: ::DWORD = 0x00000020; +pub const HICF_RESELECT: ::DWORD = 0x00000040; +pub const HICF_LMOUSE: ::DWORD = 0x00000080; +pub const HICF_TOGGLEDROPDOWN: ::DWORD = 0x00000100; +pub const TBN_HOTITEMCHANGE: ::UINT = TBN_FIRST - 13; +pub const TBN_DRAGOUT: ::UINT = TBN_FIRST - 14; +pub const TBN_DELETINGBUTTON: ::UINT = TBN_FIRST - 15; +pub const TBN_GETDISPINFOA: ::UINT = TBN_FIRST - 16; +pub const TBN_GETDISPINFOW: ::UINT = TBN_FIRST - 17; +pub const TBN_GETINFOTIPA: ::UINT = TBN_FIRST - 18; +pub const TBN_GETINFOTIPW: ::UINT = TBN_FIRST - 19; +pub const TBN_GETBUTTONINFOW: ::UINT = TBN_FIRST - 20; +pub const TBN_RESTORE: ::UINT = TBN_FIRST - 21; +pub const TBN_SAVE: ::UINT = TBN_FIRST - 22; +pub const TBN_INITCUSTOMIZE: ::UINT = TBN_FIRST - 23; +pub const TBN_WRAPHOTITEM: ::UINT = TBN_FIRST - 24; +pub const TBN_DUPACCELERATOR: ::UINT = TBN_FIRST - 25; +pub const TBN_WRAPACCELERATOR: ::UINT = TBN_FIRST - 26; +pub const TBN_DRAGOVER: ::UINT = TBN_FIRST - 27; +pub const TBN_MAPACCELERATOR: ::UINT = TBN_FIRST - 28; +pub const TBNRF_HIDEHELP: ::LRESULT = 0x00000001; +pub const TBNRF_ENDCUSTOMIZE: ::LRESULT = 0x00000002; +STRUCT!{struct NMTBSAVE { + hdr: ::NMHDR, + pData: *mut ::DWORD, + pCurrent: *mut ::DWORD, + cbData: ::UINT, + iItem: ::c_int, + cButtons: ::c_int, + tbButton: TBBUTTON, +}} +pub type LPNMTBSAVE = *mut NMTBSAVE; +STRUCT!{struct NMTBRESTORE { + hdr: ::NMHDR, + pData: *mut ::DWORD, + pCurrent: *mut ::DWORD, + cbData: ::UINT, + iItem: ::c_int, + cButtons: ::c_int, + cbBytesPerRecord: ::c_int, + tbButton: TBBUTTON, +}} +pub type LPNMTBRESTORE = *mut NMTBRESTORE; +STRUCT!{struct NMTBGETINFOTIPA { + hdr: ::NMHDR, + pszText: ::LPSTR, + cchTextMax: ::c_int, + iItem: ::c_int, + lParal: ::LPARAM, +}} +pub type LPNMTBGETINFOTIPA = *mut NMTBGETINFOTIPA; +STRUCT!{struct NMTBGETINFOTIPW { + hdr: ::NMHDR, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + iItem: ::c_int, + lParal: ::LPARAM, +}} +pub type LPNMTBGETINFOTIPW = *mut NMTBGETINFOTIPW; +pub const TBNF_IMAGE: ::DWORD = 0x00000001; +pub const TBNF_TEXT: ::DWORD = 0x00000002; +pub const TBNF_DI_SETITEM: ::DWORD = 0x10000000; +STRUCT!{struct NMTBDISPINFOA { + hdr: ::NMHDR, + dwMask: ::DWORD, + idCommand: ::c_int, + lParam: ::DWORD_PTR, + iImage: ::c_int, + pszText: ::LPSTR, + cchText: ::c_int, +}} +pub type LPNMTBDISPINFOA = *mut NMTBDISPINFOA; +STRUCT!{struct NMTBDISPINFOW { + hdr: ::NMHDR, + dwMask: ::DWORD, + idCommand: ::c_int, + lParam: ::DWORD_PTR, + iImage: ::c_int, + pszText: ::LPWSTR, + cchText: ::c_int, +}} +pub type LPNMTBDISPINFOW = *mut NMTBDISPINFOW; +pub const TBDDRET_DEFAULT: ::LRESULT = 0; +pub const TBDDRET_NODEFAULT: ::LRESULT = 1; +pub const TBDDRET_TREATPRESSED: ::LRESULT = 2; +pub type TBNOTIFYA = NMTOOLBARA; +pub type TBNOTIFYW = NMTOOLBARW; +pub type LPTBNOTIFYA = LPNMTOOLBARA; +pub type LPTBNOTIFYW = LPNMTOOLBARW; +STRUCT!{struct NMTOOLBARA { + hdr: ::NMHDR, + iItem: ::c_int, + tbButton: TBBUTTON, + cchText: ::c_int, + pszText: ::LPSTR, + rcButton: ::RECT, +}} +pub type LPNMTOOLBARA = *mut NMTOOLBARA; +STRUCT!{struct NMTOOLBARW { + hdr: ::NMHDR, + iItem: ::c_int, + tbButton: TBBUTTON, + cchText: ::c_int, + pszText: ::LPWSTR, + rcButton: ::RECT, +}} +pub type LPNMTOOLBARW = *mut NMTOOLBARW; +pub const RBIM_IMAGELIST: ::UINT = 0x00000001; +pub const RBS_TOOLTIPS: ::DWORD = 0x00000100; +pub const RBS_VARHEIGHT: ::DWORD = 0x00000200; +pub const RBS_BANDBORDERS: ::DWORD = 0x00000400; +pub const RBS_FIXEDORDER: ::DWORD = 0x00000800; +pub const RBS_REGISTERDROP: ::DWORD = 0x00001000; +pub const RBS_AUTOSIZE: ::DWORD = 0x00002000; +pub const RBS_VERTICALGRIPPER: ::DWORD = 0x00004000; +pub const RBS_DBLCLKTOGGLE: ::DWORD = 0x00008000; +STRUCT!{struct REBARINFO { + cbSize: ::UINT, + fMask: ::UINT, + himl: HIMAGELIST, +}} +pub type LPREBARINFO = *mut REBARINFO; +pub const RBBS_BREAK: ::UINT = 0x00000001; +pub const RBBS_FIXEDSIZE: ::UINT = 0x00000002; +pub const RBBS_CHILDEDGE: ::UINT = 0x00000004; +pub const RBBS_HIDDEN: ::UINT = 0x00000008; +pub const RBBS_NOVERT: ::UINT = 0x00000010; +pub const RBBS_FIXEDBMP: ::UINT = 0x00000020; +pub const RBBS_VARIABLEHEIGHT: ::UINT = 0x00000040; +pub const RBBS_GRIPPERALWAYS: ::UINT = 0x00000080; +pub const RBBS_NOGRIPPER: ::UINT = 0x00000100; +pub const RBBS_USECHEVRON: ::UINT = 0x00000200; +pub const RBBS_HIDETITLE: ::UINT = 0x00000400; +pub const RBBS_TOPALIGN: ::UINT = 0x00000800; +pub const RBBIM_STYLE: ::UINT = 0x00000001; +pub const RBBIM_COLORS: ::UINT = 0x00000002; +pub const RBBIM_TEXT: ::UINT = 0x00000004; +pub const RBBIM_IMAGE: ::UINT = 0x00000008; +pub const RBBIM_CHILD: ::UINT = 0x00000010; +pub const RBBIM_CHILDSIZE: ::UINT = 0x00000020; +pub const RBBIM_SIZE: ::UINT = 0x00000040; +pub const RBBIM_BACKGROUND: ::UINT = 0x00000080; +pub const RBBIM_ID: ::UINT = 0x00000100; +pub const RBBIM_IDEALSIZE: ::UINT = 0x00000200; +pub const RBBIM_LPARAM: ::UINT = 0x00000400; +pub const RBBIM_HEADERSIZE: ::UINT = 0x00000800; +pub const RBBIM_CHEVRONLOCATION: ::UINT = 0x00001000; +pub const RBBIM_CHEVRONSTATE: ::UINT = 0x00002000; +STRUCT!{struct REBARBANDINFOA { + cbSize: ::UINT, + fMask: ::UINT, + fStyle: ::UINT, + clrFore: ::COLORREF, + clrBack: ::COLORREF, + lpText: ::LPSTR, + cch: ::UINT, + iImage: ::c_int, + hwndChild: ::HWND, + cxMinChild: ::UINT, + cyMinChild: ::UINT, + cx: ::UINT, + hbmBack: ::HBITMAP, + wID: ::UINT, + cyChild: ::UINT, + cyMaxChild: ::UINT, + cyIntegral: ::UINT, + cxIdeal: ::UINT, + lParam: ::LPARAM, + cxHeader: ::UINT, + rcChevronLocation: ::RECT, + uChevronState: ::UINT, +}} +pub type LPREBARBANDINFOA = *mut REBARBANDINFOA; +pub type LPCREBARBANDINFOA = *const REBARBANDINFOA; +STRUCT!{struct REBARBANDINFOW { + cbSize: ::UINT, + fMask: ::UINT, + fStyle: ::UINT, + clrFore: ::COLORREF, + clrBack: ::COLORREF, + lpText: ::LPWSTR, + cch: ::UINT, + iImage: ::c_int, + hwndChild: ::HWND, + cxMinChild: ::UINT, + cyMinChild: ::UINT, + cx: ::UINT, + hbmBack: ::HBITMAP, + wID: ::UINT, + cyChild: ::UINT, + cyMaxChild: ::UINT, + cyIntegral: ::UINT, + cxIdeal: ::UINT, + lParam: ::LPARAM, + cxHeader: ::UINT, + rcChevronLocation: ::RECT, + uChevronState: ::UINT, +}} +pub type LPREBARBANDINFOW = *mut REBARBANDINFOW; +pub type LPCREBARBANDINFOW = *const REBARBANDINFOW; +pub const RB_INSERTBANDA: ::UINT = ::WM_USER + 1; +pub const RB_DELETEBAND: ::UINT = ::WM_USER + 2; +pub const RB_GETBARINFO: ::UINT = ::WM_USER + 3; +pub const RB_SETBARINFO: ::UINT = ::WM_USER + 4; +pub const RB_SETBANDINFOA: ::UINT = ::WM_USER + 6; +pub const RB_SETPARENT: ::UINT = ::WM_USER + 7; +pub const RB_HITTEST: ::UINT = ::WM_USER + 8; +pub const RB_GETRECT: ::UINT = ::WM_USER + 9; +pub const RB_INSERTBANDW: ::UINT = ::WM_USER + 10; +pub const RB_SETBANDINFOW: ::UINT = ::WM_USER + 11; +pub const RB_GETBANDCOUNT: ::UINT = ::WM_USER + 12; +pub const RB_GETROWCOUNT: ::UINT = ::WM_USER + 13; +pub const RB_GETROWHEIGHT: ::UINT = ::WM_USER + 14; +pub const RB_IDTOINDEX: ::UINT = ::WM_USER + 16; +pub const RB_GETTOOLTIPS: ::UINT = ::WM_USER + 17; +pub const RB_SETTOOLTIPS: ::UINT = ::WM_USER + 18; +pub const RB_SETBKCOLOR: ::UINT = ::WM_USER + 19; +pub const RB_GETBKCOLOR: ::UINT = ::WM_USER + 20; +pub const RB_SETTEXTCOLOR: ::UINT = ::WM_USER + 21; +pub const RB_GETTEXTCOLOR: ::UINT = ::WM_USER + 22; +pub const RBSTR_CHANGERECT: ::WPARAM = 0x0001; +pub const RB_SIZETORECT: ::UINT = ::WM_USER + 23; +pub const RB_SETCOLORSCHEME: ::UINT = CCM_SETCOLORSCHEME; +pub const RB_GETCOLORSCHEME: ::UINT = CCM_GETCOLORSCHEME; +pub const RB_BEGINDRAG: ::UINT = ::WM_USER + 24; +pub const RB_ENDDRAG: ::UINT = ::WM_USER + 25; +pub const RB_DRAGMOVE: ::UINT = ::WM_USER + 26; +pub const RB_GETBARHEIGHT: ::UINT = ::WM_USER + 27; +pub const RB_GETBANDINFOW: ::UINT = ::WM_USER + 28; +pub const RB_GETBANDINFOA: ::UINT = ::WM_USER + 29; +pub const RB_MINIMIZEBAND: ::UINT = ::WM_USER + 30; +pub const RB_MAXIMIZEBAND: ::UINT = ::WM_USER + 31; +pub const RB_GETDROPTARGET: ::UINT = CCM_GETDROPTARGET; +pub const RB_GETBANDBORDERS: ::UINT = ::WM_USER + 34; +pub const RB_SHOWBAND: ::UINT = ::WM_USER + 35; +pub const RB_SETPALETTE: ::UINT = ::WM_USER + 37; +pub const RB_GETPALETTE: ::UINT = ::WM_USER + 38; +pub const RB_MOVEBAND: ::UINT = ::WM_USER + 39; +pub const RB_SETUNICODEFORMAT: ::UINT = CCM_SETUNICODEFORMAT; +pub const RB_GETUNICODEFORMAT: ::UINT = CCM_GETUNICODEFORMAT; +pub const RB_GETBANDMARGINS: ::UINT = ::WM_USER + 40; +pub const RB_SETWINDOWTHEME: ::UINT = CCM_SETWINDOWTHEME; +pub const RB_SETEXTENDEDSTYLE: ::UINT = ::WM_USER + 41; +pub const RB_GETEXTENDEDSTYLE: ::UINT = ::WM_USER + 42; +pub const RB_PUSHCHEVRON: ::UINT = ::WM_USER + 43; +pub const RB_SETBANDWIDTH: ::UINT = ::WM_USER + 44; +pub const RBN_HEIGHTCHANGE: ::UINT = RBN_FIRST - 0; +pub const RBN_GETOBJECT: ::UINT = RBN_FIRST - 1; +pub const RBN_LAYOUTCHANGED: ::UINT = RBN_FIRST - 2; +pub const RBN_AUTOSIZE: ::UINT = RBN_FIRST - 3; +pub const RBN_BEGINDRAG: ::UINT = RBN_FIRST - 4; +pub const RBN_ENDDRAG: ::UINT = RBN_FIRST - 5; +pub const RBN_DELETINGBAND: ::UINT = RBN_FIRST - 6; +pub const RBN_DELETEDBAND: ::UINT = RBN_FIRST - 7; +pub const RBN_CHILDSIZE: ::UINT = RBN_FIRST - 8; +pub const RBN_CHEVRONPUSHED: ::UINT = RBN_FIRST - 10; +pub const RBN_SPLITTERDRAG: ::UINT = RBN_FIRST - 11; +pub const RBN_MINMAX: ::UINT = RBN_FIRST - 21; +pub const RBN_AUTOBREAK: ::UINT = RBN_FIRST - 22; +STRUCT!{struct NMREBARCHILDSIZE { + hdr: ::NMHDR, + uBand: ::UINT, + wID: ::UINT, + rcChild: ::RECT, + rcBand: ::RECT, +}} +pub type LPNMREBARCHILDSIZE = *mut NMREBARCHILDSIZE; +STRUCT!{struct NMREBAR { + hdr: ::NMHDR, + dwMask: ::DWORD, + uBand: ::UINT, + fStyle: ::UINT, + wID: ::UINT, + lParam: ::LPARAM, +}} +pub type LPNMREBAR = *mut NMREBAR; +pub const RBNM_ID: ::DWORD = 0x00000001; +pub const RBNM_STYLE: ::DWORD = 0x00000002; +pub const RBNM_LPARAM: ::DWORD = 0x00000004; +STRUCT!{struct NMRBAUTOSIZE { + hdr: ::NMHDR, + fChanged: ::BOOL, + rcTarget: ::RECT, + rcActual: ::RECT, +}} +pub type LPNMRBAUTOSIZE = *mut NMRBAUTOSIZE; +STRUCT!{struct NMREBARCHEVRON { + hdr: ::NMHDR, + uBand: ::UINT, + wID: ::UINT, + lParam: ::LPARAM, + rc: ::RECT, + lParamNM: ::LPARAM, +}} +pub type LPNMREBARCHEVRON = *mut NMREBARCHEVRON; +STRUCT!{struct NMREBARSPLITTER { + hdr: ::NMHDR, + rcSizing: ::RECT, +}} +pub type LPNMREBARSPLITTER = *mut NMREBARSPLITTER; +pub const RBAB_AUTOSIZE: ::UINT = 0x0001; +pub const RBAB_ADDBAND: ::UINT = 0x0002; +STRUCT!{struct NMREBARAUTOBREAK { + hdr: ::NMHDR, + uBand: ::UINT, + wID: ::UINT, + lParam: ::LPARAM, + uMsg: ::UINT, + fStyleCurrent: ::UINT, + fAutoBreak: ::UINT, +}} +pub type LPNMREBARAUTOBREAK = *mut NMREBARAUTOBREAK; +pub const RBHT_NOWHERE: ::UINT = 0x0001; +pub const RBHT_CAPTION: ::UINT = 0x0002; +pub const RBHT_CLIENT: ::UINT = 0x0003; +pub const RBHT_GRABBER: ::UINT = 0x0004; +pub const RBHT_CHEVRON: ::UINT = 0x0008; +pub const RBHT_SPLITTER: ::UINT = 0x0010; +STRUCT!{struct RBHITTESTINFO { + pt: ::POINT, + flags: ::UINT, + iBand: ::c_int, +}} +pub type LPRBHITTESTINFO = *mut RBHITTESTINFO; +pub type LPTOOLINFOA = LPTTTOOLINFOA; +pub type LPTOOLINFOW = LPTTTOOLINFOW; +pub type TOOLINFOA = TTTOOLINFOA; +pub type TOOLINFOW = TTTOOLINFOW; +STRUCT!{struct TTTOOLINFOA { + cbSize: ::UINT, + uFlags: ::UINT, + hwnd: ::HWND, + uId: ::UINT_PTR, + rect: ::RECT, + hinst: ::HINSTANCE, + lpszText: ::LPSTR, + lParam: ::LPARAM, + lpReserved: *mut ::c_void, +}} +pub type PTTTOOLINFOA = *mut TTTOOLINFOA; +pub type LPTTTOOLINFOA = *mut TTTOOLINFOA; +STRUCT!{struct TTTOOLINFOW { + cbSize: ::UINT, + uFlags: ::UINT, + hwnd: ::HWND, + uId: ::UINT_PTR, + rect: ::RECT, + hinst: ::HINSTANCE, + lpszText: ::LPSTR, + lParam: ::LPARAM, + lpReserved: *mut ::c_void, +}} +pub type PTTTOOLINFOW = *mut TTTOOLINFOW; +pub type LPTTTOOLINFOW = *mut TTTOOLINFOW; +pub const TTS_ALWAYSTIP: ::DWORD = 0x01; +pub const TTS_NOPREFIX: ::DWORD = 0x02; +pub const TTS_NOANIMATE: ::DWORD = 0x10; +pub const TTS_NOFADE: ::DWORD = 0x20; +pub const TTS_BALLOON: ::DWORD = 0x40; +pub const TTS_CLOSE: ::DWORD = 0x80; +pub const TTS_USEVISUALSTYLE: ::DWORD = 0x100; +pub const TTF_IDISHWND: ::UINT = 0x0001; +pub const TTF_CENTERTIP: ::UINT = 0x0002; +pub const TTF_RTLREADING: ::UINT = 0x0004; +pub const TTF_SUBCLASS: ::UINT = 0x0010; +pub const TTF_TRACK: ::UINT = 0x0020; +pub const TTF_ABSOLUTE: ::UINT = 0x0080; +pub const TTF_TRANSPARENT: ::UINT = 0x0100; +pub const TTF_PARSELINKS: ::UINT = 0x1000; +pub const TTF_DI_SETITEM: ::UINT = 0x8000; +pub const TTDT_AUTOMATIC: ::WPARAM = 0; +pub const TTDT_RESHOW: ::WPARAM = 1; +pub const TTDT_AUTOPOP: ::WPARAM = 2; +pub const TTDT_INITIAL: ::WPARAM = 3; +pub const TTI_NONE: ::WPARAM = 0; +pub const TTI_INFO: ::WPARAM = 1; +pub const TTI_WARNING: ::WPARAM = 2; +pub const TTI_ERROR: ::WPARAM = 3; +pub const TTI_INFO_LARGE: ::WPARAM = 4; +pub const TTI_WARNING_LARGE: ::WPARAM = 5; +pub const TTI_ERROR_LARGE: ::WPARAM = 6; +pub const TTM_ACTIVATE: ::UINT = ::WM_USER + 1; +pub const TTM_SETDELAYTIME: ::UINT = ::WM_USER + 3; +pub const TTM_ADDTOOLA: ::UINT = ::WM_USER + 4; +pub const TTM_ADDTOOLW: ::UINT = ::WM_USER + 50; +pub const TTM_DELTOOLA: ::UINT = ::WM_USER + 5; +pub const TTM_DELTOOLW: ::UINT = ::WM_USER + 51; +pub const TTM_NEWTOOLRECTA: ::UINT = ::WM_USER + 6; +pub const TTM_NEWTOOLRECTW: ::UINT = ::WM_USER + 52; +pub const TTM_RELAYEVENT: ::UINT = ::WM_USER + 7; +pub const TTM_GETTOOLINFOA: ::UINT = ::WM_USER + 8; +pub const TTM_GETTOOLINFOW: ::UINT = ::WM_USER + 53; +pub const TTM_SETTOOLINFOA: ::UINT = ::WM_USER + 9; +pub const TTM_SETTOOLINFOW: ::UINT = ::WM_USER + 54; +pub const TTM_HITTESTA: ::UINT = ::WM_USER + 10; +pub const TTM_HITTESTW: ::UINT = ::WM_USER + 55; +pub const TTM_GETTEXTA: ::UINT = ::WM_USER + 11; +pub const TTM_GETTEXTW: ::UINT = ::WM_USER + 56; +pub const TTM_UPDATETIPTEXTA: ::UINT = ::WM_USER + 12; +pub const TTM_UPDATETIPTEXTW: ::UINT = ::WM_USER + 57; +pub const TTM_GETTOOLCOUNT: ::UINT = ::WM_USER + 13; +pub const TTM_ENUMTOOLSA: ::UINT = ::WM_USER + 14; +pub const TTM_ENUMTOOLSW: ::UINT = ::WM_USER + 58; +pub const TTM_GETCURRENTTOOLA: ::UINT = ::WM_USER + 15; +pub const TTM_GETCURRENTTOOLW: ::UINT = ::WM_USER + 59; +pub const TTM_WINDOWFROMPOINT: ::UINT = ::WM_USER + 16; +pub const TTM_TRACKACTIVATE: ::UINT = ::WM_USER + 17; +pub const TTM_TRACKPOSITION: ::UINT = ::WM_USER + 18; +pub const TTM_SETTIPBKCOLOR: ::UINT = ::WM_USER + 19; +pub const TTM_SETTIPTEXTCOLOR: ::UINT = ::WM_USER + 20; +pub const TTM_GETDELAYTIME: ::UINT = ::WM_USER + 21; +pub const TTM_GETTIPBKCOLOR: ::UINT = ::WM_USER + 22; +pub const TTM_GETTIPTEXTCOLOR: ::UINT = ::WM_USER + 23; +pub const TTM_SETMAXTIPWIDTH: ::UINT = ::WM_USER + 24; +pub const TTM_GETMAXTIPWIDTH: ::UINT = ::WM_USER + 25; +pub const TTM_SETMARGIN: ::UINT = ::WM_USER + 26; +pub const TTM_GETMARGIN: ::UINT = ::WM_USER + 27; +pub const TTM_POP: ::UINT = ::WM_USER + 28; +pub const TTM_UPDATE: ::UINT = ::WM_USER + 29; +pub const TTM_GETBUBBLESIZE: ::UINT = ::WM_USER + 30; +pub const TTM_ADJUSTRECT: ::UINT = ::WM_USER + 31; +pub const TTM_SETTITLEA: ::UINT = ::WM_USER + 32; +pub const TTM_SETTITLEW: ::UINT = ::WM_USER + 33; +pub const TTM_POPUP: ::UINT = ::WM_USER + 34; +pub const TTM_GETTITLE: ::UINT = ::WM_USER + 35; +STRUCT!{struct TTGETTITLE { + dwSize: ::DWORD, + uTitleBitmap: ::UINT, + cch: ::UINT, + pszTitle: *mut ::WCHAR, +}} +pub type LPTTGETTITLE = *mut TTGETTITLE; +pub const TTM_SETWINDOWTHEME: ::UINT = CCM_SETWINDOWTHEME; +pub type LPHITTESTINFOW = LPTTHITTESTINFOW; +pub type LPHITTESTINFOA = LPTTHITTESTINFOA; +STRUCT!{struct TTHITTESTINFOA { + hwnd: ::HWND, + pt: ::POINT, + ti: TTTOOLINFOA, +}} +pub type LPTTHITTESTINFOA = *mut TTHITTESTINFOA; +STRUCT!{struct TTHITTESTINFOW { + hwnd: ::HWND, + pt: ::POINT, + ti: TTTOOLINFOW, +}} +pub type LPTTHITTESTINFOW = *mut TTHITTESTINFOW; +pub const TTN_GETDISPINFOA: ::UINT = TTN_FIRST - 0; +pub const TTN_GETDISPINFOW: ::UINT = TTN_FIRST - 10; +pub const TTN_SHOW: ::UINT = TTN_FIRST - 1; +pub const TTN_POP: ::UINT = TTN_FIRST - 2; +pub const TTN_LINKCLICK: ::UINT = TTN_FIRST - 3; +pub const TTN_NEEDTEXTA: ::UINT = TTN_GETDISPINFOA; +pub const TTN_NEEDTEXTW: ::UINT = TTN_GETDISPINFOW; +pub type TOOLTIPTEXTW = NMTTDISPINFOW; +pub type TOOLTIPTEXTA = NMTTDISPINFOA; +pub type LPTOOLTIPTEXTA = LPNMTTDISPINFOA; +pub type LPTOOLTIPTEXTW = LPNMTTDISPINFOW; +STRUCT!{nodebug struct NMTTDISPINFOA { + hdr: ::NMHDR, + lpszText: ::LPSTR, + szText: [::c_char; 80], + hinst: ::HINSTANCE, + uFlags: ::UINT, + lParam: ::LPARAM, +}} +pub type LPNMTTDISPINFOA = *mut NMTTDISPINFOA; +STRUCT!{nodebug struct NMTTDISPINFOW { + hdr: ::NMHDR, + lpszText: ::LPWSTR, + szText: [::WCHAR; 80], + hinst: ::HINSTANCE, + uFlags: ::UINT, + lParam: ::LPARAM, +}} +pub type LPNMTTDISPINFOW = *mut NMTTDISPINFOW; +pub const SBARS_SIZEGRIP: ::DWORD = 0x0100; +pub const SBARS_TOOLTIPS: ::DWORD = 0x0800; +pub const SBT_TOOLTIPS: ::DWORD = 0x0800; +pub const SB_SETTEXTA: ::UINT = ::WM_USER + 1; +pub const SB_SETTEXTW: ::UINT = ::WM_USER + 11; +pub const SB_GETTEXTA: ::UINT = ::WM_USER + 2; +pub const SB_GETTEXTW: ::UINT = ::WM_USER + 13; +pub const SB_GETTEXTLENGTHA: ::UINT = ::WM_USER + 3; +pub const SB_GETTEXTLENGTHW: ::UINT = ::WM_USER + 12; +pub const SB_SETPARTS: ::UINT = ::WM_USER + 4; +pub const SB_GETPARTS: ::UINT = ::WM_USER + 6; +pub const SB_GETBORDERS: ::UINT = ::WM_USER + 7; +pub const SB_SETMINHEIGHT: ::UINT = ::WM_USER + 8; +pub const SB_SIMPLE: ::UINT = ::WM_USER + 9; +pub const SB_GETRECT: ::UINT = ::WM_USER + 10; +pub const SB_ISSIMPLE: ::UINT = ::WM_USER + 14; +pub const SB_SETICON: ::UINT = ::WM_USER + 15; +pub const SB_SETTIPTEXTA: ::UINT = ::WM_USER + 16; +pub const SB_SETTIPTEXTW: ::UINT = ::WM_USER + 17; +pub const SB_GETTIPTEXTA: ::UINT = ::WM_USER + 18; +pub const SB_GETTIPTEXTW: ::UINT = ::WM_USER + 19; +pub const SB_GETICON: ::UINT = ::WM_USER + 20; +pub const SB_SETUNICODEFORMAT: ::UINT = CCM_SETUNICODEFORMAT; +pub const SB_GETUNICODEFORMAT: ::UINT = CCM_GETUNICODEFORMAT; +pub const SBT_OWNERDRAW: ::WPARAM = 0x1000; +pub const SBT_NOBORDERS: ::WPARAM = 0x0100; +pub const SBT_POPOUT: ::WPARAM = 0x0200; +pub const SBT_RTLREADING: ::WPARAM = 0x0400; +pub const SBT_NOTABPARSING: ::WPARAM = 0x0800; +pub const SB_SETBKCOLOR: ::UINT = CCM_SETBKCOLOR; +pub const SBN_SIMPLEMODECHANGE: ::UINT = SBN_FIRST - 0; +pub const SB_SIMPLEID: ::WPARAM = 0x00ff; +pub const TBS_AUTOTICKS: ::DWORD = 0x0001; +pub const TBS_VERT: ::DWORD = 0x0002; +pub const TBS_HORZ: ::DWORD = 0x0000; +pub const TBS_TOP: ::DWORD = 0x0004; +pub const TBS_BOTTOM: ::DWORD = 0x0000; +pub const TBS_LEFT: ::DWORD = 0x0004; +pub const TBS_RIGHT: ::DWORD = 0x0000; +pub const TBS_BOTH: ::DWORD = 0x0008; +pub const TBS_NOTICKS: ::DWORD = 0x0010; +pub const TBS_ENABLESELRANGE: ::DWORD = 0x0020; +pub const TBS_FIXEDLENGTH: ::DWORD = 0x0040; +pub const TBS_NOTHUMB: ::DWORD = 0x0080; +pub const TBS_TOOLTIPS: ::DWORD = 0x0100; +pub const TBS_REVERSED: ::DWORD = 0x0200; +pub const TBS_DOWNISLEFT: ::DWORD = 0x0400; +pub const TBS_NOTIFYBEFOREMOVE: ::DWORD = 0x0800; +pub const TBS_TRANSPARENTBKGND: ::DWORD = 0x1000; +pub const TBM_GETPOS: ::UINT = ::WM_USER; +pub const TBM_GETRANGEMIN: ::UINT = ::WM_USER + 1; +pub const TBM_GETRANGEMAX: ::UINT = ::WM_USER + 2; +pub const TBM_GETTIC: ::UINT = ::WM_USER + 3; +pub const TBM_SETTIC: ::UINT = ::WM_USER + 4; +pub const TBM_SETPOS: ::UINT = ::WM_USER + 5; +pub const TBM_SETRANGE: ::UINT = ::WM_USER + 6; +pub const TBM_SETRANGEMIN: ::UINT = ::WM_USER + 7; +pub const TBM_SETRANGEMAX: ::UINT = ::WM_USER + 8; +pub const TBM_CLEARTICS: ::UINT = ::WM_USER + 9; +pub const TBM_SETSEL: ::UINT = ::WM_USER + 10; +pub const TBM_SETSELSTART: ::UINT = ::WM_USER + 11; +pub const TBM_SETSELEND: ::UINT = ::WM_USER + 12; +pub const TBM_GETPTICS: ::UINT = ::WM_USER + 14; +pub const TBM_GETTICPOS: ::UINT = ::WM_USER + 15; +pub const TBM_GETNUMTICS: ::UINT = ::WM_USER + 16; +pub const TBM_GETSELSTART: ::UINT = ::WM_USER + 17; +pub const TBM_GETSELEND: ::UINT = ::WM_USER + 18; +pub const TBM_CLEARSEL: ::UINT = ::WM_USER + 19; +pub const TBM_SETTICFREQ: ::UINT = ::WM_USER + 20; +pub const TBM_SETPAGESIZE: ::UINT = ::WM_USER + 21; +pub const TBM_GETPAGESIZE: ::UINT = ::WM_USER + 22; +pub const TBM_SETLINESIZE: ::UINT = ::WM_USER + 23; +pub const TBM_GETLINESIZE: ::UINT = ::WM_USER + 24; +pub const TBM_GETTHUMBRECT: ::UINT = ::WM_USER + 25; +pub const TBM_GETCHANNELRECT: ::UINT = ::WM_USER + 26; +pub const TBM_SETTHUMBLENGTH: ::UINT = ::WM_USER + 27; +pub const TBM_GETTHUMBLENGTH: ::UINT = ::WM_USER + 28; +pub const TBM_SETTOOLTIPS: ::UINT = ::WM_USER + 29; +pub const TBM_GETTOOLTIPS: ::UINT = ::WM_USER + 30; +pub const TBM_SETTIPSIDE: ::UINT = ::WM_USER + 31; +pub const TBTS_TOP: ::WPARAM = 0; +pub const TBTS_LEFT: ::WPARAM = 1; +pub const TBTS_BOTTOM: ::WPARAM = 2; +pub const TBTS_RIGHT: ::WPARAM = 3; +pub const TBM_SETBUDDY: ::UINT = ::WM_USER + 32; +pub const TBM_GETBUDDY: ::UINT = ::WM_USER + 33; +pub const TBM_SETPOSNOTIFY: ::UINT = ::WM_USER + 34; +pub const TBM_SETUNICODEFORMAT: ::UINT = CCM_SETUNICODEFORMAT; +pub const TBM_GETUNICODEFORMAT: ::UINT = CCM_GETUNICODEFORMAT; +pub const TBCD_TICS: ::DWORD_PTR = 0x0001; +pub const TBCD_THUMB: ::DWORD_PTR = 0x0001; +pub const TBCD_CHANNEL: ::DWORD_PTR = 0x0001; +pub const TB_LINEUP: ::WPARAM = 0; +pub const TB_LINEDOWN: ::WPARAM = 1; +pub const TB_PAGEUP: ::WPARAM = 2; +pub const TB_PAGEDOWN: ::WPARAM = 3; +pub const TB_THUMBPOSITION: ::WPARAM = 4; +pub const TB_THUMBTRACK: ::WPARAM = 5; +pub const TB_TOP: ::WPARAM = 6; +pub const TB_BOTTOM: ::WPARAM = 7; +pub const TB_ENDTRACK: ::WPARAM = 8; +pub const TRBN_THUMBPOSCHANGING: ::UINT = TRBN_FIRST - 1; +STRUCT!{struct NMTRBTHUMBPOSCHANGING { + hdr: ::NMHDR, + dwPos: ::DWORD, + nReason: ::c_int, +}} +STRUCT!{struct DRAGLISTINFO { + uNotification: ::UINT, + hWnd: ::HWND, + ptCursor: ::POINT, +}} +pub type LPDRAGLISTINFO = *mut DRAGLISTINFO; +pub const DL_BEGINDRAG: ::UINT = ::WM_USER + 133; +pub const DL_DRAGGING: ::UINT = ::WM_USER + 134; +pub const DL_DROPPED: ::UINT = ::WM_USER + 135; +pub const DL_CANCELDRAG: ::UINT = ::WM_USER + 136; +pub const DL_CURSORSET: ::UINT = 0; +pub const DL_STOPCURSOR: ::UINT = 1; +pub const DL_COPYCURSOR: ::UINT = 2; +pub const DL_MOVECURSOR: ::UINT = 3; +STRUCT!{struct UDACCEL { + nSec: ::UINT, + nInc: ::UINT, +}} +pub type LPUDACCEL = *mut UDACCEL; +pub const UD_MAXVAL: ::c_short = 0x7fff; +pub const UD_MINVAL: ::c_short = 0 - UD_MAXVAL; +pub const UDS_WRAP: ::DWORD = 0x0001; +pub const UDS_SETBUDDYINT: ::DWORD = 0x0002; +pub const UDS_ALIGNRIGHT: ::DWORD = 0x0004; +pub const UDS_ALIGNLEFT: ::DWORD = 0x0008; +pub const UDS_AUTOBUDDY: ::DWORD = 0x0010; +pub const UDS_ARROWKEYS: ::DWORD = 0x0020; +pub const UDS_HORZ: ::DWORD = 0x0040; +pub const UDS_NOTHOUSANDS: ::DWORD = 0x0080; +pub const UDS_HOTTRACK: ::DWORD = 0x0100; +pub const UDM_SETRANGE: ::UINT = ::WM_USER + 101; +pub const UDM_GETRANGE: ::UINT = ::WM_USER + 102; +pub const UDM_SETPOS: ::UINT = ::WM_USER + 103; +pub const UDM_GETPOS: ::UINT = ::WM_USER + 104; +pub const UDM_SETBUDDY: ::UINT = ::WM_USER + 105; +pub const UDM_GETBUDDY: ::UINT = ::WM_USER + 106; +pub const UDM_SETACCEL: ::UINT = ::WM_USER + 107; +pub const UDM_GETACCEL: ::UINT = ::WM_USER + 108; +pub const UDM_SETBASE: ::UINT = ::WM_USER + 109; +pub const UDM_GETBASE: ::UINT = ::WM_USER + 110; +pub const UDM_SETRANGE32: ::UINT = ::WM_USER + 111; +pub const UDM_GETRANGE32: ::UINT = ::WM_USER + 112; +pub const UDM_SETUNICODEFORMAT: ::UINT = CCM_SETUNICODEFORMAT; +pub const UDM_GETUNICODEFORMAT: ::UINT = CCM_GETUNICODEFORMAT; +pub const UDM_SETPOS32: ::UINT = ::WM_USER + 113; +pub const UDM_GETPOS32: ::UINT = ::WM_USER + 114; +pub type NM_UPDOWN = NMUPDOWN; +pub type LPNM_UPDOWN = LPNMUPDOWN; +STRUCT!{struct NMUPDOWN { + hdr: ::NMHDR, + iPos: ::c_int, + iDelta: ::c_int, +}} +pub type LPNMUPDOWN = *mut NMUPDOWN; +pub const UDN_DELTAPOS: ::UINT = UDN_FIRST - 1; +pub const PBS_SMOOTH: ::DWORD = 0x01; +pub const PBS_VERTICAL: ::DWORD = 0x04; +pub const PBM_SETRANGE: ::UINT = ::WM_USER + 1; +pub const PBM_SETPOS: ::UINT = ::WM_USER + 2; +pub const PBM_DELTAPOS: ::UINT = ::WM_USER + 3; +pub const PBM_SETSTEP: ::UINT = ::WM_USER + 4; +pub const PBM_STEPIT: ::UINT = ::WM_USER + 5; +pub const PBM_SETRANGE32: ::UINT = ::WM_USER + 6; +STRUCT!{struct PBRANGE { + iLow: ::c_int, + iHigh: ::c_int, +}} +pub type LPPBRANGE = *mut PBRANGE; +pub const PBM_GETRANGE: ::UINT = ::WM_USER + 7; +pub const PBM_GETPOS: ::UINT = ::WM_USER + 8; +pub const PBM_SETBARCOLOR: ::UINT = ::WM_USER + 9; +pub const PBM_SETBKCOLOR: ::UINT = CCM_SETBKCOLOR; +pub const PBM_SETMARQUEE: ::UINT = ::WM_USER + 10; +pub const PBS_MARQUEE: ::DWORD = 0x08; +pub const PBS_SMOOTHREVERSE: ::DWORD = 0x10; +pub const PBM_GETSTEP: ::UINT = ::WM_USER + 13; +pub const PBM_GETBKCOLOR: ::UINT = ::WM_USER + 14; +pub const PBM_GETBARCOLOR: ::UINT = ::WM_USER + 15; +pub const PBM_SETSTATE: ::UINT = ::WM_USER + 16; +pub const PBM_GETSTATE: ::UINT = ::WM_USER + 17; +pub const PBST_NORMAL: ::c_int = 0x0001; +pub const PBST_ERROR: ::c_int = 0x0002; +pub const PBST_PAUSED: ::c_int = 0x0003; +pub const HOTKEYF_SHIFT: ::BYTE = 0x01; +pub const HOTKEYF_CONTROL: ::BYTE = 0x02; +pub const HOTKEYF_ALT: ::BYTE = 0x04; +pub const HOTKEYF_EXT: ::BYTE = 0x08; +pub const HKCOMB_NONE: ::WPARAM = 0x0001; +pub const HKCOMB_S: ::WPARAM = 0x0002; +pub const HKCOMB_C: ::WPARAM = 0x0004; +pub const HKCOMB_A: ::WPARAM = 0x0008; +pub const HKCOMB_SC: ::WPARAM = 0x0010; +pub const HKCOMB_SA: ::WPARAM = 0x0020; +pub const HKCOMB_CA: ::WPARAM = 0x0040; +pub const HKCOMB_SCA: ::WPARAM = 0x0080; +pub const HKM_SETHOTKEY: ::UINT = ::WM_USER + 1; +pub const HKM_GETHOTKEY: ::UINT = ::WM_USER + 2; +pub const HKM_SETRULES: ::UINT = ::WM_USER + 3; +pub const CCS_TOP: ::DWORD = 0x00000001; +pub const CCS_NOMOVEY: ::DWORD = 0x00000002; +pub const CCS_BOTTOM: ::DWORD = 0x00000003; +pub const CCS_NORESIZE: ::DWORD = 0x00000004; +pub const CCS_NOPARENTALIGN: ::DWORD = 0x00000008; +pub const CCS_ADJUSTABLE: ::DWORD = 0x00000020; +pub const CCS_NODIVIDER: ::DWORD = 0x00000040; +pub const CCS_VERT: ::DWORD = 0x00000080; +pub const CCS_LEFT: ::DWORD = CCS_VERT | CCS_TOP; +pub const CCS_RIGHT: ::DWORD = CCS_VERT | CCS_BOTTOM; +pub const CCS_NOMOVEX: ::DWORD = CCS_VERT | CCS_NOMOVEY; +pub const MAX_LINKID_TEXT: usize = 48; +pub const L_MAX_URL_LENGTH: usize = 2048 + 32 + 4; +pub const LWS_TRANSPARENT: ::DWORD = 0x0001; +pub const LWS_IGNORERETURN: ::DWORD = 0x0002; +pub const LWS_NOPREFIX: ::DWORD = 0x0004; +pub const LWS_USEVISUALSTYLE: ::DWORD = 0x0008; +pub const LWS_USECUSTOMTEXT: ::DWORD = 0x0010; +pub const LWS_RIGHT: ::DWORD = 0x0020; +pub const LIF_ITEMINDEX: ::UINT = 0x00000001; +pub const LIF_STATE: ::UINT = 0x00000002; +pub const LIF_ITEMID: ::UINT = 0x00000004; +pub const LIF_URL: ::UINT = 0x00000008; +pub const LIS_FOCUSED: ::UINT = 0x00000001; +pub const LIS_ENABLED: ::UINT = 0x00000002; +pub const LIS_VISITED: ::UINT = 0x00000004; +pub const LIS_HOTTRACK: ::UINT = 0x00000008; +pub const LIS_DEFAULTCOLORS: ::UINT = 0x00000010; +STRUCT!{nodebug struct LITEM { + mask: ::UINT, + iLink: ::c_int, + state: ::UINT, + stateMask: ::UINT, + szID: [::WCHAR; MAX_LINKID_TEXT], + szUrl: [::WCHAR; L_MAX_URL_LENGTH], +}} +pub type PLITEM = *mut LITEM; +STRUCT!{nodebug struct LHITTESTINFO { + pt: ::POINT, + item: LITEM, +}} +pub type PLHITTESTINFO = *mut LHITTESTINFO; +STRUCT!{nodebug struct NMLINK { + hdr: ::NMHDR, + item: LITEM, +}} +pub type PNMLINK = *mut NMLINK; +pub const LM_HITTEST: ::UINT = ::WM_USER + 0x300; +pub const LM_GETIDEALHEIGHT: ::UINT = ::WM_USER + 0x301; +pub const LM_SETITEM: ::UINT = ::WM_USER + 0x302; +pub const LM_GETITEM: ::UINT = ::WM_USER + 0x303; +pub const LM_GETIDEALSIZE: ::UINT = LM_GETIDEALHEIGHT; +pub const LVS_ICON: ::DWORD = 0x0000; +pub const LVS_REPORT: ::DWORD = 0x0001; +pub const LVS_SMALLICON: ::DWORD = 0x0002; +pub const LVS_LIST: ::DWORD = 0x0003; +pub const LVS_TYPEMASK: ::DWORD = 0x0003; +pub const LVS_SINGLESEL: ::DWORD = 0x0004; +pub const LVS_SHOWSELALWAYS: ::DWORD = 0x0008; +pub const LVS_SORTASCENDING: ::DWORD = 0x0010; +pub const LVS_SORTDESCENDING: ::DWORD = 0x0020; +pub const LVS_SHAREIMAGELISTS: ::DWORD = 0x0040; +pub const LVS_NOLABELWRAP: ::DWORD = 0x0080; +pub const LVS_AUTOARRANGE: ::DWORD = 0x0100; +pub const LVS_EDITLABELS: ::DWORD = 0x0200; +pub const LVS_OWNERDATA: ::DWORD = 0x1000; +pub const LVS_NOSCROLL: ::DWORD = 0x2000; +pub const LVS_TYPESTYLEMASK: ::DWORD = 0xfc00; +pub const LVS_ALIGNTOP: ::DWORD = 0x0000; +pub const LVS_ALIGNLEFT: ::DWORD = 0x0800; +pub const LVS_ALIGNMASK: ::DWORD = 0x0c00; +pub const LVS_OWNERDRAWFIXED: ::DWORD = 0x0400; +pub const LVS_NOCOLUMNHEADER: ::DWORD = 0x4000; +pub const LVS_NOSORTHEADER: ::DWORD = 0x8000; +pub const LVM_SETUNICODEFORMAT: ::UINT = CCM_SETUNICODEFORMAT; +pub const LVM_GETUNICODEFORMAT: ::UINT = CCM_GETUNICODEFORMAT; +pub const LVM_GETBKCOLOR: ::UINT = LVM_FIRST + 0; +pub const LVM_SETBKCOLOR: ::UINT = LVM_FIRST + 1; +pub const LVM_GETIMAGELIST: ::UINT = LVM_FIRST + 2; +pub const LVM_SETIMAGELIST: ::UINT = LVM_FIRST + 3; +pub const LVM_GETITEMCOUNT: ::UINT = LVM_FIRST + 4; +pub const LVSIL_NORMAL: ::c_int = 0; +pub const LVSIL_SMALL: ::c_int = 1; +pub const LVSIL_STATE: ::c_int = 2; +pub const LVSIL_GROUPHEADER: ::c_int = 3; +pub const LVIF_TEXT: ::UINT = 0x00000001; +pub const LVIF_IMAGE: ::UINT = 0x00000002; +pub const LVIF_PARAM: ::UINT = 0x00000004; +pub const LVIF_STATE: ::UINT = 0x00000008; +pub const LVIF_INDENT: ::UINT = 0x00000010; +pub const LVIF_NORECOMPUTE: ::UINT = 0x00000800; +pub const LVIF_GROUPID: ::UINT = 0x00000100; +pub const LVIF_COLUMNS: ::UINT = 0x00000200; +pub const LVIF_COLFMT: ::UINT = 0x00010000; +pub const LVIS_FOCUSED: ::UINT = 0x0001; +pub const LVIS_SELECTED: ::UINT = 0x0002; +pub const LVIS_CUT: ::UINT = 0x0004; +pub const LVIS_DROPHILITED: ::UINT = 0x0008; +pub const LVIS_GLOW: ::UINT = 0x0010; +pub const LVIS_ACTIVATING: ::UINT = 0x0020; +pub const LVIS_OVERLAYMASK: ::UINT = 0x0F00; +pub const LVIS_STATEIMAGEMASK: ::UINT = 0xF000; +#[inline] #[allow(dead_code)] +pub fn INDEXTOSTATEIMAGEMASK(i: ::UINT) -> ::UINT { i << 12 } +pub const I_INDENTCALLBACK: ::c_int = -1; +pub type LV_ITEMA = LVITEMA; +pub type LV_ITEMW = LVITEMW; +pub const I_GROUPIDCALLBACK: ::c_int = -1; +pub const I_GROUPIDNONE: ::c_int = -2; +STRUCT!{struct LVITEMA { + mask: ::UINT, + iItem: ::c_int, + iSubItem: ::c_int, + state: ::UINT, + stateMask: ::UINT, + pszText: ::LPSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + lParam: ::LPARAM, + iIndent: ::c_int, + iGroupId: ::c_int, + cColumns: ::UINT, + puColumns: ::PUINT, + piColFmt: *mut ::c_int, + iGroup: ::c_int, +}} +pub type LPLVITEMA = *mut LVITEMA; +STRUCT!{struct LVITEMW { + mask: ::UINT, + iItem: ::c_int, + iSubItem: ::c_int, + state: ::UINT, + stateMask: ::UINT, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + lParam: ::LPARAM, + iIndent: ::c_int, + iGroupId: ::c_int, + cColumns: ::UINT, + puColumns: ::PUINT, + piColFmt: *mut ::c_int, + iGroup: ::c_int, +}} +pub type LPLVITEMW = *mut LVITEMW; +pub const LPSTR_TEXTCALLBACKW: ::LPWSTR = (0 - 1) as ::LPWSTR; +pub const LPSTR_TEXTCALLBACKA: ::LPSTR = (0 - 1) as ::LPSTR; +pub const I_IMAGECALLBACK: ::c_int = -1; +pub const I_IMAGENONE: ::c_int = -2; +pub const I_COLUMNSCALLBACK: ::UINT = -1i32 as ::UINT; +pub const LVM_GETITEMA: ::UINT = LVM_FIRST + 5; +pub const LVM_GETITEMW: ::UINT = LVM_FIRST + 75; +pub const LVM_SETITEMA: ::UINT = LVM_FIRST + 6; +pub const LVM_SETITEMW: ::UINT = LVM_FIRST + 76; +pub const LVM_INSERTITEMA: ::UINT = LVM_FIRST + 7; +pub const LVM_INSERTITEMW: ::UINT = LVM_FIRST + 77; +pub const LVM_DELETEITEM: ::UINT = LVM_FIRST + 8; +pub const LVM_DELETEALLITEMS: ::UINT = LVM_FIRST + 9; +pub const LVM_GETCALLBACKMASK: ::UINT = LVM_FIRST + 10; +pub const LVM_SETCALLBACKMASK: ::UINT = LVM_FIRST + 11; +pub const LVM_GETNEXTITEM: ::UINT = LVM_FIRST + 12; +pub const LVNI_ALL: ::LPARAM = 0x0000; +pub const LVNI_FOCUSED: ::LPARAM = 0x0001; +pub const LVNI_SELECTED: ::LPARAM = 0x0002; +pub const LVNI_CUT: ::LPARAM = 0x0004; +pub const LVNI_DROPHILITED: ::LPARAM = 0x0008; +pub const LVNI_STATEMASK: ::LPARAM = LVNI_FOCUSED | LVNI_SELECTED | LVNI_CUT | LVNI_DROPHILITED; +pub const LVNI_VISIBLEORDER: ::LPARAM = 0x0010; +pub const LVNI_PREVIOUS: ::LPARAM = 0x0020; +pub const LVNI_VISIBLEONLY: ::LPARAM = 0x0040; +pub const LVNI_SAMEGROUPONLY: ::LPARAM = 0x0080; +pub const LVNI_ABOVE: ::LPARAM = 0x0100; +pub const LVNI_BELOW: ::LPARAM = 0x0200; +pub const LVNI_TOLEFT: ::LPARAM = 0x0400; +pub const LVNI_TORIGHT: ::LPARAM = 0x0800; +pub const LVNI_DIRECTIONMASK: ::LPARAM = LVNI_ABOVE | LVNI_BELOW | LVNI_TOLEFT | LVNI_TORIGHT; +pub const LVFI_PARAM: ::UINT = 0x0001; +pub const LVFI_STRING: ::UINT = 0x0002; +pub const LVFI_SUBSTRING: ::UINT = 0x0004; +pub const LVFI_PARTIAL: ::UINT = 0x0008; +pub const LVFI_WRAP: ::UINT = 0x0020; +pub const LVFI_NEARESTXY: ::UINT = 0x0040; +pub type LV_FINDINFOA = LVFINDINFOA; +pub type LV_FINDINFOW = LVFINDINFOW; +STRUCT!{struct LVFINDINFOA { + flags: ::UINT, + psz: ::LPCSTR, + lParam: ::LPARAM, + pt: ::POINT, + vkDirection: ::UINT, +}} +pub type LPLVFINDINFOA = *mut LVFINDINFOA; +STRUCT!{struct LVFINDINFOW { + flags: ::UINT, + psz: ::LPCWSTR, + lParam: ::LPARAM, + pt: ::POINT, + vkDirection: ::UINT, +}} +pub type LPLVFINDINFOW = *mut LVFINDINFOW; +pub const LVM_FINDITEMA: ::UINT = LVM_FIRST + 13; +pub const LVM_FINDITEMW: ::UINT = LVM_FIRST + 83; +pub const LVIR_BOUNDS: ::c_int = 0; +pub const LVIR_ICON: ::c_int = 1; +pub const LVIR_LABEL: ::c_int = 2; +pub const LVIR_SELECTBOUNDS: ::c_int = 3; +pub const LVM_GETITEMRECT: ::UINT = LVM_FIRST + 14; +pub const LVM_SETITEMPOSITION: ::UINT = LVM_FIRST + 15; +pub const LVM_GETITEMPOSITION: ::UINT = LVM_FIRST + 16; +pub const LVM_GETSTRINGWIDTHA: ::UINT = LVM_FIRST + 17; +pub const LVM_GETSTRINGWIDTHW: ::UINT = LVM_FIRST + 87; +pub const LVHT_NOWHERE: ::UINT = 0x00000001; +pub const LVHT_ONITEMICON: ::UINT = 0x00000002; +pub const LVHT_ONITEMLABEL: ::UINT = 0x00000004; +pub const LVHT_ONITEMSTATEICON: ::UINT = 0x00000008; +pub const LVHT_ONITEM: ::UINT = LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON; +pub const LVHT_ABOVE: ::UINT = 0x00000008; +pub const LVHT_BELOW: ::UINT = 0x00000010; +pub const LVHT_TORIGHT: ::UINT = 0x00000020; +pub const LVHT_TOLEFT: ::UINT = 0x00000040; +pub const LVHT_EX_GROUP_HEADER: ::UINT = 0x10000000; +pub const LVHT_EX_GROUP_FOOTER: ::UINT = 0x20000000; +pub const LVHT_EX_GROUP_COLLAPSE: ::UINT = 0x40000000; +pub const LVHT_EX_GROUP_BACKGROUND: ::UINT = 0x80000000; +pub const LVHT_EX_GROUP_STATEICON: ::UINT = 0x01000000; +pub const LVHT_EX_GROUP_SUBSETLINK: ::UINT = 0x02000000; +pub const LVHT_EX_GROUP: ::UINT = LVHT_EX_GROUP_BACKGROUND | LVHT_EX_GROUP_COLLAPSE + | LVHT_EX_GROUP_FOOTER | LVHT_EX_GROUP_HEADER | LVHT_EX_GROUP_STATEICON + | LVHT_EX_GROUP_SUBSETLINK; +pub const LVHT_EX_ONCONTENTS: ::UINT = 0x04000000; +pub const LVHT_EX_FOOTER: ::UINT = 0x08000000; +pub type LV_HITTESTINFO = LVHITTESTINFO; +STRUCT!{struct LVHITTESTINFO { + pt: ::POINT, + flags: ::UINT, + iItem: ::c_int, + iSubItem: ::c_int, + iGroup: ::c_int, +}} +pub type LPLVHITTESTINFO = *mut LVHITTESTINFO; +pub const LVM_HITTEST: ::UINT = LVM_FIRST + 18; +pub const LVM_ENSUREVISIBLE: ::UINT = LVM_FIRST + 19; +pub const LVM_SCROLL: ::UINT = LVM_FIRST + 20; +pub const LVM_REDRAWITEMS: ::UINT = LVM_FIRST + 21; +pub const LVA_DEFAULT: ::WPARAM = 0x0000; +pub const LVA_ALIGNLEFT: ::WPARAM = 0x0001; +pub const LVA_ALIGNTOP: ::WPARAM = 0x0002; +pub const LVA_SNAPTOGRID: ::WPARAM = 0x0005; +pub const LVM_ARRANGE: ::UINT = LVM_FIRST + 22; +pub const LVM_EDITLABELA: ::UINT = LVM_FIRST + 23; +pub const LVM_EDITLABELW: ::UINT = LVM_FIRST + 118; +pub const LVM_GETEDITCONTROL: ::UINT = LVM_FIRST + 24; +pub type LV_COLUMNA = LVCOLUMNA; +pub type LV_COLUMNW = LVCOLUMNW; +STRUCT!{struct LVCOLUMNA { + mask: ::UINT, + fmt: ::c_int, + cx: ::c_int, + pszText: ::LPSTR, + cchTextMax: ::c_int, + iSubItem: ::c_int, + iImage: ::c_int, + iOrder: ::c_int, + cxMin: ::c_int, + cxDefault: ::c_int, + cxIdeal: ::c_int, +}} +pub type LPLVCOLUMNA = *mut LVCOLUMNA; +STRUCT!{struct LVCOLUMNW { + mask: ::UINT, + fmt: ::c_int, + cx: ::c_int, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + iSubItem: ::c_int, + iImage: ::c_int, + iOrder: ::c_int, + cxMin: ::c_int, + cxDefault: ::c_int, + cxIdeal: ::c_int, +}} +pub type LPLVCOLUMNW = *mut LVCOLUMNW; +pub const LVCF_FMT: ::UINT = 0x0001; +pub const LVCF_WIDTH: ::UINT = 0x0002; +pub const LVCF_TEXT: ::UINT = 0x0004; +pub const LVCF_SUBITEM: ::UINT = 0x0008; +pub const LVCF_IMAGE: ::UINT = 0x0010; +pub const LVCF_ORDER: ::UINT = 0x0020; +pub const LVCF_MINWIDTH: ::UINT = 0x0040; +pub const LVCF_DEFAULTWIDTH: ::UINT = 0x0080; +pub const LVCF_IDEALWIDTH: ::UINT = 0x0100; +pub const LVCFMT_LEFT: ::c_int = 0x0000; +pub const LVCFMT_RIGHT: ::c_int = 0x0001; +pub const LVCFMT_CENTER: ::c_int = 0x0002; +pub const LVCFMT_JUSTIFYMASK: ::c_int = 0x0003; +pub const LVCFMT_IMAGE: ::c_int = 0x0800; +pub const LVCFMT_BITMAP_ON_RIGHT: ::c_int = 0x1000; +pub const LVCFMT_COL_HAS_IMAGES: ::c_int = 0x8000; +pub const LVCFMT_FIXED_WIDTH: ::c_int = 0x00100; +pub const LVCFMT_NO_DPI_SCALE: ::c_int = 0x40000; +pub const LVCFMT_FIXED_RATIO: ::c_int = 0x80000; +pub const LVCFMT_LINE_BREAK: ::c_int = 0x100000; +pub const LVCFMT_FILL: ::c_int = 0x200000; +pub const LVCFMT_WRAP: ::c_int = 0x400000; +pub const LVCFMT_NO_TITLE: ::c_int = 0x800000; +pub const LVCFMT_TILE_PLACEMENTMASK: ::c_int = LVCFMT_LINE_BREAK | LVCFMT_FILL; +pub const LVCFMT_SPLITBUTTON: ::c_int = 0x1000000; +pub const LVM_GETCOLUMNA: ::UINT = LVM_FIRST + 25; +pub const LVM_GETCOLUMNW: ::UINT = LVM_FIRST + 95; +pub const LVM_SETCOLUMNA: ::UINT = LVM_FIRST + 26; +pub const LVM_SETCOLUMNW: ::UINT = LVM_FIRST + 96; +pub const LVM_INSERTCOLUMNA: ::UINT = LVM_FIRST + 27; +pub const LVM_INSERTCOLUMNW: ::UINT = LVM_FIRST + 97; +pub const LVM_DELETECOLUMN: ::UINT = LVM_FIRST + 28; +pub const LVM_GETCOLUMNWIDTH: ::UINT = LVM_FIRST + 29; +pub const LVM_SETCOLUMNWIDTH: ::UINT = LVM_FIRST + 30; +pub const LVM_GETHEADER: ::UINT = LVM_FIRST + 31; +pub const LVM_CREATEDRAGIMAGE: ::UINT = LVM_FIRST + 33; +pub const LVM_GETVIEWRECT: ::UINT = LVM_FIRST + 34; +pub const LVM_GETTEXTCOLOR: ::UINT = LVM_FIRST + 35; +pub const LVM_SETTEXTCOLOR: ::UINT = LVM_FIRST + 36; +pub const LVM_GETTEXTBKCOLOR: ::UINT = LVM_FIRST + 37; +pub const LVM_SETTEXTBKCOLOR: ::UINT = LVM_FIRST + 38; +pub const LVM_GETTOPINDEX: ::UINT = LVM_FIRST + 39; +pub const LVM_GETCOUNTPERPAGE: ::UINT = LVM_FIRST + 40; +pub const LVM_GETORIGIN: ::UINT = LVM_FIRST + 41; +pub const LVM_UPDATE: ::UINT = LVM_FIRST + 42; +pub const LVM_SETITEMSTATE: ::UINT = LVM_FIRST + 43; +pub const LVM_GETITEMSTATE: ::UINT = LVM_FIRST + 44; +pub const LVM_GETITEMTEXTA: ::UINT = LVM_FIRST + 45; +pub const LVM_GETITEMTEXTW: ::UINT = LVM_FIRST + 115; +pub const LVM_SETITEMTEXTA: ::UINT = LVM_FIRST + 46; +pub const LVM_SETITEMTEXTW: ::UINT = LVM_FIRST + 116; +pub const LVM_SETITEMCOUNT: ::UINT = LVM_FIRST + 47; +pub const LVM_SORTITEMS: ::UINT = LVM_FIRST + 48; +pub const LVM_SETITEMPOSITION32: ::UINT = LVM_FIRST + 49; +pub const LVM_GETSELECTEDCOUNT: ::UINT = LVM_FIRST + 50; +pub const LVM_GETITEMSPACING: ::UINT = LVM_FIRST + 51; +pub const LVM_GETISEARCHSTRINGA: ::UINT = LVM_FIRST + 52; +pub const LVM_GETISEARCHSTRINGW: ::UINT = LVM_FIRST + 117; +pub const LVM_SETICONSPACING: ::UINT = LVM_FIRST + 53; +pub const LVM_SETEXTENDEDLISTVIEWSTYLE: ::UINT = LVM_FIRST + 54; +pub const LVM_GETEXTENDEDLISTVIEWSTYLE: ::UINT = LVM_FIRST + 55; +pub const LVSICF_NOINVALIDATEALL: ::LPARAM = 0x00000001; +pub const LVSICF_NOSCROLL: ::LPARAM = 0x00000002; +pub const LVS_EX_GRIDLINES: ::DWORD = 0x00000001; +pub const LVS_EX_SUBITEMIMAGES: ::DWORD = 0x00000002; +pub const LVS_EX_CHECKBOXES: ::DWORD = 0x00000004; +pub const LVS_EX_TRACKSELECT: ::DWORD = 0x00000008; +pub const LVS_EX_HEADERDRAGDROP: ::DWORD = 0x00000010; +pub const LVS_EX_FULLROWSELECT: ::DWORD = 0x00000020; +pub const LVS_EX_ONECLICKACTIVATE: ::DWORD = 0x00000040; +pub const LVS_EX_TWOCLICKACTIVATE: ::DWORD = 0x00000080; +pub const LVS_EX_FLATSB: ::DWORD = 0x00000100; +pub const LVS_EX_REGIONAL: ::DWORD = 0x00000200; +pub const LVS_EX_INFOTIP: ::DWORD = 0x00000400; +pub const LVS_EX_UNDERLINEHOT: ::DWORD = 0x00000800; +pub const LVS_EX_UNDERLINECOLD: ::DWORD = 0x00001000; +pub const LVS_EX_MULTIWORKAREAS: ::DWORD = 0x00002000; +pub const LVS_EX_LABELTIP: ::DWORD = 0x00004000; +pub const LVS_EX_BORDERSELECT: ::DWORD = 0x00008000; +pub const LVS_EX_DOUBLEBUFFER: ::DWORD = 0x00010000; +pub const LVS_EX_HIDELABELS: ::DWORD = 0x00020000; +pub const LVS_EX_SINGLEROW: ::DWORD = 0x00040000; +pub const LVS_EX_SNAPTOGRID: ::DWORD = 0x00080000; +pub const LVS_EX_SIMPLESELECT: ::DWORD = 0x00100000; +pub const LVS_EX_JUSTIFYCOLUMNS: ::DWORD = 0x00200000; +pub const LVS_EX_TRANSPARENTBKGND: ::DWORD = 0x00400000; +pub const LVS_EX_TRANSPARENTSHADOWTEXT: ::DWORD = 0x00800000; +pub const LVS_EX_AUTOAUTOARRANGE: ::DWORD = 0x01000000; +pub const LVS_EX_HEADERINALLVIEWS: ::DWORD = 0x02000000; +pub const LVS_EX_AUTOCHECKSELECT: ::DWORD = 0x08000000; +pub const LVS_EX_AUTOSIZECOLUMNS: ::DWORD = 0x10000000; +pub const LVS_EX_COLUMNSNAPPOINTS: ::DWORD = 0x40000000; +pub const LVS_EX_COLUMNOVERFLOW: ::DWORD = 0x80000000; +pub const LVM_GETSUBITEMRECT: ::UINT = LVM_FIRST + 56; +pub const LVM_SUBITEMHITTEST: ::UINT = LVM_FIRST + 57; +pub const LVM_SETCOLUMNORDERARRAY: ::UINT = LVM_FIRST + 58; +pub const LVM_GETCOLUMNORDERARRAY: ::UINT = LVM_FIRST + 59; +pub const LVM_SETHOTITEM: ::UINT = LVM_FIRST + 60; +pub const LVM_GETHOTITEM: ::UINT = LVM_FIRST + 61; +pub const LVM_SETHOTCURSOR: ::UINT = LVM_FIRST + 62; +pub const LVM_GETHOTCURSOR: ::UINT = LVM_FIRST + 63; +pub const LVM_APPROXIMATEVIEWRECT: ::UINT = LVM_FIRST + 64; +pub const LV_MAX_WORKAREAS: ::WPARAM = 16; +pub const LVM_SETWORKAREAS: ::UINT = LVM_FIRST + 65; +pub const LVM_GETWORKAREAS: ::UINT = LVM_FIRST + 70; +pub const LVM_GETNUMBEROFWORKAREAS: ::UINT = LVM_FIRST + 73; +pub const LVM_GETSELECTIONMARK: ::UINT = LVM_FIRST + 66; +pub const LVM_SETSELECTIONMARK: ::UINT = LVM_FIRST + 67; +pub const LVM_SETHOVERTIME: ::UINT = LVM_FIRST + 71; +pub const LVM_GETHOVERTIME: ::UINT = LVM_FIRST + 72; +pub const LVM_SETTOOLTIPS: ::UINT = LVM_FIRST + 74; +pub const LVM_GETTOOLTIPS: ::UINT = LVM_FIRST + 78; +pub const LVM_SORTITEMSEX: ::UINT = LVM_FIRST + 81; +STRUCT!{struct LVBKIMAGEA { + ulFlags: ::ULONG, + hbm: ::HBITMAP, + pszImage: ::LPSTR, + cchImageMax: ::UINT, + xOffsetPercent: ::c_int, + yOffsetPercent: ::c_int, +}} +pub type LPLVBKIMAGEA = *mut LVBKIMAGEA; +STRUCT!{struct LVBKIMAGEW { + ulFlags: ::ULONG, + hbm: ::HBITMAP, + pszImage: ::LPWSTR, + cchImageMax: ::UINT, + xOffsetPercent: ::c_int, + yOffsetPercent: ::c_int, +}} +pub type LPLVBKIMAGEW = *mut LVBKIMAGEW; +pub const LVBKIF_SOURCE_NONE: ::ULONG = 0x00000000; +pub const LVBKIF_SOURCE_HBITMAP: ::ULONG = 0x00000001; +pub const LVBKIF_SOURCE_URL: ::ULONG = 0x00000002; +pub const LVBKIF_SOURCE_MASK: ::ULONG = 0x00000003; +pub const LVBKIF_STYLE_NORMAL: ::ULONG = 0x00000000; +pub const LVBKIF_STYLE_TILE: ::ULONG = 0x00000010; +pub const LVBKIF_STYLE_MASK: ::ULONG = 0x00000010; +pub const LVBKIF_FLAG_TILEOFFSET: ::ULONG = 0x00000100; +pub const LVBKIF_TYPE_WATERMARK: ::ULONG = 0x10000000; +pub const LVBKIF_FLAG_ALPHABLEND: ::ULONG = 0x20000000; +pub const LVM_SETBKIMAGEA: ::UINT = LVM_FIRST + 68; +pub const LVM_SETBKIMAGEW: ::UINT = LVM_FIRST + 138; +pub const LVM_GETBKIMAGEA: ::UINT = LVM_FIRST + 69; +pub const LVM_GETBKIMAGEW: ::UINT = LVM_FIRST + 139; +pub const LVM_SETSELECTEDCOLUMN: ::UINT = LVM_FIRST + 140; +pub const LV_VIEW_ICON: ::DWORD = 0x0000; +pub const LV_VIEW_DETAILS: ::DWORD = 0x0001; +pub const LV_VIEW_SMALLICON: ::DWORD = 0x0002; +pub const LV_VIEW_LIST: ::DWORD = 0x0003; +pub const LV_VIEW_TILE: ::DWORD = 0x0004; +pub const LV_VIEW_MAX: ::DWORD = 0x0004; +pub const LVM_SETVIEW: ::UINT = LVM_FIRST + 142; +pub const LVM_GETVIEW: ::UINT = LVM_FIRST + 143; +pub const LVGF_NONE: ::UINT = 0x00000000; +pub const LVGF_HEADER: ::UINT = 0x00000001; +pub const LVGF_FOOTER: ::UINT = 0x00000002; +pub const LVGF_STATE: ::UINT = 0x00000004; +pub const LVGF_ALIGN: ::UINT = 0x00000008; +pub const LVGF_GROUPID: ::UINT = 0x00000010; +pub const LVGF_SUBTITLE: ::UINT = 0x00000100; +pub const LVGF_TASK: ::UINT = 0x00000200; +pub const LVGF_DESCRIPTIONTOP: ::UINT = 0x00000400; +pub const LVGF_DESCRIPTIONBOTTOM: ::UINT = 0x00000800; +pub const LVGF_TITLEIMAGE: ::UINT = 0x00001000; +pub const LVGF_EXTENDEDIMAGE: ::UINT = 0x00002000; +pub const LVGF_ITEMS: ::UINT = 0x00004000; +pub const LVGF_SUBSET: ::UINT = 0x00008000; +pub const LVGF_SUBSETITEMS: ::UINT = 0x00010000; +pub const LVGS_NORMAL: ::UINT = 0x00000000; +pub const LVGS_COLLAPSED: ::UINT = 0x00000001; +pub const LVGS_HIDDEN: ::UINT = 0x00000002; +pub const LVGS_NOHEADER: ::UINT = 0x00000004; +pub const LVGS_COLLAPSIBLE: ::UINT = 0x00000008; +pub const LVGS_FOCUSED: ::UINT = 0x00000010; +pub const LVGS_SELECTED: ::UINT = 0x00000020; +pub const LVGS_SUBSETED: ::UINT = 0x00000040; +pub const LVGS_SUBSETLINKFOCUSED: ::UINT = 0x00000080; +pub const LVGA_HEADER_LEFT: ::UINT = 0x00000001; +pub const LVGA_HEADER_CENTER: ::UINT = 0x00000002; +pub const LVGA_HEADER_RIGHT: ::UINT = 0x00000004; +pub const LVGA_FOOTER_LEFT: ::UINT = 0x00000008; +pub const LVGA_FOOTER_CENTER: ::UINT = 0x00000010; +pub const LVGA_FOOTER_RIGHT: ::UINT = 0x00000020; +STRUCT!{struct LVGROUP { + cbSize: ::UINT, + mask: ::UINT, + pszHeader: ::LPWSTR, + cchHeader: ::c_int, + pszFooter: ::LPWSTR, + cchFooter: ::c_int, + iGroupId: ::c_int, + stateMask: ::UINT, + state: ::UINT, + uAlign: ::UINT, + pszSubtitle: ::LPWSTR, + cchSubtitle: ::UINT, + pszTask: ::LPWSTR, + cchTask: ::UINT, + pszDescriptionTop: ::LPWSTR, + cchDescriptionTop: ::UINT, + pszDescriptionBottom: ::LPWSTR, + cchDescriptionBottom: ::UINT, + iTitleImage: ::c_int, + iExtendedImage: ::c_int, + iFirstItem: ::c_int, + cItems: ::UINT, + pszSubsetTitle: ::LPWSTR, + cchSubsetTitle: ::UINT, +}} +pub type PLVGROUP = *mut LVGROUP; +pub const LVM_INSERTGROUP: ::UINT = LVM_FIRST + 145; +pub const LVM_SETGROUPINFO: ::UINT = LVM_FIRST + 147; +pub const LVM_GETGROUPINFO: ::UINT = LVM_FIRST + 149; +pub const LVM_REMOVEGROUP: ::UINT = LVM_FIRST + 150; +pub const LVM_MOVEGROUP: ::UINT = LVM_FIRST + 151; +pub const LVM_GETGROUPCOUNT: ::UINT = LVM_FIRST + 152; +pub const LVM_GETGROUPINFOBYINDEX: ::UINT = LVM_FIRST + 153; +pub const LVM_MOVEITEMTOGROUP: ::UINT = LVM_FIRST + 154; +pub const LVM_GETGROUPRECT: ::UINT = LVM_FIRST + 98; +pub const LVGGR_GROUP: ::LPARAM = 0; +pub const LVGGR_HEADER: ::LPARAM = 1; +pub const LVGGR_LABEL: ::LPARAM = 2; +pub const LVGGR_SUBSETLINK: ::LPARAM = 3; +pub const LVGMF_NONE: ::UINT = 0x00000000; +pub const LVGMF_BORDERSIZE: ::UINT = 0x00000001; +pub const LVGMF_BORDERCOLOR: ::UINT = 0x00000002; +pub const LVGMF_TEXTCOLOR: ::UINT = 0x00000004; +STRUCT!{struct LVGROUPMETRICS { + cbSize: ::UINT, + mask: ::UINT, + Left: ::UINT, + Top: ::UINT, + Right: ::UINT, + Bottom: ::UINT, + crLeft: ::COLORREF, + crTop: ::COLORREF, + crRight: ::COLORREF, + crBottom: ::COLORREF, + crHeader: ::COLORREF, + crFooter: ::COLORREF, +}} +pub type PLVGROUPMETRICS = *mut LVGROUPMETRICS; +pub const LVM_SETGROUPMETRICS: ::UINT = LVM_FIRST + 155; +pub const LVM_GETGROUPMETRICS: ::UINT = LVM_FIRST + 156; +pub const LVM_ENABLEGROUPVIEW: ::UINT = LVM_FIRST + 157; +pub const LVM_SORTGROUPS: ::UINT = LVM_FIRST + 158; +pub type PFNLVGROUPCOMPARE = Option<unsafe extern "system" fn( + ::c_int, ::c_int, *mut ::c_void, +) -> ::c_int>; +STRUCT!{nodebug struct LVINSERTGROUPSORTED { + pfnGroupCompare: PFNLVGROUPCOMPARE, + pvData: *mut ::c_void, + lvGroup: LVGROUP, +}} +pub type PLVINSERTGROUPSORTED = *mut LVINSERTGROUPSORTED; +pub const LVM_INSERTGROUPSORTED: ::UINT = LVM_FIRST + 159; +pub const LVM_REMOVEALLGROUPS: ::UINT = LVM_FIRST + 160; +pub const LVM_HASGROUP: ::UINT = LVM_FIRST + 161; +pub const LVM_GETGROUPSTATE: ::UINT = LVM_FIRST + 92; +pub const LVM_GETFOCUSEDGROUP: ::UINT = LVM_FIRST + 93; +pub const LVTVIF_AUTOSIZE: ::DWORD = 0x00000000; +pub const LVTVIF_FIXEDWIDTH: ::DWORD = 0x00000001; +pub const LVTVIF_FIXEDHEIGHT: ::DWORD = 0x00000002; +pub const LVTVIF_FIXEDSIZE: ::DWORD = 0x00000003; +pub const LVTVIF_EXTENDED: ::DWORD = 0x00000004; +pub const LVTVIM_TILESIZE: ::DWORD = 0x00000001; +pub const LVTVIM_COLUMNS: ::DWORD = 0x00000002; +pub const LVTVIM_LABELMARGIN: ::DWORD = 0x00000004; +STRUCT!{struct LVTILEVIEWINFO { + cbSize: ::UINT, + dwMask: ::DWORD, + dwFlags: ::DWORD, + sizeTile: ::SIZE, + cLines: ::c_int, + rcLabelMargin: ::RECT, +}} +pub type PLVTILEVIEWINFO = *mut LVTILEVIEWINFO; +STRUCT!{struct LVTILEINFO { + cbSize: ::UINT, + iItem: ::c_int, + cColumns: ::UINT, + puColumns: ::PUINT, + piColFmt: *mut ::c_int, +}} +pub type PLVTILEINFO = *mut LVTILEINFO; +pub const LVM_SETTILEVIEWINFO: ::UINT = LVM_FIRST + 162; +pub const LVM_GETTILEVIEWINFO: ::UINT = LVM_FIRST + 163; +pub const LVM_SETTILEINFO: ::UINT = LVM_FIRST + 164; +pub const LVM_GETTILEINFO: ::UINT = LVM_FIRST + 165; +STRUCT!{struct LVINSERTMARK { + cbSize: ::UINT, + dwFlags: ::DWORD, + iItem: ::c_int, + dwReserved: ::DWORD, +}} +pub type LPLVINSERTMARK = *mut LVINSERTMARK; +pub const LVIM_AFTER: ::DWORD = 0x00000001; +pub const LVM_SETINSERTMARK: ::UINT = LVM_FIRST + 166; +pub const LVM_GETINSERTMARK: ::UINT = LVM_FIRST + 167; +pub const LVM_INSERTMARKHITTEST: ::UINT = LVM_FIRST + 168; +pub const LVM_GETINSERTMARKRECT: ::UINT = LVM_FIRST + 169; +pub const LVM_SETINSERTMARKCOLOR: ::UINT = LVM_FIRST + 170; +pub const LVM_GETINSERTMARKCOLOR: ::UINT = LVM_FIRST + 171; +STRUCT!{struct LVSETINFOTIP { + cbSize: ::UINT, + dwFlags: ::DWORD, + pszText: ::LPWSTR, + iItem: ::c_int, + iSubItem: ::c_int, +}} +pub type PLVSETINFOTIP = *mut LVSETINFOTIP; +pub const LVM_SETINFOTIP: ::UINT = LVM_FIRST + 173; +pub const LVM_GETSELECTEDCOLUMN: ::UINT = LVM_FIRST + 174; +pub const LVM_ISGROUPVIEWENABLED: ::UINT = LVM_FIRST + 175; +pub const LVM_GETOUTLINECOLOR: ::UINT = LVM_FIRST + 176; +pub const LVM_SETOUTLINECOLOR: ::UINT = LVM_FIRST + 177; +pub const LVM_CANCELEDITLABEL: ::UINT = LVM_FIRST + 179; +pub const LVM_MAPINDEXTOID: ::UINT = LVM_FIRST + 180; +pub const LVM_MAPIDTOINDEX: ::UINT = LVM_FIRST + 181; +pub const LVM_ISITEMVISIBLE: ::UINT = LVM_FIRST + 182; +pub const LVM_GETEMPTYTEXT: ::UINT = LVM_FIRST + 204; +pub const LVM_GETFOOTERRECT: ::UINT = LVM_FIRST + 205; +pub const LVFF_ITEMCOUNT: ::UINT = 0x00000001; +STRUCT!{struct LVFOOTERINFO { + mask: ::UINT, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + cItems: ::UINT, +}} +pub type LPLVFOOTERINFO = *mut LVFOOTERINFO; +pub const LVM_GETFOOTERINFO: ::UINT = LVM_FIRST + 206; +pub const LVM_GETFOOTERITEMRECT: ::UINT = LVM_FIRST + 207; +pub const LVFIF_TEXT: ::UINT = 0x00000001; +pub const LVFIF_STATE: ::UINT = 0x00000002; +pub const LVFIS_FOCUSED: ::UINT = 0x0001; +STRUCT!{struct LVFOOTERITEM { + mask: ::UINT, + iItem: ::c_int, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + state: ::UINT, + stateMask: ::UINT, +}} +pub type LPLVFOOTERITEM = *mut LVFOOTERITEM; +pub const LVM_GETFOOTERITEM: ::UINT = LVM_FIRST + 208; +STRUCT!{struct LVITEMINDEX { + iItem: ::c_int, + iGroup: ::c_int, +}} +pub type PLVITEMINDEX = *mut LVITEMINDEX; +pub const LVM_GETITEMINDEXRECT: ::UINT = LVM_FIRST + 209; +pub const LVM_SETITEMINDEXSTATE: ::UINT = LVM_FIRST + 210; +pub const LVM_GETNEXTITEMINDEX: ::UINT = LVM_FIRST + 211; +pub type LPNM_LISTVIEW = LPNMLISTVIEW; +pub type NM_LISTVIEW = NMLISTVIEW; +STRUCT!{struct NMLISTVIEW { + hdr: ::NMHDR, + iItem: ::c_int, + iSubItem: ::c_int, + uNewState: ::UINT, + uOldState: ::UINT, + uChanged: ::UINT, + ptAction: ::POINT, + lParam: ::LPARAM, +}} +pub type LPNMLISTVIEW = *mut NMLISTVIEW; +STRUCT!{struct NMITEMACTIVATE { + hdr: ::NMHDR, + iItem: ::c_int, + iSubItem: ::c_int, + uNewState: ::UINT, + uOldState: ::UINT, + uChanged: ::UINT, + ptAction: ::POINT, + lParam: ::LPARAM, + uKeyFlags: ::UINT, +}} +pub type LPNMITEMACTIVATE = *mut NMITEMACTIVATE; +pub const LVKF_ALT: ::UINT = 0x0001; +pub const LVKF_CONTROL: ::UINT = 0x0002; +pub const LVKF_SHIFT: ::UINT = 0x0004; +STRUCT!{struct NMLVCUSTOMDRAW { + nmcd: NMCUSTOMDRAW, + clrText: ::COLORREF, + clrTextBk: ::COLORREF, + iSubItem: ::c_int, + dwItemType: ::DWORD, + clrFace: ::COLORREF, + iIconEffect: ::c_int, + iIconPhase: ::c_int, + iPartId: ::c_int, + iStateId: ::c_int, + rcText: ::RECT, + uAlign: ::UINT, +}} +pub type LPNMLVCUSTOMDRAW = *mut NMLVCUSTOMDRAW; +pub const LVCDI_ITEM: ::DWORD = 0x00000000; +pub const LVCDI_GROUP: ::DWORD = 0x00000001; +pub const LVCDI_ITEMSLIST: ::DWORD = 0x00000002; +pub const LVCDRF_NOSELECT: ::LRESULT = 0x00010000; +pub const LVCDRF_NOGROUPFRAME: ::LRESULT = 0x00020000; +STRUCT!{struct NMLVCACHEHINT { + hdr: ::NMHDR, + iFrom: ::c_int, + iTo: ::c_int, +}} +pub type LPNMLVCACHEHINT = *mut NMLVCACHEHINT; +pub type LPNM_CACHEHINT = LPNMLVCACHEHINT; +pub type PNM_CACHEHINT = LPNMLVCACHEHINT; +pub type NM_CACHEHINT = NMLVCACHEHINT; +STRUCT!{struct NMLVFINDITEMA { + hdr: ::NMHDR, + iStart: ::c_int, + lvfi: LVFINDINFOA, +}} +pub type LPNMLVFINDITEMA = *mut NMLVFINDITEMA; +STRUCT!{struct NMLVFINDITEMW { + hdr: ::NMHDR, + iStart: ::c_int, + lvfi: LVFINDINFOW, +}} +pub type LPNMLVFINDITEMW = *mut NMLVFINDITEMW; +pub type PNM_FINDITEMA = LPNMLVFINDITEMA; +pub type LPNM_FINDITEMA = LPNMLVFINDITEMA; +pub type NM_FINDITEMA = NMLVFINDITEMA; +pub type PNM_FINDITEMW = LPNMLVFINDITEMW; +pub type LPNM_FINDITEMW = LPNMLVFINDITEMW; +pub type NM_FINDITEMW = NMLVFINDITEMW; +STRUCT!{struct NMLVODSTATECHANGE { + hdr: ::NMHDR, + iFrom: ::c_int, + iTo: ::c_int, + uNewState: ::UINT, + uOldState: ::UINT, +}} +pub type LPNMLVODSTATECHANGE = *mut NMLVODSTATECHANGE; +pub type PNM_ODSTATECHANGE = LPNMLVODSTATECHANGE; +pub type LPNM_ODSTATECHANGE = LPNMLVODSTATECHANGE; +pub type NM_ODSTATECHANGE = NMLVODSTATECHANGE; +pub const LVN_ITEMCHANGING: ::UINT = LVN_FIRST - 0; +pub const LVN_ITEMCHANGED: ::UINT = LVN_FIRST - 1; +pub const LVN_INSERTITEM: ::UINT = LVN_FIRST - 2; +pub const LVN_DELETEITEM: ::UINT = LVN_FIRST - 3; +pub const LVN_DELETEALLITEMS: ::UINT = LVN_FIRST - 4; +pub const LVN_BEGINLABELEDITA: ::UINT = LVN_FIRST - 5; +pub const LVN_BEGINLABELEDITW: ::UINT = LVN_FIRST - 75; +pub const LVN_ENDLABELEDITA: ::UINT = LVN_FIRST - 6; +pub const LVN_ENDLABELEDITW: ::UINT = LVN_FIRST - 76; +pub const LVN_COLUMNCLICK: ::UINT = LVN_FIRST - 8; +pub const LVN_BEGINDRAG: ::UINT = LVN_FIRST - 9; +pub const LVN_BEGINRDRAG: ::UINT = LVN_FIRST - 11; +pub const LVN_ODCACHEHINT: ::UINT = LVN_FIRST - 13; +pub const LVN_ODFINDITEMA: ::UINT = LVN_FIRST - 52; +pub const LVN_ODFINDITEMW: ::UINT = LVN_FIRST - 79; +pub const LVN_ITEMACTIVATE: ::UINT = LVN_FIRST - 14; +pub const LVN_ODSTATECHANGED: ::UINT = LVN_FIRST - 15; +pub const LVN_HOTTRACK: ::UINT = LVN_FIRST - 21; +pub const LVN_GETDISPINFOA: ::UINT = LVN_FIRST - 50; +pub const LVN_GETDISPINFOW: ::UINT = LVN_FIRST - 77; +pub const LVN_SETDISPINFOA: ::UINT = LVN_FIRST - 51; +pub const LVN_SETDISPINFOW: ::UINT = LVN_FIRST - 78; +pub const LVIF_DI_SETITEM: ::UINT = 0x1000; +pub type LV_DISPINFOA = NMLVDISPINFOA; +pub type LV_DISPINFOW = NMLVDISPINFOW; +STRUCT!{struct NMLVDISPINFOA { + hdr: ::NMHDR, + item: LVITEMA, +}} +pub type LPNMLVDISPINFOA = *mut NMLVDISPINFOA; +STRUCT!{struct NMLVDISPINFOW { + hdr: ::NMHDR, + item: LVITEMW, +}} +pub type LPNMLVDISPINFOW = *mut NMLVDISPINFOW; +pub const LVN_KEYDOWN: ::UINT = LVN_FIRST - 55; +pub type LV_KEYDOWN = NMLVKEYDOWN; +STRUCT!{struct NMLVKEYDOWN { + hdr: ::NMHDR, + wVKey: ::WORD, + flags: ::UINT, +}} +pub type LPNMLVKEYDOWN = *mut NMLVKEYDOWN; +pub const LVN_MARQUEEBEGIN: ::UINT = LVN_FIRST - 56; +STRUCT!{nodebug struct NMLVLINK { + hdr: ::NMHDR, + link: LITEM, + iItem: ::c_int, + iSubItem: ::c_int, +}} +pub type PNMLVLINK = *mut NMLVLINK; +STRUCT!{struct NMLVGETINFOTIPA { + hdr: ::NMHDR, + dwFlags: ::DWORD, + pszText: ::LPSTR, + cchTextMax: ::c_int, + iItem: ::c_int, + iSubItem: ::c_int, + lParam: ::LPARAM, +}} +pub type LPNMLVGETINFOTIPA = *mut NMLVGETINFOTIPA; +STRUCT!{struct NMLVGETINFOTIPW { + hdr: ::NMHDR, + dwFlags: ::DWORD, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + iItem: ::c_int, + iSubItem: ::c_int, + lParam: ::LPARAM, +}} +pub type LPNMLVGETINFOTIPW = *mut NMLVGETINFOTIPW; +pub const LVGIT_UNFOLDED: ::DWORD = 0x0001; +pub const LVN_GETINFOTIPA: ::UINT = LVN_FIRST - 57; +pub const LVN_GETINFOTIPW: ::UINT = LVN_FIRST - 58; +pub const LVNSCH_DEFAULT: ::LPARAM = -1; +pub const LVNSCH_ERROR: ::LPARAM = -2; +pub const LVNSCH_IGNORE: ::LPARAM = -3; +pub const LVN_INCREMENTALSEARCHA: ::UINT = LVN_FIRST - 62; +pub const LVN_INCREMENTALSEARCHW: ::UINT = LVN_FIRST - 63; +pub const LVN_COLUMNDROPDOWN: ::UINT = LVN_FIRST - 64; +pub const LVN_COLUMNOVERFLOWCLICK: ::UINT = LVN_FIRST - 66; +STRUCT!{struct NMLVSCROLL { + hdr: ::NMHDR, + dx: ::c_int, + dy: ::c_int, +}} +pub type LPNMLVSCROLL = *mut NMLVSCROLL; +pub const LVN_BEGINSCROLL: ::UINT = LVN_FIRST - 80; +pub const LVN_ENDSCROLL: ::UINT = LVN_FIRST - 81; +pub const LVN_LINKCLICK: ::UINT = LVN_FIRST - 84; +pub const EMF_CENTERED: ::DWORD = 0x00000001; +STRUCT!{nodebug struct NMLVEMPTYMARKUP { + hdr: ::NMHDR, + dwFlags: ::DWORD, + szMarkup: [::WCHAR; L_MAX_URL_LENGTH], +}} +pub const LVN_GETEMPTYMARKUP: ::UINT = LVN_FIRST - 87; +pub const TVS_HASBUTTONS: ::DWORD = 0x0001; +pub const TVS_HASLINES: ::DWORD = 0x0002; +pub const TVS_LINESATROOT: ::DWORD = 0x0004; +pub const TVS_EDITLABELS: ::DWORD = 0x0008; +pub const TVS_DISABLEDRAGDROP: ::DWORD = 0x0010; +pub const TVS_SHOWSELALWAYS: ::DWORD = 0x0020; +pub const TVS_RTLREADING: ::DWORD = 0x0040; +pub const TVS_NOTOOLTIPS: ::DWORD = 0x0080; +pub const TVS_CHECKBOXES: ::DWORD = 0x0100; +pub const TVS_TRACKSELECT: ::DWORD = 0x0200; +pub const TVS_SINGLEEXPAND: ::DWORD = 0x0400; +pub const TVS_INFOTIP: ::DWORD = 0x0800; +pub const TVS_FULLROWSELECT: ::DWORD = 0x1000; +pub const TVS_NOSCROLL: ::DWORD = 0x2000; +pub const TVS_NONEVENHEIGHT: ::DWORD = 0x4000; +pub const TVS_NOHSCROLL: ::DWORD = 0x8000; +pub const TVS_EX_NOSINGLECOLLAPSE: ::DWORD = 0x0001; +pub const TVS_EX_MULTISELECT: ::DWORD = 0x0002; +pub const TVS_EX_DOUBLEBUFFER: ::DWORD = 0x0004; +pub const TVS_EX_NOINDENTSTATE: ::DWORD = 0x0008; +pub const TVS_EX_RICHTOOLTIP: ::DWORD = 0x0010; +pub const TVS_EX_AUTOHSCROLL: ::DWORD = 0x0020; +pub const TVS_EX_FADEINOUTEXPANDOS: ::DWORD = 0x0040; +pub const TVS_EX_PARTIALCHECKBOXES: ::DWORD = 0x0080; +pub const TVS_EX_EXCLUSIONCHECKBOXES: ::DWORD = 0x0100; +pub const TVS_EX_DIMMEDCHECKBOXES: ::DWORD = 0x0200; +pub const TVS_EX_DRAWIMAGEASYNC: ::DWORD = 0x0400; +pub enum TREEITEM {} +pub type HTREEITEM = *mut TREEITEM; +pub const TVIF_TEXT: ::UINT = 0x0001; +pub const TVIF_IMAGE: ::UINT = 0x0002; +pub const TVIF_PARAM: ::UINT = 0x0004; +pub const TVIF_STATE: ::UINT = 0x0008; +pub const TVIF_HANDLE: ::UINT = 0x0010; +pub const TVIF_SELECTEDIMAGE: ::UINT = 0x0020; +pub const TVIF_CHILDREN: ::UINT = 0x0040; +pub const TVIF_INTEGRAL: ::UINT = 0x0080; +pub const TVIF_STATEEX: ::UINT = 0x0100; +pub const TVIF_EXPANDEDIMAGE: ::UINT = 0x0200; +pub const TVIS_SELECTED: ::UINT = 0x0002; +pub const TVIS_CUT: ::UINT = 0x0004; +pub const TVIS_DROPHILITED: ::UINT = 0x0008; +pub const TVIS_BOLD: ::UINT = 0x0010; +pub const TVIS_EXPANDED: ::UINT = 0x0020; +pub const TVIS_EXPANDEDONCE: ::UINT = 0x0040; +pub const TVIS_EXPANDPARTIAL: ::UINT = 0x0080; +pub const TVIS_OVERLAYMASK: ::UINT = 0x0F00; +pub const TVIS_STATEIMAGEMASK: ::UINT = 0xF000; +pub const TVIS_USERMASK: ::UINT = 0xF000; +pub const TVIS_EX_FLAT: ::UINT = 0x0001; +pub const TVIS_EX_DISABLED: ::UINT = 0x0002; +pub const TVIS_EX_ALL: ::UINT = 0x0002; +STRUCT!{struct NMTVSTATEIMAGECHANGING { + hdr: ::NMHDR, + hti: HTREEITEM, + iOldStateImageIndex: ::c_int, + iNewStateImageIndex: ::c_int, +}} +pub type LPNMTVSTATEIMAGECHANGING = *mut NMTVSTATEIMAGECHANGING; +pub const I_CHILDRENCALLBACK: ::c_int = -1; +pub const I_CHILDRENAUTO: ::c_int = -2; +pub type LPTV_ITEMW = LPTVITEMW; +pub type LPTV_ITEMA = LPTVITEMA; +pub type TV_ITEMW = TVITEMW; +pub type TV_ITEMA = TVITEMA; +STRUCT!{struct TVITEMA { + mask: ::UINT, + hItem: HTREEITEM, + state: ::UINT, + stateMask: ::UINT, + pszText: ::LPSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + iSelectedImage: ::c_int, + cChildren: ::c_int, + lParam: ::LPARAM, +}} +pub type LPTVITEMA = *mut TVITEMA; +STRUCT!{struct TVITEMW { + mask: ::UINT, + hItem: HTREEITEM, + state: ::UINT, + stateMask: ::UINT, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + iSelectedImage: ::c_int, + cChildren: ::c_int, + lParam: ::LPARAM, +}} +pub type LPTVITEMW = *mut TVITEMW; +STRUCT!{struct TVITEMEXA { + mask: ::UINT, + hItem: HTREEITEM, + state: ::UINT, + stateMask: ::UINT, + pszText: ::LPSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + iSelectedImage: ::c_int, + cChildren: ::c_int, + lParam: ::LPARAM, + iIntegral: ::c_int, + uStateEx: ::UINT, + hwnd: ::HWND, + iExpandedImage: ::c_int, + iReserved: ::c_int, +}} +pub type LPTVITEMEXA = *mut TVITEMEXA; +STRUCT!{struct TVITEMEXW { + mask: ::UINT, + hItem: HTREEITEM, + state: ::UINT, + stateMask: ::UINT, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + iSelectedImage: ::c_int, + cChildren: ::c_int, + lParam: ::LPARAM, + iIntegral: ::c_int, + uStateEx: ::UINT, + hwnd: ::HWND, + iExpandedImage: ::c_int, + iReserved: ::c_int, +}} +pub type LPTVITEMEXW = *mut TVITEMEXW; +pub const TVI_ROOT: HTREEITEM = (0 - 0x10000) as HTREEITEM; +pub const TVI_FIRST: HTREEITEM = (0 - 0x0FFFF) as HTREEITEM; +pub const TVI_LAST: HTREEITEM = (0 - 0x0FFFE) as HTREEITEM; +pub const TVI_SORT: HTREEITEM = (0 - 0x0FFFD) as HTREEITEM; +pub type LPTV_INSERTSTRUCTA = LPTVINSERTSTRUCTA; +pub type LPTV_INSERTSTRUCTW = LPTVINSERTSTRUCTW; +pub type TV_INSERTSTRUCTA = TVINSERTSTRUCTA; +pub type TV_INSERTSTRUCTW = TVINSERTSTRUCTW; +STRUCT!{struct TVINSERTSTRUCTA { + hParent: HTREEITEM, + hInsertAfter: HTREEITEM, + itemex: TVITEMEXA, +}} +UNION!(TVINSERTSTRUCTA, itemex, item, item_mut, TV_ITEMA); +pub type LPTVINSERTSTRUCTA = *mut TVINSERTSTRUCTA; +STRUCT!{struct TVINSERTSTRUCTW { + hParent: HTREEITEM, + hInsertAfter: HTREEITEM, + itemex: TVITEMEXW, +}} +UNION!(TVINSERTSTRUCTW, itemex, item, item_mut, TV_ITEMW); +pub type LPTVINSERTSTRUCTW = *mut TVINSERTSTRUCTW; +pub const TVM_INSERTITEMA: ::UINT = TV_FIRST + 0; +pub const TVM_INSERTITEMW: ::UINT = TV_FIRST + 50; +pub const TVM_DELETEITEM: ::UINT = TV_FIRST + 1; +pub const TVM_EXPAND: ::UINT = TV_FIRST + 2; +pub const TVM_GETITEMRECT: ::UINT = TV_FIRST + 4; +pub const TVE_COLLAPSE: ::WPARAM = 0x0001; +pub const TVE_EXPAND: ::WPARAM = 0x0002; +pub const TVE_TOGGLE: ::WPARAM = 0x0003; +pub const TVE_EXPANDPARTIAL: ::WPARAM = 0x4000; +pub const TVE_COLLAPSERESET: ::WPARAM = 0x8000; +pub const TVM_GETCOUNT: ::UINT = TV_FIRST + 5; +pub const TVM_GETINDENT: ::UINT = TV_FIRST + 6; +pub const TVM_SETINDENT: ::UINT = TV_FIRST + 7; +pub const TVM_GETIMAGELIST: ::UINT = TV_FIRST + 8; +pub const TVM_SETIMAGELIST: ::UINT = TV_FIRST + 9; +pub const TVM_GETNEXTITEM: ::UINT = TV_FIRST + 10; +pub const TVSIL_NORMAL: ::WPARAM = 0; +pub const TVSIL_STATE: ::WPARAM = 2; +pub const TVGN_ROOT: ::WPARAM = 0x0000; +pub const TVGN_NEXT: ::WPARAM = 0x0001; +pub const TVGN_PREVIOUS: ::WPARAM = 0x0002; +pub const TVGN_PARENT: ::WPARAM = 0x0003; +pub const TVGN_CHILD: ::WPARAM = 0x0004; +pub const TVGN_FIRSTVISIBLE: ::WPARAM = 0x0005; +pub const TVGN_NEXTVISIBLE: ::WPARAM = 0x0006; +pub const TVGN_PREVIOUSVISIBLE: ::WPARAM = 0x0007; +pub const TVGN_DROPHILITE: ::WPARAM = 0x0008; +pub const TVGN_CARET: ::WPARAM = 0x0009; +pub const TVGN_LASTVISIBLE: ::WPARAM = 0x000A; +pub const TVGN_NEXTSELECTED: ::WPARAM = 0x000B; +pub const TVSI_NOSINGLEEXPAND: ::WPARAM = 0x8000; +pub const TVM_SELECTITEM: ::UINT = TV_FIRST + 11; +pub const TVM_GETITEMA: ::UINT = TV_FIRST + 12; +pub const TVM_GETITEMW: ::UINT = TV_FIRST + 62; +pub const TVM_SETITEMA: ::UINT = TV_FIRST + 13; +pub const TVM_SETITEMW: ::UINT = TV_FIRST + 63; +pub const TVM_EDITLABELA: ::UINT = TV_FIRST + 14; +pub const TVM_EDITLABELW: ::UINT = TV_FIRST + 65; +pub const TVM_GETEDITCONTROL: ::UINT = TV_FIRST + 15; +pub const TVM_GETVISIBLECOUNT: ::UINT = TV_FIRST + 16; +pub const TVM_HITTEST: ::UINT = TV_FIRST + 17; +pub type LPTV_HITTESTINFO = LPTVHITTESTINFO; +pub type TV_HITTESTINFO = TVHITTESTINFO; +STRUCT!{struct TVHITTESTINFO { + pt: ::POINT, + flags: ::UINT, + hItem: HTREEITEM, +}} +pub type LPTVHITTESTINFO = *mut TVHITTESTINFO; +pub const TVHT_NOWHERE: ::UINT = 0x0001; +pub const TVHT_ONITEMICON: ::UINT = 0x0002; +pub const TVHT_ONITEMLABEL: ::UINT = 0x0004; +pub const TVHT_ONITEM: ::UINT = TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON; +pub const TVHT_ONITEMINDENT: ::UINT = 0x0008; +pub const TVHT_ONITEMBUTTON: ::UINT = 0x0010; +pub const TVHT_ONITEMRIGHT: ::UINT = 0x0020; +pub const TVHT_ONITEMSTATEICON: ::UINT = 0x0040; +pub const TVHT_ABOVE: ::UINT = 0x0100; +pub const TVHT_BELOW: ::UINT = 0x0200; +pub const TVHT_TORIGHT: ::UINT = 0x0400; +pub const TVHT_TOLEFT: ::UINT = 0x0800; +pub const TVM_CREATEDRAGIMAGE: ::UINT = TV_FIRST + 18; +pub const TVM_SORTCHILDREN: ::UINT = TV_FIRST + 19; +pub const TVM_ENSUREVISIBLE: ::UINT = TV_FIRST + 20; +pub const TVM_SORTCHILDRENCB: ::UINT = TV_FIRST + 21; +pub const TVM_ENDEDITLABELNOW: ::UINT = TV_FIRST + 22; +pub const TVM_GETISEARCHSTRINGA: ::UINT = TV_FIRST + 23; +pub const TVM_GETISEARCHSTRINGW: ::UINT = TV_FIRST + 64; +pub const TVM_SETTOOLTIPS: ::UINT = TV_FIRST + 24; +pub const TVM_GETTOOLTIPS: ::UINT = TV_FIRST + 25; +pub const TVM_SETINSERTMARK: ::UINT = TV_FIRST + 26; +pub const TVM_SETUNICODEFORMAT: ::UINT = CCM_SETUNICODEFORMAT; +pub const TVM_GETUNICODEFORMAT: ::UINT = CCM_GETUNICODEFORMAT; +pub const TVM_SETITEMHEIGHT: ::UINT = TV_FIRST + 27; +pub const TVM_GETITEMHEIGHT: ::UINT = TV_FIRST + 28; +pub const TVM_SETBKCOLOR: ::UINT = TV_FIRST + 29; +pub const TVM_SETTEXTCOLOR: ::UINT = TV_FIRST + 30; +pub const TVM_GETBKCOLOR: ::UINT = TV_FIRST + 31; +pub const TVM_GETTEXTCOLOR: ::UINT = TV_FIRST + 32; +pub const TVM_SETSCROLLTIME: ::UINT = TV_FIRST + 33; +pub const TVM_GETSCROLLTIME: ::UINT = TV_FIRST + 34; +pub const TVM_SETINSERTMARKCOLOR: ::UINT = TV_FIRST + 37; +pub const TVM_GETINSERTMARKCOLOR: ::UINT = TV_FIRST + 38; +pub const TVM_SETBORDER: ::UINT = TV_FIRST + 35; +pub const TVSBF_XBORDER: ::WPARAM = 0x00000001; +pub const TVSBF_YBORDER: ::WPARAM = 0x00000002; +pub const TVM_GETITEMSTATE: ::UINT = TV_FIRST + 39; +pub const TVM_SETLINECOLOR: ::UINT = TV_FIRST + 40; +pub const TVM_GETLINECOLOR: ::UINT = TV_FIRST + 41; +pub const TVM_MAPACCIDTOHTREEITEM: ::UINT = TV_FIRST + 42; +pub const TVM_MAPHTREEITEMTOACCID: ::UINT = TV_FIRST + 43; +pub const TVM_SETEXTENDEDSTYLE: ::UINT = TV_FIRST + 44; +pub const TVM_GETEXTENDEDSTYLE: ::UINT = TV_FIRST + 45; +pub const TVM_SETAUTOSCROLLINFO: ::UINT = TV_FIRST + 59; +pub const TVM_SETHOT: ::UINT = TV_FIRST + 58; +pub const TVM_GETSELECTEDCOUNT: ::UINT = TV_FIRST + 70; +pub const TVM_SHOWINFOTIP: ::UINT = TV_FIRST + 71; +ENUM!{enum TVITEMPART { + TVGIPR_BUTTON = 0x0001, +}} +STRUCT!{struct TVGETITEMPARTRECTINFO { + hti: HTREEITEM, + prc: *mut ::RECT, + partID: TVITEMPART, +}} +pub const TVM_GETITEMPARTRECT: ::UINT = TV_FIRST + 72; +pub type PFNTVCOMPARE = Option<unsafe extern "system" fn( + lParam1: ::LPARAM, lParam2: ::LPARAM, lParamSort: ::LPARAM, +) -> ::c_int>; +pub type LPTV_SORTCB = LPTVSORTCB; +pub type TV_SORTCB = TVSORTCB; +STRUCT!{nodebug struct TVSORTCB { + hParent: HTREEITEM, + lpfnCompare: PFNTVCOMPARE, + lParam: ::LPARAM, +}} +pub type LPTVSORTCB = *mut TVSORTCB; +pub type LPNM_TREEVIEWA = LPNMTREEVIEWA; +pub type LPNM_TREEVIEWW = LPNMTREEVIEWW; +pub type NM_TREEVIEWA = NMTREEVIEWA; +pub type NM_TREEVIEWW = NMTREEVIEWW; +STRUCT!{struct NMTREEVIEWA { + hdr: ::NMHDR, + action: ::UINT, + itemOld: TVITEMA, + itemNew: TVITEMA, + ptDrag: ::POINT, +}} +pub type LPNMTREEVIEWA = *mut NMTREEVIEWA; +STRUCT!{struct NMTREEVIEWW { + hdr: ::NMHDR, + action: ::UINT, + itemOld: TVITEMW, + itemNew: TVITEMW, + ptDrag: ::POINT, +}} +pub type LPNMTREEVIEWW = *mut NMTREEVIEWW; +pub const TVN_SELCHANGINGA: ::UINT = TVN_FIRST - 1; +pub const TVN_SELCHANGINGW: ::UINT = TVN_FIRST - 50; +pub const TVN_SELCHANGEDA: ::UINT = TVN_FIRST - 2; +pub const TVN_SELCHANGEDW: ::UINT = TVN_FIRST - 51; +pub const TVN_GETDISPINFOA: ::UINT = TVN_FIRST - 3; +pub const TVN_GETDISPINFOW: ::UINT = TVN_FIRST - 52; +pub const TVN_SETDISPINFOA: ::UINT = TVN_FIRST - 4; +pub const TVN_SETDISPINFOW: ::UINT = TVN_FIRST - 53; +pub const TVC_UNKNOWN: ::LPARAM = 0x0000; +pub const TVC_BYMOUSE: ::LPARAM = 0x0001; +pub const TVC_BYKEYBOARD: ::LPARAM = 0x0002; +pub const TVIF_DI_SETITEM: ::UINT = 0x1000; +pub type TV_DISPINFOA = NMTVDISPINFOA; +pub type TV_DISPINFOW = NMTVDISPINFOW; +STRUCT!{struct NMTVDISPINFOA { + hdr: ::NMHDR, + item: TVITEMA, +}} +pub type LPNMTVDISPINFOA = *mut NMTVDISPINFOA; +STRUCT!{struct NMTVDISPINFOW { + hdr: ::NMHDR, + item: TVITEMW, +}} +pub type LPNMTVDISPINFOW = *mut NMTVDISPINFOW; +STRUCT!{struct NMTVDISPINFOEXA { + hdr: ::NMHDR, + item: TVITEMEXA, +}} +pub type LPNMTVDISPINFOEXA = *mut NMTVDISPINFOEXA; +STRUCT!{struct NMTVDISPINFOEXW { + hdr: ::NMHDR, + item: TVITEMEXW, +}} +pub type LPNMTVDISPINFOEXW = *mut NMTVDISPINFOEXW; +pub type TV_DISPINFOEXA = NMTVDISPINFOEXA; +pub type TV_DISPINFOEXW = NMTVDISPINFOEXW; +pub const TVN_ITEMEXPANDINGA: ::UINT = TVN_FIRST - 5; +pub const TVN_ITEMEXPANDINGW: ::UINT = TVN_FIRST - 54; +pub const TVN_ITEMEXPANDEDA: ::UINT = TVN_FIRST - 6; +pub const TVN_ITEMEXPANDEDW: ::UINT = TVN_FIRST - 55; +pub const TVN_BEGINDRAGA: ::UINT = TVN_FIRST - 7; +pub const TVN_BEGINDRAGW: ::UINT = TVN_FIRST - 56; +pub const TVN_BEGINRDRAGA: ::UINT = TVN_FIRST - 8; +pub const TVN_BEGINRDRAGW: ::UINT = TVN_FIRST - 57; +pub const TVN_DELETEITEMA: ::UINT = TVN_FIRST - 9; +pub const TVN_DELETEITEMW: ::UINT = TVN_FIRST - 58; +pub const TVN_BEGINLABELEDITA: ::UINT = TVN_FIRST - 10; +pub const TVN_BEGINLABELEDITW: ::UINT = TVN_FIRST - 59; +pub const TVN_ENDLABELEDITA: ::UINT = TVN_FIRST - 11; +pub const TVN_ENDLABELEDITW: ::UINT = TVN_FIRST - 60; +pub const TVN_KEYDOWN: ::UINT = TVN_FIRST - 12; +pub const TVN_GETINFOTIPA: ::UINT = TVN_FIRST - 13; +pub const TVN_GETINFOTIPW: ::UINT = TVN_FIRST - 14; +pub const TVN_SINGLEEXPAND: ::UINT = TVN_FIRST - 15; +pub const TVN_ITEMCHANGINGA: ::UINT = TVN_FIRST - 16; +pub const TVN_ITEMCHANGINGW: ::UINT = TVN_FIRST - 17; +pub const TVN_ITEMCHANGEDA: ::UINT = TVN_FIRST - 18; +pub const TVN_ITEMCHANGEDW: ::UINT = TVN_FIRST - 19; +pub const TVN_ASYNCDRAW: ::UINT = TVN_FIRST - 20; +pub const TVNRET_DEFAULT: ::LRESULT = 0; +pub const TVNRET_SKIPOLD: ::LRESULT = 1; +pub const TVNRET_SKIPNEW: ::LRESULT = 2; +pub type TV_KEYDOWN = NMTVKEYDOWN; +STRUCT!{struct NMTVKEYDOWN { + hdr: ::NMHDR, + wVKey: ::WORD, + flags: ::UINT, +}} +pub type LPNMTVKEYDOWN = *mut NMTVKEYDOWN; +STRUCT!{struct NMTVCUSTOMDRAW { + nmcd: NMCUSTOMDRAW, + clrText: ::COLORREF, + clrTextBk: ::COLORREF, + iLevel: ::c_int, +}} +pub type LPNMTVCUSTOMDRAW = *mut NMTVCUSTOMDRAW; +STRUCT!{struct NMTVGETINFOTIPA { + hdr: ::NMHDR, + pszText: ::LPSTR, + cchTextMax: ::c_int, + hItem: HTREEITEM, + lParam: ::LPARAM, +}} +pub type LPNMTVGETINFOTIPA = *mut NMTVGETINFOTIPA; +STRUCT!{struct NMTVGETINFOTIPW { + hdr: ::NMHDR, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + hItem: HTREEITEM, + lParam: ::LPARAM, +}} +pub type LPNMTVGETINFOTIPW = *mut NMTVGETINFOTIPW; +pub const TVCDRF_NOIMAGES: ::LRESULT = 0x00010000; +STRUCT!{struct NMTVITEMCHANGE { + hdr: ::NMHDR, + uChanged: ::UINT, + hItem: HTREEITEM, + uStateNew: ::UINT, + uStateOld: ::UINT, + lParam: ::LPARAM, +}} +STRUCT!{struct NMTVASYNCDRAW { + hdr: ::NMHDR, + pimldp: *mut IMAGELISTDRAWPARAMS, + hr: ::HRESULT, + hItem: HTREEITEM, + lParam: ::LPARAM, + dwRetFlags: ::DWORD, + iRetImageIndex: ::c_int, +}} +pub const CBEIF_TEXT: ::UINT = 0x00000001; +pub const CBEIF_IMAGE: ::UINT = 0x00000002; +pub const CBEIF_SELECTEDIMAGE: ::UINT = 0x00000004; +pub const CBEIF_OVERLAY: ::UINT = 0x00000008; +pub const CBEIF_INDENT: ::UINT = 0x00000010; +pub const CBEIF_LPARAM: ::UINT = 0x00000020; +pub const CBEIF_DI_SETITEM: ::UINT = 0x10000000; +STRUCT!{struct COMBOBOXEXITEMA { + mask: ::UINT, + iItem: ::INT_PTR, + pszText: ::LPSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + iSelectedImage: ::c_int, + iOverlay: ::c_int, + iIndent: ::c_int, + lParam: ::LPARAM, +}} +pub type PCOMBOBOXEXITEMA = *mut COMBOBOXEXITEMA; +pub type PCCOMBOBOXEXITEMA = *const COMBOBOXEXITEMA; +STRUCT!{struct COMBOBOXEXITEMW { + mask: ::UINT, + iItem: ::INT_PTR, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + iSelectedImage: ::c_int, + iOverlay: ::c_int, + iIndent: ::c_int, + lParam: ::LPARAM, +}} +pub type PCOMBOBOXEXITEMW = *mut COMBOBOXEXITEMW; +pub type PCCOMBOBOXEXITEMW = *const COMBOBOXEXITEMW; +pub const CBEM_INSERTITEMA: ::UINT = ::WM_USER + 1; +pub const CBEM_SETIMAGELIST: ::UINT = ::WM_USER + 2; +pub const CBEM_GETIMAGELIST: ::UINT = ::WM_USER + 3; +pub const CBEM_GETITEMA: ::UINT = ::WM_USER + 4; +pub const CBEM_SETITEMA: ::UINT = ::WM_USER + 5; +pub const CBEM_DELETEITEM: ::UINT = ::CB_DELETESTRING; +pub const CBEM_GETCOMBOCONTROL: ::UINT = ::WM_USER + 6; +pub const CBEM_GETEDITCONTROL: ::UINT = ::WM_USER + 7; +pub const CBEM_SETEXSTYLE: ::UINT = ::WM_USER + 8; +pub const CBEM_SETEXTENDEDSTYLE: ::UINT = ::WM_USER + 14; +pub const CBEM_GETEXSTYLE: ::UINT = ::WM_USER + 9; +pub const CBEM_GETEXTENDEDSTYLE: ::UINT = ::WM_USER + 9; +pub const CBEM_SETUNICODEFORMAT: ::UINT = CCM_SETUNICODEFORMAT; +pub const CBEM_GETUNICODEFORMAT: ::UINT = CCM_GETUNICODEFORMAT; +pub const CBEM_HASEDITCHANGED: ::UINT = ::WM_USER + 10; +pub const CBEM_INSERTITEMW: ::UINT = ::WM_USER + 11; +pub const CBEM_SETITEMW: ::UINT = ::WM_USER + 12; +pub const CBEM_GETITEMW: ::UINT = ::WM_USER + 13; +pub const CBEM_SETWINDOWTHEME: ::UINT = CCM_SETWINDOWTHEME; +pub const CBES_EX_NOEDITIMAGE: ::DWORD = 0x00000001; +pub const CBES_EX_NOEDITIMAGEINDENT: ::DWORD = 0x00000002; +pub const CBES_EX_PATHWORDBREAKPROC: ::DWORD = 0x00000004; +pub const CBES_EX_NOSIZELIMIT: ::DWORD = 0x00000008; +pub const CBES_EX_CASESENSITIVE: ::DWORD = 0x00000010; +pub const CBES_EX_TEXTENDELLIPSIS: ::DWORD = 0x00000020; +STRUCT!{struct NMCOMBOBOXEXA { + hdr: ::NMHDR, + ceItem: COMBOBOXEXITEMA, +}} +pub type PNMCOMBOBOXEXA = *mut NMCOMBOBOXEXA; +STRUCT!{struct NMCOMBOBOXEXW { + hdr: ::NMHDR, + ceItem: COMBOBOXEXITEMW, +}} +pub type PNMCOMBOBOXEXW = *mut NMCOMBOBOXEXW; +pub const CBEN_GETDISPINFOA: ::UINT = CBEN_FIRST - 0; +pub const CBEN_INSERTITEM: ::UINT = CBEN_FIRST - 1; +pub const CBEN_DELETEITEM: ::UINT = CBEN_FIRST - 2; +pub const CBEN_BEGINEDIT: ::UINT = CBEN_FIRST - 4; +pub const CBEN_ENDEDITA: ::UINT = CBEN_FIRST - 5; +pub const CBEN_ENDEDITW: ::UINT = CBEN_FIRST - 6; +pub const CBEN_GETDISPINFOW: ::UINT = CBEN_FIRST - 7; +pub const CBEN_DRAGBEGINA: ::UINT = CBEN_FIRST - 8; +pub const CBEN_DRAGBEGINW: ::UINT = CBEN_FIRST - 9; +pub const CBENF_KILLFOCUS: ::c_int = 1; +pub const CBENF_RETURN: ::c_int = 2; +pub const CBENF_ESCAPE: ::c_int = 3; +pub const CBENF_DROPDOWN: ::c_int = 4; +pub const CBEMAXSTRLEN: usize = 260; +STRUCT!{nodebug struct NMCBEDRAGBEGINW { + hdr: ::NMHDR, + iItemid: ::c_int, + szText: [::WCHAR; CBEMAXSTRLEN], +}} +pub type PNMCBEDRAGBEGINW = *mut NMCBEDRAGBEGINW; +pub type LPNMCBEDRAGBEGINW = *mut NMCBEDRAGBEGINW; +STRUCT!{nodebug struct NMCBEDRAGBEGINA { + hdr: ::NMHDR, + iItemid: ::c_int, + szText: [::c_char; CBEMAXSTRLEN], +}} +pub type PNMCBEDRAGBEGINA = *mut NMCBEDRAGBEGINA; +pub type LPNMCBEDRAGBEGINA = *mut NMCBEDRAGBEGINA; +STRUCT!{nodebug struct NMCBEENDEDITW { + hdr: ::NMHDR, + fChanged: ::BOOL, + iNewSelection: ::c_int, + szText: [::WCHAR; CBEMAXSTRLEN], + iWhy: ::c_int, +}} +pub type PNMCBEENDEDITW = *mut NMCBEENDEDITW; +pub type LPNMCBEENDEDITW = *mut NMCBEENDEDITW; +STRUCT!{nodebug struct NMCBEENDEDITA { + hdr: ::NMHDR, + fChanged: ::BOOL, + iNewSelection: ::c_int, + szText: [::c_char; CBEMAXSTRLEN], + iWhy: ::c_int, +}} +pub type PNMCBEENDEDITA = *mut NMCBEENDEDITA; +pub type LPNMCBEENDEDITA = *mut NMCBEENDEDITA; +pub const TCS_SCROLLOPPOSITE: ::DWORD = 0x0001; +pub const TCS_BOTTOM: ::DWORD = 0x0002; +pub const TCS_RIGHT: ::DWORD = 0x0002; +pub const TCS_MULTISELECT: ::DWORD = 0x0004; +pub const TCS_FLATBUTTONS: ::DWORD = 0x0008; +pub const TCS_FORCEICONLEFT: ::DWORD = 0x0010; +pub const TCS_FORCELABELLEFT: ::DWORD = 0x0020; +pub const TCS_HOTTRACK: ::DWORD = 0x0040; +pub const TCS_VERTICAL: ::DWORD = 0x0080; +pub const TCS_TABS: ::DWORD = 0x0000; +pub const TCS_BUTTONS: ::DWORD = 0x0100; +pub const TCS_SINGLELINE: ::DWORD = 0x0000; +pub const TCS_MULTILINE: ::DWORD = 0x0200; +pub const TCS_RIGHTJUSTIFY: ::DWORD = 0x0000; +pub const TCS_FIXEDWIDTH: ::DWORD = 0x0400; +pub const TCS_RAGGEDRIGHT: ::DWORD = 0x0800; +pub const TCS_FOCUSONBUTTONDOWN: ::DWORD = 0x1000; +pub const TCS_OWNERDRAWFIXED: ::DWORD = 0x2000; +pub const TCS_TOOLTIPS: ::DWORD = 0x4000; +pub const TCS_FOCUSNEVER: ::DWORD = 0x8000; +pub const TCS_EX_FLATSEPARATORS: ::DWORD = 0x00000001; +pub const TCS_EX_REGISTERDROP: ::DWORD = 0x00000002; +pub const TCM_GETIMAGELIST: ::UINT = TCM_FIRST + 2; +pub const TCM_SETIMAGELIST: ::UINT = TCM_FIRST + 3; +pub const TCM_GETITEMCOUNT: ::UINT = TCM_FIRST + 4; +pub const TCIF_TEXT: ::UINT = 0x0001; +pub const TCIF_IMAGE: ::UINT = 0x0002; +pub const TCIF_RTLREADING: ::UINT = 0x0004; +pub const TCIF_PARAM: ::UINT = 0x0008; +pub const TCIF_STATE: ::UINT = 0x0010; +pub const TCIS_BUTTONPRESSED: ::DWORD = 0x0001; +pub const TCIS_HIGHLIGHTED: ::DWORD = 0x0002; +pub type TC_ITEMHEADERA = TCITEMHEADERA; +pub type TC_ITEMHEADERW = TCITEMHEADERW; +STRUCT!{struct TCITEMHEADERA { + mask: ::UINT, + lpReserved1: ::UINT, + lpReserved2: ::UINT, + pszText: ::LPSTR, + cchTextMax: ::c_int, + iImage: ::c_int, +}} +pub type LPTCITEMHEADERA = *mut TCITEMHEADERA; +STRUCT!{struct TCITEMHEADERW { + mask: ::UINT, + lpReserved1: ::UINT, + lpReserved2: ::UINT, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + iImage: ::c_int, +}} +pub type LPTCITEMHEADERW = *mut TCITEMHEADERW; +pub type TC_ITEMA = TCITEMA; +pub type TC_ITEMW = TCITEMW; +STRUCT!{struct TCITEMA { + mask: ::UINT, + dwState: ::DWORD, + dwStateMask: ::DWORD, + pszText: ::LPSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + lParam: ::LPARAM, +}} +pub type LPTCITEMA = *mut TCITEMA; +STRUCT!{struct TCITEMW { + mask: ::UINT, + dwState: ::DWORD, + dwStateMask: ::DWORD, + pszText: ::LPWSTR, + cchTextMax: ::c_int, + iImage: ::c_int, + lParam: ::LPARAM, +}} +pub type LPTCITEMW = *mut TCITEMW; +pub const TCM_GETITEMA: ::UINT = TCM_FIRST + 5; +pub const TCM_GETITEMW: ::UINT = TCM_FIRST + 60; +pub const TCM_SETITEMA: ::UINT = TCM_FIRST + 6; +pub const TCM_SETITEMW: ::UINT = TCM_FIRST + 61; +pub const TCM_INSERTITEMA: ::UINT = TCM_FIRST + 7; +pub const TCM_INSERTITEMW: ::UINT = TCM_FIRST + 62; +pub const TCM_DELETEITEM: ::UINT = TCM_FIRST + 8; +pub const TCM_DELETEALLITEMS: ::UINT = TCM_FIRST + 9; +pub const TCM_GETITEMRECT: ::UINT = TCM_FIRST + 10; +pub const TCM_GETCURSEL: ::UINT = TCM_FIRST + 11; +pub const TCM_SETCURSEL: ::UINT = TCM_FIRST + 12; +pub const TCHT_NOWHERE: ::UINT = 0x0001; +pub const TCHT_ONITEMICON: ::UINT = 0x0002; +pub const TCHT_ONITEMLABEL: ::UINT = 0x0004; +pub const TCHT_ONITEM: ::UINT = TCHT_ONITEMICON | TCHT_ONITEMLABEL; +pub type LPTC_HITTESTINFO = LPTCHITTESTINFO; +pub type TC_HITTESTINFO = TCHITTESTINFO; +STRUCT!{struct TCHITTESTINFO { + pt: ::POINT, + flags: ::UINT, +}} +pub type LPTCHITTESTINFO = *mut TCHITTESTINFO; +pub const TCM_HITTEST: ::UINT = TCM_FIRST + 13; +pub const TCM_SETITEMEXTRA: ::UINT = TCM_FIRST + 14; +pub const TCM_ADJUSTRECT: ::UINT = TCM_FIRST + 40; +pub const TCM_SETITEMSIZE: ::UINT = TCM_FIRST + 41; +pub const TCM_REMOVEIMAGE: ::UINT = TCM_FIRST + 42; +pub const TCM_SETPADDING: ::UINT = TCM_FIRST + 43; +pub const TCM_GETROWCOUNT: ::UINT = TCM_FIRST + 44; +pub const TCM_GETTOOLTIPS: ::UINT = TCM_FIRST + 45; +pub const TCM_SETTOOLTIPS: ::UINT = TCM_FIRST + 46; +pub const TCM_GETCURFOCUS: ::UINT = TCM_FIRST + 47; +pub const TCM_SETCURFOCUS: ::UINT = TCM_FIRST + 48; +pub const TCM_SETMINTABWIDTH: ::UINT = TCM_FIRST + 49; +pub const TCM_DESELECTALL: ::UINT = TCM_FIRST + 50; +pub const TCM_HIGHLIGHTITEM: ::UINT = TCM_FIRST + 51; +pub const TCM_SETEXTENDEDSTYLE: ::UINT = TCM_FIRST + 52; +pub const TCM_GETEXTENDEDSTYLE: ::UINT = TCM_FIRST + 53; +pub const TCM_SETUNICODEFORMAT: ::UINT = CCM_SETUNICODEFORMAT; +pub const TCM_GETUNICODEFORMAT: ::UINT = CCM_GETUNICODEFORMAT; +pub const TCN_KEYDOWN: ::UINT = TCN_FIRST - 0; +pub type TC_KEYDOWN = NMTCKEYDOWN; +STRUCT!{struct NMTCKEYDOWN { + hdr: ::NMHDR, + wVKey: ::WORD, + flags: ::UINT, +}} +pub const TCN_SELCHANGE: ::UINT = TCN_FIRST - 1; +pub const TCN_SELCHANGING: ::UINT = TCN_FIRST - 2; +pub const TCN_GETOBJECT: ::UINT = TCN_FIRST - 3; +pub const TCN_FOCUSCHANGE: ::UINT = TCN_FIRST - 4; +pub const ACS_CENTER: ::DWORD = 0x0001; +pub const ACS_TRANSPARENT: ::DWORD = 0x0002; +pub const ACS_AUTOPLAY: ::DWORD = 0x0004; +pub const ACS_TIMER: ::DWORD = 0x0008; +pub const ACM_OPENA: ::UINT = ::WM_USER + 100; +pub const ACM_OPENW: ::UINT = ::WM_USER + 103; +pub const ACM_PLAY: ::UINT = ::WM_USER + 101; +pub const ACM_STOP: ::UINT = ::WM_USER + 102; +pub const ACM_ISPLAYING: ::UINT = ::WM_USER + 104; +pub const ACN_START: ::WPARAM = 1; +pub const ACN_STOP: ::WPARAM = 2; +pub type MONTHDAYSTATE = ::DWORD; +pub type LPMONTHDAYSTATE = *mut ::DWORD; +pub const MCM_FIRST: ::UINT = 0x1000; +pub const MCM_GETCURSEL: ::UINT = MCM_FIRST + 1; +pub const MCM_SETCURSEL: ::UINT = MCM_FIRST + 2; +pub const MCM_GETMAXSELCOUNT: ::UINT = MCM_FIRST + 3; +pub const MCM_SETMAXSELCOUNT: ::UINT = MCM_FIRST + 4; +pub const MCM_GETSELRANGE: ::UINT = MCM_FIRST + 5; +pub const MCM_SETSELRANGE: ::UINT = MCM_FIRST + 6; +pub const MCM_GETMONTHRANGE: ::UINT = MCM_FIRST + 7; +pub const MCM_SETDAYSTATE: ::UINT = MCM_FIRST + 8; +pub const MCM_GETMINREQRECT: ::UINT = MCM_FIRST + 9; +pub const MCM_SETCOLOR: ::UINT = MCM_FIRST + 10; +pub const MCM_GETCOLOR: ::UINT = MCM_FIRST + 11; +pub const MCM_SETTODAY: ::UINT = MCM_FIRST + 12; +pub const MCM_GETTODAY: ::UINT = MCM_FIRST + 13; +pub const MCM_HITTEST: ::UINT = MCM_FIRST + 14; +pub const MCSC_BACKGROUND: ::WPARAM = 0; +pub const MCSC_TEXT: ::WPARAM = 1; +pub const MCSC_TITLEBK: ::WPARAM = 2; +pub const MCSC_TITLETEXT: ::WPARAM = 3; +pub const MCSC_MONTHBK: ::WPARAM = 4; +pub const MCSC_TRAILINGTEXT: ::WPARAM = 5; +STRUCT!{struct MCHITTESTINFO { + cbSize: ::UINT, + pt: ::POINT, + uHit: ::UINT, + st: ::SYSTEMTIME, + rc: ::RECT, + iOffset: ::c_int, + iRow: ::c_int, + iCol: ::c_int, +}} +pub type PMCHITTESTINFO = *mut MCHITTESTINFO; +pub const MCHT_TITLE: ::UINT = 0x00010000; +pub const MCHT_CALENDAR: ::UINT = 0x00020000; +pub const MCHT_TODAYLINK: ::UINT = 0x00030000; +pub const MCHT_CALENDARCONTROL: ::UINT = 0x00100000; +pub const MCHT_NEXT: ::UINT = 0x01000000; +pub const MCHT_PREV: ::UINT = 0x02000000; +pub const MCHT_NOWHERE: ::UINT = 0x00000000; +pub const MCHT_TITLEBK: ::UINT = MCHT_TITLE; +pub const MCHT_TITLEMONTH: ::UINT = MCHT_TITLE | 0x0001; +pub const MCHT_TITLEYEAR: ::UINT = MCHT_TITLE | 0x0002; +pub const MCHT_TITLEBTNNEXT: ::UINT = MCHT_TITLE | MCHT_NEXT | 0x0003; +pub const MCHT_TITLEBTNPREV: ::UINT = MCHT_TITLE | MCHT_PREV | 0x0003; +pub const MCHT_CALENDARBK: ::UINT = MCHT_CALENDAR; +pub const MCHT_CALENDARDATE: ::UINT = MCHT_CALENDAR | 0x0001; +pub const MCHT_CALENDARDATENEXT: ::UINT = MCHT_CALENDARDATE | MCHT_NEXT; +pub const MCHT_CALENDARDATEPREV: ::UINT = MCHT_CALENDARDATE | MCHT_PREV; +pub const MCHT_CALENDARDAY: ::UINT = MCHT_CALENDAR | 0x0002; +pub const MCHT_CALENDARWEEKNUM: ::UINT = MCHT_CALENDAR | 0x0003; +pub const MCHT_CALENDARDATEMIN: ::UINT = MCHT_CALENDAR | 0x0004; +pub const MCHT_CALENDARDATEMAX: ::UINT = MCHT_CALENDAR | 0x0005; +pub const MCM_SETFIRSTDAYOFWEEK: ::UINT = MCM_FIRST + 15; +pub const MCM_GETFIRSTDAYOFWEEK: ::UINT = MCM_FIRST + 16; +pub const MCM_GETRANGE: ::UINT = MCM_FIRST + 17; +pub const MCM_SETRANGE: ::UINT = MCM_FIRST + 18; +pub const MCM_GETMONTHDELTA: ::UINT = MCM_FIRST + 19; +pub const MCM_SETMONTHDELTA: ::UINT = MCM_FIRST + 20; +pub const MCM_GETMAXTODAYWIDTH: ::UINT = MCM_FIRST + 21; +pub const MCM_SETUNICODEFORMAT: ::UINT = CCM_SETUNICODEFORMAT; +pub const MCM_GETUNICODEFORMAT: ::UINT = CCM_GETUNICODEFORMAT; +pub const MCM_GETCURRENTVIEW: ::UINT = MCM_FIRST + 22; +pub const MCM_GETCALENDARCOUNT: ::UINT = MCM_FIRST + 23; +pub const MCMV_MONTH: ::DWORD = 0; +pub const MCMV_YEAR: ::DWORD = 1; +pub const MCMV_DECADE: ::DWORD = 2; +pub const MCMV_CENTURY: ::DWORD = 3; +pub const MCMV_MAX: ::DWORD = MCMV_CENTURY; +pub const MCGIP_CALENDARCONTROL: ::DWORD = 0; +pub const MCGIP_NEXT: ::DWORD = 1; +pub const MCGIP_PREV: ::DWORD = 2; +pub const MCGIP_FOOTER: ::DWORD = 3; +pub const MCGIP_CALENDAR: ::DWORD = 4; +pub const MCGIP_CALENDARHEADER: ::DWORD = 5; +pub const MCGIP_CALENDARBODY: ::DWORD = 6; +pub const MCGIP_CALENDARROW: ::DWORD = 7; +pub const MCGIP_CALENDARCELL: ::DWORD = 8; +pub const MCGIF_DATE: ::DWORD = 0x00000001; +pub const MCGIF_RECT: ::DWORD = 0x00000002; +pub const MCGIF_NAME: ::DWORD = 0x00000004; +STRUCT!{struct MCGRIDINFO { + cbSize: ::UINT, + dwPart: ::DWORD, + dwFlags: ::DWORD, + iCalendar: ::c_int, + iRow: ::c_int, + iCol: ::c_int, + bSelected: ::BOOL, + stStart: ::SYSTEMTIME, + stEnd: ::SYSTEMTIME, + rc: ::RECT, + pszName: ::PWSTR, + cchName: ::size_t, +}} +pub type PMCGRIDINFO = *mut MCGRIDINFO; +pub const MCM_GETCALENDARGRIDINFO: ::UINT = MCM_FIRST + 24; +pub const MCM_GETCALID: ::UINT = MCM_FIRST + 27; +pub const MCM_SETCALID: ::UINT = MCM_FIRST + 28; +pub const MCM_SIZERECTTOMIN: ::UINT = MCM_FIRST + 29; +pub const MCM_SETCALENDARBORDER: ::UINT = MCM_FIRST + 30; +pub const MCM_GETCALENDARBORDER: ::UINT = MCM_FIRST + 31; +pub const MCM_SETCURRENTVIEW: ::UINT = MCM_FIRST + 32; +STRUCT!{struct NMSELCHANGE { + nmhdr: ::NMHDR, + stSelStart: ::SYSTEMTIME, + stSelEnd: ::SYSTEMTIME, +}} +pub type LPNMSELCHANGE = *mut NMSELCHANGE; +pub const MCN_SELCHANGE: ::UINT = MCN_FIRST - 3; +STRUCT!{struct NMDAYSTATE { + nmhdr: ::NMHDR, + stStart: ::SYSTEMTIME, + cDayState: ::c_int, + prgDayState: LPMONTHDAYSTATE, +}} +pub type LPNMDAYSTATE = *mut NMDAYSTATE; +pub const MCN_GETDAYSTATE: ::UINT = MCN_FIRST - 1; +pub type NMSELECT = NMSELCHANGE; +pub type LPNMSELECT = *mut NMSELCHANGE; +pub const MCN_SELECT: ::UINT = MCN_FIRST; +STRUCT!{struct NMVIEWCHANGE { + nmhdr: ::NMHDR, + dwOldView: ::DWORD, + dwNewView: ::DWORD, +}} +pub type LPNMVIEWCHANGE = *mut NMVIEWCHANGE; +pub const MCN_VIEWCHANGE: ::UINT = MCN_FIRST - 4; +pub const MCS_DAYSTATE: ::DWORD = 0x0001; +pub const MCS_MULTISELECT: ::DWORD = 0x0002; +pub const MCS_WEEKNUMBERS: ::DWORD = 0x0004; +pub const MCS_NOTODAYCIRCLE: ::DWORD = 0x0008; +pub const MCS_NOTODAY: ::DWORD = 0x0010; +pub const MCS_NOTRAILINGDATES: ::DWORD = 0x0040; +pub const MCS_SHORTDAYSOFWEEK: ::DWORD = 0x0080; +pub const MCS_NOSELCHANGEONNAV: ::DWORD = 0x0100; +pub const GMR_VISIBLE: ::DWORD = 0; +pub const GMR_DAYSTATE: ::DWORD = 1; +STRUCT!{struct DATETIMEPICKERINFO { + cbSize: ::UINT, + rcCheck: ::RECT, + stateCheck: ::DWORD, + rcButton: ::RECT, + stateButton: ::DWORD, + hwndEdit: ::HWND, + hwndUD: ::HWND, + hwndDropDown: ::HWND, +}} +pub type LPDATETIMEPICKERINFO = *mut DATETIMEPICKERINFO; +pub const DTM_FIRST: ::UINT = 0x1000; +pub const DTM_GETSYSTEMTIME: ::UINT = DTM_FIRST + 1; +pub const DTM_SETSYSTEMTIME: ::UINT = DTM_FIRST + 2; +pub const DTM_GETRANGE: ::UINT = DTM_FIRST + 3; +pub const DTM_SETRANGE: ::UINT = DTM_FIRST + 4; +pub const DTM_SETFORMATA: ::UINT = DTM_FIRST + 5; +pub const DTM_SETFORMATW: ::UINT = DTM_FIRST + 50; +pub const DTM_SETMCCOLOR: ::UINT = DTM_FIRST + 6; +pub const DTM_GETMCCOLOR: ::UINT = DTM_FIRST + 7; +pub const DTM_GETMONTHCAL: ::UINT = DTM_FIRST + 8; +pub const DTM_SETMCFONT: ::UINT = DTM_FIRST + 9; +pub const DTM_GETMCFONT: ::UINT = DTM_FIRST + 10; +pub const DTM_SETMCSTYLE: ::UINT = DTM_FIRST + 11; +pub const DTM_GETMCSTYLE: ::UINT = DTM_FIRST + 12; +pub const DTM_CLOSEMONTHCAL: ::UINT = DTM_FIRST + 13; +pub const DTM_GETDATETIMEPICKERINFO: ::UINT = DTM_FIRST + 14; +pub const DTM_GETIDEALSIZE: ::UINT = DTM_FIRST + 15; +pub const DTS_UPDOWN: ::DWORD = 0x0001; +pub const DTS_SHOWNONE: ::DWORD = 0x0002; +pub const DTS_SHORTDATEFORMAT: ::DWORD = 0x0000; +pub const DTS_LONGDATEFORMAT: ::DWORD = 0x0004; +pub const DTS_SHORTDATECENTURYFORMAT: ::DWORD = 0x000C; +pub const DTS_TIMEFORMAT: ::DWORD = 0x0009; +pub const DTS_APPCANPARSE: ::DWORD = 0x0010; +pub const DTS_RIGHTALIGN: ::DWORD = 0x0020; +pub const DTN_DATETIMECHANGE: ::UINT = DTN_FIRST2 - 6; +STRUCT!{struct NMDATETIMECHANGE { + nmhdr: ::NMHDR, + dwFlags: ::DWORD, + st: ::SYSTEMTIME, +}} +pub type LPNMDATETIMECHANGE = *mut NMDATETIMECHANGE; +pub const DTN_USERSTRINGA: ::UINT = DTN_FIRST2 - 5; +pub const DTN_USERSTRINGW: ::UINT = DTN_FIRST - 5; +STRUCT!{struct NMDATETIMESTRINGA { + nmhdr: ::NMHDR, + pszUserString: ::LPCSTR, + st: ::SYSTEMTIME, + dwFlags: ::DWORD, +}} +pub type LPNMDATETIMESTRINGA = *mut NMDATETIMESTRINGA; +STRUCT!{struct NMDATETIMESTRINGW { + nmhdr: ::NMHDR, + pszUserString: ::LPCWSTR, + st: ::SYSTEMTIME, + dwFlags: ::DWORD, +}} +pub type LPNMDATETIMESTRINGW = *mut NMDATETIMESTRINGW; +pub const DTN_WMKEYDOWNA: ::UINT = DTN_FIRST2 - 4; +pub const DTN_WMKEYDOWNW: ::UINT = DTN_FIRST - 4; +STRUCT!{struct NMDATETIMEWMKEYDOWNA { + nmhdr: ::NMHDR, + nVirtKey: ::c_int, + pszFormat: ::LPCSTR, + st: ::SYSTEMTIME, +}} +pub type LPNMDATETIMEWMKEYDOWNA = *mut NMDATETIMEWMKEYDOWNA; +STRUCT!{struct NMDATETIMEWMKEYDOWNW { + nmhdr: ::NMHDR, + nVirtKey: ::c_int, + pszFormat: ::LPCWSTR, + st: ::SYSTEMTIME, +}} +pub type LPNMDATETIMEWMKEYDOWNW = *mut NMDATETIMEWMKEYDOWNW; +pub const DTN_FORMATA: ::UINT = DTN_FIRST2 - 3; +pub const DTN_FORMATW: ::UINT = DTN_FIRST - 3; +STRUCT!{nodebug struct NMDATETIMEFORMATA { + nmhdr: ::NMHDR, + pszFormat: ::LPCSTR, + st: ::SYSTEMTIME, + pszDisplay: ::LPCSTR, + szDisplay: [::CHAR; 64], +}} +pub type LPNMDATETIMEFORMATA = *mut NMDATETIMEFORMATA; +STRUCT!{nodebug struct NMDATETIMEFORMATW { + nmhdr: ::NMHDR, + pszFormat: ::LPCWSTR, + st: ::SYSTEMTIME, + pszDisplay: ::LPCWSTR, + szDisplay: [::WCHAR; 64], +}} +pub type LPNMDATETIMEFORMATW = *mut NMDATETIMEFORMATW; +pub const DTN_FORMATQUERYA: ::UINT = DTN_FIRST2 - 2; +pub const DTN_FORMATQUERYW: ::UINT = DTN_FIRST - 2; +STRUCT!{struct NMDATETIMEFORMATQUERYA { + nmhdr: ::NMHDR, + pszFormat: ::LPCSTR, + szMax: ::SIZE, +}} +pub type LPNMDATETIMEFORMATQUERYA = *mut NMDATETIMEFORMATQUERYA; +STRUCT!{struct NMDATETIMEFORMATQUERYW { + nmhdr: ::NMHDR, + pszFormat: ::LPCWSTR, + szMax: ::SIZE, +}} +pub type LPNMDATETIMEFORMATQUERYW = *mut NMDATETIMEFORMATQUERYW; +pub const DTN_DROPDOWN: ::UINT = DTN_FIRST2 - 1; +pub const DTN_CLOSEUP: ::UINT = DTN_FIRST2; +pub const GDTR_MIN: ::WPARAM = 0x0001; +pub const GDTR_MAX: ::WPARAM = 0x0002; +pub const GDT_ERROR: ::LRESULT = -1; +pub const GDT_VALID: ::LRESULT = 0; +pub const GDT_NONE: ::LRESULT = 1; +pub const IPM_CLEARADDRESS: ::UINT = ::WM_USER + 100; +pub const IPM_SETADDRESS: ::UINT = ::WM_USER + 101; +pub const IPM_GETADDRESS: ::UINT = ::WM_USER + 102; +pub const IPM_SETRANGE: ::UINT = ::WM_USER + 103; +pub const IPM_SETFOCUS: ::UINT = ::WM_USER + 104; +pub const IPM_ISBLANK: ::UINT = ::WM_USER + 105; +pub const IPN_FIELDCHANGED: ::UINT = IPN_FIRST - 0; +STRUCT!{struct NMIPADDRESS { + hdr: ::NMHDR, + iField: ::c_int, + iValue: ::c_int, +}} +pub type LPNMIPADDRESS = *mut NMIPADDRESS; +#[inline] #[allow(dead_code)] +pub fn MAKEIPRANGE(low: ::BYTE, high: ::BYTE) -> ::LPARAM { + (high << 8 + low) as ::LPARAM +} +#[inline] #[allow(dead_code)] +pub fn MAKEIPADDRESS(b1: ::DWORD, b2: ::DWORD, b3: ::DWORD, b4: ::DWORD) -> ::LPARAM { + ((b1 << 24) + (b2 << 16) + (b3 << 8) + b4) as ::LPARAM +} +pub const PGS_VERT: ::DWORD = 0x00000000; +pub const PGS_HORZ: ::DWORD = 0x00000001; +pub const PGS_AUTOSCROLL: ::DWORD = 0x00000002; +pub const PGS_DRAGNDROP: ::DWORD = 0x00000004; +pub const PGF_INVISIBLE: ::DWORD = 0; +pub const PGF_NORMAL: ::DWORD = 1; +pub const PGF_GRAYED: ::DWORD = 2; +pub const PGF_DEPRESSED: ::DWORD = 4; +pub const PGF_HOT: ::DWORD = 8; +pub const PGB_TOPORLEFT: ::c_int = 0; +pub const PGB_BOTTOMORRIGHT: ::c_int = 1; +pub const PGM_SETCHILD: ::UINT = PGM_FIRST + 1; +pub const PGM_RECALCSIZE: ::UINT = PGM_FIRST + 2; +pub const PGM_FORWARDMOUSE: ::UINT = PGM_FIRST + 3; +pub const PGM_SETBKCOLOR: ::UINT = PGM_FIRST + 4; +pub const PGM_GETBKCOLOR: ::UINT = PGM_FIRST + 5; +pub const PGM_SETBORDER: ::UINT = PGM_FIRST + 6; +pub const PGM_GETBORDER: ::UINT = PGM_FIRST + 7; +pub const PGM_SETPOS: ::UINT = PGM_FIRST + 8; +pub const PGM_GETPOS: ::UINT = PGM_FIRST + 9; +pub const PGM_SETBUTTONSIZE: ::UINT = PGM_FIRST + 10; +pub const PGM_GETBUTTONSIZE: ::UINT = PGM_FIRST + 11; +pub const PGM_GETBUTTONSTATE: ::UINT = PGM_FIRST + 12; +pub const PGM_GETDROPTARGET: ::UINT = CCM_GETDROPTARGET; +pub const PGM_SETSCROLLINFO: ::UINT = PGM_FIRST + 13; +pub const PGN_SCROLL: ::UINT = PGN_FIRST - 1; +pub const PGF_SCROLLUP: ::c_int = 1; +pub const PGF_SCROLLDOWN: ::c_int = 2; +pub const PGF_SCROLLLEFT: ::c_int = 4; +pub const PGF_SCROLLRIGHT: ::c_int = 8; +pub const PGK_SHIFT: ::BOOL = 1; +pub const PGK_CONTROL: ::BOOL = 2; +pub const PGK_MENU: ::BOOL = 4; +STRUCT!{struct NMPGSCROLL { + hdr: ::NMHDR, + fwKeys: ::BOOL, + rcParent: ::RECT, + iDir: ::c_int, + iXpos: ::c_int, + iYpos: ::c_int, + iScroll: ::c_int, +}} +pub type LPNMPGSCROLL = *mut NMPGSCROLL; +pub const PGN_CALCSIZE: ::UINT = PGN_FIRST - 2; +pub const PGF_CALCWIDTH: ::DWORD = 1; +pub const PGF_CALCHEIGHT: ::DWORD = 2; +STRUCT!{struct NMPGCALCSIZE { + hdr: ::NMHDR, + dwFlag: ::DWORD, + iWidth: ::c_int, + iHeight: ::c_int, +}} +pub type LPNMPGCALCSIZE = *mut NMPGCALCSIZE; +pub const PGN_HOTITEMCHANGE: ::UINT = PGN_FIRST - 3; +STRUCT!{struct NMPGHOTITEM { + hdr: ::NMHDR, + idOld: ::c_int, + idNew: ::c_int, + dwFlags: ::DWORD, +}} +pub type LPNMPGHOTITEM = *mut NMPGHOTITEM; +pub const NFS_EDIT: ::DWORD = 0x0001; +pub const NFS_STATIC: ::DWORD = 0x0002; +pub const NFS_LISTCOMBO: ::DWORD = 0x0004; +pub const NFS_BUTTON: ::DWORD = 0x0008; +pub const NFS_ALL: ::DWORD = 0x0010; +pub const NFS_USEFONTASSOC: ::DWORD = 0x0020; +pub const BUTTON_IMAGELIST_ALIGN_LEFT: ::UINT = 0; +pub const BUTTON_IMAGELIST_ALIGN_RIGHT: ::UINT = 1; +pub const BUTTON_IMAGELIST_ALIGN_TOP: ::UINT = 2; +pub const BUTTON_IMAGELIST_ALIGN_BOTTOM: ::UINT = 3; +pub const BUTTON_IMAGELIST_ALIGN_CENTER: ::UINT = 4; +STRUCT!{struct BUTTON_IMAGELIST { + himl: HIMAGELIST, + margin: ::RECT, + uAlign: ::UINT, +}} +pub type PBUTTON_IMAGELIST = *mut BUTTON_IMAGELIST; +pub const BCM_GETIDEALSIZE: ::UINT = BCM_FIRST + 0x0001; +pub const BCM_SETIMAGELIST: ::UINT = BCM_FIRST + 0x0002; +pub const BCM_GETIMAGELIST: ::UINT = BCM_FIRST + 0x0003; +pub const BCM_SETTEXTMARGIN: ::UINT = BCM_FIRST + 0x0004; +pub const BCM_GETTEXTMARGIN: ::UINT = BCM_FIRST + 0x0005; +STRUCT!{struct NMBCHOTITEM { + hdr: ::NMHDR, + dwFlags: ::DWORD, +}} +pub type LPNMBCHOTITEM = *mut NMBCHOTITEM; +pub const BCN_HOTITEMCHANGE: ::UINT = BCN_FIRST + 0x0001; +pub const BS_SPLITBUTTON: ::UINT = 0x0000000C; +pub const BS_DEFSPLITBUTTON: ::UINT = 0x0000000D; +pub const BS_COMMANDLINK: ::UINT = 0x0000000E; +pub const BS_DEFCOMMANDLINK: ::UINT = 0x0000000F; +pub const BCSIF_GLYPH: ::UINT = 0x0001; +pub const BCSIF_IMAGE: ::UINT = 0x0002; +pub const BCSIF_STYLE: ::UINT = 0x0004; +pub const BCSIF_SIZE: ::UINT = 0x0008; +pub const BCSS_NOSPLIT: ::UINT = 0x0001; +pub const BCSS_STRETCH: ::UINT = 0x0002; +pub const BCSS_ALIGNLEFT: ::UINT = 0x0004; +pub const BCSS_IMAGE: ::UINT = 0x0008; +STRUCT!{struct BUTTON_SPLITINFO { + mask: ::UINT, + himlGlyph: HIMAGELIST, + uSplitStyle: ::UINT, + size: ::SIZE, +}} +pub type PBUTTON_SPLITINFO = *mut BUTTON_SPLITINFO; +pub const BCM_SETDROPDOWNSTATE: ::UINT = BCM_FIRST + 0x0006; +pub const BCM_SETSPLITINFO: ::UINT = BCM_FIRST + 0x0007; +pub const BCM_GETSPLITINFO: ::UINT = BCM_FIRST + 0x0008; +pub const BCM_SETNOTE: ::UINT = BCM_FIRST + 0x0009; +pub const BCM_GETNOTE: ::UINT = BCM_FIRST + 0x000A; +pub const BCM_GETNOTELENGTH: ::UINT = BCM_FIRST + 0x000B; +pub const BCM_SETSHIELD: ::UINT = BCM_FIRST + 0x000C; +pub const BCCL_NOGLYPH: HIMAGELIST = (0 - 1) as HIMAGELIST; +STRUCT!{struct NMBCDROPDOWN { + hdr: ::NMHDR, + rcButton: ::RECT, +}} +pub type LPNMBCDROPDOWN = *mut NMBCDROPDOWN; +pub const BCN_DROPDOWN: ::UINT = BCN_FIRST + 0x0002; +pub const EM_SETCUEBANNER: ::UINT = ECM_FIRST + 1; +pub const EM_GETCUEBANNER: ::UINT = ECM_FIRST + 2; +pub const EM_SHOWBALLOONTIP: ::UINT = ECM_FIRST + 3; +pub const EM_HIDEBALLOONTIP: ::UINT = ECM_FIRST + 4; +pub const EM_SETHILITE: ::UINT = ECM_FIRST + 5; +pub const EM_GETHILITE: ::UINT = ECM_FIRST + 6; +pub const EM_NOSETFOCUS: ::UINT = ECM_FIRST + 7; +pub const EM_TAKEFOCUS: ::UINT = ECM_FIRST + 8; +STRUCT!{struct EDITBALLOONTIP { + cbStruct: ::DWORD, + pszTitle: ::LPCWSTR, + pszText: ::LPCWSTR, + ttiIcon: ::INT, +}} +pub type PEDITBALLOONTIP = *mut EDITBALLOONTIP; +pub const CB_SETMINVISIBLE: ::UINT = CBM_FIRST + 1; +pub const CB_GETMINVISIBLE: ::UINT = CBM_FIRST + 2; +pub const CB_SETCUEBANNER: ::UINT = CBM_FIRST + 3; +pub const CB_GETCUEBANNER: ::UINT = CBM_FIRST + 4; +pub type PFTASKDIALOGCALLBACK = Option<unsafe extern "system" fn( + hwnd: ::HWND, msg: ::UINT, wParam: ::WPARAM, lParam: ::LPARAM, lpRefData: ::LONG_PTR, +) -> ::HRESULT>; +FLAGS!{enum TASKDIALOG_FLAGS { + TDF_ENABLE_HYPERLINKS = 0x0001, + TDF_USE_HICON_MAIN = 0x0002, + TDF_USE_HICON_FOOTER = 0x0004, + TDF_ALLOW_DIALOG_CANCELLATION = 0x0008, + TDF_USE_COMMAND_LINKS = 0x0010, + TDF_USE_COMMAND_LINKS_NO_ICON = 0x0020, + TDF_EXPAND_FOOTER_AREA = 0x0040, + TDF_EXPANDED_BY_DEFAULT = 0x0080, + TDF_VERIFICATION_FLAG_CHECKED = 0x0100, + TDF_SHOW_PROGRESS_BAR = 0x0200, + TDF_SHOW_MARQUEE_PROGRESS_BAR = 0x0400, + TDF_CALLBACK_TIMER = 0x0800, + TDF_POSITION_RELATIVE_TO_WINDOW = 0x1000, + TDF_RTL_LAYOUT = 0x2000, + TDF_NO_DEFAULT_RADIO_BUTTON = 0x4000, + TDF_CAN_BE_MINIMIZED = 0x8000, + TDF_NO_SET_FOREGROUND = 0x00010000, + TDF_SIZE_TO_CONTENT = 0x01000000, +}} +ENUM!{enum TASKDIALOG_MESSAGES { + TDM_NAVIGATE_PAGE = ::WM_USER + 101, + TDM_CLICK_BUTTON = ::WM_USER + 102, + TDM_SET_MARQUEE_PROGRESS_BAR = ::WM_USER + 103, + TDM_SET_PROGRESS_BAR_STATE = ::WM_USER + 104, + TDM_SET_PROGRESS_BAR_RANGE = ::WM_USER + 105, + TDM_SET_PROGRESS_BAR_POS = ::WM_USER + 106, + TDM_SET_PROGRESS_BAR_MARQUEE = ::WM_USER + 107, + TDM_SET_ELEMENT_TEXT = ::WM_USER + 108, + TDM_CLICK_RADIO_BUTTON = ::WM_USER + 110, + TDM_ENABLE_BUTTON = ::WM_USER + 111, + TDM_ENABLE_RADIO_BUTTON = ::WM_USER + 112, + TDM_CLICK_VERIFICATION = ::WM_USER + 113, + TDM_UPDATE_ELEMENT_TEXT = ::WM_USER + 114, + TDM_SET_BUTTON_ELEVATION_REQUIRED_STATE = ::WM_USER + 115, + TDM_UPDATE_ICON = ::WM_USER + 116, +}} +ENUM!{enum TASKDIALOG_NOTIFICATIONS { + TDN_CREATED = 0, + TDN_NAVIGATED = 1, + TDN_BUTTON_CLICKED = 2, + TDN_HYPERLINK_CLICKED = 3, + TDN_TIMER = 4, + TDN_DESTROYED = 5, + TDN_RADIO_BUTTON_CLICKED = 6, + TDN_DIALOG_CONSTRUCTED = 7, + TDN_VERIFICATION_CLICKED = 8, + TDN_HELP = 9, + TDN_EXPANDO_BUTTON_CLICKED = 10, +}} +STRUCT!{struct TASKDIALOG_BUTTON { + nButtonID: ::c_int, + pszButtonText: ::PCWSTR, +}} +ENUM!{enum TASKDIALOG_ELEMENTS { + TDE_CONTENT, + TDE_EXPANDED_INFORMATION, + TDE_FOOTER, + TDE_MAIN_INSTRUCTION, +}} +ENUM!{enum TASKDIALOG_ICON_ELEMENTS { + TDIE_ICON_MAIN, + TDIE_ICON_FOOTER, +}} +FLAGS!{enum TASKDIALOG_COMMON_BUTTON_FLAGS { + TDCBF_OK_BUTTON = 0x0001, + TDCBF_YES_BUTTON = 0x0002, + TDCBF_NO_BUTTON = 0x0004, + TDCBF_CANCEL_BUTTON = 0x0008, + TDCBF_RETRY_BUTTON = 0x0010, + TDCBF_CLOSE_BUTTON = 0x0020, +}} +STRUCT!{nodebug struct TASKDIALOGCONFIG { + cbSize: ::UINT, + hwndParent: ::HWND, + hInstance: ::HINSTANCE, + dwFlags: TASKDIALOG_FLAGS, + dwCommonButtons: TASKDIALOG_COMMON_BUTTON_FLAGS, + pszWindowTitle: ::PCWSTR, + hMainIcon: ::HICON, + pszMainInstruction: ::PCWSTR, + pszContent: ::PCWSTR, + cButtons: ::UINT, + pButtons: *const TASKDIALOG_BUTTON, + nDefaultButton: ::c_int, + cRadioButtons: ::UINT, + pRadioButtons: *const TASKDIALOG_BUTTON, + nDefaultRadioButton: ::c_int, + pszVerificationText: ::PCWSTR, + pszExpandedInformation: ::PCWSTR, + pszExpandedControlText: ::PCWSTR, + pszCollapsedControlText: ::PCWSTR, + hFooterIcon: ::HICON, + pszFooter: ::PCWSTR, + pfCallback: PFTASKDIALOGCALLBACK, + lpCallbackData: ::LONG_PTR, + cxWidth: ::UINT, +}} +UNION!(TASKDIALOGCONFIG, hMainIcon, pszMainIcon, pszMainIcon_mut, ::PCWSTR); +UNION!(TASKDIALOGCONFIG, hFooterIcon, pszFooterIcon, pszFooterIcon_mut, ::PCWSTR); +pub const DA_LAST: ::c_int = 0x7FFFFFFF; +pub const DA_ERR: ::c_int = -1; +pub type PFNDAENUMCALLBACK = Option<unsafe extern "system" fn( + p: *mut ::c_void, pData: *mut ::c_void, +) -> ::c_int>; +pub type PFNDAENUMCALLBACKCONST = Option<unsafe extern "system" fn( + p: *const ::c_void, pData: *mut ::c_void, +) -> ::c_int>; +pub type PFNDACOMPARE = Option<unsafe extern "system" fn( + p1: *mut ::c_void, p2: *mut ::c_void, lParam: ::LPARAM, +) -> ::c_int>; +pub type PFNDACOMPARECONST = Option<unsafe extern "system" fn( + p1: *const ::c_void, p2: *const ::c_void, lParam: ::LPARAM, +) -> ::c_int>; +pub enum DSA {} +pub type HDSA = *mut DSA; +pub const DSA_APPEND: ::c_int = DA_LAST; +pub const DSA_ERR: ::c_int = DA_ERR; +pub type PFNDSAENUMCALLBACK = PFNDAENUMCALLBACK; +pub type PFNDSAENUMCALLBACKCONST = PFNDAENUMCALLBACKCONST; +pub type PFNDSACOMPARE = PFNDACOMPARE; +pub type PFNDSACOMPARECONST = PFNDACOMPARECONST; +pub enum DPA {} +pub type HDPA = *mut DPA; +STRUCT!{struct DPASTREAMINFO { + iPos: ::c_int, + pvItem: *mut ::c_void, +}} +pub type PFNDPASTREAM = Option<unsafe extern "system" fn( + pinfo: *mut DPASTREAMINFO, pstream: *mut ::IStream, pvInstData: *mut ::c_void, +) -> ::HRESULT>; +pub const DPAM_SORTED: ::DWORD = 0x00000001; +pub const DPAM_NORMAL: ::DWORD = 0x00000002; +pub const DPAM_UNION: ::DWORD = 0x00000004; +pub const DPAM_INTERSECT: ::DWORD = 0x00000008; +pub type PFNDPAMERGE = Option<unsafe extern "system" fn( + uMsg: ::UINT, pvDest: *mut ::c_void, pvSrc: *mut ::c_void, lParam: ::LPARAM, +) -> *mut ::c_void>; +pub type PFNDPAMERGECONST = Option<unsafe extern "system" fn( + uMsg: ::UINT, pvDest: *const ::c_void, pvSrc: *const ::c_void, lParam: ::LPARAM, +) -> *const ::c_void>; +pub const DPAMM_MERGE: ::UINT = 1; +pub const DPAMM_DELETE: ::UINT = 2; +pub const DPAMM_INSERT: ::UINT = 3; +pub const DPAS_SORTED: ::UINT = 0x0001; +pub const DPAS_INSERTBEFORE: ::UINT = 0x0002; +pub const DPAS_INSERTAFTER: ::UINT = 0x0004; +pub const DPA_APPEND: ::c_int = DA_LAST; +pub const DPA_ERR: ::c_int = DA_ERR; +pub type PFNDPAENUMCALLBACK = PFNDAENUMCALLBACK; +pub type PFNDPAENUMCALLBACKCONST = PFNDAENUMCALLBACKCONST; +pub type PFNDPACOMPARE = PFNDACOMPARE; +pub type PFNDPACOMPARECONST = PFNDACOMPARECONST; +pub const WSB_PROP_CYVSCROLL: ::UINT = 0x00000001; +pub const WSB_PROP_CXHSCROLL: ::UINT = 0x00000002; +pub const WSB_PROP_CYHSCROLL: ::UINT = 0x00000004; +pub const WSB_PROP_CXVSCROLL: ::UINT = 0x00000008; +pub const WSB_PROP_CXHTHUMB: ::UINT = 0x00000010; +pub const WSB_PROP_CYVTHUMB: ::UINT = 0x00000020; +pub const WSB_PROP_VBKGCOLOR: ::UINT = 0x00000040; +pub const WSB_PROP_HBKGCOLOR: ::UINT = 0x00000080; +pub const WSB_PROP_VSTYLE: ::UINT = 0x00000100; +pub const WSB_PROP_HSTYLE: ::UINT = 0x00000200; +pub const WSB_PROP_WINSTYLE: ::UINT = 0x00000400; +pub const WSB_PROP_PALETTE: ::UINT = 0x00000800; +pub const WSB_PROP_MASK: ::UINT = 0x00000FFF; +pub const FSB_FLAT_MODE: ::INT_PTR = 2; +pub const FSB_ENCARTA_MODE: ::INT_PTR = 1; +pub const FSB_REGULAR_MODE: ::INT_PTR = 0; +pub type SUBCLASSPROC = Option<unsafe extern "system" fn( + hWnd: ::HWND, uMsg: ::UINT, wParam: ::WPARAM, lParam: ::LPARAM, uIdSubclass: ::UINT_PTR, + dwRefData: ::DWORD_PTR, +) -> ::LRESULT>; diff --git a/third_party/rust/winapi-0.2.8/src/commdlg.rs b/third_party/rust/winapi-0.2.8/src/commdlg.rs new file mode 100644 index 0000000000..0eb3fd8721 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/commdlg.rs @@ -0,0 +1,583 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! 32-Bit Common Dialog APIs +pub type LPOFNHOOKPROC = Option<unsafe extern "system" fn( + ::HWND, ::UINT, ::WPARAM, ::LPARAM, +) -> ::UINT_PTR>; +STRUCT!{nodebug struct OPENFILENAME_NT4A { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hInstance: ::HINSTANCE, + lpstrFilter: ::LPCSTR, + lpstrCustomFilter: ::LPSTR, + nMaxCustFilter: ::DWORD, + nFilterIndex: ::DWORD, + lpstrFile: ::LPSTR, + nMaxFile: ::DWORD, + lpstrFileTitle: ::LPSTR, + nMaxFileTitle: ::DWORD, + lpstrInitialDir: ::LPCSTR, + lpstrTitle: ::LPCSTR, + Flags: ::DWORD, + nFileOffset: ::WORD, + nFileExtension: ::WORD, + lpstrDefExt: ::LPCSTR, + lCustData: ::LPARAM, + lpfnHook: LPOFNHOOKPROC, + lpTemplateName: ::LPCSTR, +}} +pub type LPOPENFILENAME_NT4A = *mut OPENFILENAME_NT4A; +STRUCT!{nodebug struct OPENFILENAME_NT4W { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hInstance: ::HINSTANCE, + lpstrFilter: ::LPCWSTR, + lpstrCustomFilter: ::LPWSTR, + nMaxCustFilter: ::DWORD, + nFilterIndex: ::DWORD, + lpstrFile: ::LPWSTR, + nMaxFile: ::DWORD, + lpstrFileTitle: ::LPWSTR, + nMaxFileTitle: ::DWORD, + lpstrInitialDir: ::LPCWSTR, + lpstrTitle: ::LPCWSTR, + Flags: ::DWORD, + nFileOffset: ::WORD, + nFileExtension: ::WORD, + lpstrDefExt: ::LPCWSTR, + lCustData: ::LPARAM, + lpfnHook: LPOFNHOOKPROC, + lpTemplateName: ::LPCWSTR, +}} +pub type LPOPENFILENAME_NT4W = *mut OPENFILENAME_NT4W; +STRUCT!{nodebug struct OPENFILENAMEA { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hInstance: ::HINSTANCE, + lpstrFilter: ::LPCSTR, + lpstrCustomFilter: ::LPSTR, + nMaxCustFilter: ::DWORD, + nFilterIndex: ::DWORD, + lpstrFile: ::LPSTR, + nMaxFile: ::DWORD, + lpstrFileTitle: ::LPSTR, + nMaxFileTitle: ::DWORD, + lpstrInitialDir: ::LPCSTR, + lpstrTitle: ::LPCSTR, + Flags: ::DWORD, + nFileOffset: ::WORD, + nFileExtension: ::WORD, + lpstrDefExt: ::LPCSTR, + lCustData: ::LPARAM, + lpfnHook: LPOFNHOOKPROC, + lpTemplateName: ::LPCSTR, + pvReserved: *mut ::c_void, + dwReserved: ::DWORD, + FlagsEx: ::DWORD, +}} +pub type LPOPENFILENAMEA = *mut OPENFILENAMEA; +STRUCT!{nodebug struct OPENFILENAMEW { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hInstance: ::HINSTANCE, + lpstrFilter: ::LPCWSTR, + lpstrCustomFilter: ::LPWSTR, + nMaxCustFilter: ::DWORD, + nFilterIndex: ::DWORD, + lpstrFile: ::LPWSTR, + nMaxFile: ::DWORD, + lpstrFileTitle: ::LPWSTR, + nMaxFileTitle: ::DWORD, + lpstrInitialDir: ::LPCWSTR, + lpstrTitle: ::LPCWSTR, + Flags: ::DWORD, + nFileOffset: ::WORD, + nFileExtension: ::WORD, + lpstrDefExt: ::LPCWSTR, + lCustData: ::LPARAM, + lpfnHook: LPOFNHOOKPROC, + lpTemplateName: ::LPCWSTR, + pvReserved: *mut ::c_void, + dwReserved: ::DWORD, + FlagsEx: ::DWORD, +}} +pub type LPOPENFILENAMEW = *mut OPENFILENAMEW; +pub const OFN_READONLY: ::DWORD = 0x00000001; +pub const OFN_OVERWRITEPROMPT: ::DWORD = 0x00000002; +pub const OFN_HIDEREADONLY: ::DWORD = 0x00000004; +pub const OFN_NOCHANGEDIR: ::DWORD = 0x00000008; +pub const OFN_SHOWHELP: ::DWORD = 0x00000010; +pub const OFN_ENABLEHOOK: ::DWORD = 0x00000020; +pub const OFN_ENABLETEMPLATE: ::DWORD = 0x00000040; +pub const OFN_ENABLETEMPLATEHANDLE: ::DWORD = 0x00000080; +pub const OFN_NOVALIDATE: ::DWORD = 0x00000100; +pub const OFN_ALLOWMULTISELECT: ::DWORD = 0x00000200; +pub const OFN_EXTENSIONDIFFERENT: ::DWORD = 0x00000400; +pub const OFN_PATHMUSTEXIST: ::DWORD = 0x00000800; +pub const OFN_FILEMUSTEXIST: ::DWORD = 0x00001000; +pub const OFN_CREATEPROMPT: ::DWORD = 0x00002000; +pub const OFN_SHAREAWARE: ::DWORD = 0x00004000; +pub const OFN_NOREADONLYRETURN: ::DWORD = 0x00008000; +pub const OFN_NOTESTFILECREATE: ::DWORD = 0x00010000; +pub const OFN_NONETWORKBUTTON: ::DWORD = 0x00020000; +pub const OFN_NOLONGNAMES: ::DWORD = 0x00040000; +pub const OFN_EXPLORER: ::DWORD = 0x00080000; +pub const OFN_NODEREFERENCELINKS: ::DWORD = 0x00100000; +pub const OFN_LONGNAMES: ::DWORD = 0x00200000; +pub const OFN_ENABLEINCLUDENOTIFY: ::DWORD = 0x00400000; +pub const OFN_ENABLESIZING: ::DWORD = 0x00800000; +pub const OFN_DONTADDTORECENT: ::DWORD = 0x02000000; +pub const OFN_FORCESHOWHIDDEN: ::DWORD = 0x10000000; +pub const OFN_EX_NOPLACESBAR: ::DWORD = 0x00000001; +pub const OFN_SHAREFALLTHROUGH: ::UINT_PTR = 2; +pub const OFN_SHARENOWARN: ::UINT_PTR = 1; +pub const OFN_SHAREWARN: ::UINT_PTR = 0; +pub type LPCCHOOKPROC = Option<unsafe extern "system" fn( + ::HWND, ::UINT, ::WPARAM, ::LPARAM, +) -> ::UINT_PTR>; +STRUCT!{struct OFNOTIFYA { + hdr: ::NMHDR, + lpOFN: LPOPENFILENAMEA, + pszFile: ::LPSTR, +}} +pub type LPOFNOTIFYA = *mut OFNOTIFYA; +STRUCT!{struct OFNOTIFYW { + hdr: ::NMHDR, + lpOFN: LPOPENFILENAMEW, + pszFile: ::LPWSTR, +}} +pub type LPOFNOTIFYW = *mut OFNOTIFYW; +STRUCT!{struct OFNOTIFYEXA { + hdr: ::NMHDR, + lpOFN: LPOPENFILENAMEA, + psf: ::LPVOID, + pidl: ::LPVOID, +}} +pub type LPOFNOTIFYEXA = *mut OFNOTIFYEXA; +STRUCT!{struct OFNOTIFYEXW { + hdr: ::NMHDR, + lpOFN: LPOPENFILENAMEW, + psf: ::LPVOID, + pidl: ::LPVOID, +}} +pub type LPOFNOTIFYEXW = *mut OFNOTIFYEXW; +pub const CDN_FIRST: ::UINT = -601i32 as ::UINT; +pub const CDN_LAST: ::UINT = -699i32 as ::UINT; +pub const CDN_INITDONE: ::UINT = CDN_FIRST - 0x0000; +pub const CDN_SELCHANGE: ::UINT = CDN_FIRST - 0x0001; +pub const CDN_FOLDERCHANGE: ::UINT = CDN_FIRST - 0x0002; +pub const CDN_SHAREVIOLATION: ::UINT = CDN_FIRST - 0x0003; +pub const CDN_HELP: ::UINT = CDN_FIRST - 0x0004; +pub const CDN_FILEOK: ::UINT = CDN_FIRST - 0x0005; +pub const CDN_TYPECHANGE: ::UINT = CDN_FIRST - 0x0006; +pub const CDN_INCLUDEITEM: ::UINT = CDN_FIRST - 0x0007; +pub const CDM_FIRST: ::UINT = ::WM_USER + 100; +pub const CDM_LAST: ::UINT = ::WM_USER + 200; +pub const CDM_GETSPEC: ::UINT = CDM_FIRST + 0x0000; +pub const CDM_GETFILEPATH: ::UINT = CDM_FIRST + 0x0001; +pub const CDM_GETFOLDERPATH: ::UINT = CDM_FIRST + 0x0002; +pub const CDM_GETFOLDERIDLIST: ::UINT = CDM_FIRST + 0x0003; +pub const CDM_SETCONTROLTEXT: ::UINT = CDM_FIRST + 0x0004; +pub const CDM_HIDECONTROL: ::UINT = CDM_FIRST + 0x0005; +pub const CDM_SETDEFEXT: ::UINT = CDM_FIRST + 0x0006; +STRUCT!{nodebug struct CHOOSECOLORA { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hInstance: ::HWND, + rgbResult: ::COLORREF, + lpCustColors: *mut ::COLORREF, + Flags: ::DWORD, + lCustData: ::LPARAM, + lpfnHook: LPCCHOOKPROC, + lpTemplateName: ::LPCSTR, +}} +pub type LPCHOOSECOLORA = *mut CHOOSECOLORA; +STRUCT!{nodebug struct CHOOSECOLORW { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hInstance: ::HWND, + rgbResult: ::COLORREF, + lpCustColors: *mut ::COLORREF, + Flags: ::DWORD, + lCustData: ::LPARAM, + lpfnHook: LPCCHOOKPROC, + lpTemplateName: ::LPCWSTR, +}} +pub type LPCHOOSECOLORW = *mut CHOOSECOLORW; +pub const CC_RGBINIT: ::DWORD = 0x00000001; +pub const CC_FULLOPEN: ::DWORD = 0x00000002; +pub const CC_PREVENTFULLOPEN: ::DWORD = 0x00000004; +pub const CC_SHOWHELP: ::DWORD = 0x00000008; +pub const CC_ENABLEHOOK: ::DWORD = 0x00000010; +pub const CC_ENABLETEMPLATE: ::DWORD = 0x00000020; +pub const CC_ENABLETEMPLATEHANDLE: ::DWORD = 0x00000040; +pub const CC_SOLIDCOLOR: ::DWORD = 0x00000080; +pub const CC_ANYCOLOR: ::DWORD = 0x00000100; +pub type LPFRHOOKPROC = Option<unsafe extern "system" fn( + ::HWND, ::UINT, ::WPARAM, ::LPARAM, +) -> ::UINT_PTR>; +STRUCT!{nodebug struct FINDREPLACEA { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hInstance: ::HINSTANCE, + Flags: ::DWORD, + lpstrFindWhat: ::LPSTR, + lpstrReplaceWith: ::LPSTR, + wFindWhatLen: ::WORD, + wReplaceWithLen: ::WORD, + lCustData: ::LPARAM, + lpfnHook: LPFRHOOKPROC, + lpTemplateName: ::LPCSTR, +}} +pub type LPFINDREPLACEA = *mut FINDREPLACEA; +STRUCT!{nodebug struct FINDREPLACEW { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hInstance: ::HINSTANCE, + Flags: ::DWORD, + lpstrFindWhat: ::LPWSTR, + lpstrReplaceWith: ::LPWSTR, + wFindWhatLen: ::WORD, + wReplaceWithLen: ::WORD, + lCustData: ::LPARAM, + lpfnHook: LPFRHOOKPROC, + lpTemplateName: ::LPCWSTR, +}} +pub type LPFINDREPLACEW = *mut FINDREPLACEW; +pub const FR_DOWN: ::DWORD = 0x00000001; +pub const FR_WHOLEWORD: ::DWORD = 0x00000002; +pub const FR_MATCHCASE: ::DWORD = 0x00000004; +pub const FR_FINDNEXT: ::DWORD = 0x00000008; +pub const FR_REPLACE: ::DWORD = 0x00000010; +pub const FR_REPLACEALL: ::DWORD = 0x00000020; +pub const FR_DIALOGTERM: ::DWORD = 0x00000040; +pub const FR_SHOWHELP: ::DWORD = 0x00000080; +pub const FR_ENABLEHOOK: ::DWORD = 0x00000100; +pub const FR_ENABLETEMPLATE: ::DWORD = 0x00000200; +pub const FR_NOUPDOWN: ::DWORD = 0x00000400; +pub const FR_NOMATCHCASE: ::DWORD = 0x00000800; +pub const FR_NOWHOLEWORD: ::DWORD = 0x00001000; +pub const FR_ENABLETEMPLATEHANDLE: ::DWORD = 0x00002000; +pub const FR_HIDEUPDOWN: ::DWORD = 0x00004000; +pub const FR_HIDEMATCHCASE: ::DWORD = 0x00008000; +pub const FR_HIDEWHOLEWORD: ::DWORD = 0x00010000; +pub const FR_RAW: ::DWORD = 0x00020000; +pub const FR_MATCHDIAC: ::DWORD = 0x20000000; +pub const FR_MATCHKASHIDA: ::DWORD = 0x40000000; +pub const FR_MATCHALEFHAMZA: ::DWORD = 0x80000000; +pub type LPCFHOOKPROC = Option<unsafe extern "system" fn( + ::HWND, ::UINT, ::WPARAM, ::LPARAM, +) -> ::UINT_PTR>; +STRUCT!{nodebug struct CHOOSEFONTA { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hDC: ::HDC, + lpLogFont: ::LPLOGFONTA, + iPointSize: ::INT, + Flags: ::DWORD, + rgbColors: ::COLORREF, + lCustData: ::LPARAM, + lpfnHook: LPCFHOOKPROC, + lpTemplateName: ::LPCSTR, + hInstance: ::HINSTANCE, + lpszStyle: ::LPSTR, + nFontType: ::WORD, + ___MISSING_ALIGNMENT__: ::WORD, + nSizeMin: ::INT, + nSizeMax: ::INT, +}} +pub type LPCHOOSEFONTA = *mut CHOOSEFONTA; +STRUCT!{nodebug struct CHOOSEFONTW { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hDC: ::HDC, + lpLogFont: ::LPLOGFONTW, + iPointSize: ::INT, + Flags: ::DWORD, + rgbColors: ::COLORREF, + lCustData: ::LPARAM, + lpfnHook: LPCFHOOKPROC, + lpTemplateName: ::LPCWSTR, + hInstance: ::HINSTANCE, + lpszStyle: ::LPWSTR, + nFontType: ::WORD, + ___MISSING_ALIGNMENT__: ::WORD, + nSizeMin: ::INT, + nSizeMax: ::INT, +}} +pub type LPCHOOSEFONTW = *mut CHOOSEFONTW; +pub const CF_SCREENFONTS: ::DWORD = 0x00000001; +pub const CF_PRINTERFONTS: ::DWORD = 0x00000002; +pub const CF_BOTH: ::DWORD = CF_SCREENFONTS | CF_PRINTERFONTS; +pub const CF_SHOWHELP: ::DWORD = 0x00000004; +pub const CF_ENABLEHOOK: ::DWORD = 0x00000008; +pub const CF_ENABLETEMPLATE: ::DWORD = 0x00000010; +pub const CF_ENABLETEMPLATEHANDLE: ::DWORD = 0x00000020; +pub const CF_INITTOLOGFONTSTRUCT: ::DWORD = 0x00000040; +pub const CF_USESTYLE: ::DWORD = 0x00000080; +pub const CF_EFFECTS: ::DWORD = 0x00000100; +pub const CF_APPLY: ::DWORD = 0x00000200; +pub const CF_ANSIONLY: ::DWORD = 0x00000400; +pub const CF_SCRIPTSONLY: ::DWORD = CF_ANSIONLY; +pub const CF_NOVECTORFONTS: ::DWORD = 0x00000800; +pub const CF_NOOEMFONTS: ::DWORD = CF_NOVECTORFONTS; +pub const CF_NOSIMULATIONS: ::DWORD = 0x00001000; +pub const CF_LIMITSIZE: ::DWORD = 0x00002000; +pub const CF_FIXEDPITCHONLY: ::DWORD = 0x00004000; +pub const CF_WYSIWYG: ::DWORD = 0x00008000; +pub const CF_FORCEFONTEXIST: ::DWORD = 0x00010000; +pub const CF_SCALABLEONLY: ::DWORD = 0x00020000; +pub const CF_TTONLY: ::DWORD = 0x00040000; +pub const CF_NOFACESEL: ::DWORD = 0x00080000; +pub const CF_NOSTYLESEL: ::DWORD = 0x00100000; +pub const CF_NOSIZESEL: ::DWORD = 0x00200000; +pub const CF_SELECTSCRIPT: ::DWORD = 0x00400000; +pub const CF_NOSCRIPTSEL: ::DWORD = 0x00800000; +pub const CF_NOVERTFONTS: ::DWORD = 0x01000000; +pub const CF_INACTIVEFONTS: ::DWORD = 0x02000000; +pub const SIMULATED_FONTTYPE: ::WORD = 0x8000; +pub const PRINTER_FONTTYPE: ::WORD = 0x4000; +pub const SCREEN_FONTTYPE: ::WORD = 0x2000; +pub const BOLD_FONTTYPE: ::WORD = 0x0100; +pub const ITALIC_FONTTYPE: ::WORD = 0x0200; +pub const REGULAR_FONTTYPE: ::WORD = 0x0400; +pub const PS_OPENTYPE_FONTTYPE: ::DWORD = 0x10000; +pub const TT_OPENTYPE_FONTTYPE: ::DWORD = 0x20000; +pub const TYPE1_FONTTYPE: ::DWORD = 0x40000; +pub const SYMBOL_FONTTYPE: ::DWORD = 0x80000; +pub const WM_CHOOSEFONT_GETLOGFONT: ::UINT = ::WM_USER + 1; +pub const WM_CHOOSEFONT_SETLOGFONT: ::UINT = ::WM_USER + 101; +pub const WM_CHOOSEFONT_SETFLAGS: ::UINT = ::WM_USER + 102; +pub const CD_LBSELNOITEMS: ::WORD = -1i16 as ::WORD; +pub const CD_LBSELCHANGE: ::WORD = 0; +pub const CD_LBSELSUB: ::WORD = 1; +pub const CD_LBSELADD: ::WORD = 2; +pub type LPPRINTHOOKPROC = Option<unsafe extern "system" fn( + ::HWND, ::UINT, ::WPARAM, ::LPARAM, +) -> ::UINT_PTR>; +pub type LPSETUPHOOKPROC = Option<unsafe extern "system" fn( + ::HWND, ::UINT, ::WPARAM, ::LPARAM, +) -> ::UINT_PTR>; +STRUCT!{nodebug struct PRINTDLGA { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hDevMode: ::HGLOBAL, + hDevNames: ::HGLOBAL, + hDC: ::HDC, + Flags: ::DWORD, + nFromPage: ::WORD, + nToPage: ::WORD, + nMinPage: ::WORD, + nMaxPage: ::WORD, + nCopies: ::WORD, + hInstance: ::HINSTANCE, + lCustData: ::LPARAM, + lpfnPrintHook: LPPRINTHOOKPROC, + lpfnSetupHook: LPSETUPHOOKPROC, + lpPrintTemplateName: ::LPCSTR, + lpSetupTemplateName: ::LPCSTR, + hPrintTemplate: ::HGLOBAL, + hSetupTemplate: ::HGLOBAL, +}} +pub type LPPRINTDLGA = *mut PRINTDLGA; +STRUCT!{nodebug struct PRINTDLGW { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hDevMode: ::HGLOBAL, + hDevNames: ::HGLOBAL, + hDC: ::HDC, + Flags: ::DWORD, + nFromPage: ::WORD, + nToPage: ::WORD, + nMinPage: ::WORD, + nMaxPage: ::WORD, + nCopies: ::WORD, + hInstance: ::HINSTANCE, + lCustData: ::LPARAM, + lpfnPrintHook: LPPRINTHOOKPROC, + lpfnSetupHook: LPSETUPHOOKPROC, + lpPrintTemplateName: ::LPCWSTR, + lpSetupTemplateName: ::LPCWSTR, + hPrintTemplate: ::HGLOBAL, + hSetupTemplate: ::HGLOBAL, +}} +pub type LPPRINTDLGW = *mut PRINTDLGW; +RIDL!( +interface IPrintDialogCallback(IPrintDialogCallbackVtbl) : IUnknown(IUnknownVtbl) { + fn InitDone(&mut self) -> ::HRESULT, + fn SelectionChange(&mut self) -> ::HRESULT, + fn HandleMessage( + &mut self, hDlg: ::HWND, uMsg: ::UINT, wParam: ::WPARAM, lParam: ::LPARAM, + pResult: *mut ::LRESULT + ) -> ::HRESULT +} +); +RIDL!( +interface IPrintDialogServices(IPrintDialogServicesVtbl) : IUnknown(IUnknownVtbl) { + fn GetCurrentDevMode(&mut self, pDevMode: ::LPDEVMODEW, pcbSize: *mut ::UINT) -> ::HRESULT, + fn GetCurrentPrinterName(&mut self, pPrinterName: ::LPWSTR, pcchSize: *mut ::UINT) -> ::HRESULT, + fn GetCurrentPortName(&mut self, pPortName: ::LPWSTR, pcchSize: *mut ::UINT) -> ::HRESULT +} +); +STRUCT!{struct PRINTPAGERANGE { + nFromPage: ::DWORD, + nToPage: ::DWORD, +}} +pub type LPPRINTPAGERANGE = *mut PRINTPAGERANGE; +pub type PCPRINTPAGERANGE = *const PRINTPAGERANGE; +STRUCT!{struct PRINTDLGEXA { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hDevMode: ::HGLOBAL, + hDevNames: ::HGLOBAL, + hDC: ::HDC, + Flags: ::DWORD, + Flags2: ::DWORD, + ExclusionFlags: ::DWORD, + nPageRanges: ::DWORD, + nMaxPageRanges: ::DWORD, + lpPageRanges: LPPRINTPAGERANGE, + nMinPage: ::DWORD, + nMaxPage: ::DWORD, + nCopies: ::DWORD, + hInstance: ::HINSTANCE, + lpPrintTemplateName: ::LPCSTR, + lpCallback: ::LPUNKNOWN, + nPropertyPages: ::DWORD, + lphPropertyPages: *mut ::HPROPSHEETPAGE, + nStartPage: ::DWORD, + dwResultAction: ::DWORD, +}} +pub type LPPRINTDLGEXA = *mut PRINTDLGEXA; +STRUCT!{struct PRINTDLGEXW { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hDevMode: ::HGLOBAL, + hDevNames: ::HGLOBAL, + hDC: ::HDC, + Flags: ::DWORD, + Flags2: ::DWORD, + ExclusionFlags: ::DWORD, + nPageRanges: ::DWORD, + nMaxPageRanges: ::DWORD, + lpPageRanges: LPPRINTPAGERANGE, + nMinPage: ::DWORD, + nMaxPage: ::DWORD, + nCopies: ::DWORD, + hInstance: ::HINSTANCE, + lpPrintTemplateName: ::LPCWSTR, + lpCallback: ::LPUNKNOWN, + nPropertyPages: ::DWORD, + lphPropertyPages: *mut ::HPROPSHEETPAGE, + nStartPage: ::DWORD, + dwResultAction: ::DWORD, +}} +pub type LPPRINTDLGEXW = *mut PRINTDLGEXW; +pub const PD_ALLPAGES: ::DWORD = 0x00000000; +pub const PD_SELECTION: ::DWORD = 0x00000001; +pub const PD_PAGENUMS: ::DWORD = 0x00000002; +pub const PD_NOSELECTION: ::DWORD = 0x00000004; +pub const PD_NOPAGENUMS: ::DWORD = 0x00000008; +pub const PD_COLLATE: ::DWORD = 0x00000010; +pub const PD_PRINTTOFILE: ::DWORD = 0x00000020; +pub const PD_PRINTSETUP: ::DWORD = 0x00000040; +pub const PD_NOWARNING: ::DWORD = 0x00000080; +pub const PD_RETURNDC: ::DWORD = 0x00000100; +pub const PD_RETURNIC: ::DWORD = 0x00000200; +pub const PD_RETURNDEFAULT: ::DWORD = 0x00000400; +pub const PD_SHOWHELP: ::DWORD = 0x00000800; +pub const PD_ENABLEPRINTHOOK: ::DWORD = 0x00001000; +pub const PD_ENABLESETUPHOOK: ::DWORD = 0x00002000; +pub const PD_ENABLEPRINTTEMPLATE: ::DWORD = 0x00004000; +pub const PD_ENABLESETUPTEMPLATE: ::DWORD = 0x00008000; +pub const PD_ENABLEPRINTTEMPLATEHANDLE: ::DWORD = 0x00010000; +pub const PD_ENABLESETUPTEMPLATEHANDLE: ::DWORD = 0x00020000; +pub const PD_USEDEVMODECOPIES: ::DWORD = 0x00040000; +pub const PD_USEDEVMODECOPIESANDCOLLATE: ::DWORD = 0x00040000; +pub const PD_DISABLEPRINTTOFILE: ::DWORD = 0x00080000; +pub const PD_HIDEPRINTTOFILE: ::DWORD = 0x00100000; +pub const PD_NONETWORKBUTTON: ::DWORD = 0x00200000; +pub const PD_CURRENTPAGE: ::DWORD = 0x00400000; +pub const PD_NOCURRENTPAGE: ::DWORD = 0x00800000; +pub const PD_EXCLUSIONFLAGS: ::DWORD = 0x01000000; +pub const PD_USELARGETEMPLATE: ::DWORD = 0x10000000; +pub const PD_EXCL_COPIESANDCOLLATE: ::DWORD = ::DM_COPIES | ::DM_COLLATE; +pub const START_PAGE_GENERAL: ::DWORD = 0xffffffff; +pub const PD_RESULT_CANCEL: ::DWORD = 0; +pub const PD_RESULT_PRINT: ::DWORD = 1; +pub const PD_RESULT_APPLY: ::DWORD = 2; +STRUCT!{struct DEVNAMES { + wDriverOffset: ::WORD, + wDeviceOffset: ::WORD, + wOutputOffset: ::WORD, + wDefault: ::WORD, +}} +pub type LPDEVNAMES = *mut DEVNAMES; +pub type PCDEVNAMES = *const DEVNAMES; +pub const DN_DEFAULTPRN: ::WORD = 0x0001; +pub const WM_PSD_PAGESETUPDLG: ::UINT = ::WM_USER; +pub const WM_PSD_FULLPAGERECT: ::UINT = ::WM_USER + 1; +pub const WM_PSD_MINMARGINRECT: ::UINT = ::WM_USER + 2; +pub const WM_PSD_MARGINRECT: ::UINT = ::WM_USER + 3; +pub const WM_PSD_GREEKTEXTRECT: ::UINT = ::WM_USER + 4; +pub const WM_PSD_ENVSTAMPRECT: ::UINT = ::WM_USER + 5; +pub const WM_PSD_YAFULLPAGERECT: ::UINT = ::WM_USER + 6; +pub type LPPAGEPAINTHOOK = Option<unsafe extern "system" fn( + ::HWND, ::UINT, ::WPARAM, ::LPARAM, +) -> ::UINT_PTR>; +pub type LPPAGESETUPHOOK = Option<unsafe extern "system" fn( + ::HWND, ::UINT, ::WPARAM, ::LPARAM, +) -> ::UINT_PTR>; +STRUCT!{nodebug struct PAGESETUPDLGA { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hDevMode: ::HGLOBAL, + hDevNames: ::HGLOBAL, + Flags: ::DWORD, + ptPaperSize: ::POINT, + rtMinMargin: ::RECT, + rtMargin: ::RECT, + hInstance: ::HINSTANCE, + lCustData: ::LPARAM, + lpfnPageSetupHook: LPPAGESETUPHOOK, + lpfnPagePaintHook: LPPAGEPAINTHOOK, + lpPageSetupTemplateName: ::LPCSTR, + hPageSetupTemplate: ::HGLOBAL, +}} +pub type LPPAGESETUPDLGA = *mut PAGESETUPDLGA; +STRUCT!{nodebug struct PAGESETUPDLGW { + lStructSize: ::DWORD, + hwndOwner: ::HWND, + hDevMode: ::HGLOBAL, + hDevNames: ::HGLOBAL, + Flags: ::DWORD, + ptPaperSize: ::POINT, + rtMinMargin: ::RECT, + rtMargin: ::RECT, + hInstance: ::HINSTANCE, + lCustData: ::LPARAM, + lpfnPageSetupHook: LPPAGESETUPHOOK, + lpfnPagePaintHook: LPPAGEPAINTHOOK, + lpPageSetupTemplateName: ::LPCWSTR, + hPageSetupTemplate: ::HGLOBAL, +}} +pub type LPPAGESETUPDLGW = *mut PAGESETUPDLGW; +pub const PSD_DEFAULTMINMARGINS: ::DWORD = 0x00000000; +pub const PSD_INWININIINTLMEASURE: ::DWORD = 0x00000000; +pub const PSD_MINMARGINS: ::DWORD = 0x00000001; +pub const PSD_MARGINS: ::DWORD = 0x00000002; +pub const PSD_INTHOUSANDTHSOFINCHES: ::DWORD = 0x00000004; +pub const PSD_INHUNDREDTHSOFMILLIMETERS: ::DWORD = 0x00000008; +pub const PSD_DISABLEMARGINS: ::DWORD = 0x00000010; +pub const PSD_DISABLEPRINTER: ::DWORD = 0x00000020; +pub const PSD_NOWARNING: ::DWORD = 0x00000080; +pub const PSD_DISABLEORIENTATION: ::DWORD = 0x00000100; +pub const PSD_RETURNDEFAULT: ::DWORD = 0x00000400; +pub const PSD_DISABLEPAPER: ::DWORD = 0x00000200; +pub const PSD_SHOWHELP: ::DWORD = 0x00000800; +pub const PSD_ENABLEPAGESETUPHOOK: ::DWORD = 0x00002000; +pub const PSD_ENABLEPAGESETUPTEMPLATE: ::DWORD = 0x00008000; +pub const PSD_ENABLEPAGESETUPTEMPLATEHANDLE: ::DWORD = 0x00020000; +pub const PSD_ENABLEPAGEPAINTHOOK: ::DWORD = 0x00040000; +pub const PSD_DISABLEPAGEPAINTING: ::DWORD = 0x00080000; +pub const PSD_NONETWORKBUTTON: ::DWORD = 0x00200000; diff --git a/third_party/rust/winapi-0.2.8/src/corsym.rs b/third_party/rust/winapi-0.2.8/src/corsym.rs new file mode 100644 index 0000000000..d036f07d64 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/corsym.rs @@ -0,0 +1,79 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Common Language Runtime Debugging Symbol Reader/Writer/Binder Interfaces +DEFINE_GUID!(CorSym_LanguageType_C, 0x63a08714, 0xfc37, 0x11d2, + 0x90, 0x4c, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1); +DEFINE_GUID!(CorSym_LanguageType_CPlusPlus, 0x3a12d0b7, 0xc26c, 0x11d0, + 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2); +DEFINE_GUID!(CorSym_LanguageType_CSharp, 0x3f5162f8, 0x07c6, 0x11d3, + 0x90, 0x53, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1); +DEFINE_GUID!(CorSym_LanguageType_Basic, 0x3a12d0b8, 0xc26c, 0x11d0, + 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2); +DEFINE_GUID!(CorSym_LanguageType_Java, 0x3a12d0b4, 0xc26c, 0x11d0, + 0xb4, 0x42, 0x0, 0xa0, 0x24, 0x4a, 0x1d, 0xd2); +DEFINE_GUID!(CorSym_LanguageType_Cobol, 0xaf046cd1, 0xd0e1, 0x11d2, + 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc); +DEFINE_GUID!(CorSym_LanguageType_Pascal, 0xaf046cd2, 0xd0e1, 0x11d2, + 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc); +DEFINE_GUID!(CorSym_LanguageType_ILAssembly, 0xaf046cd3, 0xd0e1, 0x11d2, + 0x97, 0x7c, 0x0, 0xa0, 0xc9, 0xb4, 0xd5, 0xc); +DEFINE_GUID!(CorSym_LanguageType_JScript, 0x3a12d0b6, 0xc26c, 0x11d0, + 0xb4, 0x42, 0x00, 0xa0, 0x24, 0x4a, 0x1d, 0xd2); +DEFINE_GUID!(CorSym_LanguageType_SMC, 0xd9b9f7b, 0x6611, 0x11d3, + 0xbd, 0x2a, 0x0, 0x0, 0xf8, 0x8, 0x49, 0xbd); +DEFINE_GUID!(CorSym_LanguageType_MCPlusPlus, 0x4b35fde8, 0x07c6, 0x11d3, + 0x90, 0x53, 0x0, 0xc0, 0x4f, 0xa3, 0x02, 0xa1); +DEFINE_GUID!(CorSym_LanguageVendor_Microsoft, 0x994b45c4, 0xe6e9, 0x11d2, + 0x90, 0x3f, 0x00, 0xc0, 0x4f, 0xa3, 0x02, 0xa1); +DEFINE_GUID!(CorSym_DocumentType_Text, 0x5a869d0b, 0x6611, 0x11d3, + 0xbd, 0x2a, 0x0, 0x0, 0xf8, 0x8, 0x49, 0xbd); +DEFINE_GUID!(CorSym_DocumentType_MC, 0xeb40cb65, 0x3c1f, 0x4352, + 0x9d, 0x7b, 0xba, 0xf, 0xc4, 0x7a, 0x9d, 0x77); +DEFINE_GUID!(CorSym_SourceHash_MD5, 0x406ea660, 0x64cf, 0x4c82, + 0xb6, 0xf0, 0x42, 0xd4, 0x81, 0x72, 0xa7, 0x99); +DEFINE_GUID!(CorSym_SourceHash_SHA1, 0xff1816ec, 0xaa5e, 0x4d10, + 0x87, 0xf7, 0x6f, 0x49, 0x63, 0x83, 0x34, 0x60); +ENUM!{enum CorSymAddrKind { + ADDR_IL_OFFSET = 1, + ADDR_NATIVE_RVA = 2, + ADDR_NATIVE_REGISTER = 3, + ADDR_NATIVE_REGREL = 4, + ADDR_NATIVE_OFFSET = 5, + ADDR_NATIVE_REGREG = 6, + ADDR_NATIVE_REGSTK = 7, + ADDR_NATIVE_STKREG = 8, + ADDR_BITFIELD = 9, + ADDR_NATIVE_ISECTOFFSET = 10, +}} +FLAGS!{enum CorSymVarFlag { + VAR_IS_COMP_GEN = 1, +}} +RIDL!( +interface ISymUnmanagedBinder(ISymUnmanagedBinderVtbl): IUnknown(IUnknownVtbl) { + fn GetReaderForFile( + &mut self, importer: *mut ::IUnknown, fileName: *const ::WCHAR, searchPath: *const ::WCHAR, + pRetVal: *mut *mut ISymUnmanagedReader + ) -> ::HRESULT, + fn GetReaderFromStream( + &mut self, importer: *mut ::IUnknown, pstream: *mut ::IStream, + pRetVal: *mut *mut ISymUnmanagedReader + ) -> ::HRESULT +} +); +FLAGS!{enum CorSymSearchPolicyAttributes { + AllowRegistryAccess = 0x1, + AllowSymbolServerAccess = 0x2, + AllowOriginalPathAccess = 0x4, + AllowReferencePathAccess = 0x8, +}} +RIDL!( +interface ISymUnmanagedBinder2(ISymUnmanagedBinder2Vtbl): + ISymUnmanagedBinder(ISymUnmanagedBinderVtbl) { + fn GetReaderForFile2( + &mut self, importer: *mut ::IUnknown, fileName: *const ::WCHAR, searchPath: *const ::WCHAR, + searchPolicy: ::ULONG32, pRetVal: *mut *mut ISymUnmanagedReader + ) -> ::HRESULT +} +); +#[derive(Clone, Copy)] +pub struct ISymUnmanagedReader; diff --git a/third_party/rust/winapi-0.2.8/src/d2d1.rs b/third_party/rust/winapi-0.2.8/src/d2d1.rs new file mode 100644 index 0000000000..1b1b039803 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d2d1.rs @@ -0,0 +1,734 @@ +// Copyright © 2015, Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of d2d1.h +// Types confirmed affected by the ABI issue: +// D2D1_SIZE_F, D2D1_SIZE_U, D2D1_COLOR_F, D2D1_PIXEL_FORMAT, +// D2D1_POINT_2F +pub const D2D1_DEFAULT_FLATTENING_TOLERANCE: ::FLOAT = 0.25; +pub const D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR: ::DWORD = 0; +pub const D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR: ::DWORD = 1; +pub const D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC: ::DWORD = 2; +pub const D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR: ::DWORD = 3; +pub const D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC: ::DWORD = 4; +pub const D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC: ::DWORD = 5; +pub const D2D1_INTERPOLATION_MODE_DEFINITION_FANT: ::DWORD = 6; +pub const D2D1_INTERPOLATION_MODE_DEFINITION_MIPMAP_LINEAR: ::DWORD = 7; +ENUM!{enum D2D1_GAMMA { + D2D1_GAMMA_2_2 = 0, + D2D1_GAMMA_1_0 = 1, +}} +ENUM!{enum D2D1_OPACITY_MASK_CONTENT { + D2D1_OPACITY_MASK_CONTENT_GRAPHICS = 0, + D2D1_OPACITY_MASK_CONTENT_TEXT_NATURAL = 1, + D2D1_OPACITY_MASK_CONTENT_TEXT_GDI_COMPATIBLE = 2, +}} +ENUM!{enum D2D1_EXTEND_MODE { + D2D1_EXTEND_MODE_CLAMP = 0, + D2D1_EXTEND_MODE_WRAP = 1, + D2D1_EXTEND_MODE_MIRROR = 2, +}} +ENUM!{enum D2D1_ANTIALIAS_MODE { + D2D1_ANTIALIAS_MODE_PER_PRIMITIVE = 0, + D2D1_ANTIALIAS_MODE_ALIASED = 1, +}} +ENUM!{enum D2D1_TEXT_ANTIALIAS_MODE { + D2D1_TEXT_ANTIALIAS_MODE_DEFAULT = 0, + D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE = 1, + D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE = 2, + D2D1_TEXT_ANTIALIAS_MODE_ALIASED = 3, +}} +ENUM!{enum D2D1_BITMAP_INTERPOLATION_MODE { + D2D1_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = + D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR, + D2D1_BITMAP_INTERPOLATION_MODE_LINEAR = + D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR, +}} +FLAGS!{enum D2D1_DRAW_TEXT_OPTIONS { + D2D1_DRAW_TEXT_OPTIONS_NO_SNAP = 0x00000001, + D2D1_DRAW_TEXT_OPTIONS_CLIP = 0x00000002, + D2D1_DRAW_TEXT_OPTIONS_ENABLE_COLOR_FONT = 0x00000004, + D2D1_DRAW_TEXT_OPTIONS_NONE = 0x00000000, +}} +pub type D2D1_POINT_2U = ::D2D_POINT_2U; +pub type D2D1_POINT_2F = ::D2D_POINT_2F; +pub type D2D1_RECT_F = ::D2D_RECT_F; +pub type D2D1_RECT_U = ::D2D_RECT_U; +pub type D2D1_SIZE_F = ::D2D_SIZE_F; +pub type D2D1_SIZE_U = ::D2D_SIZE_U; +pub type D2D1_COLOR_F = ::D2D_COLOR_F; +pub type D2D1_MATRIX_3X2_F = ::D2D_MATRIX_3X2_F; +pub type D2D1_TAG = ::UINT64; +STRUCT!{struct D2D1_BITMAP_PROPERTIES { + pixelFormat: ::D2D1_PIXEL_FORMAT, + dpiX: ::FLOAT, + dpiY: ::FLOAT, +}} +STRUCT!{struct D2D1_GRADIENT_STOP { + position: ::FLOAT, + color: D2D1_COLOR_F, +}} +STRUCT!{struct D2D1_BRUSH_PROPERTIES { + opacity: ::FLOAT, + transform: D2D1_MATRIX_3X2_F, +}} +STRUCT!{struct D2D1_BITMAP_BRUSH_PROPERTIES { + extendModeX: D2D1_EXTEND_MODE, + extendModeY: D2D1_EXTEND_MODE, + interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE, +}} +STRUCT!{struct D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES { + startPoint: ::D2D1_POINT_2F, + endPoint: ::D2D1_POINT_2F, +}} +STRUCT!{struct D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES { + center: ::D2D1_POINT_2F, + gradientOriginOffset: ::D2D1_POINT_2F, + radiusX: ::FLOAT, + radiusY: ::FLOAT, +}} +ENUM!{enum D2D1_ARC_SIZE { + D2D1_ARC_SIZE_SMALL = 0, + D2D1_ARC_SIZE_LARGE = 1, +}} +ENUM!{enum D2D1_CAP_STYLE { + D2D1_CAP_STYLE_FLAT = 0, + D2D1_CAP_STYLE_SQUARE = 1, + D2D1_CAP_STYLE_ROUND = 2, + D2D1_CAP_STYLE_TRIANGLE = 3, +}} +ENUM!{enum D2D1_DASH_STYLE { + D2D1_DASH_STYLE_SOLID = 0, + D2D1_DASH_STYLE_DASH = 1, + D2D1_DASH_STYLE_DOT = 2, + D2D1_DASH_STYLE_DASH_DOT = 3, + D2D1_DASH_STYLE_DASH_DOT_DOT = 4, + D2D1_DASH_STYLE_CUSTOM = 5, +}} +ENUM!{enum D2D1_LINE_JOIN { + D2D1_LINE_JOIN_MITER = 0, + D2D1_LINE_JOIN_BEVEL = 1, + D2D1_LINE_JOIN_ROUND = 2, + D2D1_LINE_JOIN_MITER_OR_BEVEL = 3, +}} +ENUM!{enum D2D1_COMBINE_MODE { + D2D1_COMBINE_MODE_UNION = 0, + D2D1_COMBINE_MODE_INTERSECT = 1, + D2D1_COMBINE_MODE_XOR = 2, + D2D1_COMBINE_MODE_EXCLUDE = 3, +}} +ENUM!{enum D2D1_GEOMETRY_RELATION { + D2D1_GEOMETRY_RELATION_UNKNOWN = 0, + D2D1_GEOMETRY_RELATION_DISJOINT = 1, + D2D1_GEOMETRY_RELATION_IS_CONTAINED = 2, + D2D1_GEOMETRY_RELATION_CONTAINS = 3, + D2D1_GEOMETRY_RELATION_OVERLAP = 4, +}} +ENUM!{enum D2D1_GEOMETRY_SIMPLIFICATION_OPTION { + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_CUBICS_AND_LINES = 0, + D2D1_GEOMETRY_SIMPLIFICATION_OPTION_LINES = 1, +}} +ENUM!{enum D2D1_FIGURE_BEGIN { + D2D1_FIGURE_BEGIN_FILLED = 0, + D2D1_FIGURE_BEGIN_HOLLOW = 1, +}} +ENUM!{enum D2D1_FIGURE_END { + D2D1_FIGURE_END_OPEN = 0, + D2D1_FIGURE_END_CLOSED = 1, +}} +STRUCT!{struct D2D1_BEZIER_SEGMENT { + point1: ::D2D1_POINT_2F, + point2: ::D2D1_POINT_2F, + point3: ::D2D1_POINT_2F, +}} +STRUCT!{struct D2D1_TRIANGLE { + point1: ::D2D1_POINT_2F, + point2: ::D2D1_POINT_2F, + point3: ::D2D1_POINT_2F, +}} +FLAGS!{enum D2D1_PATH_SEGMENT { + D2D1_PATH_SEGMENT_NONE = 0x00000000, + D2D1_PATH_SEGMENT_FORCE_UNSTROKED = 0x00000001, + D2D1_PATH_SEGMENT_FORCE_ROUND_LINE_JOIN = 0x00000002, +}} +ENUM!{enum D2D1_SWEEP_DIRECTION { + D2D1_SWEEP_DIRECTION_COUNTER_CLOCKWISE = 0, + D2D1_SWEEP_DIRECTION_CLOCKWISE = 1, +}} +ENUM!{enum D2D1_FILL_MODE { + D2D1_FILL_MODE_ALTERNATE = 0, + D2D1_FILL_MODE_WINDING = 1, +}} +STRUCT!{struct D2D1_ARC_SEGMENT { + point: ::D2D1_POINT_2F, + size: D2D1_SIZE_F, + rotationAngle: ::FLOAT, + sweepDirection: D2D1_SWEEP_DIRECTION, + arcSize: D2D1_ARC_SIZE, +}} +STRUCT!{struct D2D1_QUADRATIC_BEZIER_SEGMENT { + point1: ::D2D1_POINT_2F, + point2: ::D2D1_POINT_2F, +}} +STRUCT!{struct D2D1_ELLIPSE { + point: ::D2D1_POINT_2F, + radiusX: ::FLOAT, + radiusY: ::FLOAT, +}} +STRUCT!{struct D2D1_ROUNDED_RECT { + rect: ::D2D1_RECT_F, + radiusX: ::FLOAT, + radiusY: ::FLOAT, +}} +STRUCT!{struct D2D1_STROKE_STYLE_PROPERTIES { + startCap: D2D1_CAP_STYLE, + endCap: D2D1_CAP_STYLE, + dashCap: D2D1_CAP_STYLE, + lineJoin: D2D1_LINE_JOIN, + miterLimit: ::FLOAT, + dashStyle: D2D1_DASH_STYLE, + dashOffset: ::FLOAT, +}} +FLAGS!{enum D2D1_LAYER_OPTIONS { + D2D1_LAYER_OPTIONS_NONE = 0x00000000, + D2D1_LAYER_OPTIONS_INITIALIZE_FOR_CLEARTYPE = 0x00000001, +}} +STRUCT!{struct D2D1_LAYER_PARAMETERS { + contentBounds: ::D2D1_RECT_F, + geometricMask: *mut ID2D1Geometry, + maskAntialiasMode: D2D1_ANTIALIAS_MODE, + maskTransform: D2D1_MATRIX_3X2_F, + opacity: ::FLOAT, + opacityBrush: *mut ID2D1Brush, + layerOptions: D2D1_LAYER_OPTIONS, +}} +ENUM!{enum D2D1_WINDOW_STATE { + D2D1_WINDOW_STATE_NONE = 0x0000000, + D2D1_WINDOW_STATE_OCCLUDED = 0x0000001, +}} +ENUM!{enum D2D1_RENDER_TARGET_TYPE { + D2D1_RENDER_TARGET_TYPE_DEFAULT = 0, + D2D1_RENDER_TARGET_TYPE_SOFTWARE = 1, + D2D1_RENDER_TARGET_TYPE_HARDWARE = 2, +}} +ENUM!{enum D2D1_FEATURE_LEVEL { + D2D1_FEATURE_LEVEL_DEFAULT = 0, + D2D1_FEATURE_LEVEL_9 = ::D3D_FEATURE_LEVEL_9_1.0, + D2D1_FEATURE_LEVEL_10 = ::D3D_FEATURE_LEVEL_10_0.0, +}} +FLAGS!{enum D2D1_RENDER_TARGET_USAGE { + D2D1_RENDER_TARGET_USAGE_NONE = 0x00000000, + D2D1_RENDER_TARGET_USAGE_FORCE_BITMAP_REMOTING = 0x00000001, + D2D1_RENDER_TARGET_USAGE_GDI_COMPATIBLE = 0x00000002, +}} +FLAGS!{enum D2D1_PRESENT_OPTIONS { + D2D1_PRESENT_OPTIONS_NONE = 0x00000000, + D2D1_PRESENT_OPTIONS_RETAIN_CONTENTS = 0x00000001, + D2D1_PRESENT_OPTIONS_IMMEDIATELY = 0x00000002, +}} +STRUCT!{struct D2D1_RENDER_TARGET_PROPERTIES { + _type: D2D1_RENDER_TARGET_TYPE, + pixelFormat: ::D2D1_PIXEL_FORMAT, + dpiX: ::FLOAT, + dpiY: ::FLOAT, + usage: D2D1_RENDER_TARGET_USAGE, + minLevel: D2D1_FEATURE_LEVEL, +}} +STRUCT!{struct D2D1_HWND_RENDER_TARGET_PROPERTIES { + hwnd: ::HWND, + pixelSize: D2D1_SIZE_U, + presentOptions: D2D1_PRESENT_OPTIONS, +}} +FLAGS!{enum D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS { + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_NONE = 0x00000000, + D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS_GDI_COMPATIBLE = 0x00000001, +}} +STRUCT!{struct D2D1_DRAWING_STATE_DESCRIPTION { + antialiasMode: D2D1_ANTIALIAS_MODE, + textAntialiasMode: D2D1_TEXT_ANTIALIAS_MODE, + tag1: D2D1_TAG, + tag2: D2D1_TAG, + transform: D2D1_MATRIX_3X2_F, +}} +ENUM!{enum D2D1_DC_INITIALIZE_MODE { + D2D1_DC_INITIALIZE_MODE_COPY = 0, + D2D1_DC_INITIALIZE_MODE_CLEAR = 1, +}} +ENUM!{enum D2D1_DEBUG_LEVEL { + D2D1_DEBUG_LEVEL_NONE = 0, + D2D1_DEBUG_LEVEL_ERROR = 1, + D2D1_DEBUG_LEVEL_WARNING = 2, + D2D1_DEBUG_LEVEL_INFORMATION = 3, +}} +ENUM!{enum D2D1_FACTORY_TYPE { + D2D1_FACTORY_TYPE_SINGLE_THREADED = 0, + D2D1_FACTORY_TYPE_MULTI_THREADED = 1, +}} +STRUCT!{struct D2D1_FACTORY_OPTIONS { + debugLevel: D2D1_DEBUG_LEVEL, +}} +RIDL!( +interface ID2D1Resource(ID2D1ResourceVtbl): IUnknown(IUnknownVtbl) { + fn GetFactory(&mut self, factory: *mut *mut ID2D1Factory) -> () +}); +RIDL!( +interface ID2D1Image(ID2D1ImageVtbl): ID2D1Resource(ID2D1ResourceVtbl) { +}); +RIDL!( +interface ID2D1Bitmap(ID2D1BitmapVtbl): ID2D1Image(ID2D1ImageVtbl) { + fn GetSize(&mut self, ret: *mut D2D1_SIZE_F) -> *mut D2D1_SIZE_F, // FIXME: ABI issue + fn GetPixelSize(&mut self, ret: *mut D2D1_SIZE_U) -> *mut D2D1_SIZE_U, // FIXME: ABI issue + fn GetPixelFormat( + &mut self, ret: *mut ::D2D1_PIXEL_FORMAT + ) -> *mut ::D2D1_PIXEL_FORMAT, // FIXME: ABI issue + fn GetDpi(&mut self, dpiX: *mut ::FLOAT, dpiY: *mut ::FLOAT) -> (), + fn CopyFromBitmap( + &mut self, destPoint: *const ::D2D1_POINT_2U, bitmap: *mut ID2D1Bitmap, + srcRect: *const ::D2D1_RECT_U + ) -> ::HRESULT, + fn CopyFromRenderTarget( + &mut self, destPoint: *const ::D2D1_POINT_2U, renderTarget: *mut ID2D1RenderTarget, + srcRect: *const ::D2D1_RECT_U + ) -> ::HRESULT, + fn CopyFromMemory( + &mut self, dstRect: *const ::D2D1_RECT_U, srcData: *const ::c_void, pitch: ::UINT32 + ) -> ::HRESULT +}); +RIDL!( +interface ID2D1GradientStopCollection(ID2D1GradientStopCollectionVtbl) + : ID2D1Resource(ID2D1ResourceVtbl) { + fn GetGradientStopCount(&mut self) -> ::UINT32, + fn GetGradientStops( + &mut self, gradientStops: *mut D2D1_GRADIENT_STOP, gradientStopsCount: ::UINT32 + ) -> (), + fn GetColorInterpolationGamma(&mut self) -> D2D1_GAMMA, + fn GetExtendMode(&mut self) -> D2D1_EXTEND_MODE +}); +RIDL!( +interface ID2D1Brush(ID2D1BrushVtbl): ID2D1Resource(ID2D1ResourceVtbl) { + fn SetOpacity(&mut self, opacity: ::FLOAT) -> (), + fn SetTransform(&mut self, transform: *const D2D1_MATRIX_3X2_F) -> (), + fn GetOpacity(&mut self) -> ::FLOAT, + fn GetTransform(&mut self, transform: *mut D2D1_MATRIX_3X2_F) -> () +}); +RIDL!( +interface ID2D1BitmapBrush(ID2D1BitmapBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { + fn SetExtendModeX(&mut self, extendModeX: D2D1_EXTEND_MODE) -> (), + fn SetExtendModeY(&mut self, extendModeY: D2D1_EXTEND_MODE) -> (), + fn SetInterpolationMode(&mut self, interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE) -> (), + fn SetBitmap(&mut self, bitmap: *mut ID2D1Bitmap) -> (), + fn GetExtendModeX(&mut self) -> D2D1_EXTEND_MODE, + fn GetExtendModeY(&mut self) -> D2D1_EXTEND_MODE, + fn GetInterpolationMode(&mut self) -> D2D1_BITMAP_INTERPOLATION_MODE, + fn GetBitmap(&mut self, bitmap: *mut *mut ID2D1Bitmap) -> () +}); +RIDL!( +interface ID2D1SolidColorBrush(ID2D1SolidColorBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { + fn SetColor(&mut self, color: *const D2D1_COLOR_F) -> (), + fn GetColor(&mut self, color: *mut D2D1_COLOR_F) -> *mut D2D1_COLOR_F +}); +RIDL!( +interface ID2D1LinearGradientBrush(ID2D1LinearGradientBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { + fn SetStartPoint(&mut self, startPoint: ::D2D1_POINT_2F) -> (), + fn SetEndPoint(&mut self, endPoint: ::D2D1_POINT_2F) -> (), + fn GetStartPoint(&mut self, ret: *mut D2D1_POINT_2F) -> *mut D2D1_POINT_2F, // FIXME ABI issue + fn GetEndPoint(&mut self, ret: *mut D2D1_POINT_2F) -> *mut D2D1_POINT_2F, // FIXME ABI issue + fn GetGradientStopCollection( + &mut self, gradientStopCollection: *mut *mut ID2D1GradientStopCollection + ) -> () +}); +RIDL!( +interface ID2D1RadialGradientBrush(ID2D1RadialGradientBrushVtbl): ID2D1Brush(ID2D1BrushVtbl) { + fn SetCenter(&mut self, center: ::D2D1_POINT_2F) -> (), + fn SetGradientOriginOffset(&mut self, gradientOriginOffset: ::D2D1_POINT_2F) -> (), + fn SetRadiusX(&mut self, radiusX: ::FLOAT) -> (), + fn SetRadiusY(&mut self, radiusY: ::FLOAT) -> (), + fn GetCenter(&mut self, ret: *mut D2D1_POINT_2F) -> *mut D2D1_POINT_2F, // FIXME ABI issue + fn GetGradientOriginOffset( + &mut self, ret: *mut D2D1_POINT_2F + ) -> *mut D2D1_POINT_2F, // FIXME ABI issue + fn GetRadiusX(&mut self) -> ::FLOAT, + fn GetRadiusY(&mut self) -> ::FLOAT, + fn GetGradientStopCollection( + &mut self, gradientStopCollection: *mut *mut ID2D1GradientStopCollection + ) -> () +}); +RIDL!( +interface ID2D1StrokeStyle(ID2D1StrokeStyleVtbl): ID2D1Resource(ID2D1ResourceVtbl) { + fn GetStartCap(&mut self) -> D2D1_CAP_STYLE, + fn GetEndCap(&mut self) -> D2D1_CAP_STYLE, + fn GetDashCap(&mut self) -> D2D1_CAP_STYLE, + fn GetMiterLimit(&mut self) -> ::FLOAT, + fn GetLineJoin(&mut self) -> D2D1_LINE_JOIN, + fn GetDashOffset(&mut self) -> ::FLOAT, + fn GetDashStyle(&mut self) -> D2D1_DASH_STYLE, + fn GetDashesCount(&mut self) -> ::UINT32, + fn GetDashes(&mut self, dashes: *mut ::FLOAT, dashesCount: ::UINT32) -> () +}); +RIDL!( +interface ID2D1Geometry(ID2D1GeometryVtbl): ID2D1Resource(ID2D1ResourceVtbl) { + fn GetBounds( + &mut self, worldTransform: *const D2D1_MATRIX_3X2_F, bounds: *mut ::D2D1_RECT_F + ) -> ::HRESULT, + fn GetWidenedBounds( + &mut self, strokeWidth: ::FLOAT, strokeStyle: *mut ID2D1StrokeStyle, + worldTransform: *const D2D1_MATRIX_3X2_F, flatteningTolerance: ::FLOAT, + bounds: *mut ::D2D1_RECT_F + ) -> ::HRESULT, + fn StrokeContainsPoint( + &mut self, point: ::D2D1_POINT_2F, strokeWidth: ::FLOAT, strokeStyle: *mut ID2D1StrokeStyle, + worldTransform: *const D2D1_MATRIX_3X2_F, flatteningTolerance: ::FLOAT, + contains: *mut ::BOOL + ) -> ::HRESULT, + fn FillContainsPoint( + &mut self, point: ::D2D1_POINT_2F, worldTransform: *const D2D1_MATRIX_3X2_F, + flatteningTolerance: ::FLOAT, contains: *mut ::BOOL + ) -> ::HRESULT, + fn CompareWithGeometry( + &mut self, inputGeometry: *mut ID2D1Geometry, + inputGeometryTransform: *const D2D1_MATRIX_3X2_F, flatteningTolerance: ::FLOAT, + relation: *mut D2D1_GEOMETRY_RELATION + ) -> ::HRESULT, + fn Simplify( + &mut self, simplificationOption: D2D1_GEOMETRY_SIMPLIFICATION_OPTION, + worldTransform: *const D2D1_MATRIX_3X2_F, flatteningTolerance: ::FLOAT, + geometrySink: *mut ID2D1SimplifiedGeometrySink + ) -> ::HRESULT, + fn Tessellate( + &mut self, worldTransform: *const D2D1_MATRIX_3X2_F, flatteningTolerance: ::FLOAT, + tessellationSink: *mut ID2D1TessellationSink + ) -> ::HRESULT, + fn CombineWithGeometry( + &mut self, inputGeometry: *mut ID2D1Geometry, combineMode: D2D1_COMBINE_MODE, + inputGeometryTransform: *const D2D1_MATRIX_3X2_F, flatteningTolerance: ::FLOAT, + geometrySink: *mut ID2D1SimplifiedGeometrySink + ) -> ::HRESULT, + fn Outline( + &mut self, worldTransform: *const D2D1_MATRIX_3X2_F, flatteningTolerance: ::FLOAT, + geometrySink: *mut ID2D1SimplifiedGeometrySink + ) -> ::HRESULT, + fn ComputeArea( + &mut self, worldTransform: *const D2D1_MATRIX_3X2_F, flatteningTolerance: ::FLOAT, + area: *mut ::FLOAT + ) -> ::HRESULT, + fn ComputeLength( + &mut self, worldTransform: *const D2D1_MATRIX_3X2_F, flatteningTolerance: ::FLOAT, + length: *mut ::FLOAT + ) -> ::HRESULT, + fn ComputePointAtLength( + &mut self, length: ::FLOAT, worldTransform: *const D2D1_MATRIX_3X2_F, + flatteningTolerance: ::FLOAT, point: *mut ::D2D1_POINT_2F, + unitTangentVector: *mut ::D2D1_POINT_2F + ) -> ::HRESULT, + fn Widen( + &mut self, strokeWidth: ::FLOAT, strokeStyle: *mut ID2D1StrokeStyle, + worldTransform: *const D2D1_MATRIX_3X2_F, flatteningTolerance: ::FLOAT, + geometrySink: *mut ID2D1SimplifiedGeometrySink + ) -> ::HRESULT +}); +RIDL!( +interface ID2D1RectangleGeometry(ID2D1RectangleGeometryVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { + fn GetRect(&mut self, rect: *mut ::D2D1_RECT_F) -> () +}); +RIDL!( +interface ID2D1RoundedRectangleGeometry(ID2D1RoundedRectangleGeometryVtbl) + : ID2D1Geometry(ID2D1GeometryVtbl) { + fn GetRoundedRect(&mut self, roundedRect: *mut D2D1_ROUNDED_RECT) -> () +}); +RIDL!( +interface ID2D1EllipseGeometry(ID2D1EllipseGeometryVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { + fn GetEllipse(&mut self, ellipse: *mut D2D1_ELLIPSE) -> () +}); +RIDL!( +interface ID2D1GeometryGroup(ID2D1GeometryGroupVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { + fn GetFillMode(&mut self) -> D2D1_FILL_MODE, + fn GetSourceGeometryCount(&mut self) -> ::UINT32, + fn GetSourceGeometries( + &mut self, geometries: *mut *mut ID2D1Geometry, geometriesCount: ::UINT32 + ) -> () +}); +RIDL!( +interface ID2D1TransformedGeometry(ID2D1TransformedGeometryVtbl) + : ID2D1Geometry(ID2D1GeometryVtbl) { + fn GetSourceGeometry(&mut self, sourceGeometry: *mut *mut ID2D1Geometry) -> (), + fn GetTransform(&mut self, transform: *mut D2D1_MATRIX_3X2_F) -> () +}); +RIDL!( +interface ID2D1SimplifiedGeometrySink(ID2D1SimplifiedGeometrySinkVtbl): IUnknown(IUnknownVtbl) { + fn SetFillMode(&mut self, fillMode: D2D1_FILL_MODE) -> (), + fn SetSegmentFlags(&mut self, vertexFlags: D2D1_PATH_SEGMENT) -> (), + fn BeginFigure(&mut self, startPoint: ::D2D1_POINT_2F, figureBegin: D2D1_FIGURE_BEGIN) -> (), + fn AddLines(&mut self, points: *const ::D2D1_POINT_2F, pointsCount: ::UINT32) -> (), + fn AddBeziers(&mut self, beziers: *const D2D1_BEZIER_SEGMENT, beziersCount: ::UINT32) -> (), + fn EndFigure(&mut self, figureEnd: D2D1_FIGURE_END) -> (), + fn Close(&mut self) -> ::HRESULT +}); +RIDL!( +interface ID2D1GeometrySink(ID2D1GeometrySinkVtbl) + : ID2D1SimplifiedGeometrySink(ID2D1SimplifiedGeometrySinkVtbl) { + fn AddLine(&mut self, point: ::D2D1_POINT_2F) -> (), + fn AddBezier(&mut self, bezier: *const D2D1_BEZIER_SEGMENT) -> (), + fn AddQuadraticBezier(&mut self, bezier: *const D2D1_QUADRATIC_BEZIER_SEGMENT) -> (), + fn AddQuadraticBeziers( + &mut self, beziers: *const D2D1_QUADRATIC_BEZIER_SEGMENT, beziersCount: ::UINT32 + ) -> (), + fn AddArc(&mut self, arc: *const D2D1_ARC_SEGMENT) -> () +}); +RIDL!( +interface ID2D1TessellationSink(ID2D1TessellationSinkVtbl): IUnknown(IUnknownVtbl) { + fn AddTriangles(&mut self, triangles: *const D2D1_TRIANGLE, triangleCount: ::UINT32) -> (), + fn Close(&mut self) -> ::HRESULT +}); +RIDL!( +interface ID2D1PathGeometry(ID2D1PathGeometryVtbl): ID2D1Geometry(ID2D1GeometryVtbl) { + fn Open(&mut self, geometrySink: *mut *mut ID2D1GeometrySink) -> ::HRESULT, + fn Stream(&mut self, geometrySink: *mut ID2D1GeometrySink) -> ::HRESULT, + fn GetSegmentCount(&mut self, count: *mut ::UINT32) -> ::HRESULT, + fn GetFigureCount(&mut self, count: *mut ::UINT32) -> ::HRESULT +}); +RIDL!( +interface ID2D1Mesh(ID2D1MeshVtbl): ID2D1Resource(ID2D1ResourceVtbl) { + fn Open(&mut self, tessellationSink: *mut *mut ID2D1TessellationSink) -> ::HRESULT +}); +RIDL!( +interface ID2D1Layer(ID2D1LayerVtbl): ID2D1Resource(ID2D1ResourceVtbl) { + fn GetSize(&mut self, ret: *mut D2D1_SIZE_F) -> *mut D2D1_SIZE_F // FIXME: ABI issue +}); +RIDL!( +interface ID2D1DrawingStateBlock(ID2D1DrawingStateBlockVtbl): ID2D1Resource(ID2D1ResourceVtbl) { + fn GetDescription(&mut self, stateDescription: *mut D2D1_DRAWING_STATE_DESCRIPTION) -> (), + fn SetDescription(&mut self, stateDescription: *const D2D1_DRAWING_STATE_DESCRIPTION) -> (), + fn SetTextRenderingParams( + &mut self, textRenderingParams: *mut ::IDWriteRenderingParams + ) -> (), + fn GetTextRenderingParams( + &mut self, textRenderingParams: *mut *mut ::IDWriteRenderingParams + ) -> () +}); +RIDL!( +interface ID2D1RenderTarget(ID2D1RenderTargetVtbl): ID2D1Resource(ID2D1ResourceVtbl) { + fn CreateBitmap( + &mut self, size: D2D1_SIZE_U, srcData: *const ::c_void, pitch: ::UINT32, + bitmapProperties: *const D2D1_BITMAP_PROPERTIES, bitmap: *mut *mut ID2D1Bitmap + ) -> ::HRESULT, + fn CreateBitmapFromWicBitmap( + &mut self, wicBitmapSource: *mut ::IWICBitmapSource, + bitmapProperties: *const D2D1_BITMAP_PROPERTIES, bitmap: *mut *mut ID2D1Bitmap + ) -> ::HRESULT, + fn CreateSharedBitmap( + &mut self, riid: ::REFIID, data: *const ::c_void, + bitmapProperties: *const D2D1_BITMAP_PROPERTIES, bitmap: *mut *mut ID2D1Bitmap + ) -> ::HRESULT, + fn CreateBitmapBrush( + &mut self, bitmap: *mut ID2D1Bitmap, + bitmapBrushProperties: *const D2D1_BITMAP_BRUSH_PROPERTIES, + brushProperties: *const D2D1_BRUSH_PROPERTIES, bitmapBrush: *mut *mut ID2D1BitmapBrush + ) -> ::HRESULT, + fn CreateSolidColorBrush( + &mut self, color: *const D2D1_COLOR_F, brushProperties: *const D2D1_BRUSH_PROPERTIES, + solidColorBrush: *mut *mut ID2D1SolidColorBrush + ) -> ::HRESULT, + fn CreateGradientStopCollection( + &mut self, gradientStops: *const D2D1_GRADIENT_STOP, gradientStopsCount: ::UINT32, + colorInterpolationGamma: D2D1_GAMMA, extendMode: D2D1_EXTEND_MODE, + gradientStopCollection: *mut *mut ID2D1GradientStopCollection + ) -> ::HRESULT, + fn CreateLinearGradientBrush( + &mut self, linearGradientBrushProperties: *const D2D1_LINEAR_GRADIENT_BRUSH_PROPERTIES, + brushProperties: *const D2D1_BRUSH_PROPERTIES, + gradientStopCollection: *mut ID2D1GradientStopCollection, + linearGradientBrush: *mut *mut ID2D1LinearGradientBrush + ) -> ::HRESULT, + fn CreateRadialGradientBrush( + &mut self, radialGradientBrushProperties: *const D2D1_RADIAL_GRADIENT_BRUSH_PROPERTIES, + brushProperties: *const D2D1_BRUSH_PROPERTIES, + gradientStopCollection: *mut ID2D1GradientStopCollection, + radialGradientBrush: *mut *mut ID2D1RadialGradientBrush + ) -> ::HRESULT, + fn CreateCompatibleRenderTarget( + &mut self, desiredSize: *const D2D1_SIZE_F, desiredPixelSize: *const D2D1_SIZE_U, + desiredFormat: *const ::D2D1_PIXEL_FORMAT, options: D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS, + bitmapRenderTarget: *mut *mut ID2D1BitmapRenderTarget + ) -> ::HRESULT, + fn CreateLayer(&mut self, size: *const D2D1_SIZE_F, layer: *mut *mut ID2D1Layer) -> ::HRESULT, + fn CreateMesh(&mut self, mesh: *mut *mut ID2D1Mesh) -> ::HRESULT, + fn DrawLine( + &mut self, point0: ::D2D1_POINT_2F, point1: ::D2D1_POINT_2F, brush: *mut ID2D1Brush, + strokeWidth: ::FLOAT, strokeStype: *mut ID2D1StrokeStyle + ) -> (), + fn DrawRectangle( + &mut self, rect: *const ::D2D1_RECT_F, brush: *mut ID2D1Brush, + strokeWidth: ::FLOAT, strokeStyle: *mut ID2D1StrokeStyle + ) -> (), + fn FillRectangle( + &mut self, rect: *const ::D2D1_RECT_F, brush: *mut ID2D1Brush + ) -> (), + fn DrawRoundedRectangle( + &mut self, roundedRect: *const D2D1_ROUNDED_RECT, brush: *mut ID2D1Brush, + strokeWidth: ::FLOAT, strokeStyle: *mut ID2D1StrokeStyle + ) -> (), + fn FillRoundedRectangle( + &mut self, roundedRect: *const D2D1_ROUNDED_RECT, brush: *mut ID2D1Brush + ) -> (), + fn DrawEllipse( + &mut self, ellipse: *const D2D1_ELLIPSE, brush: *mut ID2D1Brush, + strokeWidth: ::FLOAT, strokeStyle: *mut ID2D1StrokeStyle + ) -> (), + fn FillEllipse( + &mut self, ellipse: *const D2D1_ELLIPSE, brush: *mut ID2D1Brush + ) -> (), + fn DrawGeometry( + &mut self, geometry: *mut ID2D1Geometry, brush: *mut ID2D1Brush, + strokeWidth: ::FLOAT, strokeStyle: *mut ID2D1StrokeStyle + ) -> (), + fn FillGeometry( + &mut self, geometry: *mut ID2D1Geometry, brush: *mut ID2D1Brush, + opacityBrush: *mut ID2D1Brush + ) -> (), + fn FillMesh( + &mut self, mesh: *mut ID2D1Mesh, brush: *const ID2D1Brush + ) -> (), + fn FillOpacityMask( + &mut self, opacityMask: *mut ID2D1Bitmap, brush: *mut ID2D1Brush, + content: D2D1_OPACITY_MASK_CONTENT, destinationRectangle: *const ::D2D1_RECT_F, + sourceRectangle: *const ::D2D1_RECT_F + ) -> (), + fn DrawBitmap( + &mut self, bitmap: *mut ID2D1Bitmap, destinationRectangle: *const ::D2D1_RECT_F, + opacity: ::FLOAT, interpolationMode: D2D1_BITMAP_INTERPOLATION_MODE, + sourceRectangle: *const ::D2D1_RECT_F + ) -> (), + fn DrawText( + &mut self, string: *const ::WCHAR, stringLength: ::UINT32, + textFormat: *mut ::IDWriteTextFormat, layoutRect: *const ::D2D1_RECT_F, + defaultForegroundBrush: *mut ID2D1Brush, options: D2D1_DRAW_TEXT_OPTIONS, + measuringMode: ::DWRITE_MEASURING_MODE + ) -> (), + fn DrawTextLayout( + &mut self, origin: ::D2D1_POINT_2F, textLayout: *mut ::IDWriteTextLayout, + defaultForegroundBrush: *mut ID2D1Brush, options: D2D1_DRAW_TEXT_OPTIONS + ) -> (), + fn DrawGlyphRun( + &mut self, baselineOrigin: ::D2D1_POINT_2F, glyphRun: *const ::DWRITE_GLYPH_RUN, + foregroundBrush: *mut ID2D1Brush, measuringMode: ::DWRITE_MEASURING_MODE + ) -> (), + fn SetTransform(&mut self, transform: *const D2D1_MATRIX_3X2_F) -> (), + fn GetTransform(&mut self, transform: *mut D2D1_MATRIX_3X2_F) -> (), + fn SetAntialiasMode(&mut self, antialiasMode: D2D1_ANTIALIAS_MODE) -> (), + fn GetAntialiasMode(&mut self) -> D2D1_ANTIALIAS_MODE, + fn SetTextAntialiasMode(&mut self, textAntialiasMode: D2D1_TEXT_ANTIALIAS_MODE) -> (), + fn GetTextAntialiasMode(&mut self) -> D2D1_TEXT_ANTIALIAS_MODE, + fn SetTextRenderingParams( + &mut self, textRenderingParams: *mut ::IDWriteRenderingParams + ) -> (), + fn GetTextRenderingParams( + &mut self, textRenderingParams: *mut *mut ::IDWriteRenderingParams + ) -> (), + fn SetTags(&mut self, tag1: D2D1_TAG, tag2: D2D1_TAG) -> (), + fn GetTags(&mut self, tag1: *mut D2D1_TAG, tag2: *mut D2D1_TAG) -> (), + fn PushLayer( + &mut self, layerParameters: *const D2D1_LAYER_PARAMETERS, layer: *mut ID2D1Layer + ) -> (), + fn PopLayer(&mut self) -> (), + fn Flush(&mut self, tag1: *mut D2D1_TAG, tag2: *mut D2D1_TAG) -> ::HRESULT, + fn SaveDrawingState(&mut self, drawingStateBlock: *mut ID2D1DrawingStateBlock) -> (), + fn RestoreDrawingState(&mut self, drawingStateBlock: *mut ID2D1DrawingStateBlock) -> (), + fn PushAxisAlignedClip( + &mut self, clipRect: *const ::D2D1_RECT_F, antialiasMode: D2D1_ANTIALIAS_MODE + ) -> (), + fn PopAxisAlignedClip(&mut self) -> (), + fn Clear(&mut self, clearColor: *const D2D1_COLOR_F) -> (), + fn BeginDraw(&mut self) -> (), + fn EndDraw(&mut self, tag1: *mut D2D1_TAG, tag2: *mut D2D1_TAG) -> ::HRESULT, + fn GetPixelFormat( + &mut self, ret: *mut ::D2D1_PIXEL_FORMAT + ) -> *mut ::D2D1_PIXEL_FORMAT, // FIXME: ABI issue + fn SetDpi(&mut self, dpiX: ::FLOAT, dpiY: ::FLOAT) -> (), + fn GetDpi(&mut self, dpiX: *mut ::FLOAT, dpiY: *mut ::FLOAT) -> (), + fn GetSize(&mut self, ret: *mut D2D1_SIZE_F) -> *mut D2D1_SIZE_F, // FIXME: ABI issue + fn GetPixelSize(&mut self, ret: *mut D2D1_SIZE_U) -> *mut D2D1_SIZE_U, // FIXME: ABI issue + fn GetMaximumBitmapSize(&mut self) -> ::UINT32, + fn IsSupported( + &mut self, renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES + ) -> ::BOOL +}); +RIDL!( +interface ID2D1BitmapRenderTarget(ID2D1BitmapRenderTargetVtbl) + : ID2D1RenderTarget(ID2D1RenderTargetVtbl) { + fn GetBitmap(&mut self, bitmap: *mut *mut ID2D1Bitmap) -> ::HRESULT +}); +RIDL!( +interface ID2D1HwndRenderTarget(ID2D1HwndRenderTargetVtbl) + : ID2D1RenderTarget(ID2D1RenderTargetVtbl) { + fn CheckWindowState(&mut self) -> D2D1_WINDOW_STATE, + fn Resize(&mut self, pixelSize: *const D2D1_SIZE_U) -> ::HRESULT, + fn GetHwnd(&mut self) -> ::HWND +}); +RIDL!( +interface ID2D1GdiInteropRenderTarget(ID2D1GdiInteropRenderTargetVtbl): IUnknown(IUnknownVtbl) { + fn GetDC(&mut self, mode: D2D1_DC_INITIALIZE_MODE, hdc: *mut ::HDC) -> ::HRESULT, + fn ReleaseDC(&mut self, update: *const ::RECT) -> ::HRESULT +}); +RIDL!( +interface ID2D1DCRenderTarget(ID2D1DCRenderTargetVtbl): ID2D1RenderTarget(ID2D1RenderTargetVtbl) { + fn BindDC(&mut self, hDC: ::HDC, pSubRect: *const ::RECT) -> ::HRESULT +}); +RIDL!( +interface ID2D1Factory(ID2D1FactoryVtbl): IUnknown(IUnknownVtbl) { + fn ReloadSystemMetrics(&mut self) -> ::HRESULT, + fn GetDesktopDpi(&mut self, dpiX: *mut ::FLOAT, dpiY: *mut ::FLOAT) -> (), + fn CreateRectangleGeometry( + &mut self, rectangle: *const ::D2D1_RECT_F, + rectangleGeometry: *mut *mut ID2D1RectangleGeometry + ) -> ::HRESULT, + fn CreateRoundedRectangleGeometry( + &mut self, roundedRectangle: *const D2D1_ROUNDED_RECT, + roundedRectangleGeometry: *mut *mut ID2D1RoundedRectangleGeometry + ) -> ::HRESULT, + fn CreateEllipseGeometry( + &mut self, ellipse: *const D2D1_ELLIPSE, + ellipseGeometry: *mut *mut ID2D1EllipseGeometry + ) -> ::HRESULT, + fn CreateGeometryGroup( + &mut self, fillMode: D2D1_FILL_MODE, geometries: *mut *mut ID2D1Geometry, + geometriesCount: ::UINT32, geometryGroup: *mut *mut ID2D1GeometryGroup + ) -> ::HRESULT, + fn CreateTransformedGeometry( + &mut self, sourceGeometry: *mut ID2D1Geometry, transform: *const D2D1_MATRIX_3X2_F, + transformedGeometry: *mut *mut ID2D1TransformedGeometry + ) -> ::HRESULT, + fn CreatePathGeometry( + &mut self, pathGeometry: *mut *mut ID2D1PathGeometry + ) -> ::HRESULT, + fn CreateStrokeStyle( + &mut self, strokeStyleProperties: *const D2D1_STROKE_STYLE_PROPERTIES, + dashes: *const ::FLOAT, dashesCount: ::UINT32, strokeStyle: *mut *mut ID2D1StrokeStyle + ) -> ::HRESULT, + fn CreateDrawingStateBlock( + &mut self, drawingStateDescription: *const D2D1_DRAWING_STATE_DESCRIPTION, + textRenderingParams: *mut ::IDWriteRenderingParams, + drawingStateBlock: *mut *mut ID2D1DrawingStateBlock + ) -> ::HRESULT, + fn CreateWicBitmapRenderTarget( + &mut self, target: *mut ::IWICBitmap, + renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, + renderTarget: *mut *mut ID2D1RenderTarget + ) -> ::HRESULT, + fn CreateHwndRenderTarget( + &mut self, renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, + hwndRenderTargetProperties: *const D2D1_HWND_RENDER_TARGET_PROPERTIES, + hwndRenderTarget: *mut *mut ID2D1HwndRenderTarget + ) -> ::HRESULT, + fn CreateDxgiSurfaceRenderTarget( + &mut self, dxgiSurface: *mut ::IDXGISurface, + renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, + renderTarget: *mut *mut ID2D1RenderTarget + ) -> ::HRESULT, + fn CreateDCRenderTarget( + &mut self, renderTargetProperties: *const D2D1_RENDER_TARGET_PROPERTIES, + dcRenderTarget: *mut *mut ID2D1DCRenderTarget + ) -> ::HRESULT +}); +DEFINE_GUID!( + UuidOfID2D1Factory, + 0x06152247, 0x6f50, 0x465a, 0x92, 0x45, 0x11, 0x8b, 0xfd, 0x3b, 0x60, 0x07 +); diff --git a/third_party/rust/winapi-0.2.8/src/d2dbasetypes.rs b/third_party/rust/winapi-0.2.8/src/d2dbasetypes.rs new file mode 100644 index 0000000000..45a5a1414d --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d2dbasetypes.rs @@ -0,0 +1,61 @@ +// Copyright © 2015, Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of d2dbasetypes.h +STRUCT!{struct D2D_POINT_2U { + x: ::UINT32, + y: ::UINT32, +}} +STRUCT!{struct D2D_POINT_2F { + x: ::FLOAT, + y: ::FLOAT, +}} +pub type D2D_POINT_2L = ::POINT; +STRUCT!{struct D2D_VECTOR_2F { + x: ::FLOAT, + y: ::FLOAT, +}} +STRUCT!{struct D2D_VECTOR_3F { + x: ::FLOAT, + y: ::FLOAT, + z: ::FLOAT, +}} +STRUCT!{struct D2D_VECTOR_4F { + x: ::FLOAT, + y: ::FLOAT, + z: ::FLOAT, + w: ::FLOAT, +}} +STRUCT!{struct D2D_RECT_F { + left: ::FLOAT, + top: ::FLOAT, + right: ::FLOAT, + bottom: ::FLOAT, +}} +STRUCT!{struct D2D_RECT_U { + left: ::UINT32, + top: ::UINT32, + right: ::UINT32, + bottom: ::UINT32, +}} +pub type D2D_RECT_L = ::RECT; +STRUCT!{struct D2D_SIZE_F { + width: ::FLOAT, + height: ::FLOAT, +}} +STRUCT!{struct D2D_SIZE_U { + width: ::UINT32, + height: ::UINT32, +}} +pub type D2D_COLOR_F = ::D3DCOLORVALUE; +STRUCT!{struct D2D_MATRIX_3X2_F { + matrix: [[::FLOAT; 2]; 3], +}} +STRUCT!{struct D2D_MATRIX_4X3_F { + matrix: [[::FLOAT; 3]; 4], +}} +STRUCT!{struct D2D_MATRIX_4X4_F { + matrix: [[::FLOAT; 4]; 4], +}} +STRUCT!{struct D2D_MATRIX_5X4_F { + matrix: [[::FLOAT; 4]; 5], +}} diff --git a/third_party/rust/winapi-0.2.8/src/d3d10shader.rs b/third_party/rust/winapi-0.2.8/src/d3d10shader.rs new file mode 100644 index 0000000000..4f64c5f330 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d3d10shader.rs @@ -0,0 +1,110 @@ +// Copyright © 2016, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +use super::*; +pub type D3D10_RESOURCE_RETURN_TYPE = D3D_RESOURCE_RETURN_TYPE; +pub type D3D10_CBUFFER_TYPE = D3D_CBUFFER_TYPE; +STRUCT!{struct D3D10_SHADER_DESC { + Version: UINT, + Creator: LPCSTR, + Flags: UINT, + ConstantBuffers: UINT, + BoundResources: UINT, + InputParameters: UINT, + OutputParameters: UINT, + InstructionCount: UINT, + TempRegisterCount: UINT, + TempArrayCount: UINT, + DefCount: UINT, + DclCount: UINT, + TextureNormalInstructions: UINT, + TextureLoadInstructions: UINT, + TextureCompInstructions: UINT, + TextureBiasInstructions: UINT, + TextureGradientInstructions: UINT, + FloatInstructionCount: UINT, + IntInstructionCount: UINT, + UintInstructionCount: UINT, + StaticFlowControlCount: UINT, + DynamicFlowControlCount: UINT, + MacroInstructionCount: UINT, + ArrayInstructionCount: UINT, + CutInstructionCount: UINT, + EmitInstructionCount: UINT, + GSOutputTopology: D3D_PRIMITIVE_TOPOLOGY, + GSMaxOutputVertexCount: UINT, +}} +STRUCT!{struct D3D10_SHADER_BUFFER_DESC { + Name: LPCSTR, + Type: D3D10_CBUFFER_TYPE, + Variables: UINT, + Size: UINT, + uFlags: UINT, +}} +STRUCT!{struct D3D10_SHADER_VARIABLE_DESC { + Name: LPCSTR, + StartOffset: UINT, + Size: UINT, + uFlags: UINT, + DefaultValue: LPVOID, +}} +STRUCT!{struct D3D10_SHADER_TYPE_DESC { + Class: D3D_SHADER_VARIABLE_CLASS, + Type: D3D_SHADER_VARIABLE_TYPE, + Rows: UINT, + Columns: UINT, + Elements: UINT, + Members: UINT, + Offset: UINT, +}} +STRUCT!{struct D3D10_SHADER_INPUT_BIND_DESC { + Name: LPCSTR, + Type: D3D_SHADER_INPUT_TYPE, + BindPoint: UINT, + BindCount: UINT, + uFlags: UINT, + ReturnType: D3D_RESOURCE_RETURN_TYPE, + Dimension: D3D_SRV_DIMENSION, + NumSamples: UINT, +}} +STRUCT!{struct D3D10_SIGNATURE_PARAMETER_DESC { + SemanticName: LPCSTR, + SemanticIndex: UINT, + Register: UINT, + SystemValueType: D3D_NAME, + ComponentType: D3D_REGISTER_COMPONENT_TYPE, + Mask: BYTE, + ReadWriteMask: BYTE, +}} +RIDL!{interface ID3D10ShaderReflectionType(ID3D10ShaderReflectionTypeVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D10_SHADER_TYPE_DESC) -> HRESULT, + fn GetMemberTypeByIndex(&mut self, Index: UINT) -> *mut ID3D10ShaderReflectionType, + fn GetMemberTypeByName(&mut self, Name: LPCSTR) -> *mut ID3D10ShaderReflectionType, + fn GetMemberTypeName(&mut self, Index: UINT) -> LPCSTR +}} +RIDL!{interface ID3D10ShaderReflectionVariable(ID3D10ShaderReflectionVariableVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D10_SHADER_VARIABLE_DESC) -> HRESULT, + fn GetType(&mut self) -> *mut ID3D10ShaderReflectionType +}} +RIDL!{interface ID3D10ShaderReflectionConstantBuffer(ID3D10ShaderReflectionConstantBufferVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D10_SHADER_BUFFER_DESC) -> HRESULT, + fn GetVariableByIndex(&mut self, Index: UINT) -> *mut ID3D10ShaderReflectionVariable, + fn GetVariableByName(&mut self, Name: LPCSTR) -> *mut ID3D10ShaderReflectionVariable +}} +RIDL!{interface ID3D10ShaderReflection(ID3D10ShaderReflectionVtbl): IUnknown(IUnknownVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D10_SHADER_DESC) -> HRESULT, + fn GetConstantBufferByIndex( + &mut self, Index: UINT + ) -> *mut ID3D10ShaderReflectionConstantBuffer, + fn GetConstantBufferByName( + &mut self, Name: LPCSTR + ) -> *mut ID3D10ShaderReflectionConstantBuffer, + fn GetResourceBindingDesc( + &mut self, ResourceIndex: UINT, pDesc: *mut D3D10_SHADER_INPUT_BIND_DESC + ) -> HRESULT, + fn GetInputParameterDesc( + &mut self, ParameterIndex: UINT, pDesc: *mut D3D10_SIGNATURE_PARAMETER_DESC + ) -> HRESULT, + fn GetOutputParameterDesc( + &mut self, ParameterIndex: UINT, pDesc: *mut D3D10_SIGNATURE_PARAMETER_DESC + ) -> HRESULT +}} diff --git a/third_party/rust/winapi-0.2.8/src/d3d11.rs b/third_party/rust/winapi-0.2.8/src/d3d11.rs new file mode 100644 index 0000000000..4fed70ca2e --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d3d11.rs @@ -0,0 +1,2665 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +use super::*; +pub const D3D11_16BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xffff; +pub const D3D11_32BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xffffffff; +pub const D3D11_8BIT_INDEX_STRIP_CUT_VALUE: DWORD = 0xff; +pub const D3D11_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT: DWORD = 9; +pub const D3D11_CLIP_OR_CULL_DISTANCE_COUNT: DWORD = 8; +pub const D3D11_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT: DWORD = 2; +pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT: DWORD = 14; +pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS: DWORD = 4; +pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT: DWORD = 15; +pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT: DWORD = 16; +pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT: DWORD = 15; +pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST: DWORD = 1; +pub const D3D11_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT: DWORD = 64; +pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT: DWORD = 1; +pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST: DWORD = 1; +pub const D3D11_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT: DWORD = 128; +pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST: DWORD = 1; +pub const D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT: DWORD = 128; +pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_COUNT: DWORD = 16; +pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST: DWORD = 1; +pub const D3D11_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT: DWORD = 16; +pub const D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT: DWORD = 32; +pub const D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_COMMONSHADER_TEMP_REGISTER_COUNT: DWORD = 4096; +pub const D3D11_COMMONSHADER_TEMP_REGISTER_READS_PER_INST: DWORD = 3; +pub const D3D11_COMMONSHADER_TEMP_REGISTER_READ_PORTS: DWORD = 3; +pub const D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX: DWORD = 10; +pub const D3D11_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN: c_long = -10; +pub const D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE: c_long = -8; +pub const D3D11_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE: DWORD = 7; +pub const D3D11_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 256; +pub const D3D11_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP: DWORD = 64; +pub const D3D11_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 240; +pub const D3D11_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP: DWORD = 68; +pub const D3D11_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 224; +pub const D3D11_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP: DWORD = 72; +pub const D3D11_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 208; +pub const D3D11_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP: DWORD = 76; +pub const D3D11_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 192; +pub const D3D11_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP: DWORD = 84; +pub const D3D11_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 176; +pub const D3D11_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP: DWORD = 92; +pub const D3D11_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 160; +pub const D3D11_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP: DWORD = 100; +pub const D3D11_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 144; +pub const D3D11_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP: DWORD = 112; +pub const D3D11_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 128; +pub const D3D11_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP: DWORD = 128; +pub const D3D11_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 112; +pub const D3D11_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP: DWORD = 144; +pub const D3D11_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 96; +pub const D3D11_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP: DWORD = 168; +pub const D3D11_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 80; +pub const D3D11_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP: DWORD = 204; +pub const D3D11_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 64; +pub const D3D11_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP: DWORD = 256; +pub const D3D11_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 48; +pub const D3D11_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP: DWORD = 340; +pub const D3D11_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 32; +pub const D3D11_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP: DWORD = 512; +pub const D3D11_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: DWORD = 16; +pub const D3D11_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP: DWORD = 768; +pub const D3D11_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION: DWORD = 1; +pub const D3D11_CS_4_X_RAW_UAV_BYTE_ALIGNMENT: DWORD = 256; +pub const D3D11_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP: DWORD = 768; +pub const D3D11_CS_4_X_THREAD_GROUP_MAX_X: DWORD = 768; +pub const D3D11_CS_4_X_THREAD_GROUP_MAX_Y: DWORD = 768; +pub const D3D11_CS_4_X_UAV_REGISTER_COUNT: DWORD = 1; +pub const D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION: DWORD = 65535; +pub const D3D11_CS_TGSM_REGISTER_COUNT: DWORD = 8192; +pub const D3D11_CS_TGSM_REGISTER_READS_PER_INST: DWORD = 1; +pub const D3D11_CS_TGSM_RESOURCE_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_CS_TGSM_RESOURCE_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_CS_THREADGROUPID_REGISTER_COMPONENTS: DWORD = 3; +pub const D3D11_CS_THREADGROUPID_REGISTER_COUNT: DWORD = 1; +pub const D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT: DWORD = 1; +pub const D3D11_CS_THREADIDINGROUP_REGISTER_COMPONENTS: DWORD = 3; +pub const D3D11_CS_THREADIDINGROUP_REGISTER_COUNT: DWORD = 1; +pub const D3D11_CS_THREADID_REGISTER_COMPONENTS: DWORD = 3; +pub const D3D11_CS_THREADID_REGISTER_COUNT: DWORD = 1; +pub const D3D11_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP: DWORD = 1024; +pub const D3D11_CS_THREAD_GROUP_MAX_X: DWORD = 1024; +pub const D3D11_CS_THREAD_GROUP_MAX_Y: DWORD = 1024; +pub const D3D11_CS_THREAD_GROUP_MAX_Z: DWORD = 64; +pub const D3D11_CS_THREAD_GROUP_MIN_X: DWORD = 1; +pub const D3D11_CS_THREAD_GROUP_MIN_Y: DWORD = 1; +pub const D3D11_CS_THREAD_GROUP_MIN_Z: DWORD = 1; +pub const D3D11_CS_THREAD_LOCAL_TEMP_REGISTER_POOL: DWORD = 16384; +pub const D3D11_DEFAULT_BLEND_FACTOR_ALPHA: FLOAT = 1.0; +pub const D3D11_DEFAULT_BLEND_FACTOR_BLUE: FLOAT = 1.0; +pub const D3D11_DEFAULT_BLEND_FACTOR_GREEN: FLOAT = 1.0; +pub const D3D11_DEFAULT_BLEND_FACTOR_RED: FLOAT = 1.0; +pub const D3D11_DEFAULT_BORDER_COLOR_COMPONENT: FLOAT = 0.0; +pub const D3D11_DEFAULT_DEPTH_BIAS: DWORD = 0; +pub const D3D11_DEFAULT_DEPTH_BIAS_CLAMP: FLOAT = 0.0; +pub const D3D11_DEFAULT_MAX_ANISOTROPY: DWORD = 16; +pub const D3D11_DEFAULT_MIP_LOD_BIAS: FLOAT = 0.0; +pub const D3D11_DEFAULT_RENDER_TARGET_ARRAY_INDEX: DWORD = 0; +pub const D3D11_DEFAULT_SAMPLE_MASK: DWORD = 0xffffffff; +pub const D3D11_DEFAULT_SCISSOR_ENDX: DWORD = 0; +pub const D3D11_DEFAULT_SCISSOR_ENDY: DWORD = 0; +pub const D3D11_DEFAULT_SCISSOR_STARTX: DWORD = 0; +pub const D3D11_DEFAULT_SCISSOR_STARTY: DWORD = 0; +pub const D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS: FLOAT = 0.0; +pub const D3D11_DEFAULT_STENCIL_READ_MASK: DWORD = 0xff; +pub const D3D11_DEFAULT_STENCIL_REFERENCE: DWORD = 0; +pub const D3D11_DEFAULT_STENCIL_WRITE_MASK: DWORD = 0xff; +pub const D3D11_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX: DWORD = 0; +pub const D3D11_DEFAULT_VIEWPORT_HEIGHT: DWORD = 0; +pub const D3D11_DEFAULT_VIEWPORT_MAX_DEPTH: FLOAT = 0.0; +pub const D3D11_DEFAULT_VIEWPORT_MIN_DEPTH: FLOAT = 0.0; +pub const D3D11_DEFAULT_VIEWPORT_TOPLEFTX: DWORD = 0; +pub const D3D11_DEFAULT_VIEWPORT_TOPLEFTY: DWORD = 0; +pub const D3D11_DEFAULT_VIEWPORT_WIDTH: DWORD = 0; +pub const D3D11_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: DWORD = 3968; +pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT: DWORD = 32; +pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS: DWORD = 3; +pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT: DWORD = 1; +pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT: DWORD = 32; +pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: DWORD = 1; +pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_DS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_DS_OUTPUT_REGISTER_COUNT: DWORD = 32; +pub const D3D11_FLOAT16_FUSED_TOLERANCE_IN_ULP: FLOAT = 0.6; +pub const D3D11_FLOAT32_MAX: FLOAT = 3.402823466E+38; +pub const D3D11_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP: FLOAT = 0.6; +pub const D3D11_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR: FLOAT = 2.4; +pub const D3D11_FLOAT_TO_SRGB_EXPONENT_NUMERATOR: FLOAT = 1.0; +pub const D3D11_FLOAT_TO_SRGB_OFFSET: FLOAT = 0.055; +pub const D3D11_FLOAT_TO_SRGB_SCALE_1: FLOAT = 12.92; +pub const D3D11_FLOAT_TO_SRGB_SCALE_2: FLOAT = 1.055; +pub const D3D11_FLOAT_TO_SRGB_THRESHOLD: FLOAT = 0.0031308; +pub const D3D11_FTOI_INSTRUCTION_MAX_INPUT: FLOAT = 2147483647.999; +pub const D3D11_FTOI_INSTRUCTION_MIN_INPUT: FLOAT = -2147483648.999; +pub const D3D11_FTOU_INSTRUCTION_MAX_INPUT: FLOAT = 4294967295.999; +pub const D3D11_FTOU_INSTRUCTION_MIN_INPUT: FLOAT = 0.0; +pub const D3D11_GS_INPUT_INSTANCE_ID_READS_PER_INST: DWORD = 2; +pub const D3D11_GS_INPUT_INSTANCE_ID_READ_PORTS: DWORD = 1; +pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_GS_INPUT_INSTANCE_ID_REGISTER_COUNT: DWORD = 1; +pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_COUNT: DWORD = 1; +pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_GS_INPUT_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_GS_INPUT_REGISTER_COUNT: DWORD = 32; +pub const D3D11_GS_INPUT_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_GS_INPUT_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_GS_INPUT_REGISTER_VERTICES: DWORD = 32; +pub const D3D11_GS_MAX_INSTANCE_COUNT: DWORD = 32; +pub const D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES: DWORD = 1024; +pub const D3D11_GS_OUTPUT_ELEMENTS: DWORD = 32; +pub const D3D11_GS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_GS_OUTPUT_REGISTER_COUNT: DWORD = 32; +pub const D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT: DWORD = 32; +pub const D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT: DWORD = 32; +pub const D3D11_HS_CONTROL_POINT_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_HS_CONTROL_POINT_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_HS_CONTROL_POINT_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND: DWORD = 0xffffffff; +pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT: DWORD = 1; +pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT: DWORD = 1; +pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: DWORD = 1; +pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND: DWORD = 0xffffffff; +pub const D3D11_HS_MAXTESSFACTOR_LOWER_BOUND: FLOAT = 1.0; +pub const D3D11_HS_MAXTESSFACTOR_UPPER_BOUND: FLOAT = 64.0; +pub const D3D11_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: DWORD = 3968; +pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT: DWORD = 1; +pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT: DWORD = 32; +pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS: DWORD = 128; +pub const D3D11_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES: DWORD = 0; +pub const D3D11_IA_DEFAULT_PRIMITIVE_TOPOLOGY: DWORD = 0; +pub const D3D11_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES: DWORD = 0; +pub const D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT: DWORD = 1; +pub const D3D11_IA_INSTANCE_ID_BIT_COUNT: DWORD = 32; +pub const D3D11_IA_INTEGER_ARITHMETIC_BIT_COUNT: DWORD = 32; +pub const D3D11_IA_PATCH_MAX_CONTROL_POINT_COUNT: DWORD = 32; +pub const D3D11_IA_PRIMITIVE_ID_BIT_COUNT: DWORD = 32; +pub const D3D11_IA_VERTEX_ID_BIT_COUNT: DWORD = 32; +pub const D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT: DWORD = 32; +pub const D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS: DWORD = 128; +pub const D3D11_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT: DWORD = 32; +pub const D3D11_INTEGER_DIVIDE_BY_ZERO_QUOTIENT: DWORD = 0xffffffff; +pub const D3D11_INTEGER_DIVIDE_BY_ZERO_REMAINDER: DWORD = 0xffffffff; +pub const D3D11_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL: DWORD = 0xffffffff; +pub const D3D11_KEEP_UNORDERED_ACCESS_VIEWS: DWORD = 0xffffffff; +pub const D3D11_LINEAR_GAMMA: FLOAT = 1.0; +pub const D3D11_MAJOR_VERSION: DWORD = 11; +pub const D3D11_MAX_BORDER_COLOR_COMPONENT: FLOAT = 1.0; +pub const D3D11_MAX_DEPTH: FLOAT = 1.0; +pub const D3D11_MAX_MAXANISOTROPY: DWORD = 16; +pub const D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT: DWORD = 32; +pub const D3D11_MAX_POSITION_VALUE: FLOAT = 3.402823466E+34; +pub const D3D11_MAX_TEXTURE_DIMENSION_2_TO_EXP: DWORD = 17; +pub const D3D11_MINOR_VERSION: DWORD = 0; +pub const D3D11_MIN_BORDER_COLOR_COMPONENT: FLOAT = 0.0; +pub const D3D11_MIN_DEPTH: FLOAT = 0.0; +pub const D3D11_MIN_MAXANISOTROPY: DWORD = 0; +pub const D3D11_MIP_LOD_BIAS_MAX: FLOAT = 15.99; +pub const D3D11_MIP_LOD_BIAS_MIN: FLOAT = -16.0; +pub const D3D11_MIP_LOD_FRACTIONAL_BIT_COUNT: DWORD = 8; +pub const D3D11_MIP_LOD_RANGE_BIT_COUNT: DWORD = 8; +pub const D3D11_MULTISAMPLE_ANTIALIAS_LINE_WIDTH: FLOAT = 1.4; +pub const D3D11_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT: DWORD = 0; +pub const D3D11_PIXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 15; +pub const D3D11_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 16; +pub const D3D11_PS_CS_UAV_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_PS_CS_UAV_REGISTER_COUNT: DWORD = 8; +pub const D3D11_PS_CS_UAV_REGISTER_READS_PER_INST: DWORD = 1; +pub const D3D11_PS_CS_UAV_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_PS_FRONTFACING_DEFAULT_VALUE: DWORD = 0xffffffff; +pub const D3D11_PS_FRONTFACING_FALSE_VALUE: DWORD = 0; +pub const D3D11_PS_FRONTFACING_TRUE_VALUE: DWORD = 0xffffffff; +pub const D3D11_PS_INPUT_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_PS_INPUT_REGISTER_COUNT: DWORD = 32; +pub const D3D11_PS_INPUT_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_PS_INPUT_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT: FLOAT = 0.0; +pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT: DWORD = 1; +pub const D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENTS: DWORD = 1; +pub const D3D11_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_PS_OUTPUT_MASK_REGISTER_COUNT: DWORD = 1; +pub const D3D11_PS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_PS_OUTPUT_REGISTER_COUNT: DWORD = 8; +pub const D3D11_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT: FLOAT = 0.5; +pub const D3D11_RAW_UAV_SRV_BYTE_ALIGNMENT: DWORD = 16; +pub const D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; +pub const D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP: DWORD = 27; +pub const D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT: DWORD = 4096; +pub const D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; +pub const D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: DWORD = 32; +pub const D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP: DWORD = 32; +pub const D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION: DWORD = 16384; +pub const D3D11_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT: DWORD = 1024; +pub const D3D11_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT: DWORD = 4096; +pub const D3D11_REQ_MAXANISOTROPY: DWORD = 16; +pub const D3D11_REQ_MIP_LEVELS: DWORD = 15; +pub const D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES: DWORD = 2048; +pub const D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; +pub const D3D11_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH: DWORD = 16384; +pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM: DWORD = 128; +pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM: FLOAT = 0.25; +pub const D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM: DWORD = 2048; +pub const D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP: DWORD = 20; +pub const D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE: DWORD = 4096; +pub const D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION: DWORD = 2048; +pub const D3D11_REQ_TEXTURE1D_U_DIMENSION: DWORD = 16384; +pub const D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION: DWORD = 2048; +pub const D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION: DWORD = 16384; +pub const D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION: DWORD = 2048; +pub const D3D11_REQ_TEXTURECUBE_DIMENSION: DWORD = 16384; +pub const D3D11_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL: DWORD = 0; +pub const D3D11_SHADER_MAJOR_VERSION: DWORD = 5; +pub const D3D11_SHADER_MAX_INSTANCES: DWORD = 65535; +pub const D3D11_SHADER_MAX_INTERFACES: DWORD = 253; +pub const D3D11_SHADER_MAX_INTERFACE_CALL_SITES: DWORD = 4096; +pub const D3D11_SHADER_MAX_TYPES: DWORD = 65535; +pub const D3D11_SHADER_MINOR_VERSION: DWORD = 0; +pub const D3D11_SHIFT_INSTRUCTION_PAD_VALUE: DWORD = 0; +pub const D3D11_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT: DWORD = 5; +pub const D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT: DWORD = 8; +pub const D3D11_SO_BUFFER_MAX_STRIDE_IN_BYTES: DWORD = 2048; +pub const D3D11_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES: DWORD = 512; +pub const D3D11_SO_BUFFER_SLOT_COUNT: DWORD = 4; +pub const D3D11_SO_DDI_REGISTER_INDEX_DENOTING_GAP: DWORD = 0xffffffff; +pub const D3D11_SO_NO_RASTERIZED_STREAM: DWORD = 0xffffffff; +pub const D3D11_SO_OUTPUT_COMPONENT_COUNT: DWORD = 128; +pub const D3D11_SO_STREAM_COUNT: DWORD = 4; +pub const D3D11_SPEC_DATE_DAY: DWORD = 16; +pub const D3D11_SPEC_DATE_MONTH: DWORD = 05; +pub const D3D11_SPEC_DATE_YEAR: DWORD = 2011; +pub const D3D11_SPEC_VERSION: FLOAT = 1.07; +pub const D3D11_SRGB_GAMMA: FLOAT = 2.2; +pub const D3D11_SRGB_TO_FLOAT_DENOMINATOR_1: FLOAT = 12.92; +pub const D3D11_SRGB_TO_FLOAT_DENOMINATOR_2: FLOAT = 1.055; +pub const D3D11_SRGB_TO_FLOAT_EXPONENT: FLOAT = 2.4; +pub const D3D11_SRGB_TO_FLOAT_OFFSET: FLOAT = 0.055; +pub const D3D11_SRGB_TO_FLOAT_THRESHOLD: FLOAT = 0.04045; +pub const D3D11_SRGB_TO_FLOAT_TOLERANCE_IN_ULP: FLOAT = 0.5; +pub const D3D11_STANDARD_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_STANDARD_COMPONENT_BIT_COUNT_DOUBLED: DWORD = 64; +pub const D3D11_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE: DWORD = 4; +pub const D3D11_STANDARD_PIXEL_COMPONENT_COUNT: DWORD = 128; +pub const D3D11_STANDARD_PIXEL_ELEMENT_COUNT: DWORD = 32; +pub const D3D11_STANDARD_VECTOR_SIZE: DWORD = 4; +pub const D3D11_STANDARD_VERTEX_ELEMENT_COUNT: DWORD = 32; +pub const D3D11_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT: DWORD = 64; +pub const D3D11_SUBPIXEL_FRACTIONAL_BIT_COUNT: DWORD = 8; +pub const D3D11_SUBTEXEL_FRACTIONAL_BIT_COUNT: DWORD = 8; +pub const D3D11_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR: DWORD = 64; +pub const D3D11_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR: DWORD = 64; +pub const D3D11_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR: DWORD = 63; +pub const D3D11_TESSELLATOR_MAX_TESSELLATION_FACTOR: DWORD = 64; +pub const D3D11_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR: DWORD = 2; +pub const D3D11_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR: DWORD = 1; +pub const D3D11_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR: DWORD = 1; +pub const D3D11_TEXEL_ADDRESS_RANGE_BIT_COUNT: DWORD = 16; +pub const D3D11_UNBOUND_MEMORY_ACCESS_RESULT: DWORD = 0; +pub const D3D11_VIEWPORT_AND_SCISSORRECT_MAX_INDEX: DWORD = 15; +pub const D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE: DWORD = 16; +pub const D3D11_VIEWPORT_BOUNDS_MAX: DWORD = 32767; +pub const D3D11_VIEWPORT_BOUNDS_MIN: c_long = -32768; +pub const D3D11_VS_INPUT_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_VS_INPUT_REGISTER_COUNT: DWORD = 32; +pub const D3D11_VS_INPUT_REGISTER_READS_PER_INST: DWORD = 2; +pub const D3D11_VS_INPUT_REGISTER_READ_PORTS: DWORD = 1; +pub const D3D11_VS_OUTPUT_REGISTER_COMPONENTS: DWORD = 4; +pub const D3D11_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: DWORD = 32; +pub const D3D11_VS_OUTPUT_REGISTER_COUNT: DWORD = 32; +pub const D3D11_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT: DWORD = 10; +pub const D3D11_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: DWORD = 25; +pub const D3D11_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP: DWORD = 25; +pub const D3D11_1_UAV_SLOT_COUNT: DWORD = 64; +pub const D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES: DWORD = 65536; +ENUM!{enum D3D11_INPUT_CLASSIFICATION { + D3D11_INPUT_PER_VERTEX_DATA = 0, + D3D11_INPUT_PER_INSTANCE_DATA = 1, +}} +pub const D3D11_APPEND_ALIGNED_ELEMENT: DWORD = 0xffffffff; +STRUCT!{struct D3D11_INPUT_ELEMENT_DESC { + SemanticName: LPCSTR, + SemanticIndex: UINT, + Format: DXGI_FORMAT, + InputSlot: UINT, + AlignedByteOffset: UINT, + InputSlotClass: D3D11_INPUT_CLASSIFICATION, + InstanceDataStepRate: UINT, +}} +ENUM!{enum D3D11_FILL_MODE { + D3D11_FILL_WIREFRAME = 2, + D3D11_FILL_SOLID = 3, +}} +pub type D3D11_PRIMITIVE_TOPOLOGY = D3D_PRIMITIVE_TOPOLOGY; +pub type D3D11_PRIMITIVE = D3D_PRIMITIVE; +ENUM!{enum D3D11_CULL_MODE { + D3D11_CULL_NONE = 1, + D3D11_CULL_FRONT = 2, + D3D11_CULL_BACK = 3, +}} +STRUCT!{struct D3D11_SO_DECLARATION_ENTRY { + Stream: UINT, + SemanticName: LPCSTR, + SemanticIndex: UINT, + StartComponent: BYTE, + ComponentCount: BYTE, + OutputSlot: BYTE, +}} +STRUCT!{struct D3D11_VIEWPORT { + TopLeftX: FLOAT, + TopLeftY: FLOAT, + Width: FLOAT, + Height: FLOAT, + MinDepth: FLOAT, + MaxDepth: FLOAT, +}} +STRUCT!{struct D3D11_DRAW_INSTANCED_INDIRECT_ARGS { + VertexCountPerInstance: UINT, + InstanceCount: UINT, + StartVertexLocation: UINT, + StartInstanceLocation: UINT, +}} +STRUCT!{struct D3D11_DRAW_INDEXED_INSTANCED_INDIRECT_ARGS { + IndexCountPerInstance: UINT, + InstanceCount: UINT, + StartIndexLocation: UINT, + BaseVertexLocation: INT, + StartInstanceLocation: UINT, +}} +ENUM!{enum D3D11_RESOURCE_DIMENSION { + D3D11_RESOURCE_DIMENSION_UNKNOWN = 0, + D3D11_RESOURCE_DIMENSION_BUFFER = 1, + D3D11_RESOURCE_DIMENSION_TEXTURE1D = 2, + D3D11_RESOURCE_DIMENSION_TEXTURE2D = 3, + D3D11_RESOURCE_DIMENSION_TEXTURE3D = 4, +}} +pub type D3D11_SRV_DIMENSION = D3D_SRV_DIMENSION; +ENUM!{enum D3D11_DSV_DIMENSION { + D3D11_DSV_DIMENSION_UNKNOWN = 0, + D3D11_DSV_DIMENSION_TEXTURE1D = 1, + D3D11_DSV_DIMENSION_TEXTURE1DARRAY = 2, + D3D11_DSV_DIMENSION_TEXTURE2D = 3, + D3D11_DSV_DIMENSION_TEXTURE2DARRAY = 4, + D3D11_DSV_DIMENSION_TEXTURE2DMS = 5, + D3D11_DSV_DIMENSION_TEXTURE2DMSARRAY = 6, +}} +ENUM!{enum D3D11_RTV_DIMENSION { + D3D11_RTV_DIMENSION_UNKNOWN = 0, + D3D11_RTV_DIMENSION_BUFFER = 1, + D3D11_RTV_DIMENSION_TEXTURE1D = 2, + D3D11_RTV_DIMENSION_TEXTURE1DARRAY = 3, + D3D11_RTV_DIMENSION_TEXTURE2D = 4, + D3D11_RTV_DIMENSION_TEXTURE2DARRAY = 5, + D3D11_RTV_DIMENSION_TEXTURE2DMS = 6, + D3D11_RTV_DIMENSION_TEXTURE2DMSARRAY = 7, + D3D11_RTV_DIMENSION_TEXTURE3D = 8, +}} +ENUM!{enum D3D11_UAV_DIMENSION { + D3D11_UAV_DIMENSION_UNKNOWN = 0, + D3D11_UAV_DIMENSION_BUFFER = 1, + D3D11_UAV_DIMENSION_TEXTURE1D = 2, + D3D11_UAV_DIMENSION_TEXTURE1DARRAY = 3, + D3D11_UAV_DIMENSION_TEXTURE2D = 4, + D3D11_UAV_DIMENSION_TEXTURE2DARRAY = 5, + D3D11_UAV_DIMENSION_TEXTURE3D = 8, +}} +ENUM!{enum D3D11_USAGE { + D3D11_USAGE_DEFAULT = 0, + D3D11_USAGE_IMMUTABLE = 1, + D3D11_USAGE_DYNAMIC = 2, + D3D11_USAGE_STAGING = 3, +}} +FLAGS!{enum D3D11_BIND_FLAG { + D3D11_BIND_VERTEX_BUFFER = 0x1, + D3D11_BIND_INDEX_BUFFER = 0x2, + D3D11_BIND_CONSTANT_BUFFER = 0x4, + D3D11_BIND_SHADER_RESOURCE = 0x8, + D3D11_BIND_STREAM_OUTPUT = 0x10, + D3D11_BIND_RENDER_TARGET = 0x20, + D3D11_BIND_DEPTH_STENCIL = 0x40, + D3D11_BIND_UNORDERED_ACCESS = 0x80, + D3D11_BIND_DECODER = 0x200, + D3D11_BIND_VIDEO_ENCODER = 0x400, +}} +FLAGS!{enum D3D11_CPU_ACCESS_FLAG { + D3D11_CPU_ACCESS_WRITE = 0x10000, + D3D11_CPU_ACCESS_READ = 0x20000, +}} +FLAGS!{enum D3D11_RESOURCE_MISC_FLAG { + D3D11_RESOURCE_MISC_GENERATE_MIPS = 0x1, + D3D11_RESOURCE_MISC_SHARED = 0x2, + D3D11_RESOURCE_MISC_TEXTURECUBE = 0x4, + D3D11_RESOURCE_MISC_DRAWINDIRECT_ARGS = 0x10, + D3D11_RESOURCE_MISC_BUFFER_ALLOW_RAW_VIEWS = 0x20, + D3D11_RESOURCE_MISC_BUFFER_STRUCTURED = 0x40, + D3D11_RESOURCE_MISC_RESOURCE_CLAMP = 0x80, + D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX = 0x100, + D3D11_RESOURCE_MISC_GDI_COMPATIBLE = 0x200, + D3D11_RESOURCE_MISC_SHARED_NTHANDLE = 0x800, + D3D11_RESOURCE_MISC_RESTRICTED_CONTENT = 0x1000, + D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE = 0x2000, + D3D11_RESOURCE_MISC_RESTRICT_SHARED_RESOURCE_DRIVER = 0x4000, + D3D11_RESOURCE_MISC_GUARDED = 0x8000, + D3D11_RESOURCE_MISC_TILE_POOL = 0x20000, + D3D11_RESOURCE_MISC_TILED = 0x40000, + D3D11_RESOURCE_MISC_HW_PROTECTED = 0x80000, +}} +ENUM!{enum D3D11_MAP { + D3D11_MAP_READ = 1, + D3D11_MAP_WRITE = 2, + D3D11_MAP_READ_WRITE = 3, + D3D11_MAP_WRITE_DISCARD = 4, + D3D11_MAP_WRITE_NO_OVERWRITE = 5, +}} +FLAGS!{enum D3D11_MAP_FLAG { + D3D11_MAP_FLAG_DO_NOT_WAIT = 0x100000, +}} +FLAGS!{enum D3D11_RAISE_FLAG { + D3D11_RAISE_FLAG_DRIVER_INTERNAL_ERROR = 0x1, +}} +FLAGS!{enum D3D11_CLEAR_FLAG { + D3D11_CLEAR_DEPTH = 0x1, + D3D11_CLEAR_STENCIL = 0x2, +}} +pub type D3D11_RECT = RECT; +STRUCT!{struct D3D11_BOX { + left: UINT, + top: UINT, + front: UINT, + right: UINT, + bottom: UINT, + back: UINT, +}} +RIDL!{interface ID3D11DeviceChild(ID3D11DeviceChildVtbl): IUnknown(IUnknownVtbl) { + fn GetDevice(&mut self, ppDevice: *mut *mut ID3D11Device) -> (), + fn GetPrivateData( + &mut self, guid: REFGUID, pDataSize: *mut UINT, pData: *mut c_void + ) -> HRESULT, + fn SetPrivateData( + &mut self, guid: REFGUID, DataSize: UINT, pData: *const c_void + ) -> HRESULT, + fn SetPrivateDataInterface(&mut self, guid: REFGUID, pData: *const IUnknown) -> HRESULT +}} +ENUM!{enum D3D11_COMPARISON_FUNC { + D3D11_COMPARISON_NEVER = 1, + D3D11_COMPARISON_LESS = 2, + D3D11_COMPARISON_EQUAL = 3, + D3D11_COMPARISON_LESS_EQUAL = 4, + D3D11_COMPARISON_GREATER = 5, + D3D11_COMPARISON_NOT_EQUAL = 6, + D3D11_COMPARISON_GREATER_EQUAL = 7, + D3D11_COMPARISON_ALWAYS = 8, +}} +ENUM!{enum D3D11_DEPTH_WRITE_MASK { + D3D11_DEPTH_WRITE_MASK_ZERO = 0, + D3D11_DEPTH_WRITE_MASK_ALL = 1, +}} +ENUM!{enum D3D11_STENCIL_OP { + D3D11_STENCIL_OP_KEEP = 1, + D3D11_STENCIL_OP_ZERO = 2, + D3D11_STENCIL_OP_REPLACE = 3, + D3D11_STENCIL_OP_INCR_SAT = 4, + D3D11_STENCIL_OP_DECR_SAT = 5, + D3D11_STENCIL_OP_INVERT = 6, + D3D11_STENCIL_OP_INCR = 7, + D3D11_STENCIL_OP_DECR = 8, +}} +STRUCT!{struct D3D11_DEPTH_STENCILOP_DESC { + StencilFailOp: D3D11_STENCIL_OP, + StencilDepthFailOp: D3D11_STENCIL_OP, + StencilPassOp: D3D11_STENCIL_OP, + StencilFunc: D3D11_COMPARISON_FUNC, +}} +STRUCT!{struct D3D11_DEPTH_STENCIL_DESC { + DepthEnable: BOOL, + DepthWriteMask: D3D11_DEPTH_WRITE_MASK, + DepthFunc: D3D11_COMPARISON_FUNC, + StencilEnable: BOOL, + StencilReadMask: UINT8, + StencilWriteMask: UINT8, + FrontFace: D3D11_DEPTH_STENCILOP_DESC, + BackFace: D3D11_DEPTH_STENCILOP_DESC, +}} +RIDL!{interface ID3D11DepthStencilState(ID3D11DepthStencilStateVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_DEPTH_STENCIL_DESC) -> () +}} +ENUM!{enum D3D11_BLEND { + D3D11_BLEND_ZERO = 1, + D3D11_BLEND_ONE = 2, + D3D11_BLEND_SRC_COLOR = 3, + D3D11_BLEND_INV_SRC_COLOR = 4, + D3D11_BLEND_SRC_ALPHA = 5, + D3D11_BLEND_INV_SRC_ALPHA = 6, + D3D11_BLEND_DEST_ALPHA = 7, + D3D11_BLEND_INV_DEST_ALPHA = 8, + D3D11_BLEND_DEST_COLOR = 9, + D3D11_BLEND_INV_DEST_COLOR = 10, + D3D11_BLEND_SRC_ALPHA_SAT = 11, + D3D11_BLEND_BLEND_FACTOR = 14, + D3D11_BLEND_INV_BLEND_FACTOR = 15, + D3D11_BLEND_SRC1_COLOR = 16, + D3D11_BLEND_INV_SRC1_COLOR = 17, + D3D11_BLEND_SRC1_ALPHA = 18, + D3D11_BLEND_INV_SRC1_ALPHA = 19, +}} +ENUM!{enum D3D11_BLEND_OP { + D3D11_BLEND_OP_ADD = 1, + D3D11_BLEND_OP_SUBTRACT = 2, + D3D11_BLEND_OP_REV_SUBTRACT = 3, + D3D11_BLEND_OP_MIN = 4, + D3D11_BLEND_OP_MAX = 5, +}} +FLAGS!{enum D3D11_COLOR_WRITE_ENABLE { + D3D11_COLOR_WRITE_ENABLE_RED = 1, + D3D11_COLOR_WRITE_ENABLE_GREEN = 2, + D3D11_COLOR_WRITE_ENABLE_BLUE = 4, + D3D11_COLOR_WRITE_ENABLE_ALPHA = 8, + D3D11_COLOR_WRITE_ENABLE_ALL = D3D11_COLOR_WRITE_ENABLE_RED.0 | D3D11_COLOR_WRITE_ENABLE_GREEN.0 | + D3D11_COLOR_WRITE_ENABLE_BLUE.0 | D3D11_COLOR_WRITE_ENABLE_ALPHA.0, +}} +STRUCT!{struct D3D11_RENDER_TARGET_BLEND_DESC { + BlendEnable: BOOL, + SrcBlend: D3D11_BLEND, + DestBlend: D3D11_BLEND, + BlendOp: D3D11_BLEND_OP, + SrcBlendAlpha: D3D11_BLEND, + DestBlendAlpha: D3D11_BLEND, + BlendOpAlpha: D3D11_BLEND_OP, + RenderTargetWriteMask: UINT8, +}} +STRUCT!{struct D3D11_BLEND_DESC { + AlphaToCoverageEnable: BOOL, + IndependentBlendEnable: BOOL, + RenderTarget: [D3D11_RENDER_TARGET_BLEND_DESC; 8], +}} +RIDL!{interface ID3D11BlendState(ID3D11BlendStateVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_BLEND_DESC) -> () +}} +STRUCT!{struct D3D11_RASTERIZER_DESC { + FillMode: D3D11_FILL_MODE, + CullMode: D3D11_CULL_MODE, + FrontCounterClockwise: BOOL, + DepthBias: INT, + DepthBiasClamp: FLOAT, + SlopeScaledDepthBias: FLOAT, + DepthClipEnable: BOOL, + ScissorEnable: BOOL, + MultisampleEnable: BOOL, + AntialiasedLineEnable: BOOL, +}} +RIDL!{interface ID3D11RasterizerState(ID3D11RasterizerStateVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_RASTERIZER_DESC) -> () +}} +STRUCT!{struct D3D11_SUBRESOURCE_DATA { + pSysMem: *const c_void, + SysMemPitch: UINT, + SysMemSlicePitch: UINT, +}} +STRUCT!{struct D3D11_MAPPED_SUBRESOURCE { + pData: *mut c_void, + RowPitch: UINT, + DepthPitch: UINT, +}} +RIDL!{interface ID3D11Resource(ID3D11ResourceVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetType(&mut self, pResourceDimension: *mut D3D11_RESOURCE_DIMENSION) -> (), + fn SetEvictionPriority(&mut self, EvictionPriority: UINT) -> (), + fn GetEvictionPriority(&mut self) -> UINT +}} +STRUCT!{struct D3D11_BUFFER_DESC { + ByteWidth: UINT, + Usage: D3D11_USAGE, + BindFlags: UINT, + CPUAccessFlags: UINT, + MiscFlags: UINT, + StructureByteStride: UINT, +}} +RIDL!{interface ID3D11Buffer(ID3D11BufferVtbl): ID3D11Resource(ID3D11ResourceVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_BUFFER_DESC) -> () +}} +STRUCT!{struct D3D11_TEXTURE1D_DESC { + Width: UINT, + MipLevels: UINT, + ArraySize: UINT, + Format: DXGI_FORMAT, + Usage: D3D11_USAGE, + BindFlags: UINT, + CPUAccessFlags: UINT, + MiscFlags: UINT, +}} +RIDL!{interface ID3D11Texture1D(ID3D11Texture1DVtbl): ID3D11Resource(ID3D11ResourceVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_TEXTURE1D_DESC) -> () +}} +STRUCT!{struct D3D11_TEXTURE2D_DESC { + Width: UINT, + Height: UINT, + MipLevels: UINT, + ArraySize: UINT, + Format: DXGI_FORMAT, + SampleDesc: DXGI_SAMPLE_DESC, + Usage: D3D11_USAGE, + BindFlags: UINT, + CPUAccessFlags: UINT, + MiscFlags: UINT, +}} +RIDL!{interface ID3D11Texture2D(ID3D11Texture2DVtbl): ID3D11Resource(ID3D11ResourceVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_TEXTURE2D_DESC) -> () +}} +STRUCT!{struct D3D11_TEXTURE3D_DESC { + Width: UINT, + Height: UINT, + Depth: UINT, + MipLevels: UINT, + Format: DXGI_FORMAT, + Usage: D3D11_USAGE, + BindFlags: UINT, + CPUAccessFlags: UINT, + MiscFlags: UINT, +}} +RIDL!{interface ID3D11Texture3D(ID3D11Texture3DVtbl): ID3D11Resource(ID3D11ResourceVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_TEXTURE3D_DESC) -> () +}} +ENUM!{enum D3D11_TEXTURECUBE_FACE { + D3D11_TEXTURECUBE_FACE_POSITIVE_X = 0, + D3D11_TEXTURECUBE_FACE_NEGATIVE_X = 1, + D3D11_TEXTURECUBE_FACE_POSITIVE_Y = 2, + D3D11_TEXTURECUBE_FACE_NEGATIVE_Y = 3, + D3D11_TEXTURECUBE_FACE_POSITIVE_Z = 4, + D3D11_TEXTURECUBE_FACE_NEGATIVE_Z = 5, +}} +RIDL!{interface ID3D11View(ID3D11ViewVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetResource(&mut self, ppResource: *mut *mut ID3D11Resource) -> () +}} +STRUCT!{struct D3D11_BUFFER_SRV { + u1: UINT, + u2: UINT, +}} +UNION!{D3D11_BUFFER_SRV, u1, FirstElement, FirstElement_mut, UINT} +UNION!{D3D11_BUFFER_SRV, u1, ElementOffset, ElementOffset_mut, UINT} +UNION!{D3D11_BUFFER_SRV, u2, NumElements, NumElements_mut, UINT} +UNION!{D3D11_BUFFER_SRV, u2, ElementWidth, ElementWidth_mut, UINT} +FLAGS!{enum D3D11_BUFFEREX_SRV_FLAG { + D3D11_BUFFEREX_SRV_FLAG_RAW = 0x1, +}} +STRUCT!{struct D3D11_BUFFEREX_SRV { + FirstElement: UINT, + NumElements: UINT, + Flags: UINT, +}} +STRUCT!{struct D3D11_TEX1D_SRV { + MostDetailedMip: UINT, + MipLevels: UINT, +}} +STRUCT!{struct D3D11_TEX1D_ARRAY_SRV { + MostDetailedMip: UINT, + MipLevels: UINT, + FirstArraySlice: UINT, + ArraySize: UINT, +}} +STRUCT!{struct D3D11_TEX2D_SRV { + MostDetailedMip: UINT, + MipLevels: UINT, +}} +STRUCT!{struct D3D11_TEX2D_ARRAY_SRV { + MostDetailedMip: UINT, + MipLevels: UINT, + FirstArraySlice: UINT, + ArraySize: UINT, +}} +STRUCT!{struct D3D11_TEX3D_SRV { + MostDetailedMip: UINT, + MipLevels: UINT, +}} +STRUCT!{struct D3D11_TEXCUBE_SRV { + MostDetailedMip: UINT, + MipLevels: UINT, +}} +STRUCT!{struct D3D11_TEXCUBE_ARRAY_SRV { + MostDetailedMip: UINT, + MipLevels: UINT, + First2DArrayFace: UINT, + NumCubes: UINT, +}} +STRUCT!{struct D3D11_TEX2DMS_SRV { + UnusedField_NothingToDefine: UINT, +}} +STRUCT!{struct D3D11_TEX2DMS_ARRAY_SRV { + FirstArraySlice: UINT, + ArraySize: UINT, +}} +STRUCT!{struct D3D11_SHADER_RESOURCE_VIEW_DESC { + Format: DXGI_FORMAT, + ViewDimension: D3D11_SRV_DIMENSION, + u: [UINT; 4], +}} +UNION!{D3D11_SHADER_RESOURCE_VIEW_DESC, u, Buffer, Buffer_mut, D3D11_BUFFER_SRV} +UNION!{D3D11_SHADER_RESOURCE_VIEW_DESC, u, Texture1D, Texture1D_mut, D3D11_TEX1D_SRV} +UNION!{D3D11_SHADER_RESOURCE_VIEW_DESC, u, Texture1DArray, Texture1DArray_mut, + D3D11_TEX1D_ARRAY_SRV} +UNION!{D3D11_SHADER_RESOURCE_VIEW_DESC, u, Texture2D, Texture2D_mut, D3D11_TEX2D_SRV} +UNION!{D3D11_SHADER_RESOURCE_VIEW_DESC, u, Texture2DArray, Texture2DArray_mut, + D3D11_TEX2D_ARRAY_SRV} +UNION!{D3D11_SHADER_RESOURCE_VIEW_DESC, u, Texture2DMS, Texture2DMS_mut, D3D11_TEX2DMS_SRV} +UNION!{D3D11_SHADER_RESOURCE_VIEW_DESC, u, Texture2DMSArray, Texture2DMSArray_mut, + D3D11_TEX2DMS_ARRAY_SRV} +UNION!{D3D11_SHADER_RESOURCE_VIEW_DESC, u, Texture3D, Texture3D_mut, D3D11_TEX3D_SRV} +UNION!{D3D11_SHADER_RESOURCE_VIEW_DESC, u, TextureCube, TextureCube_mut, D3D11_TEXCUBE_SRV} +UNION!{D3D11_SHADER_RESOURCE_VIEW_DESC, u, TextureCubeArray, TextureCubeArray_mut, + D3D11_TEXCUBE_ARRAY_SRV} +UNION!{D3D11_SHADER_RESOURCE_VIEW_DESC, u, BufferEx, BufferEx_mut, D3D11_BUFFEREX_SRV} +RIDL!{interface ID3D11ShaderResourceView(ID3D11ShaderResourceViewVtbl): ID3D11View(ID3D11ViewVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_SHADER_RESOURCE_VIEW_DESC) -> () +}} +STRUCT!{struct D3D11_BUFFER_RTV { + u1: UINT, + u2: UINT, +}} +UNION!{D3D11_BUFFER_RTV, u1, FirstElement, FirstElement_mut, UINT} +UNION!{D3D11_BUFFER_RTV, u1, ElementOffset, ElementOffset_mut, UINT} +UNION!{D3D11_BUFFER_RTV, u2, NumElements, NumElements_mut, UINT} +UNION!{D3D11_BUFFER_RTV, u2, ElementWidth, ElementWidth_mut, UINT} +STRUCT!{struct D3D11_TEX1D_RTV { + MipSlice: UINT, +}} +STRUCT!{struct D3D11_TEX1D_ARRAY_RTV { + MipSlice: UINT, + FirstArraySlice: UINT, + ArraySize: UINT, +}} +STRUCT!{struct D3D11_TEX2D_RTV { + MipSlice: UINT, +}} +STRUCT!{struct D3D11_TEX2DMS_RTV { + UnusedField_NothingToDefine: UINT, +}} +STRUCT!{struct D3D11_TEX2D_ARRAY_RTV { + MipSlice: UINT, + FirstArraySlice: UINT, + ArraySize: UINT, +}} +STRUCT!{struct D3D11_TEX2DMS_ARRAY_RTV { + FirstArraySlice: UINT, + ArraySize: UINT, +}} +STRUCT!{struct D3D11_TEX3D_RTV { + MipSlice: UINT, + FirstWSlice: UINT, + WSize: UINT, +}} +STRUCT!{struct D3D11_RENDER_TARGET_VIEW_DESC { + Format: DXGI_FORMAT, + ViewDimension: D3D11_RTV_DIMENSION, + u: [UINT; 3], +}} +UNION!{D3D11_RENDER_TARGET_VIEW_DESC, u, Buffer, Buffer_mut, D3D11_BUFFER_RTV} +UNION!{D3D11_RENDER_TARGET_VIEW_DESC, u, Texture1D, Texture1D_mut, D3D11_TEX1D_RTV} +UNION!{D3D11_RENDER_TARGET_VIEW_DESC, u, Texture1DArray, Texture1DArray_mut, + D3D11_TEX1D_ARRAY_RTV} +UNION!{D3D11_RENDER_TARGET_VIEW_DESC, u, Texture2D, Texture2D_mut, D3D11_TEX2D_RTV} +UNION!{D3D11_RENDER_TARGET_VIEW_DESC, u, Texture2DArray, Texture2DArray_mut, + D3D11_TEX2D_ARRAY_RTV} +UNION!{D3D11_RENDER_TARGET_VIEW_DESC, u, Texture2DMS, Texture2DMS_mut, D3D11_TEX2DMS_RTV} +UNION!{D3D11_RENDER_TARGET_VIEW_DESC, u, Texture2DMSArray,Texture2DMSArray_mut, + D3D11_TEX2DMS_ARRAY_RTV} +UNION!{D3D11_RENDER_TARGET_VIEW_DESC, u, Texture3D, Texture3D_mut, D3D11_TEX3D_RTV} +RIDL!{interface ID3D11RenderTargetView(ID3D11RenderTargetViewVtbl): ID3D11View(ID3D11ViewVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_RENDER_TARGET_VIEW_DESC) -> () +}} +STRUCT!{struct D3D11_TEX1D_DSV { + MipSlice: UINT, +}} +STRUCT!{struct D3D11_TEX1D_ARRAY_DSV { + MipSlice: UINT, + FirstArraySlice: UINT, + ArraySize: UINT, +}} +STRUCT!{struct D3D11_TEX2D_DSV { + MipSlice: UINT, +}} +STRUCT!{struct D3D11_TEX2D_ARRAY_DSV { + MipSlice: UINT, + FirstArraySlice: UINT, + ArraySize: UINT, +}} +STRUCT!{struct D3D11_TEX2DMS_DSV { + UnusedField_NothingToDefine: UINT, +}} +STRUCT!{struct D3D11_TEX2DMS_ARRAY_DSV { + FirstArraySlice: UINT, + ArraySize: UINT, +}} +FLAGS!{enum D3D11_DSV_FLAG{ + D3D11_DSV_READ_ONLY_DEPTH = 0x1, + D3D11_DSV_READ_ONLY_STENCIL = 0x2, +}} +STRUCT!{struct D3D11_DEPTH_STENCIL_VIEW_DESC { + Format: DXGI_FORMAT, + ViewDimension: D3D11_DSV_DIMENSION, + Flags: UINT, + u: [UINT; 3], +}} +UNION!{D3D11_DEPTH_STENCIL_VIEW_DESC, u, Texture1D, Texture1D_mut, D3D11_TEX1D_DSV} +UNION!{D3D11_DEPTH_STENCIL_VIEW_DESC, u, Texture1DArray, Texture1DArray_mut, + D3D11_TEX1D_ARRAY_DSV} +UNION!{D3D11_DEPTH_STENCIL_VIEW_DESC, u, Texture2D, Texture2D_mut, D3D11_TEX2D_DSV} +UNION!{D3D11_DEPTH_STENCIL_VIEW_DESC, u, Texture2DArray, Texture2DArray_mut, + D3D11_TEX2D_ARRAY_DSV} +UNION!{D3D11_DEPTH_STENCIL_VIEW_DESC, u, Texture2DMS, Texture2DMS_mut, D3D11_TEX2DMS_DSV} +UNION!{D3D11_DEPTH_STENCIL_VIEW_DESC, u, Texture2DMSArray, Texture2DMSArray_mut, + D3D11_TEX2DMS_ARRAY_DSV} +RIDL!{interface ID3D11DepthStencilView(ID3D11DepthStencilViewVtbl): ID3D11View(ID3D11ViewVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_DEPTH_STENCIL_VIEW_DESC) -> () +}} +FLAGS!{enum D3D11_BUFFER_UAV_FLAG { + D3D11_BUFFER_UAV_FLAG_RAW = 0x1, + D3D11_BUFFER_UAV_FLAG_APPEND = 0x2, + D3D11_BUFFER_UAV_FLAG_COUNTER = 0x4, +}} +STRUCT!{struct D3D11_BUFFER_UAV { + FirstElement: UINT, + NumElements: UINT, + Flags: UINT, +}} +STRUCT!{struct D3D11_TEX1D_UAV { + MipSlice: UINT, +}} +STRUCT!{struct D3D11_TEX1D_ARRAY_UAV { + MipSlice: UINT, + FirstArraySlice: UINT, + ArraySize: UINT, +}} +STRUCT!{struct D3D11_TEX2D_UAV { + MipSlice: UINT, +}} +STRUCT!{struct D3D11_TEX2D_ARRAY_UAV { + MipSlice: UINT, + FirstArraySlice: UINT, + ArraySize: UINT, +}} +STRUCT!{struct D3D11_TEX3D_UAV { + MipSlice: UINT, + FirstWSlice: UINT, + WSize: UINT, +}} +STRUCT!{struct D3D11_UNORDERED_ACCESS_VIEW_DESC { + Format: DXGI_FORMAT, + ViewDimension: D3D11_UAV_DIMENSION, + u: [UINT; 3], +}} +UNION!{D3D11_UNORDERED_ACCESS_VIEW_DESC, u, Buffer, Buffer_mut, D3D11_BUFFER_UAV} +UNION!{D3D11_UNORDERED_ACCESS_VIEW_DESC, u, Texture1D, Texture1D_mut, D3D11_TEX1D_UAV} +UNION!{D3D11_UNORDERED_ACCESS_VIEW_DESC, u, Texture1DArray, Texture1DArray_mut, + D3D11_TEX1D_ARRAY_UAV} +UNION!{D3D11_UNORDERED_ACCESS_VIEW_DESC, u, Texture2D, Texture2D_mut, D3D11_TEX2D_UAV} +UNION!{D3D11_UNORDERED_ACCESS_VIEW_DESC, u, Texture2DArray, Texture2DArray_mut, + D3D11_TEX2D_ARRAY_UAV} +UNION!{D3D11_UNORDERED_ACCESS_VIEW_DESC, u, Texture3D, Texture3D_mut, D3D11_TEX3D_UAV} +RIDL!{interface ID3D11UnorderedAccessView(ID3D11UnorderedAccessViewVtbl): ID3D11View(ID3D11ViewVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_UNORDERED_ACCESS_VIEW_DESC) -> () +}} +RIDL!{interface ID3D11VertexShader(ID3D11VertexShaderVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} +RIDL!{interface ID3D11HullShader(ID3D11HullShaderVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} +RIDL!{interface ID3D11DomainShader(ID3D11DomainShaderVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} +RIDL!{interface ID3D11GeometryShader(ID3D11GeometryShaderVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} +RIDL!{interface ID3D11PixelShader(ID3D11PixelShaderVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} +RIDL!{interface ID3D11ComputeShader(ID3D11ComputeShaderVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} +RIDL!{interface ID3D11InputLayout(ID3D11InputLayoutVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) {}} +ENUM!{enum D3D11_FILTER { + D3D11_FILTER_MIN_MAG_MIP_POINT = 0, + D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1, + D3D11_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4, + D3D11_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5, + D3D11_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10, + D3D11_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11, + D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14, + D3D11_FILTER_MIN_MAG_MIP_LINEAR = 0x15, + D3D11_FILTER_ANISOTROPIC = 0x55, + D3D11_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80, + D3D11_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81, + D3D11_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84, + D3D11_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85, + D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90, + D3D11_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91, + D3D11_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94, + D3D11_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95, + D3D11_FILTER_COMPARISON_ANISOTROPIC = 0xd5, + D3D11_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100, + D3D11_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101, + D3D11_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104, + D3D11_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105, + D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110, + D3D11_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111, + D3D11_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114, + D3D11_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115, + D3D11_FILTER_MINIMUM_ANISOTROPIC = 0x155, + D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180, + D3D11_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181, + D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184, + D3D11_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185, + D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190, + D3D11_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191, + D3D11_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194, + D3D11_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195, + D3D11_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5, +}} +ENUM!{enum D3D11_FILTER_TYPE { + D3D11_FILTER_TYPE_POINT = 0, + D3D11_FILTER_TYPE_LINEAR = 1, +}} +ENUM!{enum D3D11_FILTER_REDUCTION_TYPE { + D3D11_FILTER_REDUCTION_TYPE_STANDARD = 0, + D3D11_FILTER_REDUCTION_TYPE_COMPARISON = 1, + D3D11_FILTER_REDUCTION_TYPE_MINIMUM = 2, + D3D11_FILTER_REDUCTION_TYPE_MAXIMUM = 3, +}} +pub const D3D11_FILTER_REDUCTION_TYPE_MASK: DWORD = 0x3; +pub const D3D11_FILTER_REDUCTION_TYPE_SHIFT: DWORD = 7; +pub const D3D11_FILTER_TYPE_MASK: DWORD = 0x3; +pub const D3D11_MIN_FILTER_SHIFT: DWORD = 4; +pub const D3D11_MAG_FILTER_SHIFT: DWORD = 2; +pub const D3D11_MIP_FILTER_SHIFT: DWORD = 0; +pub const D3D11_COMPARISON_FILTERING_BIT: DWORD = 0x80; +pub const D3D11_ANISOTROPIC_FILTERING_BIT: DWORD = 0x40; +ENUM!{enum D3D11_TEXTURE_ADDRESS_MODE { + D3D11_TEXTURE_ADDRESS_WRAP = 1, + D3D11_TEXTURE_ADDRESS_MIRROR = 2, + D3D11_TEXTURE_ADDRESS_CLAMP = 3, + D3D11_TEXTURE_ADDRESS_BORDER = 4, + D3D11_TEXTURE_ADDRESS_MIRROR_ONCE = 5, +}} +STRUCT!{struct D3D11_SAMPLER_DESC { + Filter: D3D11_FILTER, + AddressU: D3D11_TEXTURE_ADDRESS_MODE, + AddressV: D3D11_TEXTURE_ADDRESS_MODE, + AddressW: D3D11_TEXTURE_ADDRESS_MODE, + MipLODBias: FLOAT, + MaxAnisotropy: UINT, + ComparisonFunc: D3D11_COMPARISON_FUNC, + BorderColor: [FLOAT; 4], + MinLOD: FLOAT, + MaxLOD: FLOAT, +}} +RIDL!{interface ID3D11SamplerState(ID3D11SamplerStateVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_SAMPLER_DESC) -> () +}} +FLAGS!{enum D3D11_FORMAT_SUPPORT { + D3D11_FORMAT_SUPPORT_BUFFER = 0x1, + D3D11_FORMAT_SUPPORT_IA_VERTEX_BUFFER = 0x2, + D3D11_FORMAT_SUPPORT_IA_INDEX_BUFFER = 0x4, + D3D11_FORMAT_SUPPORT_SO_BUFFER = 0x8, + D3D11_FORMAT_SUPPORT_TEXTURE1D = 0x10, + D3D11_FORMAT_SUPPORT_TEXTURE2D = 0x20, + D3D11_FORMAT_SUPPORT_TEXTURE3D = 0x40, + D3D11_FORMAT_SUPPORT_TEXTURECUBE = 0x80, + D3D11_FORMAT_SUPPORT_SHADER_LOAD = 0x100, + D3D11_FORMAT_SUPPORT_SHADER_SAMPLE = 0x200, + D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_COMPARISON = 0x400, + D3D11_FORMAT_SUPPORT_SHADER_SAMPLE_MONO_TEXT = 0x800, + D3D11_FORMAT_SUPPORT_MIP = 0x1000, + D3D11_FORMAT_SUPPORT_MIP_AUTOGEN = 0x2000, + D3D11_FORMAT_SUPPORT_RENDER_TARGET = 0x4000, + D3D11_FORMAT_SUPPORT_BLENDABLE = 0x8000, + D3D11_FORMAT_SUPPORT_DEPTH_STENCIL = 0x10000, + D3D11_FORMAT_SUPPORT_CPU_LOCKABLE = 0x20000, + D3D11_FORMAT_SUPPORT_MULTISAMPLE_RESOLVE = 0x40000, + D3D11_FORMAT_SUPPORT_DISPLAY = 0x80000, + D3D11_FORMAT_SUPPORT_CAST_WITHIN_BIT_LAYOUT = 0x100000, + D3D11_FORMAT_SUPPORT_MULTISAMPLE_RENDERTARGET = 0x200000, + D3D11_FORMAT_SUPPORT_MULTISAMPLE_LOAD = 0x400000, + D3D11_FORMAT_SUPPORT_SHADER_GATHER = 0x800000, + D3D11_FORMAT_SUPPORT_BACK_BUFFER_CAST = 0x1000000, + D3D11_FORMAT_SUPPORT_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000, + D3D11_FORMAT_SUPPORT_SHADER_GATHER_COMPARISON = 0x4000000, + D3D11_FORMAT_SUPPORT_DECODER_OUTPUT = 0x8000000, + D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_OUTPUT = 0x10000000, + D3D11_FORMAT_SUPPORT_VIDEO_PROCESSOR_INPUT = 0x20000000, + D3D11_FORMAT_SUPPORT_VIDEO_ENCODER = 0x40000000, +}} +FLAGS!{enum D3D11_FORMAT_SUPPORT2 { + D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1, + D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2, + D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4, + D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8, + D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10, + D3D11_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20, + D3D11_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40, + D3D11_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80, + D3D11_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100, + D3D11_FORMAT_SUPPORT2_TILED = 0x200, + D3D11_FORMAT_SUPPORT2_SHAREABLE = 0x400, + D3D11_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000, +}} +RIDL!{interface ID3D11Asynchronous(ID3D11AsynchronousVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetDataSize(&mut self) -> UINT +}} +FLAGS!{enum D3D11_ASYNC_GETDATA_FLAG { + D3D11_ASYNC_GETDATA_DONOTFLUSH = 0x1, +}} +ENUM!{enum D3D11_QUERY { + D3D11_QUERY_EVENT = 0, + D3D11_QUERY_OCCLUSION = D3D11_QUERY_EVENT.0 + 1, + D3D11_QUERY_TIMESTAMP = D3D11_QUERY_OCCLUSION.0 + 1, + D3D11_QUERY_TIMESTAMP_DISJOINT = D3D11_QUERY_TIMESTAMP.0 + 1, + D3D11_QUERY_PIPELINE_STATISTICS = D3D11_QUERY_TIMESTAMP_DISJOINT.0 + 1, + D3D11_QUERY_OCCLUSION_PREDICATE = D3D11_QUERY_PIPELINE_STATISTICS.0 + 1, + D3D11_QUERY_SO_STATISTICS = D3D11_QUERY_OCCLUSION_PREDICATE.0 + 1, + D3D11_QUERY_SO_OVERFLOW_PREDICATE = D3D11_QUERY_SO_STATISTICS.0 + 1, + D3D11_QUERY_SO_STATISTICS_STREAM0 = D3D11_QUERY_SO_OVERFLOW_PREDICATE.0 + 1, + D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0 = D3D11_QUERY_SO_STATISTICS_STREAM0.0 + 1, + D3D11_QUERY_SO_STATISTICS_STREAM1 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0.0 + 1, + D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1 = D3D11_QUERY_SO_STATISTICS_STREAM1.0 + 1, + D3D11_QUERY_SO_STATISTICS_STREAM2 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1.0 + 1, + D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2 = D3D11_QUERY_SO_STATISTICS_STREAM2.0 + 1, + D3D11_QUERY_SO_STATISTICS_STREAM3 = D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2.0 + 1, + D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3 = D3D11_QUERY_SO_STATISTICS_STREAM3.0 + 1, +}} +FLAGS!{enum D3D11_QUERY_MISC_FLAG { + D3D11_QUERY_MISC_PREDICATEHINT = 0x1, +}} +STRUCT!{struct D3D11_QUERY_DESC { + Query: D3D11_QUERY, + MiscFlags: UINT, +}} +RIDL!{interface ID3D11Query(ID3D11QueryVtbl): ID3D11Asynchronous(ID3D11AsynchronousVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_QUERY_DESC) -> () +}} +RIDL!{interface ID3D11Predicate(ID3D11PredicateVtbl): ID3D11Query(ID3D11QueryVtbl) {}} +STRUCT!{struct D3D11_QUERY_DATA_TIMESTAMP_DISJOINT { + Frequency: UINT64, + Disjoint: BOOL, +}} +STRUCT!{struct D3D11_QUERY_DATA_PIPELINE_STATISTICS { + IAVertices: UINT64, + IAPrimitives: UINT64, + VSInvocations: UINT64, + GSInvocations: UINT64, + GSPrimitives: UINT64, + CInvocations: UINT64, + CPrimitives: UINT64, + PSInvocations: UINT64, + HSInvocations: UINT64, + DSInvocations: UINT64, + CSInvocations: UINT64, +}} +STRUCT!{struct D3D11_QUERY_DATA_SO_STATISTICS { + NumPrimitivesWritten: UINT64, + PrimitivesStorageNeeded: UINT64, +}} +FLAGS!{enum D3D11_COUNTER { + D3D11_COUNTER_DEVICE_DEPENDENT_0 = 0x40000000, +}} +ENUM!{enum D3D11_COUNTER_TYPE { + D3D11_COUNTER_TYPE_FLOAT32 = 0, + D3D11_COUNTER_TYPE_UINT16 = D3D11_COUNTER_TYPE_FLOAT32.0 + 1, + D3D11_COUNTER_TYPE_UINT32 = D3D11_COUNTER_TYPE_UINT16.0 + 1, + D3D11_COUNTER_TYPE_UINT64 = D3D11_COUNTER_TYPE_UINT32.0 + 1, +}} +STRUCT!{struct D3D11_COUNTER_DESC { + Counter: D3D11_COUNTER, + MiscFlags: UINT, +}} +STRUCT!{struct D3D11_COUNTER_INFO { + LastDeviceDependentCounter: D3D11_COUNTER, + NumSimultaneousCounters: UINT, + NumDetectableParallelUnits: UINT8, +}} +RIDL!{interface ID3D11Counter(ID3D11CounterVtbl): ID3D11Asynchronous(ID3D11AsynchronousVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_COUNTER_DESC) -> () +}} +ENUM!{enum D3D11_STANDARD_MULTISAMPLE_QUALITY_LEVELS { + D3D11_STANDARD_MULTISAMPLE_PATTERN = 0xffffffff, + D3D11_CENTER_MULTISAMPLE_PATTERN = 0xfffffffe, +}} +ENUM!{enum D3D11_DEVICE_CONTEXT_TYPE { + D3D11_DEVICE_CONTEXT_IMMEDIATE = 0, + D3D11_DEVICE_CONTEXT_DEFERRED = D3D11_DEVICE_CONTEXT_IMMEDIATE.0 + 1, +}} +STRUCT!{struct D3D11_CLASS_INSTANCE_DESC { + InstanceId: UINT, + InstanceIndex: UINT, + TypeId: UINT, + ConstantBuffer: UINT, + BaseConstantBufferOffset: UINT, + BaseTexture: UINT, + BaseSampler: UINT, + Created: BOOL, +}} +RIDL!{interface ID3D11ClassInstance(ID3D11ClassInstanceVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetClassLinkage(&mut self, ppLinkage: *mut *mut ID3D11ClassLinkage) -> (), + fn GetDesc(&mut self, pDesc: *mut D3D11_CLASS_INSTANCE_DESC) -> (), + fn GetInstanceName(&mut self, pInstanceName: LPSTR, pBufferLength: *mut SIZE_T) -> (), + fn GetTypeName(&mut self, pTypeName: LPSTR, pBufferLength: *mut SIZE_T) -> () +}} +RIDL!{interface ID3D11ClassLinkage(ID3D11ClassLinkageVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetClassInstance( + &mut self, GetClassInstance: LPCSTR, InstanceIndex: UINT, + ppInstance: *mut *mut ID3D11ClassInstance + ) -> HRESULT, + fn CreateClassInstance( + &mut self, pClassTypeName: LPCSTR, ConstantBufferOffset: UINT, ConstantVectorOffset: UINT, TextureOffset: UINT, SamplerOffset: UINT, ppInstance: *mut *mut ID3D11ClassInstance + ) -> HRESULT +}} +RIDL!{interface ID3D11CommandList(ID3D11CommandListVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetContextFlags(&mut self) -> UINT +}} +ENUM!{enum D3D11_FEATURE { + D3D11_FEATURE_THREADING = 0, + D3D11_FEATURE_DOUBLES = D3D11_FEATURE_THREADING.0 + 1, + D3D11_FEATURE_FORMAT_SUPPORT = D3D11_FEATURE_DOUBLES.0 + 1, + D3D11_FEATURE_FORMAT_SUPPORT2 = D3D11_FEATURE_FORMAT_SUPPORT.0 + 1, + D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS = D3D11_FEATURE_FORMAT_SUPPORT2.0 + 1, + D3D11_FEATURE_D3D11_OPTIONS = D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS.0 + 1, + D3D11_FEATURE_ARCHITECTURE_INFO = D3D11_FEATURE_D3D11_OPTIONS.0 + 1, + D3D11_FEATURE_D3D9_OPTIONS = D3D11_FEATURE_ARCHITECTURE_INFO.0 + 1, + D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT = D3D11_FEATURE_D3D9_OPTIONS.0 + 1, + D3D11_FEATURE_D3D9_SHADOW_SUPPORT = D3D11_FEATURE_SHADER_MIN_PRECISION_SUPPORT.0 + 1, + D3D11_FEATURE_D3D11_OPTIONS1 = D3D11_FEATURE_D3D9_SHADOW_SUPPORT.0 + 1, + D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT = D3D11_FEATURE_D3D11_OPTIONS1.0 + 1, + D3D11_FEATURE_MARKER_SUPPORT = D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT.0 + 1, + D3D11_FEATURE_D3D9_OPTIONS1 = D3D11_FEATURE_MARKER_SUPPORT.0 + 1, + D3D11_FEATURE_D3D11_OPTIONS2 = D3D11_FEATURE_D3D9_OPTIONS1.0 + 1, + D3D11_FEATURE_D3D11_OPTIONS3 = D3D11_FEATURE_D3D11_OPTIONS2.0 + 1, + D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = D3D11_FEATURE_D3D11_OPTIONS3.0 + 1, +}} +STRUCT!{struct D3D11_FEATURE_DATA_THREADING { + DriverConcurrentCreates: BOOL, + DriverCommandLists: BOOL, +}} +STRUCT!{struct D3D11_FEATURE_DATA_DOUBLES { + DoublePrecisionFloatShaderOps: BOOL, +}} +STRUCT!{struct D3D11_FEATURE_DATA_FORMAT_SUPPORT { + InFormat: DXGI_FORMAT, + OutFormatSupport: UINT, +}} +STRUCT!{struct D3D11_FEATURE_DATA_FORMAT_SUPPORT2 { + InFormat: DXGI_FORMAT, + OutFormatSupport2: UINT, +}} +STRUCT!{struct D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS { + ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x: BOOL, +}} +STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS { + OutputMergerLogicOp: BOOL, + UAVOnlyRenderingForcedSampleCount: BOOL, + DiscardAPIsSeenByDriver: BOOL, + FlagsForUpdateAndCopySeenByDriver: BOOL, + ClearView: BOOL, + CopyWithOverlap: BOOL, + ConstantBufferPartialUpdate: BOOL, + ConstantBufferOffsetting: BOOL, + MapNoOverwriteOnDynamicConstantBuffer: BOOL, + MapNoOverwriteOnDynamicBufferSRV: BOOL, + MultisampleRTVWithForcedSampleCountOne: BOOL, + SAD4ShaderInstructions: BOOL, + ExtendedDoublesShaderInstructions: BOOL, + ExtendedResourceSharing: BOOL, +}} +STRUCT!{struct D3D11_FEATURE_DATA_ARCHITECTURE_INFO { + TileBasedDeferredRenderer: BOOL, +}} +STRUCT!{struct D3D11_FEATURE_DATA_D3D9_OPTIONS { + FullNonPow2TextureSupport: BOOL, +}} +STRUCT!{struct D3D11_FEATURE_DATA_D3D9_SHADOW_SUPPORT { + SupportsDepthAsTextureWithLessEqualComparisonFilter: BOOL, +}} +FLAGS!{enum D3D11_SHADER_MIN_PRECISION_SUPPORT { + D3D11_SHADER_MIN_PRECISION_10_BIT = 0x1, + D3D11_SHADER_MIN_PRECISION_16_BIT = 0x2, +}} +STRUCT!{struct D3D11_FEATURE_DATA_SHADER_MIN_PRECISION_SUPPORT { + PixelShaderMinPrecision: UINT, + AllOtherShaderStagesMinPrecision: UINT, +}} +ENUM!{enum D3D11_TILED_RESOURCES_TIER { + D3D11_TILED_RESOURCES_NOT_SUPPORTED = 0, + D3D11_TILED_RESOURCES_TIER_1 = 1, + D3D11_TILED_RESOURCES_TIER_2 = 2, + D3D11_TILED_RESOURCES_TIER_3 = 3, +}} +STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS1 { + TiledResourcesTier: D3D11_TILED_RESOURCES_TIER, + MinMaxFiltering: BOOL, + ClearViewAlsoSupportsDepthOnlyFormats: BOOL, + MapOnDefaultBuffers: BOOL, +}} +STRUCT!{struct D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT { + SimpleInstancingSupported: BOOL, +}} +STRUCT!{struct D3D11_FEATURE_DATA_MARKER_SUPPORT { + Profile: BOOL, +}} +STRUCT!{struct D3D11_FEATURE_DATA_D3D9_OPTIONS1 { + FullNonPow2TextureSupported: BOOL, + DepthAsTextureWithLessEqualComparisonFilterSupported: BOOL, + SimpleInstancingSupported: BOOL, + TextureCubeFaceRenderTargetWithNonCubeDepthStencilSupported: BOOL, +}} +ENUM!{enum D3D11_CONSERVATIVE_RASTERIZATION_TIER { + D3D11_CONSERVATIVE_RASTERIZATION_NOT_SUPPORTED = 0, + D3D11_CONSERVATIVE_RASTERIZATION_TIER_1 = 1, + D3D11_CONSERVATIVE_RASTERIZATION_TIER_2 = 2, + D3D11_CONSERVATIVE_RASTERIZATION_TIER_3 = 3, +}} +STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS2 { + PSSpecifiedStencilRefSupported: BOOL, + TypedUAVLoadAdditionalFormats: BOOL, + ROVsSupported: BOOL, + ConservativeRasterizationTier: D3D11_CONSERVATIVE_RASTERIZATION_TIER, + TiledResourcesTier: D3D11_TILED_RESOURCES_TIER, + MapOnDefaultTextures: BOOL, + StandardSwizzle: BOOL, + UnifiedMemoryArchitecture: BOOL, +}} +STRUCT!{struct D3D11_FEATURE_DATA_D3D11_OPTIONS3 { + VPAndRTArrayIndexFromAnyShaderFeedingRasterizer: BOOL, +}} +STRUCT!{struct D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT { + MaxGPUVirtualAddressBitsPerResource: UINT, + MaxGPUVirtualAddressBitsPerProcess: UINT, +}} +RIDL!{interface ID3D11DeviceContext(ID3D11DeviceContextVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn VSSetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *const *mut ID3D11Buffer + ) -> (), + fn PSSetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *const *mut ID3D11ShaderResourceView + ) -> (), + fn PSSetShader( + &mut self, pPixelShader: *mut ID3D11PixelShader, + ppClassInstances: *const *mut ID3D11ClassInstance, NumClassInstances: UINT + ) -> (), + fn PSSetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *const *mut ID3D11SamplerState + ) -> (), + fn VSSetShader( + &mut self, pVertexShader: *mut ID3D11VertexShader, + ppClassInstances: *const *mut ID3D11ClassInstance, NumClassInstances: UINT + ) -> (), + fn DrawIndexed( + &mut self, IndexCount: UINT, StartIndexLocation: UINT, BaseVertexLocation: INT + ) -> (), + fn Draw(&mut self, VertexCount: UINT, StartVertexLocation: UINT) -> (), + fn Map( + &mut self, pResource: *mut ID3D11Resource, Subresource: UINT, MapType: D3D11_MAP, + MapFlags: UINT, pMappedResource: *mut D3D11_MAPPED_SUBRESOURCE + ) -> HRESULT, + fn Unmap(&mut self, pResource: *mut ID3D11Resource, Subresource: UINT) -> (), + fn PSSetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *const *mut ID3D11Buffer + ) -> (), + fn IASetInputLayout(&mut self, pInputLayout: *mut ID3D11InputLayout) -> (), + fn IASetVertexBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppVertexBuffers: *const *mut ID3D11Buffer, + pStrides: *const UINT, pOffsets: *const UINT + ) -> (), + fn IASetIndexBuffer( + &mut self, pIndexBuffer: *mut ID3D11Buffer, Format: DXGI_FORMAT, Offset: UINT + ) -> (), + fn DrawIndexedInstanced( + &mut self, IndexCountPerInstance: UINT, InstanceCount: UINT, StartIndexLocation: UINT, + BaseVertexLocation: INT, StartInstanceLocation: UINT + ) -> (), + fn DrawInstanced( + &mut self, VertexCountPerInstance: UINT, InstanceCount: UINT, StartVertexLocation: UINT, + StartInstanceLocation: UINT + ) -> (), + fn GSSetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *const *mut ID3D11Buffer + ) -> (), + fn GSSetShader( + &mut self, pShader: *mut ID3D11GeometryShader, + ppClassInstances: *const *mut ID3D11ClassInstance, NumClassInstances: UINT + ) -> (), + fn IASetPrimitiveTopology(&mut self, Topology: D3D11_PRIMITIVE_TOPOLOGY) -> (), + fn VSSetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *const *mut ID3D11ShaderResourceView + ) -> (), + fn VSSetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *const *mut ID3D11SamplerState + ) -> (), + fn Begin(&mut self, pAsync: *mut ID3D11Asynchronous) -> (), + fn End(&mut self, pAsync: *mut ID3D11Asynchronous) -> (), + fn GetData( + &mut self, pAsync: *mut ID3D11Asynchronous, pData: *mut c_void, DataSize: UINT, + GetDataFlags: UINT + ) -> HRESULT, + fn SetPredication( + &mut self, pPredicate: *mut ID3D11Predicate, PredicateValue: BOOL + ) -> (), + fn GSSetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *const *mut ID3D11ShaderResourceView + ) -> (), + fn GSSetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *const *mut ID3D11SamplerState + ) -> (), + fn OMSetRenderTargets( + &mut self, NumViews: UINT, ppRenderTargetViews: *const *mut ID3D11RenderTargetView, + pDepthStencilView: *mut ID3D11DepthStencilView + ) -> (), + fn OMSetRenderTargetsAndUnorderedAccessViews( + &mut self, NumRTVs: UINT, ppRenderTargetViews: *const *mut ID3D11RenderTargetView, + pDepthStencilView: *mut ID3D11DepthStencilView, UAVStartSlot: UINT, NumUAVs: UINT, + ppUnorderedAccessViews: *const *mut ID3D11UnorderedAccessView, + pUAVInitialCounts: *const UINT + ) -> (), + fn OMSetBlendState( + &mut self, pBlendState: *mut ID3D11BlendState, BlendFactor: &[FLOAT; 4], SampleMask: UINT + ) -> (), + fn OMSetDepthStencilState( + &mut self, pDepthStencilState: *mut ID3D11DepthStencilState, StencilRef: UINT + ) -> (), + fn SOSetTargets( + &mut self, NumBuffers: UINT, ppSOTargets: *const *mut ID3D11Buffer, pOffsets: *const UINT + ) -> (), + fn DrawAuto(&mut self) -> (), + fn DrawIndexedInstancedIndirect( + &mut self, pBufferForArgs: *mut ID3D11Buffer, AlignedByteOffsetForArgs: UINT + ) -> (), + fn DrawInstancedIndirect( + &mut self, pBufferForArgs: *mut ID3D11Buffer, AlignedByteOffsetForArgs: UINT + ) -> (), + fn Dispatch( + &mut self, ThreadGroupCountX: UINT, ThreadGroupCountY: UINT, ThreadGroupCountZ: UINT + ) -> (), + fn DispatchIndirect( + &mut self, pBufferForArgs: *mut ID3D11Buffer, AlignedByteOffsetForArgs: UINT + ) -> (), + fn RSSetState(&mut self, pRasterizerState: *mut ID3D11RasterizerState) -> (), + fn RSSetViewports(&mut self, NumViewports: UINT, pViewports: *const D3D11_VIEWPORT) -> (), + fn RSSetScissorRects(&mut self, NumRects: UINT, pRects: *const D3D11_RECT) -> (), + fn CopySubresourceRegion( + &mut self, pDstResource: *mut ID3D11Resource, DstSubresource: UINT, DstX: UINT, DstY: UINT, + DstZ: UINT, pSrcResource: *mut ID3D11Resource, SrcSubresource: UINT, + pSrcBox: *const D3D11_BOX + ) -> (), + fn CopyResource( + &mut self, pDstResource: *mut ID3D11Resource, pSrcResource: *mut ID3D11Resource + ) -> (), + fn UpdateSubresource( + &mut self, pDstResource: *mut ID3D11Resource, DstSubresource: UINT, + pDstBox: *const D3D11_BOX, pSrcData: *const c_void, SrcRowPitch: UINT, SrcDepthPitch: UINT + ) -> (), + fn CopyStructureCount( + &mut self, pDstBuffer: *mut ID3D11Buffer, DstAlignedByteOffset: UINT, + pSrcView: *mut ID3D11UnorderedAccessView + ) -> (), + fn ClearRenderTargetView( + &mut self, pRenderTargetView: *mut ID3D11RenderTargetView, ColorRGBA: &[FLOAT; 4] + ) -> (), + fn ClearUnorderedAccessViewUint( + &mut self, pUnorderedAccessView: *mut ID3D11UnorderedAccessView, Values: &[UINT; 4] + ) -> (), + fn ClearUnorderedAccessViewFloat( + &mut self, pUnorderedAccessView: *mut ID3D11UnorderedAccessView, Values: &[FLOAT; 4] + ) -> (), + fn ClearDepthStencilView( + &mut self, pDepthStencilView: *mut ID3D11DepthStencilView, ClearFlags: UINT, Depth: FLOAT, + Stencil: UINT8 + ) -> (), + fn GenerateMips(&mut self, pShaderResourceView: *mut ID3D11ShaderResourceView) -> (), + fn SetResourceMinLOD(&mut self, pResource: *mut ID3D11Resource, MinLOD: FLOAT) -> (), + fn GetResourceMinLOD(&mut self, pResource: *mut ID3D11Resource) -> FLOAT, + fn ResolveSubresource( + &mut self, pDstResource: *mut ID3D11Resource, DstSubresource: UINT, + pSrcResource: *mut ID3D11Resource, SrcSubresource: UINT, Format: DXGI_FORMAT + ) -> (), + fn ExecuteCommandList( + &mut self, pCommandList: *mut ID3D11CommandList, + RestoreContextState: BOOL + ) -> (), + fn HSSetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *const *mut ID3D11ShaderResourceView + ) -> (), + fn HSSetShader( + &mut self, pHullShader: *mut ID3D11HullShader, + ppClassInstances: *const *mut ID3D11ClassInstance, NumClassInstances: UINT + ) -> (), + fn HSSetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *const *mut ID3D11SamplerState + ) -> (), + fn HSSetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *const *mut ID3D11Buffer + ) -> (), + fn DSSetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *const *mut ID3D11ShaderResourceView + ) -> (), + fn DSSetShader( + &mut self, pDomainShader: *mut ID3D11DomainShader, + ppClassInstances: *const *mut ID3D11ClassInstance, NumClassInstances: UINT + ) -> (), + fn DSSetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *const *mut ID3D11SamplerState + ) -> (), + fn DSSetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *const *mut ID3D11Buffer + ) -> (), + fn CSSetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *const *mut ID3D11ShaderResourceView + ) -> (), + fn CSSetUnorderedAccessViews( + &mut self, StartSlot: UINT, NumUAVs: UINT, + ppUnorderedAccessViews: *const *mut ID3D11UnorderedAccessView + ) -> (), + fn CSSetShader( + &mut self, pComputeShader: *mut ID3D11ComputeShader, + ppClassInstances: *const *mut ID3D11ClassInstance, NumClassInstances: UINT + ) -> (), + fn CSSetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *const *mut ID3D11SamplerState + ) -> (), + fn CSSetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *const *mut ID3D11Buffer + ) -> (), + fn VSGetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *mut *mut ID3D11Buffer + ) -> (), + fn PSGetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView + ) -> (), + fn PSGetShader( + &mut self, ppPixelShader: *mut *mut ID3D11PixelShader, + ppClassInstances: *mut *mut ID3D11ClassInstance, pNumClassInstances: *mut UINT + ) -> (), + fn PSGetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *mut *mut ID3D11SamplerState + ) -> (), + fn VSGetShader( + &mut self, ppVertexShader: *mut *mut ID3D11VertexShader, + ppClassInstances: *mut *mut ID3D11ClassInstance, pNumClassInstances: *mut UINT + ) -> (), + fn PSGetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *mut *mut ID3D11Buffer + ) -> (), + fn IAGetInputLayout(&mut self, ppInputLayout: *mut *mut ID3D11InputLayout) -> (), + fn IAGetVertexBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppVertexBuffers: *mut *mut ID3D11Buffer, + pStrides: *mut UINT, pOffsets: *mut UINT + ) -> (), + fn IAGetIndexBuffer( + &mut self, pIndexBuffer: *mut *mut ID3D11Buffer, Format: *mut DXGI_FORMAT, + Offset: *mut UINT + ) -> (), + fn GSGetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *mut *mut ID3D11Buffer + ) -> (), + fn GSGetShader( + &mut self, ppGeometryShader: *mut *mut ID3D11GeometryShader, + ppClassInstances: *mut *mut ID3D11ClassInstance, pNumClassInstances: *mut UINT + ) -> (), + fn IAGetPrimitiveTopology(&mut self, pTopology: *mut D3D11_PRIMITIVE_TOPOLOGY) -> (), + fn VSGetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView + ) -> (), + fn VSGetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *mut *mut ID3D11SamplerState + ) -> (), + fn GetPredication( + &mut self, ppPredicate: *mut *mut ID3D11Predicate, pPredicateValue: *mut BOOL + ) -> (), + fn GSGetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView + ) -> (), + fn GSGetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *mut *mut ID3D11SamplerState + ) -> (), + fn OMGetRenderTargets( + &mut self, NumViews: UINT, ppRenderTargetViews: *mut *mut ID3D11RenderTargetView, + ppDepthStencilView: *mut *mut ID3D11DepthStencilView + ) -> (), + fn OMGetRenderTargetsAndUnorderedAccessViews( + &mut self, NumRTVs: UINT, ppRenderTargetViews: *mut *mut ID3D11RenderTargetView, + ppDepthStencilView: *mut *mut ID3D11DepthStencilView, UAVStartSlot: UINT, + ppUnorderedAccessViews: *mut *mut ID3D11UnorderedAccessView + ) -> (), + fn OMGetBlendState( + &mut self, ppBlendState: *mut *mut ID3D11BlendState, BlendFactor: &mut [FLOAT; 4], + pSampleMask: *mut UINT + ) -> (), + fn OMGetDepthStencilState( + &mut self, ppDepthStencilState: *mut *mut ID3D11DepthStencilState, pStencilRef: *mut UINT + ) -> (), + fn SOGetTargets(&mut self, NumBuffers: UINT, ppSOTargets: *mut *mut ID3D11Buffer) -> (), + fn RSGetState(&mut self, ppRasterizerState: *mut *mut ID3D11RasterizerState) -> (), + fn RSGetViewports(&mut self, pNumViewports: *mut UINT, pViewports: *mut D3D11_VIEWPORT) -> (), + fn RSGetScissorRects(&mut self, pNumRects: *mut UINT, pRects: *mut D3D11_RECT) -> (), + fn HSGetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView + ) -> (), + fn HSGetShader( + &mut self, ppHullShader: *mut *mut ID3D11HullShader, + ppClassInstances: *mut *mut ID3D11ClassInstance, pNumClassInstances: *mut UINT + ) -> (), + fn HSGetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *mut *mut ID3D11SamplerState + ) -> (), + fn HSGetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *mut *mut ID3D11Buffer + ) -> (), + fn DSGetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView + ) -> (), + fn DSGetShader( + &mut self, ppDomainShader: *mut *mut ID3D11DomainShader, + ppClassInstances: *mut *mut ID3D11ClassInstance, pNumClassInstances: *mut UINT + ) -> (), + fn DSGetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *mut *mut ID3D11SamplerState + ) -> (), + fn DSGetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *mut *mut ID3D11Buffer + ) -> (), + fn CSGetShaderResources( + &mut self, StartSlot: UINT, NumViews: UINT, + ppShaderResourceViews: *mut *mut ID3D11ShaderResourceView + ) -> (), + fn CSGetUnorderedAccessViews( + &mut self, StartSlot: UINT, NumUAVs: UINT, + ppUnorderedAccessViews: *mut *mut ID3D11UnorderedAccessView + ) -> (), + fn CSGetShader( + &mut self, ppComputeShader: *mut *mut ID3D11ComputeShader, + ppClassInstances: *mut *mut ID3D11ClassInstance, pNumClassInstances: *mut UINT + ) -> (), + fn CSGetSamplers( + &mut self, StartSlot: UINT, NumSamplers: UINT, ppSamplers: *mut *mut ID3D11SamplerState + ) -> (), + fn CSGetConstantBuffers( + &mut self, StartSlot: UINT, NumBuffers: UINT, ppConstantBuffers: *mut *mut ID3D11Buffer + ) -> (), + fn ClearState(&mut self) -> (), + fn Flush(&mut self) -> (), + fn GetType(&mut self) -> D3D11_DEVICE_CONTEXT_TYPE, + fn GetContextFlags(&mut self) -> UINT, + fn FinishCommandList( + &mut self, RestoreDeferredContextState: BOOL, ppCommandList: *mut *mut ID3D11CommandList + ) -> HRESULT +}} +STRUCT!{struct D3D11_VIDEO_DECODER_DESC { + Guid: GUID, + SampleWidth: UINT, + SampleHeight: UINT, + OutputFormat: DXGI_FORMAT, +}} +STRUCT!{struct D3D11_VIDEO_DECODER_CONFIG { + guidConfigBitstreamEncryption: GUID, + guidConfigMBcontrolEncryption: GUID, + guidConfigResidDiffEncryption: GUID, + ConfigBitstreamRaw: UINT, + ConfigMBcontrolRasterOrder: UINT, + ConfigResidDiffHost: UINT, + ConfigSpatialResid8: UINT, + ConfigResid8Subtraction: UINT, + ConfigSpatialHost8or9Clipping: UINT, + ConfigSpatialResidInterleaved: UINT, + ConfigIntraResidUnsigned: UINT, + ConfigResidDiffAccelerator: UINT, + ConfigHostInverseScan: UINT, + ConfigSpecificIDCT: UINT, + Config4GroupedCoefs: UINT, + ConfigMinRenderTargetBuffCount: USHORT, + ConfigDecoderSpecific: USHORT, +}} +ENUM!{enum D3D11_VIDEO_DECODER_BUFFER_TYPE { + D3D11_VIDEO_DECODER_BUFFER_PICTURE_PARAMETERS = 0, + D3D11_VIDEO_DECODER_BUFFER_MACROBLOCK_CONTROL = 1, + D3D11_VIDEO_DECODER_BUFFER_RESIDUAL_DIFFERENCE = 2, + D3D11_VIDEO_DECODER_BUFFER_DEBLOCKING_CONTROL = 3, + D3D11_VIDEO_DECODER_BUFFER_INVERSE_QUANTIZATION_MATRIX = 4, + D3D11_VIDEO_DECODER_BUFFER_SLICE_CONTROL = 5, + D3D11_VIDEO_DECODER_BUFFER_BITSTREAM = 6, + D3D11_VIDEO_DECODER_BUFFER_MOTION_VECTOR = 7, + D3D11_VIDEO_DECODER_BUFFER_FILM_GRAIN = 8, +}} +STRUCT!{struct D3D11_AES_CTR_IV { + IV: UINT64, + Count: UINT64, +}} +STRUCT!{struct D3D11_ENCRYPTED_BLOCK_INFO { + NumEncryptedBytesAtBeginning: UINT, + NumBytesInSkipPattern: UINT, + NumBytesInEncryptPattern: UINT, +}} +STRUCT!{struct D3D11_VIDEO_DECODER_BUFFER_DESC { + BufferType: D3D11_VIDEO_DECODER_BUFFER_TYPE, + BufferIndex: UINT, + DataOffset: UINT, + DataSize: UINT, + FirstMBaddress: UINT, + NumMBsInBuffer: UINT, + Width: UINT, + Height: UINT, + Stride: UINT, + ReservedBits: UINT, + pIV: *mut c_void, + IVSize: UINT, + PartialEncryption: BOOL, + EncryptedBlockInfo: D3D11_ENCRYPTED_BLOCK_INFO, +}} +STRUCT!{struct D3D11_VIDEO_DECODER_EXTENSION { + Function: UINT, + pPrivateInputData: *mut c_void, + PrivateInputDataSize: UINT, + pPrivateOutputData: *mut c_void, + PrivateOutputDataSize: UINT, + ResourceCount: UINT, + ppResourceList: *mut *mut ID3D11Resource, +}} +RIDL!{interface ID3D11VideoDecoder(ID3D11VideoDecoderVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetCreationParameters( + &mut self, pVideoDesc: *mut D3D11_VIDEO_DECODER_DESC, + pConfig: *mut D3D11_VIDEO_DECODER_CONFIG + ) -> HRESULT, + fn GetDriverHandle(&mut self, pDriverHandle: *mut HANDLE) -> HRESULT +}} +FLAGS!{enum D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT { + D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT = 0x1, + D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT = 0x2, +}} +FLAGS!{enum D3D11_VIDEO_PROCESSOR_DEVICE_CAPS { + D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_LINEAR_SPACE = 0x1, + D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_xvYCC = 0x2, + D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_RGB_RANGE_CONVERSION = 0x4, + D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_YCbCr_MATRIX_CONVERSION = 0x8, + D3D11_VIDEO_PROCESSOR_DEVICE_CAPS_NOMINAL_RANGE = 0x10, +}} +FLAGS!{enum D3D11_VIDEO_PROCESSOR_FEATURE_CAPS { + D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_FILL = 0x1, + D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_CONSTRICTION = 0x2, + D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY = 0x4, + D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_PALETTE = 0x8, + D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LEGACY = 0x10, + D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_STEREO = 0x20, + D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ROTATION = 0x40, + D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_ALPHA_STREAM = 0x80, + D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_PIXEL_ASPECT_RATIO = 0x100, + D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_MIRROR = 0x200, + D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_SHADER_USAGE = 0x400, +}} +FLAGS!{enum D3D11_VIDEO_PROCESSOR_FILTER_CAPS { + D3D11_VIDEO_PROCESSOR_FILTER_CAPS_BRIGHTNESS = 0x1, + D3D11_VIDEO_PROCESSOR_FILTER_CAPS_CONTRAST = 0x2, + D3D11_VIDEO_PROCESSOR_FILTER_CAPS_HUE = 0x4, + D3D11_VIDEO_PROCESSOR_FILTER_CAPS_SATURATION = 0x8, + D3D11_VIDEO_PROCESSOR_FILTER_CAPS_NOISE_REDUCTION = 0x10, + D3D11_VIDEO_PROCESSOR_FILTER_CAPS_EDGE_ENHANCEMENT = 0x20, + D3D11_VIDEO_PROCESSOR_FILTER_CAPS_ANAMORPHIC_SCALING = 0x40, + D3D11_VIDEO_PROCESSOR_FILTER_CAPS_STEREO_ADJUSTMENT = 0x80, +}} +FLAGS!{enum D3D11_VIDEO_PROCESSOR_FORMAT_CAPS { + D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_INTERLACED = 0x1, + D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_PROCAMP = 0x2, + D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY = 0x4, + D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_PALETTE_INTERLACED = 0x8, +}} +FLAGS!{enum D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS { + D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DENOISE = 0x1, + D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_DERINGING = 0x2, + D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_EDGE_ENHANCEMENT = 0x4, + D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_COLOR_CORRECTION = 0x8, + D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_FLESH_TONE_MAPPING = 0x10, + D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_IMAGE_STABILIZATION = 0x20, + D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_SUPER_RESOLUTION = 0x40, + D3D11_VIDEO_PROCESSOR_AUTO_STREAM_CAPS_ANAMORPHIC_SCALING = 0x80, +}} +FLAGS!{enum D3D11_VIDEO_PROCESSOR_STEREO_CAPS { + D3D11_VIDEO_PROCESSOR_STEREO_CAPS_MONO_OFFSET = 0x1, + D3D11_VIDEO_PROCESSOR_STEREO_CAPS_ROW_INTERLEAVED = 0x2, + D3D11_VIDEO_PROCESSOR_STEREO_CAPS_COLUMN_INTERLEAVED = 0x4, + D3D11_VIDEO_PROCESSOR_STEREO_CAPS_CHECKERBOARD = 0x8, + D3D11_VIDEO_PROCESSOR_STEREO_CAPS_FLIP_MODE = 0x10, +}} +STRUCT!{struct D3D11_VIDEO_PROCESSOR_CAPS { + DeviceCaps: UINT, + FeatureCaps: UINT, + FilterCaps: UINT, + InputFormatCaps: UINT, + AutoStreamCaps: UINT, + StereoCaps: UINT, + RateConversionCapsCount: UINT, + MaxInputStreams: UINT, + MaxStreamStates: UINT, +}} +FLAGS!{enum D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS { + D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BLEND = 0x1, + D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_BOB = 0x2, + D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_ADAPTIVE = 0x4, + D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_DEINTERLACE_MOTION_COMPENSATION = 0x8, + D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_INVERSE_TELECINE = 0x10, + D3D11_VIDEO_PROCESSOR_PROCESSOR_CAPS_FRAME_RATE_CONVERSION = 0x20, +}} +FLAGS!{enum D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS { + D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32 = 0x1, + D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_22 = 0x2, + D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2224 = 0x4, + D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_2332 = 0x8, + D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_32322 = 0x10, + D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_55 = 0x20, + D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_64 = 0x40, + D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_87 = 0x80, + D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_222222222223 = 0x100, + D3D11_VIDEO_PROCESSOR_ITELECINE_CAPS_OTHER = 0x80000000, +}} +STRUCT!{struct D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS { + PastFrames: UINT, + FutureFrames: UINT, + ProcessorCaps: UINT, + ITelecineCaps: UINT, + CustomRateCount: UINT, +}} +FLAGS!{enum D3D11_CONTENT_PROTECTION_CAPS { + D3D11_CONTENT_PROTECTION_CAPS_SOFTWARE = 0x1, + D3D11_CONTENT_PROTECTION_CAPS_HARDWARE = 0x2, + D3D11_CONTENT_PROTECTION_CAPS_PROTECTION_ALWAYS_ON = 0x4, + D3D11_CONTENT_PROTECTION_CAPS_PARTIAL_DECRYPTION = 0x8, + D3D11_CONTENT_PROTECTION_CAPS_CONTENT_KEY = 0x10, + D3D11_CONTENT_PROTECTION_CAPS_FRESHEN_SESSION_KEY = 0x20, + D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK = 0x40, + D3D11_CONTENT_PROTECTION_CAPS_ENCRYPTED_READ_BACK_KEY = 0x80, + D3D11_CONTENT_PROTECTION_CAPS_SEQUENTIAL_CTR_IV = 0x100, + D3D11_CONTENT_PROTECTION_CAPS_ENCRYPT_SLICEDATA_ONLY = 0x200, + D3D11_CONTENT_PROTECTION_CAPS_DECRYPTION_BLT = 0x400, + D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECT_UNCOMPRESSED = 0x800, + D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_PROTECTED_MEMORY_PAGEABLE = 0x1000, + D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_TEARDOWN = 0x2000, + D3D11_CONTENT_PROTECTION_CAPS_HARDWARE_DRM_COMMUNICATION = 0x4000, +}} +STRUCT!{struct D3D11_VIDEO_CONTENT_PROTECTION_CAPS { + Caps: UINT, + KeyExchangeTypeCount: UINT, + BlockAlignmentSize: UINT, + ProtectedMemorySize: ULONGLONG, +}} +STRUCT!{struct D3D11_VIDEO_PROCESSOR_CUSTOM_RATE { + CustomRate: DXGI_RATIONAL, + OutputFrames: UINT, + InputInterlaced: BOOL, + InputFramesOrFields: UINT, +}} +ENUM!{enum D3D11_VIDEO_PROCESSOR_FILTER { + D3D11_VIDEO_PROCESSOR_FILTER_BRIGHTNESS = 0, + D3D11_VIDEO_PROCESSOR_FILTER_CONTRAST = 1, + D3D11_VIDEO_PROCESSOR_FILTER_HUE = 2, + D3D11_VIDEO_PROCESSOR_FILTER_SATURATION = 3, + D3D11_VIDEO_PROCESSOR_FILTER_NOISE_REDUCTION = 4, + D3D11_VIDEO_PROCESSOR_FILTER_EDGE_ENHANCEMENT = 5, + D3D11_VIDEO_PROCESSOR_FILTER_ANAMORPHIC_SCALING = 6, + D3D11_VIDEO_PROCESSOR_FILTER_STEREO_ADJUSTMENT = 7, +}} +STRUCT!{struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE { + Minimum: c_int, + Maximum: c_int, + Default: c_int, + Multiplier: c_float, +}} +ENUM!{enum D3D11_VIDEO_FRAME_FORMAT { + D3D11_VIDEO_FRAME_FORMAT_PROGRESSIVE = 0, + D3D11_VIDEO_FRAME_FORMAT_INTERLACED_TOP_FIELD_FIRST = 1, + D3D11_VIDEO_FRAME_FORMAT_INTERLACED_BOTTOM_FIELD_FIRST = 2, +}} +ENUM!{enum D3D11_VIDEO_USAGE { + D3D11_VIDEO_USAGE_PLAYBACK_NORMAL = 0, + D3D11_VIDEO_USAGE_OPTIMAL_SPEED = 1, + D3D11_VIDEO_USAGE_OPTIMAL_QUALITY = 2, +}} +STRUCT!{struct D3D11_VIDEO_PROCESSOR_CONTENT_DESC { + InputFrameFormat: D3D11_VIDEO_FRAME_FORMAT, + InputFrameRate: DXGI_RATIONAL, + InputWidth: UINT, + InputHeight: UINT, + OutputFrameRate: DXGI_RATIONAL, + OutputWidth: UINT, + OutputHeight: UINT, + Usage: D3D11_VIDEO_USAGE, +}} +RIDL!{interface ID3D11VideoProcessorEnumerator(ID3D11VideoProcessorEnumeratorVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetVideoProcessorContentDesc( + &mut self, pContentDesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC + ) -> HRESULT, + fn CheckVideoProcessorFormat(&mut self, Format: DXGI_FORMAT, pFlags: *mut UINT) -> HRESULT, + fn GetVideoProcessorCaps(&mut self, pCaps: *mut D3D11_VIDEO_PROCESSOR_CAPS) -> HRESULT, + fn GetVideoProcessorRateConversionCaps( + &mut self, TypeIndex: UINT, pCaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS + ) -> HRESULT, + fn GetVideoProcessorCustomRate( + &mut self, TypeIndex: UINT, CustomRateIndex: UINT, + pRate: *mut D3D11_VIDEO_PROCESSOR_CUSTOM_RATE + ) -> HRESULT, + fn GetVideoProcessorFilterRange( + &mut self, Filter: D3D11_VIDEO_PROCESSOR_FILTER, + Range: *mut D3D11_VIDEO_PROCESSOR_FILTER_RANGE + ) -> HRESULT +}} +STRUCT!{struct D3D11_VIDEO_COLOR_RGBA { + R: c_float, + G: c_float, + B: c_float, + A: c_float, +}} +STRUCT!{struct D3D11_VIDEO_COLOR_YCbCrA { + Y: c_float, + Cb: c_float, + Cr: c_float, + A: c_float, +}} +STRUCT!{struct D3D11_VIDEO_COLOR { + u: [c_float; 4], +}} +UNION!{D3D11_VIDEO_COLOR, u, YCbCr, YCbCr_mut, D3D11_VIDEO_COLOR_YCbCrA} +UNION!{D3D11_VIDEO_COLOR, u, RGBA, RGBA_mut, D3D11_VIDEO_COLOR_RGBA} +ENUM!{enum D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE { + D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_UNDEFINED = 0, + D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_16_235 = 1, + D3D11_VIDEO_PROCESSOR_NOMINAL_RANGE_0_255 = 2, +}} +STRUCT!{struct D3D11_VIDEO_PROCESSOR_COLOR_SPACE { + bitfield: UINT, +}} +BITFIELD!{D3D11_VIDEO_PROCESSOR_COLOR_SPACE bitfield: UINT [ + Usage set_Usage[0..1], + RGB_Range set_RGB_Range[1..2], + YCbCr_Matrix set_YCbCr_Matrix[2..3], + YCbCr_xvYCC set_YCbCr_xvYCC[3..4], + Nominal_Range set_Nominal_Range[4..6], +]} +ENUM!{enum D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE { + D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_OPAQUE = 0, + D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_BACKGROUND = 1, + D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_DESTINATION = 2, + D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE_SOURCE_STREAM = 3, +}} +ENUM!{enum D3D11_VIDEO_PROCESSOR_OUTPUT_RATE { + D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_NORMAL = 0, + D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_HALF = 1, + D3D11_VIDEO_PROCESSOR_OUTPUT_RATE_CUSTOM = 2, +}} +ENUM!{enum D3D11_VIDEO_PROCESSOR_STEREO_FORMAT { + D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO = 0, + D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_HORIZONTAL = 1, + D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_VERTICAL = 2, + D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_SEPARATE = 3, + D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_MONO_OFFSET = 4, + D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_ROW_INTERLEAVED = 5, + D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_COLUMN_INTERLEAVED = 6, + D3D11_VIDEO_PROCESSOR_STEREO_FORMAT_CHECKERBOARD = 7, +}} +ENUM!{enum D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE { + D3D11_VIDEO_PROCESSOR_STEREO_FLIP_NONE = 0, + D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME0 = 1, + D3D11_VIDEO_PROCESSOR_STEREO_FLIP_FRAME1 = 2, +}} +ENUM!{enum D3D11_VIDEO_PROCESSOR_ROTATION { + D3D11_VIDEO_PROCESSOR_ROTATION_IDENTITY = 0, + D3D11_VIDEO_PROCESSOR_ROTATION_90 = 1, + D3D11_VIDEO_PROCESSOR_ROTATION_180 = 2, + D3D11_VIDEO_PROCESSOR_ROTATION_270 = 3, +}} +STRUCT!{struct D3D11_VIDEO_PROCESSOR_STREAM { + Enable: BOOL, + OutputIndex: UINT, + InputFrameOrField: UINT, + PastFrames: UINT, + FutureFrames: UINT, + ppPastSurfaces: *mut *mut ID3D11VideoProcessorInputView, + pInputSurface: *mut ID3D11VideoProcessorInputView, + ppFutureSurfaces: *mut *mut ID3D11VideoProcessorInputView, + ppPastSurfacesRight: *mut *mut ID3D11VideoProcessorInputView, + pInputSurfaceRight: *mut ID3D11VideoProcessorInputView, + ppFutureSurfacesRight: *mut *mut ID3D11VideoProcessorInputView, +}} +RIDL!{interface ID3D11VideoProcessor(ID3D11VideoProcessorVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetContentDesc(&mut self, pDesc: *mut D3D11_VIDEO_PROCESSOR_CONTENT_DESC) -> (), + fn GetRateConversionCaps( + &mut self, pCaps: *mut D3D11_VIDEO_PROCESSOR_RATE_CONVERSION_CAPS + ) -> () +}} +STRUCT!{struct D3D11_OMAC { + Omac: [BYTE; 16], +}} +ENUM!{enum D3D11_AUTHENTICATED_CHANNEL_TYPE { + D3D11_AUTHENTICATED_CHANNEL_D3D11 = 1, + D3D11_AUTHENTICATED_CHANNEL_DRIVER_SOFTWARE = 2, + D3D11_AUTHENTICATED_CHANNEL_DRIVER_HARDWARE = 3, +}} +RIDL!{interface ID3D11AuthenticatedChannel(ID3D11AuthenticatedChannelVtbl) + : ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetCertificateSize(&mut self, pCertificateSize: *mut UINT) -> HRESULT, + fn GetCertificate(&mut self, CertificateSize: UINT, pCertificate: *mut BYTE) -> HRESULT, + fn GetChannelHandle(&mut self, pChannelHandle: *mut HANDLE) -> () +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_INPUT { + QueryType: GUID, + hChannel: HANDLE, + SequenceNumber: UINT, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT { + omac: D3D11_OMAC, + QueryType: GUID, + hChannel: HANDLE, + SequenceNumber: UINT, + ReturnCode: HRESULT, +}} +//FIXME bitfield +STRUCT!{struct D3D11_AUTHENTICATED_PROTECTION_FLAGS { + u: UINT, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_PROTECTION_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + ProtectionFlags: D3D11_AUTHENTICATED_PROTECTION_FLAGS, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CHANNEL_TYPE_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + ChannelType: D3D11_AUTHENTICATED_CHANNEL_TYPE, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_DEVICE_HANDLE_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + DeviceHandle: HANDLE, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_INPUT { + Input: D3D11_AUTHENTICATED_QUERY_INPUT, + DecoderHandle: HANDLE, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CRYPTO_SESSION_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + DecoderHandle: HANDLE, + CryptoSessionHandle: HANDLE, + DeviceHandle: HANDLE, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_COUNT_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + RestrictedSharedResourceProcessCount: UINT, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_INPUT { + Input: D3D11_AUTHENTICATED_QUERY_INPUT, + ProcessIndex: UINT, +}} +ENUM!{enum D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE { + DD3D11_PROCESSIDTYPE_UNKNOWN = 0, + DD3D11_PROCESSIDTYPE_DWM = 1, + DD3D11_PROCESSIDTYPE_HANDLE = 2, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_RESTRICTED_SHARED_RESOURCE_PROCESS_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + ProcessIndex: UINT, + ProcessIdentifier: D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, + ProcessHandle: HANDLE, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_UNRESTRICTED_PROTECTED_SHARED_RESOURCE_COUNT_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + UnrestrictedProtectedSharedResourceCount: UINT, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_INPUT { + Input: D3D11_AUTHENTICATED_QUERY_INPUT, + DeviceHandle: HANDLE, + CryptoSessionHandle: HANDLE, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_COUNT_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + DeviceHandle: HANDLE, + CryptoSessionHandle: HANDLE, + OutputIDCount: UINT, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_INPUT { + Input: D3D11_AUTHENTICATED_QUERY_INPUT, + DeviceHandle: HANDLE, + CryptoSessionHandle: HANDLE, + OutputIDIndex: UINT, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_OUTPUT_ID_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + DeviceHandle: HANDLE, + CryptoSessionHandle: HANDLE, + OutputIDIndex: UINT, + OutputID: UINT64, +}} +ENUM!{enum D3D11_BUS_TYPE { + D3D11_BUS_TYPE_OTHER = 0, + D3D11_BUS_TYPE_PCI = 0x1, + D3D11_BUS_TYPE_PCIX = 0x2, + D3D11_BUS_TYPE_PCIEXPRESS = 0x3, + D3D11_BUS_TYPE_AGP = 0x4, + D3D11_BUS_IMPL_MODIFIER_INSIDE_OF_CHIPSET = 0x10000, + D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x20000, + D3D11_BUS_IMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x30000, + D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x40000, + D3D11_BUS_IMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x50000, + D3D11_BUS_IMPL_MODIFIER_NON_STANDARD = 0x80000000, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACESSIBILITY_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + BusType: D3D11_BUS_TYPE, + AccessibleInContiguousBlocks: BOOL, + AccessibleInNonContiguousBlocks: BOOL, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_COUNT_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + EncryptionGuidCount: UINT, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_INPUT { + Input: D3D11_AUTHENTICATED_QUERY_INPUT, + EncryptionGuidIndex: UINT, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_ACCESSIBILITY_ENCRYPTION_GUID_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + EncryptionGuidIndex: UINT, + EncryptionGuid: GUID, +}} +STRUCT!{struct D3D11_AUTHENTICATED_QUERY_CURRENT_ACCESSIBILITY_ENCRYPTION_OUTPUT { + Output: D3D11_AUTHENTICATED_QUERY_OUTPUT, + EncryptionGuid: GUID, +}} +STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_INPUT { + omac: D3D11_OMAC, + ConfigureType: GUID, + hChannel: HANDLE, + SequenceNumber: UINT, +}} +STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_OUTPUT { + omac: D3D11_OMAC, + ConfigureType: GUID, + hChannel: HANDLE, + SequenceNumber: UINT, + ReturnCode: HRESULT, +}} +STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_INITIALIZE_INPUT { + Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, + StartSequenceQuery: UINT, + StartSequenceConfigure: UINT, +}} +STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_PROTECTION_INPUT { + Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, + Protections: D3D11_AUTHENTICATED_PROTECTION_FLAGS, +}} +STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_INPUT { + Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, + DecoderHandle: HANDLE, + CryptoSessionHandle: HANDLE, + DeviceHandle: HANDLE, +}} +STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_INPUT { + Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, + ProcessType: D3D11_AUTHENTICATED_PROCESS_IDENTIFIER_TYPE, + ProcessHandle: HANDLE, + AllowAccess: BOOL, +}} +STRUCT!{struct D3D11_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION_INPUT { + Parameters: D3D11_AUTHENTICATED_CONFIGURE_INPUT, + EncryptionGuid: GUID, +}} +RIDL!{interface ID3D11CryptoSession(ID3D11CryptoSessionVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetCryptoType(&mut self, pCryptoType: *mut GUID) -> (), + fn GetDecoderProfile(&mut self, pDecoderProfile: *mut GUID) -> (), + fn GetCertificateSize(&mut self, pCertificateSize: *mut UINT) -> HRESULT, + fn GetCertificate(&mut self, CertificateSize: UINT, pCertificate: *mut BYTE) -> HRESULT, + fn GetCryptoSessionHandle(&mut self, pCertificate: *mut HANDLE) -> () +}} +ENUM!{enum D3D11_VDOV_DIMENSION { + D3D11_VDOV_DIMENSION_UNKNOWN = 0, + D3D11_VDOV_DIMENSION_TEXTURE2D = 1, +}} +STRUCT!{struct D3D11_TEX2D_VDOV { + ArraySlice: UINT, +}} +STRUCT!{struct D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC { + DecodeProfile: GUID, + ViewDimension: D3D11_VDOV_DIMENSION, + Texture2D: D3D11_TEX2D_VDOV, +}} +RIDL!{interface ID3D11VideoDecoderOutputView(ID3D11VideoDecoderOutputViewVtbl) + : ID3D11View(ID3D11ViewVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC) -> () +}} +ENUM!{enum D3D11_VPIV_DIMENSION { + D3D11_VPIV_DIMENSION_UNKNOWN = 0, + D3D11_VPIV_DIMENSION_TEXTURE2D = 1, +}} +STRUCT!{struct D3D11_TEX2D_VPIV { + MipSlice: UINT, + ArraySlice: UINT, +}} +STRUCT!{struct D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC { + FourCC: UINT, + ViewDimension: D3D11_VPIV_DIMENSION, + Texture2D: D3D11_TEX2D_VPIV, +}} +RIDL!{interface ID3D11VideoProcessorInputView(ID3D11VideoProcessorInputViewVtbl) + : ID3D11View(ID3D11ViewVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC) -> () +}} +ENUM!{enum D3D11_VPOV_DIMENSION { + D3D11_VPOV_DIMENSION_UNKNOWN = 0, + D3D11_VPOV_DIMENSION_TEXTURE2D = 1, + D3D11_VPOV_DIMENSION_TEXTURE2DARRAY = 2, +}} +STRUCT!{struct D3D11_TEX2D_VPOV { + MipSlice: UINT, +}} +STRUCT!{struct D3D11_TEX2D_ARRAY_VPOV { + MipSlice: UINT, + FirstArraySlice: UINT, + ArraySize: UINT, +}} +STRUCT!{struct D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC { + ViewDimension: D3D11_VPOV_DIMENSION, + u: [UINT; 3], +}} +UNION!{D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC, u, Texture2D, Texture2D_mut, D3D11_TEX2D_VPOV} +UNION!{D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC, u, Texture2DArray, Texture2DArray_mut, + D3D11_TEX2D_ARRAY_VPOV} +RIDL!{interface ID3D11VideoProcessorOutputView(ID3D11VideoProcessorOutputViewVtbl) + : ID3D11View(ID3D11ViewVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC) -> () +}} +RIDL!{interface ID3D11VideoContext(ID3D11VideoContextVtbl): ID3D11DeviceChild(ID3D11DeviceChildVtbl) { + fn GetDecoderBuffer( + &mut self, pDecoder: *mut ID3D11VideoDecoder, Type: D3D11_VIDEO_DECODER_BUFFER_TYPE, + pBufferSize: *mut UINT, ppBuffer: *mut *mut c_void + ) -> HRESULT, + fn ReleaseDecoderBuffer( + &mut self, pDecoder: *mut ID3D11VideoDecoder, Type: D3D11_VIDEO_DECODER_BUFFER_TYPE + ) -> HRESULT, + fn DecoderBeginFrame( + &mut self, pDecoder: *mut ID3D11VideoDecoder, pView: *mut ID3D11VideoDecoderOutputView, + ContentKeySize: UINT, pContentKey: *const c_void + ) -> HRESULT, + fn DecoderEndFrame(&mut self, pDecoder: *mut ID3D11VideoDecoder) -> HRESULT, + fn SubmitDecoderBuffers( + &mut self, pDecoder: *mut ID3D11VideoDecoder, NumBuffers: UINT, + pBufferDesc: *const D3D11_VIDEO_DECODER_BUFFER_DESC + ) -> HRESULT, + fn DecoderExtension( + &mut self, pDecoder: *mut ID3D11VideoDecoder, + pExtensionData: *const D3D11_VIDEO_DECODER_EXTENSION + ) -> HRESULT, + fn VideoProcessorSetOutputTargetRect( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, Enable: BOOL, pRect: *const RECT + ) -> (), + fn VideoProcessorSetOutputBackgroundColor( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, YCbCr: BOOL, pRect: *const RECT + ) -> (), + fn VideoProcessorSetOutputColorSpace( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, + pColorSpace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE + ) -> HRESULT, + fn VideoProcessorSetOutputAlphaFillMode( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, + AlphaFillMode: D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, StreamIndex: UINT + ) -> (), + fn VideoProcessorSetOutputConstriction( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, Enable: BOOL, Size: SIZE + ) -> (), + fn VideoProcessorSetOutputStereoMode( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, Enable: BOOL + ) -> (), + fn VideoProcessorSetOutputExtension( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, pExtensionGuid: *const GUID, + DataSize: UINT, pData: *mut c_void + ) -> HRESULT, + fn VideoProcessorGetOutputTargetRect( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, Enabled: *mut BOOL, pRect: *mut RECT + ) -> (), + fn VideoProcessorGetOutputBackgroundColor( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, pYCbCr: *mut BOOL, + pColor: *mut D3D11_VIDEO_COLOR + ) -> (), + fn VideoProcessorGetOutputColorSpace( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, + pColorSpace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE + ) -> (), + fn VideoProcessorGetOutputAlphaFillMode( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, + pAlphaFillMode: *mut D3D11_VIDEO_PROCESSOR_ALPHA_FILL_MODE, pStreamIndex: *mut UINT + ) -> (), + fn VideoProcessorGetOutputConstriction( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, pEnabled: *mut BOOL, + pSize: *mut SIZE + ) -> (), + fn VideoProcessorGetOutputStereoMode( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, pEnabled: *mut BOOL + ) -> (), + fn VideoProcessorGetOutputExtension( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, pExtensionGuid: *const GUID, + DataSize: UINT, pData: *mut c_void + ) -> HRESULT, + fn VideoProcessorSetStreamFrameFormat( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + FrameFormat: D3D11_VIDEO_FRAME_FORMAT + ) -> (), + fn VideoProcessorSetStreamColorSpace( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pColorSpace: *const D3D11_VIDEO_PROCESSOR_COLOR_SPACE + ) -> (), + fn VideoProcessorSetStreamOutputRate( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + OutputRate: D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, RepeatFrame: BOOL, + pCustomRate: *const DXGI_RATIONAL + ) -> (), + fn VideoProcessorSetStreamSourceRect( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, Enable: BOOL, + pRect: *const RECT + ) -> (), + fn VideoProcessorSetStreamDestRect( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, Enable: BOOL, + pRect: *const RECT + ) -> (), + fn VideoProcessorSetStreamAlpha( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, Enable: BOOL, + Alpha: FLOAT + ) -> (), + fn VideoProcessorSetStreamPalette( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, Count: UINT, + pEntries: *const UINT + ) -> (), + fn VideoProcessorSetStreamPixelAspectRatio( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, Enable: BOOL, + pSourceAspectRatio: *const DXGI_RATIONAL, pDestinationAspectRatio: *const DXGI_RATIONAL + ) -> (), + fn VideoProcessorSetStreamLumaKey( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, Enable: BOOL, + Lower: FLOAT, Upper: FLOAT + ) -> (), + fn VideoProcessorSetStreamStereoFormat( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, Enable: BOOL, + Format: D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, LeftViewFrame0: BOOL, BaseViewFrame0: BOOL, + FlipMode: D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE + ) -> (), + fn VideoProcessorSetStreamAutoProcessingMode( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, Enable: BOOL + ) -> (), + fn VideoProcessorSetStreamFilter( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + Filter: D3D11_VIDEO_PROCESSOR_FILTER, Enable: BOOL, Level: c_int + ) -> (), + fn VideoProcessorSetStreamExtension( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pExtensionGuid: *const GUID, DataSize: UINT, pData: *mut c_void + ) -> HRESULT, + fn VideoProcessorGetStreamFrameFormat( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pFrameFormat: *mut D3D11_VIDEO_FRAME_FORMAT + ) -> (), + fn VideoProcessorGetStreamColorSpace( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pColorSpace: *mut D3D11_VIDEO_PROCESSOR_COLOR_SPACE + ) -> (), + fn VideoProcessorGetStreamOutputRate( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pOutputRate: *mut D3D11_VIDEO_PROCESSOR_OUTPUT_RATE, pRepeatFrame: *mut BOOL, + pCustomRate: *mut DXGI_RATIONAL + ) -> (), + fn VideoProcessorGetStreamSourceRect( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pEnabled: *mut BOOL, pRect: *mut RECT + ) -> (), + fn VideoProcessorGetStreamDestRect( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pEnabled: *mut BOOL, pRect: *mut RECT + ) -> (), + fn VideoProcessorGetStreamAlpha( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pEnabled: *mut BOOL, pAlpha: *mut FLOAT + ) -> (), + fn VideoProcessorGetStreamPalette( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, Count: UINT, + pEntries: *mut UINT + ) -> (), + fn VideoProcessorGetStreamPixelAspectRatio( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pEnabled: *mut BOOL, pSourceAspectRatio: *mut DXGI_RATIONAL, + pDestinationAspectRatio: *mut DXGI_RATIONAL + ) -> (), + fn VideoProcessorGetStreamLumaKey( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pEnabled: *mut BOOL, pLower: *mut FLOAT, pUpper: *mut FLOAT + ) -> (), + fn VideoProcessorGetStreamStereoFormat( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pEnabled: *mut BOOL, pFormat: *mut D3D11_VIDEO_PROCESSOR_STEREO_FORMAT, + pLeftViewFrame0: *mut BOOL, pBaseViewFrame0: *mut BOOL, + pFlipMode: *mut D3D11_VIDEO_PROCESSOR_STEREO_FLIP_MODE, MonoOffset: *mut c_int + ) -> (), + fn VideoProcessorGetStreamAutoProcessingMode( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pEnabled: *mut BOOL + ) -> (), + fn VideoProcessorGetStreamFilter( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + Filter: D3D11_VIDEO_PROCESSOR_FILTER, pEnabled: *mut BOOL, pLevel: *mut c_int + ) -> (), + fn VideoProcessorGetStreamExtension( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pExtensionGuid: *const GUID, DataSize: UINT, pData: *mut c_void + ) -> HRESULT, + fn VideoProcessorBlt( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, + pView: *mut ID3D11VideoProcessorOutputView, OutputFrame: UINT, StreamCount: UINT, + pStreams: *const D3D11_VIDEO_PROCESSOR_STREAM + ) -> HRESULT, + fn NegotiateCryptoSessionKeyExchange( + &mut self, pCryptoSession: *mut ID3D11CryptoSession, DataSize: UINT, pData: *mut c_void + ) -> HRESULT, + fn EncryptionBlt( + &mut self, pCryptoSession: *mut ID3D11CryptoSession, pSrcSurface: *mut ID3D11Texture2D, + pDstSurface: *mut ID3D11Texture2D, IVSize: UINT, pIV: *mut c_void + ) -> HRESULT, + fn DecryptionBlt( + &mut self, pCryptoSession: *mut ID3D11CryptoSession, pSrcSurface: *mut ID3D11Texture2D, + pDstSurface: *mut ID3D11Texture2D, pEncryptedBlockInfo: *mut D3D11_ENCRYPTED_BLOCK_INFO, + ContentKeySize: UINT, pContentKey: *const c_void, IVSize: UINT, pIV: *mut c_void + ) -> HRESULT, + fn StartSessionKeyRefresh( + &mut self, pCryptoSession: *mut ID3D11CryptoSession, RandomNumberSize: UINT, + pRandomNumber: *mut c_void + ) -> HRESULT, + fn FinishSessionKeyRefresh(&mut self, pCryptoSession: *mut ID3D11CryptoSession) -> HRESULT, + fn GetEncryptionBltKey( + &mut self, pCryptoSession: *mut ID3D11CryptoSession, KeySize: UINT, + pReadbackKey: *mut c_void + ) -> HRESULT, + fn NegotiateAuthenticatedChannelKeyExchange( + &mut self, pChannel: *mut ID3D11AuthenticatedChannel, DataSize: UINT, pData: *mut c_void + ) -> HRESULT, + fn QueryAuthenticatedChannel( + &mut self, pChannel: *mut ID3D11AuthenticatedChannel, InputSize: UINT, + pInput: *const c_void, OutputSize: UINT, pOutput: *mut c_void + ) -> HRESULT, + fn ConfigureAuthenticatedChannel( + &mut self, pChannel: *mut ID3D11AuthenticatedChannel, InputSize: UINT, + pInput: *const c_void, pOutput: *mut D3D11_AUTHENTICATED_CONFIGURE_OUTPUT + ) -> HRESULT, + fn VideoProcessorSetStreamRotation( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, Enable: BOOL, + Rotation: D3D11_VIDEO_PROCESSOR_ROTATION + ) -> HRESULT, + fn VideoProcessorGetStreamRotation( + &mut self, pVideoProcessor: *mut ID3D11VideoProcessor, StreamIndex: UINT, + pEnable: *mut BOOL, pRotation: *mut D3D11_VIDEO_PROCESSOR_ROTATION + ) -> HRESULT +}} +RIDL!{interface ID3D11VideoDevice(ID3D11VideoDeviceVtbl): IUnknown(IUnknownVtbl) { + fn CreateVideoDecoder( + &mut self, pVideoDesc: *const D3D11_VIDEO_DECODER_DESC, + pConfig: *const D3D11_VIDEO_DECODER_CONFIG, ppDecoder: *mut *mut ID3D11VideoDecoder + ) -> HRESULT, + fn CreateVideoProcessor( + &mut self, pEnum: *mut ID3D11VideoProcessorEnumerator, RateConversionIndex: UINT, + ppVideoProcessor: *mut *mut ID3D11VideoProcessor + ) -> HRESULT, + fn CreateAuthenticatedChannel( + &mut self, ChannelType: D3D11_AUTHENTICATED_CHANNEL_TYPE, + ppAuthenticatedChannel: *mut *mut ID3D11AuthenticatedChannel + ) -> HRESULT, + fn CreateCryptoSession( + &mut self, pCryptoType: *const GUID, pDecoderProfile: *const GUID, + pKeyExchangeType: *const GUID, ppCryptoSession: *mut *mut ID3D11CryptoSession + ) -> HRESULT, + fn CreateVideoDecoderOutputView( + &mut self, pResource: *mut ID3D11Resource, + pDesc: *const D3D11_VIDEO_DECODER_OUTPUT_VIEW_DESC, + ppVDOVView: *mut *mut ID3D11VideoDecoderOutputView + ) -> HRESULT, + fn CreateVideoProcessorInputView( + &mut self, pResource: *mut ID3D11Resource, pEnum: *mut ID3D11VideoProcessorEnumerator, + pDesc: *const D3D11_VIDEO_PROCESSOR_INPUT_VIEW_DESC, + ppVPIView: *mut *mut ID3D11VideoProcessorInputView + ) -> HRESULT, + fn CreateVideoProcessorOutputView( + &mut self, pResource: *mut ID3D11Resource, pEnum: *mut ID3D11VideoProcessorEnumerator, + pDesc: *const D3D11_VIDEO_PROCESSOR_OUTPUT_VIEW_DESC, + ppVPOView: *mut *mut ID3D11VideoProcessorOutputView + ) -> HRESULT, + fn CreateVideoProcessorEnumerator( + &mut self, pDesc: *const D3D11_VIDEO_PROCESSOR_CONTENT_DESC, + ppEnum: *mut *mut ID3D11VideoProcessorEnumerator + ) -> HRESULT, + fn GetVideoDecoderProfileCount(&mut self) -> UINT, + fn GetVideoDecoderProfile(&mut self, Index: UINT, pDecoderProfile: *mut GUID) -> HRESULT, + fn CheckVideoDecoderFormat( + &mut self, pDecoderProfile: *const GUID, Format: DXGI_FORMAT, pSupported: *mut BOOL + ) -> HRESULT, + fn GetVideoDecoderConfigCount( + &mut self, pDesc: *const D3D11_VIDEO_DECODER_DESC, pCount: *mut UINT + ) -> HRESULT, + fn GetVideoDecoderConfig( + &mut self, pDesc: *const D3D11_VIDEO_DECODER_DESC, Index: UINT, + pConfig: *mut D3D11_VIDEO_DECODER_CONFIG + ) -> HRESULT, + fn GetContentProtectionCaps( + &mut self, pCryptoType: *const GUID, pDecoderProfile: *const GUID, + pCaps: *mut D3D11_VIDEO_CONTENT_PROTECTION_CAPS + ) -> HRESULT, + fn CheckCryptoKeyExchange( + &mut self, pCryptoType: *const GUID, pDecoderProfile: *const GUID, Index: UINT, + pKeyExchangeType: *mut GUID + ) -> HRESULT, + fn SetPrivateData( &mut self, guid: REFGUID, DataSize: UINT, pData: *const c_void) -> HRESULT, + fn SetPrivateDataInterface(&mut self, guid: REFGUID, pData: *const IUnknown) -> HRESULT +}} +RIDL!{interface ID3D11Device(ID3D11DeviceVtbl): IUnknown(IUnknownVtbl) { + fn CreateBuffer( + &mut self, pDesc: *const D3D11_BUFFER_DESC, pInitialData: *const D3D11_SUBRESOURCE_DATA, + ppBuffer: *mut *mut ID3D11Buffer + ) -> HRESULT, + fn CreateTexture1D( + &mut self, pDesc: *const D3D11_TEXTURE1D_DESC, pInitialData: *const D3D11_SUBRESOURCE_DATA, + ppTexture1D: *mut *mut ID3D11Texture1D + ) -> HRESULT, + fn CreateTexture2D( + &mut self, pDesc: *const D3D11_TEXTURE2D_DESC, pInitialData: *const D3D11_SUBRESOURCE_DATA, + ppTexture2D: *mut *mut ID3D11Texture2D + ) -> HRESULT, + fn CreateTexture3D( + &mut self, pDesc: *const D3D11_TEXTURE3D_DESC, pInitialData: *const D3D11_SUBRESOURCE_DATA, + ppTexture3D: *mut *mut ID3D11Texture3D + ) -> HRESULT, + fn CreateShaderResourceView( + &mut self, pResource: *mut ID3D11Resource, pDesc: *const D3D11_SHADER_RESOURCE_VIEW_DESC, + ppSRView: *mut *mut ID3D11ShaderResourceView + ) -> HRESULT, + fn CreateUnorderedAccessView( + &mut self, pResource: *mut ID3D11Resource, pDesc: *const D3D11_UNORDERED_ACCESS_VIEW_DESC, + ppUAView: *mut *mut ID3D11UnorderedAccessView + ) -> HRESULT, + fn CreateRenderTargetView( + &mut self, pResource: *mut ID3D11Resource, pDesc: *const D3D11_RENDER_TARGET_VIEW_DESC, + ppRTView: *mut *mut ID3D11RenderTargetView + ) -> HRESULT, + fn CreateDepthStencilView( + &mut self, pResource: *mut ID3D11Resource, pDesc: *const D3D11_DEPTH_STENCIL_VIEW_DESC, + ppDepthStencilView: *mut *mut ID3D11DepthStencilView + ) -> HRESULT, + fn CreateInputLayout( + &mut self, pInputElementDescs: *const D3D11_INPUT_ELEMENT_DESC, NumElements: UINT, + pShaderBytecodeWithInputSignature: *const c_void, BytecodeLength: SIZE_T, + ppInputLayout: *mut *mut ID3D11InputLayout + ) -> HRESULT, + fn CreateVertexShader( + &mut self, pShaderBytecode: *const c_void, BytecodeLength: SIZE_T, + pClassLinkage: *mut ID3D11ClassLinkage, ppVertexShader: *mut *mut ID3D11VertexShader + ) -> HRESULT, + fn CreateGeometryShader( + &mut self, pShaderBytecode: *const c_void, BytecodeLength: SIZE_T, + pClassLinkage: *mut ID3D11ClassLinkage, ppGeometryShader: *mut *mut ID3D11GeometryShader + ) -> HRESULT, + fn CreateGeometryShaderWithStreamOutput( + &mut self, pShaderBytecode: *const c_void, BytecodeLength: SIZE_T, + pSODeclaration: *const D3D11_SO_DECLARATION_ENTRY, NumEntries: UINT, + pBufferStrides: *const UINT, NumStrides: UINT, RasterizedStream: UINT, + pClassLinkage: *mut ID3D11ClassLinkage, ppGeometryShader: *mut *mut ID3D11GeometryShader + ) -> HRESULT, + fn CreatePixelShader( + &mut self, pShaderBytecode: *const c_void, BytecodeLength: SIZE_T, + pClassLinkage: *mut ID3D11ClassLinkage, ppPixelShader: *mut *mut ID3D11PixelShader + ) -> HRESULT, + fn CreateHullShader( + &mut self, pShaderBytecode: *const c_void, BytecodeLength: SIZE_T, + pClassLinkage: *mut ID3D11ClassLinkage, ppHullShader: *mut *mut ID3D11HullShader + ) -> HRESULT, + fn CreateDomainShader( + &mut self, pShaderBytecode: *const c_void, BytecodeLength: SIZE_T, + pClassLinkage: *mut ID3D11ClassLinkage, ppDomainShader: *mut *mut ID3D11DomainShader + ) -> HRESULT, + fn CreateComputeShader( + &mut self, pShaderBytecode: *const c_void, BytecodeLength: SIZE_T, + pClassLinkage: *mut ID3D11ClassLinkage, ppComputeShader: *mut *mut ID3D11ComputeShader + ) -> HRESULT, + fn CreateClassLinkage(&mut self, ppLinkage: *mut *mut ID3D11ClassLinkage) -> HRESULT, + fn CreateBlendState( + &mut self, pBlendStateDesc: *const D3D11_BLEND_DESC, + ppBlendState: *mut *mut ID3D11BlendState + ) -> HRESULT, + fn CreateDepthStencilState( + &mut self, pDepthStencilDesc: *const D3D11_DEPTH_STENCIL_DESC, + ppDepthStencilState: *mut *mut ID3D11DepthStencilState + ) -> HRESULT, + fn CreateRasterizerState( + &mut self, pRasterizerDesc: *const D3D11_RASTERIZER_DESC, + ppRasterizerState: *mut *mut ID3D11RasterizerState + ) -> HRESULT, + fn CreateSamplerState( + &mut self, pSamplerDesc: *const D3D11_SAMPLER_DESC, + ppSamplerState: *mut *mut ID3D11SamplerState + ) -> HRESULT, + fn CreateQuery( + &mut self, pQueryDesc: *const D3D11_QUERY_DESC, ppQuery: *mut *mut ID3D11Query + ) -> HRESULT, + fn CreatePredicate( + &mut self, pPredicateDesc: *const D3D11_QUERY_DESC, ppPredicate: *mut *mut ID3D11Predicate + ) -> HRESULT, + fn CreateCounter( + &mut self, pCounterDesc: *const D3D11_COUNTER_DESC, ppCounter: *mut *mut ID3D11Counter + ) -> HRESULT, + fn CreateDeferredContext( + &mut self, ContextFlags: UINT, ppDeferredContext: *mut *mut ID3D11DeviceContext + ) -> HRESULT, + fn OpenSharedResource( + &mut self, hResource: HANDLE, ReturnedInterface: REFIID, ppResource: *mut *mut c_void + ) -> HRESULT, + fn CheckFormatSupport( + &mut self, Format: DXGI_FORMAT, pFormatSupport: *mut UINT + ) -> HRESULT, + fn CheckMultisampleQualityLevels( + &mut self, Format: DXGI_FORMAT, SampleCount: UINT, pNumQualityLevels: *mut UINT + ) -> HRESULT, + fn CheckCounterInfo(&mut self, pCounterInfo: *mut D3D11_COUNTER_INFO) -> (), + fn CheckCounter( + &mut self, pDesc: *const D3D11_COUNTER_DESC, pType: *mut D3D11_COUNTER_TYPE, + pActiveCounters: *mut UINT, szName: LPSTR, pNameLength: *mut UINT, szUnits: LPSTR, + pUnitsLength: *mut UINT, szDescription: LPSTR, pDescriptionLength: *mut UINT + ) -> HRESULT, + fn CheckFeatureSupport( + &mut self, Feature: D3D11_FEATURE, pFeatureSupportData: *mut c_void, + FeatureSupportDataSize: UINT + ) -> HRESULT, + fn GetPrivateData( + &mut self, guid: REFGUID, pDataSize: *mut UINT, pData: *mut c_void + ) -> HRESULT, + fn SetPrivateData( + &mut self, guid: REFGUID, DataSize: UINT, pData: *const c_void + ) -> HRESULT, + fn SetPrivateDataInterface(&mut self, guid: REFGUID, pData: *const IUnknown) -> HRESULT, + fn GetFeatureLevel(&mut self) -> D3D_FEATURE_LEVEL, + fn GetCreationFlags(&mut self) -> UINT, + fn GetDeviceRemovedReason(&mut self) -> HRESULT, + fn GetImmediateContext(&mut self, ppImmediateContext: *mut *mut ID3D11DeviceContext) -> (), + fn SetExceptionMode(&mut self, RaiseFlags: UINT) -> HRESULT, + fn GetExceptionMode(&mut self) -> UINT +}} +FLAGS!{enum D3D11_CREATE_DEVICE_FLAG { + D3D11_CREATE_DEVICE_SINGLETHREADED = 0x1, + D3D11_CREATE_DEVICE_DEBUG = 0x2, + D3D11_CREATE_DEVICE_SWITCH_TO_REF = 0x4, + D3D11_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS = 0x8, + D3D11_CREATE_DEVICE_BGRA_SUPPORT = 0x20, + D3D11_CREATE_DEVICE_DEBUGGABLE = 0x40, + D3D11_CREATE_DEVICE_PREVENT_ALTERING_LAYER_SETTINGS_FROM_REGISTRY = 0x80, + D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x100, + D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x800, +}} +pub const D3D11_SDK_VERSION: DWORD = 7; + +pub fn D3D11CalcSubresource(MipSlice: ::UINT, ArraySlice: ::UINT, MipLevels: ::UINT) -> ::UINT { + MipSlice + ArraySlice * MipLevels +} diff --git a/third_party/rust/winapi-0.2.8/src/d3d11shader.rs b/third_party/rust/winapi-0.2.8/src/d3d11shader.rs new file mode 100644 index 0000000000..8328abe82e --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d3d11shader.rs @@ -0,0 +1,320 @@ +// Copyright © 2016, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +use super::*; +ENUM!{enum D3D11_SHADER_VERSION_TYPE { + D3D11_SHVER_PIXEL_SHADER = 0, + D3D11_SHVER_VERTEX_SHADER = 1, + D3D11_SHVER_GEOMETRY_SHADER = 2, + D3D11_SHVER_HULL_SHADER = 3, + D3D11_SHVER_DOMAIN_SHADER = 4, + D3D11_SHVER_COMPUTE_SHADER = 5, + D3D11_SHVER_RESERVED0 = 0xFFF0, +}} +pub const D3D_RETURN_PARAMETER_INDEX: c_int = -1; +pub type D3D11_RESOURCE_RETURN_TYPE = D3D_RESOURCE_RETURN_TYPE; +pub type D3D11_CBUFFER_TYPE = D3D_CBUFFER_TYPE; +STRUCT!{struct D3D11_SIGNATURE_PARAMETER_DESC { + SemanticName: LPCSTR, + SemanticIndex: UINT, + Register: UINT, + SystemValueType: D3D_NAME, + ComponentType: D3D_REGISTER_COMPONENT_TYPE, + Mask: BYTE, + ReadWriteMask: BYTE, + Stream: UINT, + MinPrecision: D3D_MIN_PRECISION, +}} +STRUCT!{struct D3D11_SHADER_BUFFER_DESC { + Name: LPCSTR, + Type: D3D_CBUFFER_TYPE, + Variables: UINT, + Size: UINT, + uFlags: UINT, +}} +STRUCT!{struct D3D11_SHADER_VARIABLE_DESC { + Name: LPCSTR, + StartOffset: UINT, + Size: UINT, + uFlags: UINT, + DefaultValue: LPVOID, + StartTexture: UINT, + TextureSize: UINT, + StartSampler: UINT, + SamplerSize: UINT, +}} +STRUCT!{struct D3D11_SHADER_TYPE_DESC { + Class: D3D_SHADER_VARIABLE_CLASS, + Type: D3D_SHADER_VARIABLE_TYPE, + Rows: UINT, + Columns: UINT, + Elements: UINT, + Members: UINT, + Offset: UINT, + Name: LPCSTR, +}} +pub type D3D11_TESSELLATOR_DOMAIN = D3D_TESSELLATOR_DOMAIN; +pub type D3D11_TESSELLATOR_PARTITIONING = D3D_TESSELLATOR_PARTITIONING; +pub type D3D11_TESSELLATOR_OUTPUT_PRIMITIVE = D3D_TESSELLATOR_OUTPUT_PRIMITIVE; +STRUCT!{struct D3D11_SHADER_DESC { + Version: UINT, + Creator: LPCSTR, + Flags: UINT, + ConstantBuffers: UINT, + BoundResources: UINT, + InputParameters: UINT, + OutputParameters: UINT, + InstructionCount: UINT, + TempRegisterCount: UINT, + TempArrayCount: UINT, + DefCount: UINT, + DclCount: UINT, + TextureNormalInstructions: UINT, + TextureLoadInstructions: UINT, + TextureCompInstructions: UINT, + TextureBiasInstructions: UINT, + TextureGradientInstructions: UINT, + FloatInstructionCount: UINT, + IntInstructionCount: UINT, + UintInstructionCount: UINT, + StaticFlowControlCount: UINT, + DynamicFlowControlCount: UINT, + MacroInstructionCount: UINT, + ArrayInstructionCount: UINT, + CutInstructionCount: UINT, + EmitInstructionCount: UINT, + GSOutputTopology: D3D_PRIMITIVE_TOPOLOGY, + GSMaxOutputVertexCount: UINT, + InputPrimitive: D3D_PRIMITIVE, + PatchConstantParameters: UINT, + cGSInstanceCount: UINT, + cControlPoints: UINT, + HSOutputPrimitive: D3D_TESSELLATOR_OUTPUT_PRIMITIVE, + HSPartitioning: D3D_TESSELLATOR_PARTITIONING, + TessellatorDomain: D3D_TESSELLATOR_DOMAIN, + cBarrierInstructions: UINT, + cInterlockedInstructions: UINT, + cTextureStoreInstructions: UINT, +}} +STRUCT!{struct D3D11_SHADER_INPUT_BIND_DESC { + Name: LPCSTR, + Type: D3D_SHADER_INPUT_TYPE, + BindPoint: UINT, + BindCount: UINT, + uFlags: UINT, + ReturnType: D3D_RESOURCE_RETURN_TYPE, + Dimension: D3D_SRV_DIMENSION, + NumSamples: UINT, +}} +pub const D3D_SHADER_REQUIRES_DOUBLES: UINT64 = 0x00000001; +pub const D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL: UINT64 = 0x00000002; +pub const D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE: UINT64 = 0x00000004; +pub const D3D_SHADER_REQUIRES_64_UAVS: UINT64 = 0x00000008; +pub const D3D_SHADER_REQUIRES_MINIMUM_PRECISION: UINT64 = 0x00000010; +pub const D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS: UINT64 = 0x00000020; +pub const D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS: UINT64 = 0x00000040; +pub const D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING: UINT64 = 0x00000080; +pub const D3D_SHADER_REQUIRES_TILED_RESOURCES: UINT64 = 0x00000100; +STRUCT!{struct D3D11_LIBRARY_DESC { + Creator: LPCSTR, + Flags: UINT, + FunctionCount: UINT, +}} +STRUCT!{struct D3D11_FUNCTION_DESC { + Version: UINT, + Creator: LPCSTR, + Flags: UINT, + ConstantBuffers: UINT, + BoundResources: UINT, + InstructionCount: UINT, + TempRegisterCount: UINT, + TempArrayCount: UINT, + DefCount: UINT, + DclCount: UINT, + TextureNormalInstructions: UINT, + TextureLoadInstructions: UINT, + TextureCompInstructions: UINT, + TextureBiasInstructions: UINT, + TextureGradientInstructions: UINT, + FloatInstructionCount: UINT, + IntInstructionCount: UINT, + UintInstructionCount: UINT, + StaticFlowControlCount: UINT, + DynamicFlowControlCount: UINT, + MacroInstructionCount: UINT, + ArrayInstructionCount: UINT, + MovInstructionCount: UINT, + MovcInstructionCount: UINT, + ConversionInstructionCount: UINT, + BitwiseInstructionCount: UINT, + MinFeatureLevel: D3D_FEATURE_LEVEL, + RequiredFeatureFlags: UINT64, + Name: LPCSTR, + FunctionParameterCount: INT, + HasReturn: BOOL, + Has10Level9VertexShader: BOOL, + Has10Level9PixelShader: BOOL, +}} +STRUCT!{struct D3D11_PARAMETER_DESC { + Name: LPCSTR, + SemanticName: LPCSTR, + Type: D3D_SHADER_VARIABLE_TYPE, + Class: D3D_SHADER_VARIABLE_CLASS, + Rows: UINT, + Columns: UINT, + InterpolationMode: D3D_INTERPOLATION_MODE, + Flags: D3D_PARAMETER_FLAGS, + FirstInRegister: UINT, + FirstInComponent: UINT, + FirstOutRegister: UINT, + FirstOutComponent: UINT, +}} +RIDL!{interface ID3D11ShaderReflectionType(ID3D11ShaderReflectionTypeVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_SHADER_TYPE_DESC) -> HRESULT, + fn GetMemberTypeByIndex(&mut self, Index: UINT) -> *mut ID3D11ShaderReflectionType, + fn GetMemberTypeByName(&mut self, Name: LPCSTR) -> *mut ID3D11ShaderReflectionType, + fn GetMemberTypeName(&mut self, Index: UINT) -> LPCSTR, + fn IsEqual(&mut self, pType: *mut ID3D11ShaderReflectionType) -> HRESULT, + fn GetSubType(&mut self) -> *mut ID3D11ShaderReflectionType, + fn GetBaseClass(&mut self) -> *mut ID3D11ShaderReflectionType, + fn GetNumInterfaces(&mut self) -> UINT, + fn GetInterfaceByIndex(&mut self, uIndex: UINT) -> *mut ID3D11ShaderReflectionType, + fn IsOfType(&mut self, pType: *mut ID3D11ShaderReflectionType) -> HRESULT, + fn ImplementsInterface(&mut self, pBase: *mut ID3D11ShaderReflectionType) -> HRESULT +}} +RIDL!{interface ID3D11ShaderReflectionVariable(ID3D11ShaderReflectionVariableVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_SHADER_VARIABLE_DESC) -> HRESULT, + fn GetType(&mut self) -> *mut ID3D11ShaderReflectionType, + fn GetBuffer(&mut self) -> *mut ID3D11ShaderReflectionConstantBuffer, + fn GetInterfaceSlot(&mut self, uArrayIndex: UINT) -> UINT +}} +RIDL!{interface ID3D11ShaderReflectionConstantBuffer(ID3D11ShaderReflectionConstantBufferVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_SHADER_BUFFER_DESC) -> HRESULT, + fn GetVariableByIndex(&mut self, Index: UINT) -> *mut ID3D11ShaderReflectionVariable, + fn GetVariableByName(&mut self, Name: LPCSTR) -> *mut ID3D11ShaderReflectionVariable +}} +RIDL!{interface ID3D11ShaderReflection(ID3D11ShaderReflectionVtbl): IUnknown(IUnknownVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_SHADER_DESC) -> HRESULT, + fn GetConstantBufferByIndex( + &mut self, Index: UINT + ) -> *mut ID3D11ShaderReflectionConstantBuffer, + fn GetConstantBufferByName( + &mut self, Name: LPCSTR + ) -> *mut ID3D11ShaderReflectionConstantBuffer, + fn GetResourceBindingDesc( + &mut self, ResourceIndex: UINT, pDesc: *mut D3D11_SHADER_INPUT_BIND_DESC + ) -> HRESULT, + fn GetInputParameterDesc( + &mut self, ParameterIndex: UINT, pDesc: *mut D3D11_SIGNATURE_PARAMETER_DESC + ) -> HRESULT, + fn GetOutputParameterDesc( + &mut self, ParameterIndex: UINT, pDesc: *mut D3D11_SIGNATURE_PARAMETER_DESC + ) -> HRESULT, + fn GetPatchConstantParameterDesc( + &mut self, ParameterIndex: UINT, pDesc: *mut D3D11_SIGNATURE_PARAMETER_DESC + ) -> HRESULT, + fn GetVariableByName(&mut self, Name: LPCSTR) -> *mut ID3D11ShaderReflectionVariable, + fn GetResourceBindingDescByName( + &mut self, Name: LPCSTR, pDesc: *mut D3D11_SHADER_INPUT_BIND_DESC + ) -> HRESULT, + fn GetMovInstructionCount(&mut self) -> UINT, + fn GetMovcInstructionCount(&mut self) -> UINT, + fn GetConversionInstructionCount(&mut self) -> UINT, + fn GetBitwiseInstructionCount(&mut self) -> UINT, + fn GetGSInputPrimitive(&mut self) -> D3D_PRIMITIVE, + fn IsSampleFrequencyShader(&mut self) -> BOOL, + fn GetNumInterfaceSlots(&mut self) -> UINT, + fn GetMinFeatureLevel(&mut self, pLevel: *mut D3D_FEATURE_LEVEL) -> HRESULT, + fn GetThreadGroupSize( + &mut self, pSizeX: *mut UINT, pSizeY: *mut UINT, pSizeZ: *mut UINT + ) -> UINT, + fn GetRequiresFlags(&mut self) -> UINT64 +}} +RIDL!{interface ID3D11LibraryReflection(ID3D11LibraryReflectionVtbl): IUnknown(IUnknownVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_LIBRARY_DESC) -> HRESULT, + fn GetFunctionByIndex(&mut self, FunctionIndex: INT) -> *mut ID3D11FunctionReflection +}} +RIDL!{interface ID3D11FunctionReflection(ID3D11FunctionReflectionVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_FUNCTION_DESC) -> HRESULT, + fn GetConstantBufferByIndex( + &mut self, BufferIndex: UINT + ) -> *mut ID3D11ShaderReflectionConstantBuffer, + fn GetConstantBufferByName( + &mut self, Name: LPCSTR + ) -> *mut ID3D11ShaderReflectionConstantBuffer, + fn GetResourceBindingDesc( + &mut self, ResourceIndex: UINT, pDesc: *mut D3D11_SHADER_INPUT_BIND_DESC + ) -> HRESULT, + fn GetVariableByName(&mut self, Name: LPCSTR) -> *mut ID3D11ShaderReflectionVariable, + fn GetResourceBindingDescByName( + &mut self, Name: LPCSTR, pDesc: *mut D3D11_SHADER_INPUT_BIND_DESC + ) -> HRESULT, + fn GetFunctionParameter( + &mut self, ParameterIndex: INT + ) -> *mut ID3D11FunctionParameterReflection +}} +RIDL!{interface ID3D11FunctionParameterReflection(ID3D11FunctionParameterReflectionVtbl) { + fn GetDesc(&mut self, pDesc: *mut D3D11_PARAMETER_DESC) -> HRESULT +}} +RIDL!{interface ID3D11Module(ID3D11ModuleVtbl): IUnknown(IUnknownVtbl) { + fn CreateInstance( + &mut self, pNamespace: LPCSTR, ppModuleInstance: *mut *mut ID3D11ModuleInstance + ) -> HRESULT +}} +RIDL!{interface ID3D11ModuleInstance(ID3D11ModuleInstanceVtbl): IUnknown(IUnknownVtbl) { + fn BindConstantBuffer(&mut self, uSrcSlot: UINT, uDstSlot: UINT, cbDstOffset: UINT) -> HRESULT, + fn BindConstantBufferByName( + &mut self, pName: LPCSTR, uDstSlot: UINT, cbDstOffset: UINT + ) -> HRESULT, + fn BindResource(&mut self, uSrcSlot: UINT, uDstSlot: UINT, uCount: UINT) -> HRESULT, + fn BindResourceByName(&mut self, pName: LPCSTR, uDstSlot: UINT, uCount: UINT) -> HRESULT, + fn BindSampler(&mut self, uSrcSlot: UINT, uDstSlot: UINT, uCount: UINT) -> HRESULT, + fn BindSamplerByName(&mut self, pName: LPCSTR, uDstSlot: UINT, uCount: UINT) -> HRESULT, + fn BindUnorderedAccessView(&mut self, uSrcSlot: UINT, uDstSlot: UINT, uCount: UINT) -> HRESULT, + fn BindUnorderedAccessViewByName( + &mut self, pName: LPCSTR, uDstSlot: UINT, uCount: UINT + ) -> HRESULT, + fn BindResourceAsUnorderedAccessView( + &mut self, uSrcSrvSlot: UINT, uDstUavSlot: UINT, uCount: UINT + ) -> HRESULT, + fn BindResourceAsUnorderedAccessViewByName( + &mut self, pSrvName: LPCSTR, uDstUavSlot: UINT, uCount: UINT + ) -> HRESULT +}} +RIDL!{interface ID3D11Linker(ID3D11LinkerVtbl): IUnknown(IUnknownVtbl) { + fn Link( + &mut self, pEntry: *mut ID3D11ModuleInstance, pEntryName: LPCSTR, pTargetName: LPCSTR, + uFlags: UINT, ppShaderBlob: *mut *mut ID3DBlob, ppErrorBuffer: *mut *mut ID3DBlob + ) -> HRESULT, + fn UseLibrary(&mut self, pLibraryMI: *mut ID3D11ModuleInstance) -> HRESULT, + fn AddClipPlaneFromCBuffer(&mut self, uCBufferSlot: UINT, uCBufferEntry: UINT) -> HRESULT +}} +RIDL!{interface ID3D11LinkingNode(ID3D11LinkingNodeVtbl): IUnknown(IUnknownVtbl) {}} +RIDL!{interface ID3D11FunctionLinkingGraph(ID3D11FunctionLinkingGraphVtbl): IUnknown(IUnknownVtbl) { + fn CreateModuleInstance( + &mut self, ppModuleInstance: *mut *mut ID3D11ModuleInstance, + ppErrorBuffer: *mut *mut ID3DBlob + ) -> HRESULT, + fn SetInputSignature( + &mut self, pInputParameters: *const D3D11_PARAMETER_DESC, cInputParameters: UINT, + ppInputNode: *mut *mut ID3D11LinkingNode + ) -> HRESULT, + fn SetOutputSignature( + &mut self, pOutputParameters: *const D3D11_PARAMETER_DESC, cOutputParameters: UINT, + ppOutputNode: *mut *mut ID3D11LinkingNode + ) -> HRESULT, + fn CallFunction( + &mut self, pModuleInstanceNamespace: LPCSTR, + pModuleWithFunctionPrototype: *mut ID3D11Module, pFunctionName: LPCSTR, + ppCallNode: *mut *mut ID3D11LinkingNode + ) -> HRESULT, + fn PassValue( + &mut self, pSrcNode: *mut ID3D11LinkingNode, SrcParameterIndex: INT, + pDstNode: *mut ID3D11LinkingNode, DstParameterIndex: INT + ) -> HRESULT, + fn PassValueWithSwizzle( + &mut self, pSrcNode: *mut ID3D11LinkingNode, SrcParameterIndex: INT, pSrcSwizzle: LPCSTR, + pDstNode: *mut ID3D11LinkingNode, DstParameterIndex: INT, pDstSwizzle: LPCSTR + ) -> HRESULT, + fn GetLastError(&mut self, ppErrorBuffer: *mut *mut ID3DBlob) -> HRESULT, + fn GenerateHlsl(&mut self, uFlags: UINT, ppBuffer: *mut *mut ID3DBlob) -> HRESULT +}} diff --git a/third_party/rust/winapi-0.2.8/src/d3d12.rs b/third_party/rust/winapi-0.2.8/src/d3d12.rs new file mode 100644 index 0000000000..ac6ae3bdd2 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d3d12.rs @@ -0,0 +1,2324 @@ +// Copyright © 2015, Dmitry Roschin +// Licensed under the MIT License <LICENSE.md> +pub const D3D12_16BIT_INDEX_STRIP_CUT_VALUE: ::UINT = 0xffff; +pub const D3D12_32BIT_INDEX_STRIP_CUT_VALUE: ::UINT = 0xffffffff; +pub const D3D12_8BIT_INDEX_STRIP_CUT_VALUE: ::UINT = 0xff; +pub const D3D12_ANISOTROPIC_FILTERING_BIT: ::UINT = 0x40; +pub const D3D12_APPEND_ALIGNED_ELEMENT: ::UINT = 0xffffffff; +pub const D3D12_ARRAY_AXIS_ADDRESS_RANGE_BIT_COUNT: ::UINT = 9; +pub const D3D12_CLIP_OR_CULL_DISTANCE_COUNT: ::UINT = 8; +pub const D3D12_CLIP_OR_CULL_DISTANCE_ELEMENT_COUNT: ::UINT = 2; +pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT: ::UINT = 14; +pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENTS: ::UINT = 4; +pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT: ::UINT = 15; +pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_PARTIAL_UPDATE_EXTENTS_BYTE_ALIGNMENT: ::UINT = 16; +pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_COUNT: ::UINT = 15; +pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READS_PER_INST: ::UINT = 1; +pub const D3D12_COMMONSHADER_CONSTANT_BUFFER_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT: ::UINT = 64; +pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READS_PER_INST: ::UINT = 1; +pub const D3D12_COMMONSHADER_IMMEDIATE_CONSTANT_BUFFER_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_COMMONSHADER_IMMEDIATE_VALUE_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT: ::UINT = 128; +pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READS_PER_INST: ::UINT = 1; +pub const D3D12_COMMONSHADER_INPUT_RESOURCE_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT: ::UINT = 128; +pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_COUNT: ::UINT = 16; +pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_READS_PER_INST: ::UINT = 1; +pub const D3D12_COMMONSHADER_SAMPLER_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_COMMONSHADER_SAMPLER_SLOT_COUNT: ::UINT = 16; +pub const D3D12_COMMONSHADER_SUBROUTINE_NESTING_LIMIT: ::UINT = 32; +pub const D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_COMMONSHADER_TEMP_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_COMMONSHADER_TEMP_REGISTER_COUNT: ::UINT = 4096; +pub const D3D12_COMMONSHADER_TEMP_REGISTER_READS_PER_INST: ::UINT = 3; +pub const D3D12_COMMONSHADER_TEMP_REGISTER_READ_PORTS: ::UINT = 3; +pub const D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MAX: ::UINT = 10; +pub const D3D12_COMMONSHADER_TEXCOORD_RANGE_REDUCTION_MIN: ::INT = -10; +pub const D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_NEGATIVE: ::INT = -8; +pub const D3D12_COMMONSHADER_TEXEL_OFFSET_MAX_POSITIVE: ::UINT = 7; +pub const D3D12_CONSTANT_BUFFER_DATA_PLACEMENT_ALIGNMENT: ::UINT = 256; +pub const D3D12_CS_4_X_BUCKET00_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 256; +pub const D3D12_CS_4_X_BUCKET00_MAX_NUM_THREADS_PER_GROUP: ::UINT = 64; +pub const D3D12_CS_4_X_BUCKET01_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 240; +pub const D3D12_CS_4_X_BUCKET01_MAX_NUM_THREADS_PER_GROUP: ::UINT = 68; +pub const D3D12_CS_4_X_BUCKET02_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 224; +pub const D3D12_CS_4_X_BUCKET02_MAX_NUM_THREADS_PER_GROUP: ::UINT = 72; +pub const D3D12_CS_4_X_BUCKET03_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 208; +pub const D3D12_CS_4_X_BUCKET03_MAX_NUM_THREADS_PER_GROUP: ::UINT = 76; +pub const D3D12_CS_4_X_BUCKET04_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 192; +pub const D3D12_CS_4_X_BUCKET04_MAX_NUM_THREADS_PER_GROUP: ::UINT = 84; +pub const D3D12_CS_4_X_BUCKET05_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 176; +pub const D3D12_CS_4_X_BUCKET05_MAX_NUM_THREADS_PER_GROUP: ::UINT = 92; +pub const D3D12_CS_4_X_BUCKET06_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 160; +pub const D3D12_CS_4_X_BUCKET06_MAX_NUM_THREADS_PER_GROUP: ::UINT = 100; +pub const D3D12_CS_4_X_BUCKET07_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 144; +pub const D3D12_CS_4_X_BUCKET07_MAX_NUM_THREADS_PER_GROUP: ::UINT = 112; +pub const D3D12_CS_4_X_BUCKET08_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 128; +pub const D3D12_CS_4_X_BUCKET08_MAX_NUM_THREADS_PER_GROUP: ::UINT = 128; +pub const D3D12_CS_4_X_BUCKET09_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 112; +pub const D3D12_CS_4_X_BUCKET09_MAX_NUM_THREADS_PER_GROUP: ::UINT = 144; +pub const D3D12_CS_4_X_BUCKET10_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 96; +pub const D3D12_CS_4_X_BUCKET10_MAX_NUM_THREADS_PER_GROUP: ::UINT = 168; +pub const D3D12_CS_4_X_BUCKET11_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 80; +pub const D3D12_CS_4_X_BUCKET11_MAX_NUM_THREADS_PER_GROUP: ::UINT = 204; +pub const D3D12_CS_4_X_BUCKET12_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 64; +pub const D3D12_CS_4_X_BUCKET12_MAX_NUM_THREADS_PER_GROUP: ::UINT = 256; +pub const D3D12_CS_4_X_BUCKET13_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 48; +pub const D3D12_CS_4_X_BUCKET13_MAX_NUM_THREADS_PER_GROUP: ::UINT = 340; +pub const D3D12_CS_4_X_BUCKET14_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 32; +pub const D3D12_CS_4_X_BUCKET14_MAX_NUM_THREADS_PER_GROUP: ::UINT = 512; +pub const D3D12_CS_4_X_BUCKET15_MAX_BYTES_TGSM_WRITABLE_PER_THREAD: ::UINT = 16; +pub const D3D12_CS_4_X_BUCKET15_MAX_NUM_THREADS_PER_GROUP: ::UINT = 768; +pub const D3D12_CS_4_X_DISPATCH_MAX_THREAD_GROUPS_IN_Z_DIMENSION: ::UINT = 1; +pub const D3D12_CS_4_X_RAW_UAV_BYTE_ALIGNMENT: ::UINT = 256; +pub const D3D12_CS_4_X_THREAD_GROUP_MAX_THREADS_PER_GROUP: ::UINT = 768; +pub const D3D12_CS_4_X_THREAD_GROUP_MAX_X: ::UINT = 768; +pub const D3D12_CS_4_X_THREAD_GROUP_MAX_Y: ::UINT = 768; +pub const D3D12_CS_4_X_UAV_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION: ::UINT = 65535; +pub const D3D12_CS_TGSM_REGISTER_COUNT: ::UINT = 8192; +pub const D3D12_CS_TGSM_REGISTER_READS_PER_INST: ::UINT = 1; +pub const D3D12_CS_TGSM_RESOURCE_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_CS_TGSM_RESOURCE_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_CS_THREADGROUPID_REGISTER_COMPONENTS: ::UINT = 3; +pub const D3D12_CS_THREADGROUPID_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_CS_THREADIDINGROUPFLATTENED_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_CS_THREADIDINGROUP_REGISTER_COMPONENTS: ::UINT = 3; +pub const D3D12_CS_THREADIDINGROUP_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_CS_THREADID_REGISTER_COMPONENTS: ::UINT = 3; +pub const D3D12_CS_THREADID_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_CS_THREAD_GROUP_MAX_THREADS_PER_GROUP: ::UINT = 1024; +pub const D3D12_CS_THREAD_GROUP_MAX_X: ::UINT = 1024; +pub const D3D12_CS_THREAD_GROUP_MAX_Y: ::UINT = 1024; +pub const D3D12_CS_THREAD_GROUP_MAX_Z: ::UINT = 64; +pub const D3D12_CS_THREAD_GROUP_MIN_X: ::UINT = 1; +pub const D3D12_CS_THREAD_GROUP_MIN_Y: ::UINT = 1; +pub const D3D12_CS_THREAD_GROUP_MIN_Z: ::UINT = 1; +pub const D3D12_CS_THREAD_LOCAL_TEMP_REGISTER_POOL: ::UINT = 16384; +pub const D3D12_DEFAULT_BLEND_FACTOR_ALPHA: ::FLOAT = 1.0; +pub const D3D12_DEFAULT_BLEND_FACTOR_BLUE: ::FLOAT = 1.0; +pub const D3D12_DEFAULT_BLEND_FACTOR_GREEN: ::FLOAT = 1.0; +pub const D3D12_DEFAULT_BLEND_FACTOR_RED: ::FLOAT = 1.0; +pub const D3D12_DEFAULT_BORDER_COLOR_COMPONENT: ::FLOAT = 0.0; +pub const D3D12_DEFAULT_DEPTH_BIAS: ::UINT = 0; +pub const D3D12_DEFAULT_DEPTH_BIAS_CLAMP: ::FLOAT = 0.0; +pub const D3D12_DEFAULT_MAX_ANISOTROPY: ::UINT = 16; +pub const D3D12_DEFAULT_MIP_LOD_BIAS: ::FLOAT = 0.0; +pub const D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT: ::UINT = 4194304; +pub const D3D12_DEFAULT_RENDER_TARGET_ARRAY_INDEX: ::UINT = 0; +pub const D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT: ::UINT = 65536; +pub const D3D12_DEFAULT_SAMPLE_MASK: ::UINT = 0xffffffff; +pub const D3D12_DEFAULT_SCISSOR_ENDX: ::UINT = 0; +pub const D3D12_DEFAULT_SCISSOR_ENDY: ::UINT = 0; +pub const D3D12_DEFAULT_SCISSOR_STARTX: ::UINT = 0; +pub const D3D12_DEFAULT_SCISSOR_STARTY: ::UINT = 0; +pub const D3D12_DEFAULT_SLOPE_SCALED_DEPTH_BIAS: ::FLOAT = 0.0; +pub const D3D12_DEFAULT_STENCIL_READ_MASK: ::UINT = 0xff; +pub const D3D12_DEFAULT_STENCIL_REFERENCE: ::UINT = 0; +pub const D3D12_DEFAULT_STENCIL_WRITE_MASK: ::UINT = 0xff; +pub const D3D12_DEFAULT_VIEWPORT_AND_SCISSORRECT_INDEX: ::UINT = 0; +pub const D3D12_DEFAULT_VIEWPORT_HEIGHT: ::UINT = 0; +pub const D3D12_DEFAULT_VIEWPORT_MAX_DEPTH: ::FLOAT = 0.0; +pub const D3D12_DEFAULT_VIEWPORT_MIN_DEPTH: ::FLOAT = 0.0; +pub const D3D12_DEFAULT_VIEWPORT_TOPLEFTX: ::UINT = 0; +pub const D3D12_DEFAULT_VIEWPORT_TOPLEFTY: ::UINT = 0; +pub const D3D12_DEFAULT_VIEWPORT_WIDTH: ::UINT = 0; +pub const D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND: ::UINT = 0xffffffff; +pub const D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_END: ::UINT = 0xfffffff7; +pub const D3D12_DRIVER_RESERVED_REGISTER_SPACE_VALUES_START: ::UINT = 0xfffffff0; +pub const D3D12_DS_INPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: ::UINT = 3968; +pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_COUNT: ::UINT = 32; +pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_DS_INPUT_CONTROL_POINT_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENTS: ::UINT = 3; +pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_DS_INPUT_DOMAIN_POINT_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT: ::UINT = 32; +pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_DS_INPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_DS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_DS_OUTPUT_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_DS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_DS_OUTPUT_REGISTER_COUNT: ::UINT = 32; +pub const D3D12_FILTER_REDUCTION_TYPE_MASK: ::UINT = 0x3; +pub const D3D12_FILTER_REDUCTION_TYPE_SHIFT: ::UINT = 7; +pub const D3D12_FILTER_TYPE_MASK: ::UINT = 0x3; +pub const D3D12_FLOAT16_FUSED_TOLERANCE_IN_ULP: ::DOUBLE = 0.6; +pub const D3D12_FLOAT32_MAX: ::FLOAT = 3.402823466e+38; +pub const D3D12_FLOAT32_TO_INTEGER_TOLERANCE_IN_ULP: ::FLOAT = 0.6; +pub const D3D12_FLOAT_TO_SRGB_EXPONENT_DENOMINATOR: ::FLOAT = 2.4; +pub const D3D12_FLOAT_TO_SRGB_EXPONENT_NUMERATOR: ::FLOAT = 1.0; +pub const D3D12_FLOAT_TO_SRGB_OFFSET: ::FLOAT = 0.055; +pub const D3D12_FLOAT_TO_SRGB_SCALE_1: ::FLOAT = 12.92; +pub const D3D12_FLOAT_TO_SRGB_SCALE_2: ::FLOAT = 1.055; +pub const D3D12_FLOAT_TO_SRGB_THRESHOLD: ::FLOAT = 0.0031308; +pub const D3D12_FTOI_INSTRUCTION_MAX_INPUT: ::FLOAT = 2147483647.999; +pub const D3D12_FTOI_INSTRUCTION_MIN_INPUT: ::FLOAT = -2147483648.999; +pub const D3D12_FTOU_INSTRUCTION_MAX_INPUT: ::FLOAT = 4294967295.999; +pub const D3D12_FTOU_INSTRUCTION_MIN_INPUT: ::FLOAT = 0.0; +pub const D3D12_GS_INPUT_INSTANCE_ID_READS_PER_INST: ::UINT = 2; +pub const D3D12_GS_INPUT_INSTANCE_ID_READ_PORTS: ::UINT = 1; +pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_GS_INPUT_INSTANCE_ID_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_GS_INPUT_PRIM_CONST_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_GS_INPUT_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_GS_INPUT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_GS_INPUT_REGISTER_COUNT: ::UINT = 32; +pub const D3D12_GS_INPUT_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_GS_INPUT_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_GS_INPUT_REGISTER_VERTICES: ::UINT = 32; +pub const D3D12_GS_MAX_INSTANCE_COUNT: ::UINT = 32; +pub const D3D12_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES: ::UINT = 1024; +pub const D3D12_GS_OUTPUT_ELEMENTS: ::UINT = 32; +pub const D3D12_GS_OUTPUT_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_GS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_GS_OUTPUT_REGISTER_COUNT: ::UINT = 32; +pub const D3D12_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT: ::UINT = 32; +pub const D3D12_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT: ::UINT = 32; +pub const D3D12_HS_CONTROL_POINT_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_HS_CONTROL_POINT_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_HS_CONTROL_POINT_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_HS_FORK_PHASE_INSTANCE_COUNT_UPPER_BOUND: ::UINT = 0xffffffff; +pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_HS_INPUT_FORK_INSTANCE_ID_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_HS_INPUT_JOIN_INSTANCE_ID_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_HS_INPUT_PRIMITIVE_ID_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_HS_JOIN_PHASE_INSTANCE_COUNT_UPPER_BOUND: ::UINT = 0xffffffff; +pub const D3D12_HS_MAXTESSFACTOR_LOWER_BOUND: ::FLOAT = 1.0; +pub const D3D12_HS_MAXTESSFACTOR_UPPER_BOUND: ::FLOAT = 64.0; +pub const D3D12_HS_OUTPUT_CONTROL_POINTS_MAX_TOTAL_SCALARS: ::UINT = 3968; +pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_HS_OUTPUT_CONTROL_POINT_ID_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT: ::UINT = 32; +pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_HS_OUTPUT_PATCH_CONSTANT_REGISTER_SCALAR_COMPONENTS: ::UINT = 128; +pub const D3D12_IA_DEFAULT_INDEX_BUFFER_OFFSET_IN_BYTES: ::UINT = 0; +pub const D3D12_IA_DEFAULT_PRIMITIVE_TOPOLOGY: ::UINT = 0; +pub const D3D12_IA_DEFAULT_VERTEX_BUFFER_OFFSET_IN_BYTES: ::UINT = 0; +pub const D3D12_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT: ::UINT = 1; +pub const D3D12_IA_INSTANCE_ID_BIT_COUNT: ::UINT = 32; +pub const D3D12_IA_INTEGER_ARITHMETIC_BIT_COUNT: ::UINT = 32; +pub const D3D12_IA_PATCH_MAX_CONTROL_POINT_COUNT: ::UINT = 32; +pub const D3D12_IA_PRIMITIVE_ID_BIT_COUNT: ::UINT = 32; +pub const D3D12_IA_VERTEX_ID_BIT_COUNT: ::UINT = 32; +pub const D3D12_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT: ::UINT = 32; +pub const D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENTS_COMPONENTS: ::UINT = 128; +pub const D3D12_IA_VERTEX_INPUT_STRUCTURE_ELEMENT_COUNT: ::UINT = 32; +pub const D3D12_INTEGER_DIVIDE_BY_ZERO_QUOTIENT: ::UINT = 0xffffffff; +pub const D3D12_INTEGER_DIVIDE_BY_ZERO_REMAINDER: ::UINT = 0xffffffff; +pub const D3D12_KEEP_RENDER_TARGETS_AND_DEPTH_STENCIL: ::UINT = 0xffffffff; +pub const D3D12_KEEP_UNORDERED_ACCESS_VIEWS: ::UINT = 0xffffffff; +pub const D3D12_LINEAR_GAMMA: ::FLOAT = 1.0; +pub const D3D12_MAG_FILTER_SHIFT: ::UINT = 2; +pub const D3D12_MAJOR_VERSION: ::UINT = 12; +pub const D3D12_MAX_BORDER_COLOR_COMPONENT: ::FLOAT = 1.0; +pub const D3D12_MAX_DEPTH: ::FLOAT = 1.0; +pub const D3D12_MAX_LIVE_STATIC_SAMPLERS: ::UINT = 2032; +pub const D3D12_MAX_MAXANISOTROPY: ::UINT = 16; +pub const D3D12_MAX_MULTISAMPLE_SAMPLE_COUNT: ::UINT = 32; +pub const D3D12_MAX_POSITION_VALUE: ::FLOAT = 3.402823466e+34; +pub const D3D12_MAX_ROOT_COST: ::UINT = 64; +pub const D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_1: ::UINT = 1000000; +pub const D3D12_MAX_SHADER_VISIBLE_DESCRIPTOR_HEAP_SIZE_TIER_2: ::UINT = 1000000; +pub const D3D12_MAX_SHADER_VISIBLE_SAMPLER_HEAP_SIZE: ::UINT = 2048; +pub const D3D12_MAX_TEXTURE_DIMENSION_2_TO_EXP: ::UINT = 17; +pub const D3D12_MINOR_VERSION: ::UINT = 0; +pub const D3D12_MIN_BORDER_COLOR_COMPONENT: ::FLOAT = 0.0; +pub const D3D12_MIN_DEPTH: ::FLOAT = 0.0; +pub const D3D12_MIN_FILTER_SHIFT: ::UINT = 4; +pub const D3D12_MIN_MAXANISOTROPY: ::UINT = 0; +pub const D3D12_MIP_FILTER_SHIFT: ::UINT = 0; +pub const D3D12_MIP_LOD_BIAS_MAX: ::FLOAT = 15.99; +pub const D3D12_MIP_LOD_BIAS_MIN: ::FLOAT = -16.0; +pub const D3D12_MIP_LOD_FRACTIONAL_BIT_COUNT: ::UINT = 8; +pub const D3D12_MIP_LOD_RANGE_BIT_COUNT: ::UINT = 8; +pub const D3D12_MULTISAMPLE_ANTIALIAS_LINE_WIDTH: ::FLOAT = 1.4; +pub const D3D12_NONSAMPLE_FETCH_OUT_OF_RANGE_ACCESS_RESULT: ::UINT = 0; +pub const D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_END: ::UINT = 0xffffffff; +pub const D3D12_OS_RESERVED_REGISTER_SPACE_VALUES_START: ::UINT = 0xfffffff8; +pub const D3D12_PACKED_TILE: ::UINT = 0xffffffff; +pub const D3D12_PIXEL_ADDRESS_RANGE_BIT_COUNT: ::UINT = 15; +pub const D3D12_PRE_SCISSOR_PIXEL_ADDRESS_RANGE_BIT_COUNT: ::UINT = 16; +pub const D3D12_PS_CS_UAV_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_PS_CS_UAV_REGISTER_COUNT: ::UINT = 8; +pub const D3D12_PS_CS_UAV_REGISTER_READS_PER_INST: ::UINT = 1; +pub const D3D12_PS_CS_UAV_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_PS_FRONTFACING_DEFAULT_VALUE: ::UINT = 0xffffffff; +pub const D3D12_PS_FRONTFACING_FALSE_VALUE: ::UINT = 0; +pub const D3D12_PS_FRONTFACING_TRUE_VALUE: ::UINT = 0xffffffff; +pub const D3D12_PS_INPUT_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_PS_INPUT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_PS_INPUT_REGISTER_COUNT: ::UINT = 32; +pub const D3D12_PS_INPUT_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_PS_INPUT_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_PS_LEGACY_PIXEL_CENTER_FRACTIONAL_COMPONENT: ::FLOAT = 0.0; +pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_PS_OUTPUT_DEPTH_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENTS: ::UINT = 1; +pub const D3D12_PS_OUTPUT_MASK_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_PS_OUTPUT_MASK_REGISTER_COUNT: ::UINT = 1; +pub const D3D12_PS_OUTPUT_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_PS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_PS_OUTPUT_REGISTER_COUNT: ::UINT = 8; +pub const D3D12_PS_PIXEL_CENTER_FRACTIONAL_COMPONENT: ::FLOAT = 0.5; +pub const D3D12_RAW_UAV_SRV_BYTE_ALIGNMENT: ::UINT = 16; +pub const D3D12_REQ_BLEND_OBJECT_COUNT_PER_DEVICE: ::UINT = 4096; +pub const D3D12_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP: ::UINT = 27; +pub const D3D12_REQ_CONSTANT_BUFFER_ELEMENT_COUNT: ::UINT = 4096; +pub const D3D12_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE: ::UINT = 4096; +pub const D3D12_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: ::UINT = 32; +pub const D3D12_REQ_DRAW_VERTEX_COUNT_2_TO_EXP: ::UINT = 32; +pub const D3D12_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION: ::UINT = 16384; +pub const D3D12_REQ_GS_INVOCATION_32BIT_OUTPUT_COMPONENT_LIMIT: ::UINT = 1024; +pub const D3D12_REQ_IMMEDIATE_CONSTANT_BUFFER_ELEMENT_COUNT: ::UINT = 4096; +pub const D3D12_REQ_MAXANISOTROPY: ::UINT = 16; +pub const D3D12_REQ_MIP_LEVELS: ::UINT = 15; +pub const D3D12_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES: ::UINT = 2048; +pub const D3D12_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE: ::UINT = 4096; +pub const D3D12_REQ_RENDER_TO_BUFFER_WINDOW_WIDTH: ::UINT = 16384; +pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM: ::UINT = 128; +pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM: ::FLOAT = 0.25; +pub const D3D12_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM: ::UINT = 2048; +pub const D3D12_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP: ::UINT = 20; +pub const D3D12_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE: ::UINT = 4096; +pub const D3D12_REQ_SUBRESOURCES: ::UINT = 30720; +pub const D3D12_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION: ::UINT = 2048; +pub const D3D12_REQ_TEXTURE1D_U_DIMENSION: ::UINT = 16384; +pub const D3D12_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION: ::UINT = 2048; +pub const D3D12_REQ_TEXTURE2D_U_OR_V_DIMENSION: ::UINT = 16384; +pub const D3D12_REQ_TEXTURE3D_U_V_OR_W_DIMENSION: ::UINT = 2048; +pub const D3D12_REQ_TEXTURECUBE_DIMENSION: ::UINT = 16384; +pub const D3D12_RESINFO_INSTRUCTION_MISSING_COMPONENT_RETVAL: ::UINT = 0; +pub const D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES: ::UINT = 0xffffffff; +pub const D3D12_SHADER_COMPONENT_MAPPING_MASK: ::UINT = 0x7; +pub const D3D12_SHADER_COMPONENT_MAPPING_SHIFT: ::UINT = 3; +pub const D3D12_SHADER_MAJOR_VERSION: ::UINT = 5; +pub const D3D12_SHADER_MAX_INSTANCES: ::UINT = 65535; +pub const D3D12_SHADER_MAX_INTERFACES: ::UINT = 253; +pub const D3D12_SHADER_MAX_INTERFACE_CALL_SITES: ::UINT = 4096; +pub const D3D12_SHADER_MAX_TYPES: ::UINT = 65535; +pub const D3D12_SHADER_MINOR_VERSION: ::UINT = 1; +pub const D3D12_SHIFT_INSTRUCTION_PAD_VALUE: ::UINT = 0; +pub const D3D12_SHIFT_INSTRUCTION_SHIFT_VALUE_BIT_COUNT: ::UINT = 5; +pub const D3D12_SIMULTANEOUS_RENDER_TARGET_COUNT: ::UINT = 8; +pub const D3D12_SMALL_MSAA_RESOURCE_PLACEMENT_ALIGNMENT: ::UINT = 65536; +pub const D3D12_SMALL_RESOURCE_PLACEMENT_ALIGNMENT: ::UINT = 4096; +pub const D3D12_SO_BUFFER_MAX_STRIDE_IN_BYTES: ::UINT = 2048; +pub const D3D12_SO_BUFFER_MAX_WRITE_WINDOW_IN_BYTES: ::UINT = 512; +pub const D3D12_SO_BUFFER_SLOT_COUNT: ::UINT = 4; +pub const D3D12_SO_DDI_REGISTER_INDEX_DENOTING_GAP: ::UINT = 0xffffffff; +pub const D3D12_SO_NO_RASTERIZED_STREAM: ::UINT = 0xffffffff; +pub const D3D12_SO_OUTPUT_COMPONENT_COUNT: ::UINT = 128; +pub const D3D12_SO_STREAM_COUNT: ::UINT = 4; +pub const D3D12_SPEC_DATE_DAY: ::UINT = 14; +pub const D3D12_SPEC_DATE_MONTH: ::UINT = 11; +pub const D3D12_SPEC_DATE_YEAR: ::UINT = 2014; +pub const D3D12_SPEC_VERSION: ::DOUBLE = 1.16; +pub const D3D12_SRGB_GAMMA: ::FLOAT = 2.2; +pub const D3D12_SRGB_TO_FLOAT_DENOMINATOR_1: ::FLOAT = 12.92; +pub const D3D12_SRGB_TO_FLOAT_DENOMINATOR_2: ::FLOAT = 1.055; +pub const D3D12_SRGB_TO_FLOAT_EXPONENT: ::FLOAT = 2.4; +pub const D3D12_SRGB_TO_FLOAT_OFFSET: ::FLOAT = 0.055; +pub const D3D12_SRGB_TO_FLOAT_THRESHOLD: ::FLOAT = 0.04045; +pub const D3D12_SRGB_TO_FLOAT_TOLERANCE_IN_ULP: ::FLOAT = 0.5; +pub const D3D12_STANDARD_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_STANDARD_COMPONENT_BIT_COUNT_DOUBLED: ::UINT = 64; +pub const D3D12_STANDARD_MAXIMUM_ELEMENT_ALIGNMENT_BYTE_MULTIPLE: ::UINT = 4; +pub const D3D12_STANDARD_PIXEL_COMPONENT_COUNT: ::UINT = 128; +pub const D3D12_STANDARD_PIXEL_ELEMENT_COUNT: ::UINT = 32; +pub const D3D12_STANDARD_VECTOR_SIZE: ::UINT = 4; +pub const D3D12_STANDARD_VERTEX_ELEMENT_COUNT: ::UINT = 32; +pub const D3D12_STANDARD_VERTEX_TOTAL_COMPONENT_COUNT: ::UINT = 64; +pub const D3D12_SUBPIXEL_FRACTIONAL_BIT_COUNT: ::UINT = 8; +pub const D3D12_SUBTEXEL_FRACTIONAL_BIT_COUNT: ::UINT = 8; +pub const D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_END: ::UINT = 0xffffffff; +pub const D3D12_SYSTEM_RESERVED_REGISTER_SPACE_VALUES_START: ::UINT = 0xfffffff0; +pub const D3D12_TESSELLATOR_MAX_EVEN_TESSELLATION_FACTOR: ::UINT = 64; +pub const D3D12_TESSELLATOR_MAX_ISOLINE_DENSITY_TESSELLATION_FACTOR: ::UINT = 64; +pub const D3D12_TESSELLATOR_MAX_ODD_TESSELLATION_FACTOR: ::UINT = 63; +pub const D3D12_TESSELLATOR_MAX_TESSELLATION_FACTOR: ::UINT = 64; +pub const D3D12_TESSELLATOR_MIN_EVEN_TESSELLATION_FACTOR: ::UINT = 2; +pub const D3D12_TESSELLATOR_MIN_ISOLINE_DENSITY_TESSELLATION_FACTOR: ::UINT = 1; +pub const D3D12_TESSELLATOR_MIN_ODD_TESSELLATION_FACTOR: ::UINT = 1; +pub const D3D12_TEXEL_ADDRESS_RANGE_BIT_COUNT: ::UINT = 16; +pub const D3D12_TEXTURE_DATA_PITCH_ALIGNMENT: ::UINT = 256; +pub const D3D12_TEXTURE_DATA_PLACEMENT_ALIGNMENT: ::UINT = 512; +pub const D3D12_TILED_RESOURCE_TILE_SIZE_IN_BYTES: ::UINT = 65536; +pub const D3D12_UAV_COUNTER_PLACEMENT_ALIGNMENT: ::UINT = 4096; +pub const D3D12_UAV_SLOT_COUNT: ::UINT = 64; +pub const D3D12_UNBOUND_MEMORY_ACCESS_RESULT: ::UINT = 0; +pub const D3D12_VIEWPORT_AND_SCISSORRECT_MAX_INDEX: ::UINT = 15; +pub const D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE: ::UINT = 16; +pub const D3D12_VIEWPORT_BOUNDS_MAX: ::UINT = 32767; +pub const D3D12_VIEWPORT_BOUNDS_MIN: ::INT = -32768; +pub const D3D12_VS_INPUT_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_VS_INPUT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_VS_INPUT_REGISTER_COUNT: ::UINT = 32; +pub const D3D12_VS_INPUT_REGISTER_READS_PER_INST: ::UINT = 2; +pub const D3D12_VS_INPUT_REGISTER_READ_PORTS: ::UINT = 1; +pub const D3D12_VS_OUTPUT_REGISTER_COMPONENTS: ::UINT = 4; +pub const D3D12_VS_OUTPUT_REGISTER_COMPONENT_BIT_COUNT: ::UINT = 32; +pub const D3D12_VS_OUTPUT_REGISTER_COUNT: ::UINT = 32; +pub const D3D12_WHQL_CONTEXT_COUNT_FOR_RESOURCE_LIMIT: ::UINT = 10; +pub const D3D12_WHQL_DRAWINDEXED_INDEX_COUNT_2_TO_EXP: ::UINT = 25; +pub const D3D12_WHQL_DRAW_VERTEX_COUNT_2_TO_EXP: ::UINT = 25; +pub type D3D12_GPU_VIRTUAL_ADDRESS = ::UINT64; +ENUM!{enum D3D12_COMMAND_LIST_TYPE { + D3D12_COMMAND_LIST_TYPE_DIRECT = 0, + D3D12_COMMAND_LIST_TYPE_BUNDLE = 1, + D3D12_COMMAND_LIST_TYPE_COMPUTE = 2, + D3D12_COMMAND_LIST_TYPE_COPY = 3, +}} +FLAGS!{enum D3D12_COMMAND_QUEUE_FLAGS { + D3D12_COMMAND_QUEUE_FLAG_NONE = 0x0, + D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1, +}} +ENUM!{enum D3D12_COMMAND_QUEUE_PRIORITY { + D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0, + D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100, +}} +STRUCT!{struct D3D12_COMMAND_QUEUE_DESC { + Type: D3D12_COMMAND_LIST_TYPE, + Priority: ::INT, + Flags: D3D12_COMMAND_QUEUE_FLAGS, + NodeMask: ::UINT, +}} +ENUM!{enum D3D12_PRIMITIVE_TOPOLOGY_TYPE { + D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0, + D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1, + D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2, + D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3, + D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4, +}} +ENUM!{enum D3D12_INPUT_CLASSIFICATION { + D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0, + D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1, +}} +STRUCT!{struct D3D12_INPUT_ELEMENT_DESC { + SemanticName: ::LPCSTR, + SemanticIndex: ::UINT, + Format: ::DXGI_FORMAT, + InputSlot: ::UINT, + AlignedByteOffset: ::UINT, + InputSlotClass: D3D12_INPUT_CLASSIFICATION, + InstanceDataStepRate: ::UINT, +}} +ENUM!{enum D3D12_FILL_MODE { + D3D12_FILL_MODE_WIREFRAME = 2, + D3D12_FILL_MODE_SOLID = 3, +}} +pub type D3D12_PRIMITIVE_TOPOLOGY = ::D3D_PRIMITIVE_TOPOLOGY; +pub type D3D12_PRIMITIVE = ::D3D_PRIMITIVE; +ENUM!{enum D3D12_CULL_MODE { + D3D12_CULL_MODE_NONE = 1, + D3D12_CULL_MODE_FRONT = 2, + D3D12_CULL_MODE_BACK = 3, +}} +STRUCT!{struct D3D12_SO_DECLARATION_ENTRY { + Stream: ::UINT, + SemanticName: ::LPCSTR, + SemanticIndex: ::UINT, + StartComponent: ::BYTE, + ComponentCount: ::BYTE, + OutputSlot: ::BYTE, +}} +STRUCT!{struct D3D12_VIEWPORT { + TopLeftX: ::FLOAT, + TopLeftY: ::FLOAT, + Width: ::FLOAT, + Height: ::FLOAT, + MinDepth: ::FLOAT, + MaxDepth: ::FLOAT, +}} +pub type D3D12_RECT = ::RECT; +STRUCT!{struct D3D12_BOX { + left: ::UINT, + top: ::UINT, + front: ::UINT, + right: ::UINT, + bottom: ::UINT, + back: ::UINT, +}} +ENUM!{enum D3D12_COMPARISON_FUNC { + D3D12_COMPARISON_FUNC_NEVER = 1, + D3D12_COMPARISON_FUNC_LESS = 2, + D3D12_COMPARISON_FUNC_EQUAL = 3, + D3D12_COMPARISON_FUNC_LESS_EQUAL = 4, + D3D12_COMPARISON_FUNC_GREATER = 5, + D3D12_COMPARISON_FUNC_NOT_EQUAL = 6, + D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7, + D3D12_COMPARISON_FUNC_ALWAYS = 8, +}} +ENUM!{enum D3D12_DEPTH_WRITE_MASK { + D3D12_DEPTH_WRITE_MASK_ZERO = 0, + D3D12_DEPTH_WRITE_MASK_ALL = 1, +}} +ENUM!{enum D3D12_STENCIL_OP { + D3D12_STENCIL_OP_KEEP = 1, + D3D12_STENCIL_OP_ZERO = 2, + D3D12_STENCIL_OP_REPLACE = 3, + D3D12_STENCIL_OP_INCR_SAT = 4, + D3D12_STENCIL_OP_DECR_SAT = 5, + D3D12_STENCIL_OP_INVERT = 6, + D3D12_STENCIL_OP_INCR = 7, + D3D12_STENCIL_OP_DECR = 8, +}} +STRUCT!{struct D3D12_DEPTH_STENCILOP_DESC { + StencilFailOp: D3D12_STENCIL_OP, + StencilDepthFailOp: D3D12_STENCIL_OP, + StencilPassOp: D3D12_STENCIL_OP, + StencilFunc: D3D12_COMPARISON_FUNC, +}} +STRUCT!{struct D3D12_DEPTH_STENCIL_DESC { + DepthEnable: ::BOOL, + DepthWriteMask: D3D12_DEPTH_WRITE_MASK, + DepthFunc: D3D12_COMPARISON_FUNC, + StencilEnable: ::BOOL, + StencilReadMask: ::UINT8, + StencilWriteMask: ::UINT8, + FrontFace: D3D12_DEPTH_STENCILOP_DESC, + BackFace: D3D12_DEPTH_STENCILOP_DESC, +}} +ENUM!{enum D3D12_BLEND { + D3D12_BLEND_ZERO = 1, + D3D12_BLEND_ONE = 2, + D3D12_BLEND_SRC_COLOR = 3, + D3D12_BLEND_INV_SRC_COLOR = 4, + D3D12_BLEND_SRC_ALPHA = 5, + D3D12_BLEND_INV_SRC_ALPHA = 6, + D3D12_BLEND_DEST_ALPHA = 7, + D3D12_BLEND_INV_DEST_ALPHA = 8, + D3D12_BLEND_DEST_COLOR = 9, + D3D12_BLEND_INV_DEST_COLOR = 10, + D3D12_BLEND_SRC_ALPHA_SAT = 11, + D3D12_BLEND_BLEND_FACTOR = 14, + D3D12_BLEND_INV_BLEND_FACTOR = 15, + D3D12_BLEND_SRC1_COLOR = 16, + D3D12_BLEND_INV_SRC1_COLOR = 17, + D3D12_BLEND_SRC1_ALPHA = 18, + D3D12_BLEND_INV_SRC1_ALPHA = 19, +}} +ENUM!{enum D3D12_BLEND_OP { + D3D12_BLEND_OP_ADD = 1, + D3D12_BLEND_OP_SUBTRACT = 2, + D3D12_BLEND_OP_REV_SUBTRACT = 3, + D3D12_BLEND_OP_MIN = 4, + D3D12_BLEND_OP_MAX = 5, +}} +FLAGS!{enum D3D12_COLOR_WRITE_ENABLE { + D3D12_COLOR_WRITE_ENABLE_RED = 0x1, + D3D12_COLOR_WRITE_ENABLE_GREEN = 0x2, + D3D12_COLOR_WRITE_ENABLE_BLUE = 0x4, + D3D12_COLOR_WRITE_ENABLE_ALPHA = 0x8, + D3D12_COLOR_WRITE_ENABLE_ALL = 0xF, +}} +ENUM!{enum D3D12_LOGIC_OP { + D3D12_LOGIC_OP_CLEAR = 0, + D3D12_LOGIC_OP_SET = 1, + D3D12_LOGIC_OP_COPY = 2, + D3D12_LOGIC_OP_COPY_INVERTED = 3, + D3D12_LOGIC_OP_NOOP = 4, + D3D12_LOGIC_OP_INVERT = 5, + D3D12_LOGIC_OP_AND = 6, + D3D12_LOGIC_OP_NAND = 7, + D3D12_LOGIC_OP_OR = 8, + D3D12_LOGIC_OP_NOR = 9, + D3D12_LOGIC_OP_XOR = 10, + D3D12_LOGIC_OP_EQUIV = 11, + D3D12_LOGIC_OP_AND_REVERSE = 12, + D3D12_LOGIC_OP_AND_INVERTED = 13, + D3D12_LOGIC_OP_OR_REVERSE = 14, + D3D12_LOGIC_OP_OR_INVERTED = 15, +}} +STRUCT!{struct D3D12_RENDER_TARGET_BLEND_DESC { + BlendEnable: ::BOOL, + LogicOpEnable: ::BOOL, + SrcBlend: D3D12_BLEND, + DestBlend: D3D12_BLEND, + BlendOp: D3D12_BLEND_OP, + SrcBlendAlpha: D3D12_BLEND, + DestBlendAlpha: D3D12_BLEND, + BlendOpAlpha: D3D12_BLEND_OP, + LogicOp: D3D12_LOGIC_OP, + RenderTargetWriteMask: ::UINT8, +}} +STRUCT!{struct D3D12_BLEND_DESC { + AlphaToCoverageEnable: ::BOOL, + IndependentBlendEnable: ::BOOL, + RenderTarget: [D3D12_RENDER_TARGET_BLEND_DESC; 8], +}} +ENUM!{enum D3D12_CONSERVATIVE_RASTERIZATION_MODE { + D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0, + D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1, +}} +STRUCT!{struct D3D12_RASTERIZER_DESC { + FillMode: D3D12_FILL_MODE, + CullMode: D3D12_CULL_MODE, + FrontCounterClockwise: ::BOOL, + DepthBias: ::INT, + DepthBiasClamp: ::FLOAT, + SlopeScaledDepthBias: ::FLOAT, + DepthClipEnable: ::BOOL, + MultisampleEnable: ::BOOL, + AntialiasedLineEnable: ::BOOL, + ForcedSampleCount: ::UINT, + ConservativeRaster: D3D12_CONSERVATIVE_RASTERIZATION_MODE, +}} +RIDL!{interface ID3D12Object(ID3D12ObjectVtbl): IUnknown(IUnknownVtbl) { + fn GetPrivateData( + &mut self, guid: ::REFGUID, pDataSize: *mut ::UINT, pData: *mut ::c_void + ) -> ::HRESULT, + fn SetPrivateData( + &mut self, guid: ::REFGUID, DataSize: ::UINT, pData: *const ::c_void + ) -> ::HRESULT, + fn SetPrivateDataInterface( + &mut self, guid: ::REFGUID, pData: *const ::IUnknown + ) -> ::HRESULT, + fn SetName(&mut self, Name: ::LPCWSTR) -> ::HRESULT +}} +RIDL!{interface ID3D12DeviceChild(ID3D12DeviceChildVtbl): ID3D12Object(ID3D12ObjectVtbl) { + fn GetDevice( + &mut self, riid: ::REFGUID, ppvDevice: *mut *mut ::c_void + ) -> ::HRESULT +}} +RIDL!{interface ID3D12RootSignature(ID3D12RootSignatureVtbl): + ID3D12DeviceChild(ID3D12DeviceChildVtbl) { +}} +STRUCT!{struct D3D12_SHADER_BYTECODE { + pShaderBytecode: *const ::c_void, + BytecodeLength: ::SIZE_T, +}} +STRUCT!{struct D3D12_STREAM_OUTPUT_DESC { + pSODeclaration: *const D3D12_SO_DECLARATION_ENTRY, + NumEntries: ::UINT, + pBufferStrides: *const ::UINT, + NumStrides: ::UINT, + RasterizedStream: ::UINT, +}} +STRUCT!{struct D3D12_INPUT_LAYOUT_DESC { + pInputElementDescs: *const D3D12_INPUT_ELEMENT_DESC, + NumElements: ::UINT, +}} +ENUM!{enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE { + D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0, + D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1, + D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2, +}} +STRUCT!{struct D3D12_CACHED_PIPELINE_STATE { + pCachedBlob: *const ::c_void, + CachedBlobSizeInBytes: ::SIZE_T, +}} +FLAGS!{enum D3D12_PIPELINE_STATE_FLAGS { + D3D12_PIPELINE_STATE_FLAG_NONE = 0x0, + D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x1, +}} +STRUCT!{struct D3D12_GRAPHICS_PIPELINE_STATE_DESC { + pRootSignature: *mut ID3D12RootSignature, + VS: D3D12_SHADER_BYTECODE, + PS: D3D12_SHADER_BYTECODE, + DS: D3D12_SHADER_BYTECODE, + HS: D3D12_SHADER_BYTECODE, + GS: D3D12_SHADER_BYTECODE, + StreamOutput: D3D12_STREAM_OUTPUT_DESC, + BlendState: D3D12_BLEND_DESC, + SampleMask: ::UINT, + RasterizerState: D3D12_RASTERIZER_DESC, + DepthStencilState: D3D12_DEPTH_STENCIL_DESC, + InputLayout: D3D12_INPUT_LAYOUT_DESC, + IBStripCutValue: D3D12_INDEX_BUFFER_STRIP_CUT_VALUE, + PrimitiveTopologyType: D3D12_PRIMITIVE_TOPOLOGY_TYPE, + NumRenderTargets: ::UINT, + RTVFormats: [::DXGI_FORMAT; 8], + DSVFormat: ::DXGI_FORMAT, + SampleDesc: ::DXGI_SAMPLE_DESC, + NodeMask: ::UINT, + CachedPSO: D3D12_CACHED_PIPELINE_STATE, + Flags: D3D12_PIPELINE_STATE_FLAGS, +}} +STRUCT!{struct D3D12_COMPUTE_PIPELINE_STATE_DESC { + pRootSignature: *mut ID3D12RootSignature, + CS: D3D12_SHADER_BYTECODE, + NodeMask: ::UINT, + CachedPSO: D3D12_CACHED_PIPELINE_STATE, + Flags: D3D12_PIPELINE_STATE_FLAGS, +}} +ENUM!{enum D3D12_FEATURE { + D3D12_FEATURE_D3D12_OPTIONS = 0, + D3D12_FEATURE_ARCHITECTURE = 1, + D3D12_FEATURE_FEATURE_LEVELS = 2, + D3D12_FEATURE_FORMAT_SUPPORT = 3, + D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4, + D3D12_FEATURE_FORMAT_INFO = 5, + D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6, +}} +FLAGS!{enum D3D12_SHADER_MIN_PRECISION_SUPPORT { + D3D12_SHADER_MIN_PRECISION_SUPPORT_NONE = 0, + D3D12_SHADER_MIN_PRECISION_SUPPORT_10_BIT = 0x1, + D3D12_SHADER_MIN_PRECISION_SUPPORT_16_BIT = 0x2, +}} +ENUM!{enum D3D12_TILED_RESOURCES_TIER { + D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0, + D3D12_TILED_RESOURCES_TIER_1 = 1, + D3D12_TILED_RESOURCES_TIER_2 = 2, + D3D12_TILED_RESOURCES_TIER_3 = 3, +}} +ENUM!{enum D3D12_RESOURCE_BINDING_TIER { + D3D12_RESOURCE_BINDING_TIER_1 = 1, + D3D12_RESOURCE_BINDING_TIER_2 = 2, + D3D12_RESOURCE_BINDING_TIER_3 = 3, +}} +ENUM!{enum D3D12_CONSERVATIVE_RASTERIZATION_TIER { + D3D12_CONSERVATIVE_RASTERIZATION_TIER_NOT_SUPPORTED = 0, + D3D12_CONSERVATIVE_RASTERIZATION_TIER_1 = 1, + D3D12_CONSERVATIVE_RASTERIZATION_TIER_2 = 2, + D3D12_CONSERVATIVE_RASTERIZATION_TIER_3 = 3, +}} +FLAGS!{enum D3D12_FORMAT_SUPPORT1 { + D3D12_FORMAT_SUPPORT1_NONE = 0x0, + D3D12_FORMAT_SUPPORT1_BUFFER = 0x1, + D3D12_FORMAT_SUPPORT1_IA_VERTEX_BUFFER = 0x2, + D3D12_FORMAT_SUPPORT1_IA_INDEX_BUFFER = 0x4, + D3D12_FORMAT_SUPPORT1_SO_BUFFER = 0x8, + D3D12_FORMAT_SUPPORT1_TEXTURE1D = 0x10, + D3D12_FORMAT_SUPPORT1_TEXTURE2D = 0x20, + D3D12_FORMAT_SUPPORT1_TEXTURE3D = 0x40, + D3D12_FORMAT_SUPPORT1_TEXTURECUBE = 0x80, + D3D12_FORMAT_SUPPORT1_SHADER_LOAD = 0x100, + D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE = 0x200, + D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_COMPARISON = 0x400, + D3D12_FORMAT_SUPPORT1_SHADER_SAMPLE_MONO_TEXT = 0x800, + D3D12_FORMAT_SUPPORT1_MIP = 0x1000, + D3D12_FORMAT_SUPPORT1_RENDER_TARGET = 0x4000, + D3D12_FORMAT_SUPPORT1_BLENDABLE = 0x8000, + D3D12_FORMAT_SUPPORT1_DEPTH_STENCIL = 0x10000, + D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RESOLVE = 0x40000, + D3D12_FORMAT_SUPPORT1_DISPLAY = 0x80000, + D3D12_FORMAT_SUPPORT1_CAST_WITHIN_BIT_LAYOUT = 0x100000, + D3D12_FORMAT_SUPPORT1_MULTISAMPLE_RENDERTARGET = 0x200000, + D3D12_FORMAT_SUPPORT1_MULTISAMPLE_LOAD = 0x400000, + D3D12_FORMAT_SUPPORT1_SHADER_GATHER = 0x800000, + D3D12_FORMAT_SUPPORT1_BACK_BUFFER_CAST = 0x1000000, + D3D12_FORMAT_SUPPORT1_TYPED_UNORDERED_ACCESS_VIEW = 0x2000000, + D3D12_FORMAT_SUPPORT1_SHADER_GATHER_COMPARISON = 0x4000000, + D3D12_FORMAT_SUPPORT1_DECODER_OUTPUT = 0x8000000, + D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_OUTPUT = 0x10000000, + D3D12_FORMAT_SUPPORT1_VIDEO_PROCESSOR_INPUT = 0x20000000, + D3D12_FORMAT_SUPPORT1_VIDEO_ENCODER = 0x40000000, +}} +FLAGS!{enum D3D12_FORMAT_SUPPORT2 { + D3D12_FORMAT_SUPPORT2_NONE = 0x0, + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_ADD = 0x1, + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_BITWISE_OPS = 0x2, + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_COMPARE_STORE_OR_COMPARE_EXCHANGE = 0x4, + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_EXCHANGE = 0x8, + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_SIGNED_MIN_OR_MAX = 0x10, + D3D12_FORMAT_SUPPORT2_UAV_ATOMIC_UNSIGNED_MIN_OR_MAX = 0x20, + D3D12_FORMAT_SUPPORT2_UAV_TYPED_LOAD = 0x40, + D3D12_FORMAT_SUPPORT2_UAV_TYPED_STORE = 0x80, + D3D12_FORMAT_SUPPORT2_OUTPUT_MERGER_LOGIC_OP = 0x100, + D3D12_FORMAT_SUPPORT2_TILED = 0x200, + D3D12_FORMAT_SUPPORT2_MULTIPLANE_OVERLAY = 0x4000, +}} +FLAGS!{enum D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS { + D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_NONE = 0x0, + D3D12_MULTISAMPLE_QUALITY_LEVELS_FLAG_TILED_RESOURCE = 0x1, +}} +ENUM!{enum D3D12_CROSS_NODE_SHARING_TIER { + D3D12_CROSS_NODE_SHARING_TIER_NOT_SUPPORTED = 0, + D3D12_CROSS_NODE_SHARING_TIER_1_EMULATED = 1, + D3D12_CROSS_NODE_SHARING_TIER_1 = 2, + D3D12_CROSS_NODE_SHARING_TIER_2 = 3, +}} +ENUM!{enum D3D12_RESOURCE_HEAP_TIER { + D3D12_RESOURCE_HEAP_TIER_1 = 1, + D3D12_RESOURCE_HEAP_TIER_2 = 2, +}} +STRUCT!{struct D3D12_FEATURE_DATA_D3D12_OPTIONS { + DoublePrecisionFloatShaderOps: ::BOOL, + OutputMergerLogicOp: ::BOOL, + MinPrecisionSupport: D3D12_SHADER_MIN_PRECISION_SUPPORT, + TiledResourcesTier: D3D12_TILED_RESOURCES_TIER, + ResourceBindingTier: D3D12_RESOURCE_BINDING_TIER, + PSSpecifiedStencilRefSupported: ::BOOL, + TypedUAVLoadAdditionalFormats: ::BOOL, + ROVsSupported: ::BOOL, + ConservativeRasterizationTier: D3D12_CONSERVATIVE_RASTERIZATION_TIER, + MaxGPUVirtualAddressBitsPerResource: ::UINT, + StandardSwizzle64KBSupported: ::BOOL, + CrossNodeSharingTier: D3D12_CROSS_NODE_SHARING_TIER, + CrossAdapterRowMajorTextureSupported: ::BOOL, + VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation: ::BOOL, + ResourceHeapTier: D3D12_RESOURCE_HEAP_TIER, +}} + + + + + + + + + +FLAGS!{ enum D3D12_BUFFER_SRV_FLAGS { + D3D12_BUFFER_SRV_FLAG_NONE = 0x0, + D3D12_BUFFER_SRV_FLAG_RAW = 0x1, +}} + +FLAGS!{ enum D3D12_BUFFER_UAV_FLAGS { + D3D12_BUFFER_UAV_FLAG_NONE = 0x0, + D3D12_BUFFER_UAV_FLAG_RAW = 0x1, +}} + +FLAGS!{ enum D3D12_CLEAR_FLAGS { + D3D12_CLEAR_FLAG_DEPTH = 0x1, + D3D12_CLEAR_FLAG_STENCIL = 0x2, +}} + + +ENUM!{ enum D3D12_CPU_PAGE_PROPERTY { + D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0, + D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1, + D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2, + D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3, +}} + + +FLAGS!{ enum D3D12_DESCRIPTOR_HEAP_FLAGS { + D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0x0, + D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1, +}} + +ENUM!{ enum D3D12_DESCRIPTOR_HEAP_TYPE { + D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0, + D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = 1, + D3D12_DESCRIPTOR_HEAP_TYPE_RTV = 2, + D3D12_DESCRIPTOR_HEAP_TYPE_DSV = 3, + D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = 4, +}} + +ENUM!{ enum D3D12_DESCRIPTOR_RANGE_TYPE { + D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0, + D3D12_DESCRIPTOR_RANGE_TYPE_UAV = 1, + D3D12_DESCRIPTOR_RANGE_TYPE_CBV = 2, + D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = 3, +}} + +ENUM!{ enum D3D12_DSV_DIMENSION { + D3D12_DSV_DIMENSION_UNKNOWN = 0, + D3D12_DSV_DIMENSION_TEXTURE1D = 1, + D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2, + D3D12_DSV_DIMENSION_TEXTURE2D = 3, + D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4, + D3D12_DSV_DIMENSION_TEXTURE2DMS = 5, + D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6, +}} + +FLAGS!{ enum D3D12_DSV_FLAGS { + D3D12_DSV_FLAG_NONE = 0x0, + D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1, + D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2, +}} + + + +FLAGS!{ enum D3D12_FENCE_FLAGS { + D3D12_FENCE_FLAG_NONE = 0x0, + D3D12_FENCE_FLAG_SHARED = 0x1, + D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2, +}} + + + +ENUM!{ enum D3D12_FILTER { + D3D12_FILTER_MIN_MAG_MIP_POINT = 0, + D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 1, + D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 4, + D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 5, + D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 16, + D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 17, + D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 20, + D3D12_FILTER_MIN_MAG_MIP_LINEAR = 21, + D3D12_FILTER_ANISOTROPIC = 85, + D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 128, + D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 129, + D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 132, + D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 133, + D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 144, + D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 145, + D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 148, + D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 149, + D3D12_FILTER_COMPARISON_ANISOTROPIC = 213, + D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 256, + D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 257, + D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 260, + D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 261, + D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 272, + D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 273, + D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 276, + D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 277, + D3D12_FILTER_MINIMUM_ANISOTROPIC = 341, + D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 384, + D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 385, + D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 388, + D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 389, + D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 400, + D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 401, + D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 404, + D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 405, + D3D12_FILTER_MAXIMUM_ANISOTROPIC = 469, +}} + +ENUM!{ enum D3D12_FILTER_REDUCTION_TYPE { + D3D12_FILTER_REDUCTION_TYPE_STANDARD = 0, + D3D12_FILTER_REDUCTION_TYPE_COMPARISON = 1, + D3D12_FILTER_REDUCTION_TYPE_MINIMUM = 2, + D3D12_FILTER_REDUCTION_TYPE_MAXIMUM = 3, +}} + +ENUM!{ enum D3D12_FILTER_TYPE { + D3D12_FILTER_TYPE_POINT = 0, + D3D12_FILTER_TYPE_LINEAR = 1, +}} + + + +FLAGS!{ enum D3D12_HEAP_FLAGS { + D3D12_HEAP_FLAG_NONE = 0x0, + D3D12_HEAP_FLAG_SHARED = 0x1, + D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4, + D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8, + D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20, + D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40, + D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80, + D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0x0, + D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xC0, + D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44, + D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84, +}} + +ENUM!{ enum D3D12_HEAP_TYPE { + D3D12_HEAP_TYPE_DEFAULT = 1, + D3D12_HEAP_TYPE_UPLOAD = 2, + D3D12_HEAP_TYPE_READBACK = 3, + D3D12_HEAP_TYPE_CUSTOM = 4, +}} + + + +ENUM!{ enum D3D12_INDIRECT_ARGUMENT_TYPE { + D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0, + D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = 1, + D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = 2, + D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = 3, + D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = 4, + D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = 5, + D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = 6, + D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = 7, + D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = 8, +}} + + + + + +ENUM!{ enum D3D12_MEMORY_POOL { + D3D12_MEMORY_POOL_UNKNOWN = 0, + D3D12_MEMORY_POOL_L0 = 1, + D3D12_MEMORY_POOL_L1 = 2, +}} + + + + +ENUM!{ enum D3D12_PREDICATION_OP { + D3D12_PREDICATION_OP_EQUAL_ZERO = 0, + D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1, +}} + + + +ENUM!{ enum D3D12_QUERY_HEAP_TYPE { + D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0, + D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1, + D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2, + D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3, +}} + +ENUM!{ enum D3D12_QUERY_TYPE { + D3D12_QUERY_TYPE_OCCLUSION = 0, + D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1, + D3D12_QUERY_TYPE_TIMESTAMP = 2, + D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3, + D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4, + D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5, + D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6, + D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7, +}} + +FLAGS!{ enum D3D12_RESOURCE_BARRIER_FLAGS { + D3D12_RESOURCE_BARRIER_FLAG_NONE = 0x0, + D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1, + D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2, +}} + +ENUM!{ enum D3D12_RESOURCE_BARRIER_TYPE { + D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0, + D3D12_RESOURCE_BARRIER_TYPE_ALIASING = 1, + D3D12_RESOURCE_BARRIER_TYPE_UAV = 2, +}} + + +ENUM!{ enum D3D12_RESOURCE_DIMENSION { + D3D12_RESOURCE_DIMENSION_UNKNOWN = 0, + D3D12_RESOURCE_DIMENSION_BUFFER = 1, + D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2, + D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3, + D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4, +}} + +FLAGS!{ enum D3D12_RESOURCE_FLAGS { + D3D12_RESOURCE_FLAG_NONE = 0x0, + D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1, + D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2, + D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4, + D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8, + D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10, + D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20, +}} + + +FLAGS!{ enum D3D12_RESOURCE_STATES { + D3D12_RESOURCE_STATE_COMMON = 0x0, + D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1, + D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2, + D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4, + D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8, + D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10, + D3D12_RESOURCE_STATE_DEPTH_READ = 0x20, + D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x40, + D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x80, + D3D12_RESOURCE_STATE_STREAM_OUT = 0x100, + D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x200, + D3D12_RESOURCE_STATE_COPY_DEST = 0x400, + D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800, + D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000, + D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000, + D3D12_RESOURCE_STATE_GENERIC_READ = 0xAC3, + D3D12_RESOURCE_STATE_PRESENT = 0x0, + D3D12_RESOURCE_STATE_PREDICATION = 0x200, +}} + +ENUM!{ enum D3D12_ROOT_PARAMETER_TYPE { + D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0, + D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = 1, + D3D12_ROOT_PARAMETER_TYPE_CBV = 2, + D3D12_ROOT_PARAMETER_TYPE_SRV = 3, + D3D12_ROOT_PARAMETER_TYPE_UAV = 4, +}} + +FLAGS!{ enum D3D12_ROOT_SIGNATURE_FLAGS { + D3D12_ROOT_SIGNATURE_FLAG_NONE = 0x0, + D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1, + D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2, + D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4, + D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8, + D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10, + D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20, + D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40, +}} + +ENUM!{ enum D3D12_RTV_DIMENSION { + D3D12_RTV_DIMENSION_UNKNOWN = 0, + D3D12_RTV_DIMENSION_BUFFER = 1, + D3D12_RTV_DIMENSION_TEXTURE1D = 2, + D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3, + D3D12_RTV_DIMENSION_TEXTURE2D = 4, + D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5, + D3D12_RTV_DIMENSION_TEXTURE2DMS = 6, + D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7, + D3D12_RTV_DIMENSION_TEXTURE3D = 8, +}} + +ENUM!{ enum D3D12_SHADER_COMPONENT_MAPPING { + D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0, + D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1, + D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2, + D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3, + D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4, + D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5, +}} + + +ENUM!{ enum D3D12_SHADER_VISIBILITY { + D3D12_SHADER_VISIBILITY_ALL = 0, + D3D12_SHADER_VISIBILITY_VERTEX = 1, + D3D12_SHADER_VISIBILITY_HULL = 2, + D3D12_SHADER_VISIBILITY_DOMAIN = 3, + D3D12_SHADER_VISIBILITY_GEOMETRY = 4, + D3D12_SHADER_VISIBILITY_PIXEL = 5, +}} + +ENUM!{ enum D3D12_SRV_DIMENSION { + D3D12_SRV_DIMENSION_UNKNOWN = 0, + D3D12_SRV_DIMENSION_BUFFER = 1, + D3D12_SRV_DIMENSION_TEXTURE1D = 2, + D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3, + D3D12_SRV_DIMENSION_TEXTURE2D = 4, + D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5, + D3D12_SRV_DIMENSION_TEXTURE2DMS = 6, + D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, + D3D12_SRV_DIMENSION_TEXTURE3D = 8, + D3D12_SRV_DIMENSION_TEXTURECUBE = 9, + D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10, +}} + +ENUM!{ enum D3D12_STATIC_BORDER_COLOR { + D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0, + D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = 1, + D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = 2, +}} + + + +ENUM!{ enum D3D12_TEXTURE_ADDRESS_MODE { + D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1, + D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2, + D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3, + D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4, + D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5, +}} + +ENUM!{ enum D3D12_TEXTURE_COPY_TYPE { + D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0, + D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1, +}} + +ENUM!{ enum D3D12_TEXTURE_LAYOUT { + D3D12_TEXTURE_LAYOUT_UNKNOWN = 0, + D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1, + D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2, + D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3, +}} + + +FLAGS!{ enum D3D12_TILE_COPY_FLAGS { + D3D12_TILE_COPY_FLAG_NONE = 0x0, + D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1, + D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2, + D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4, +}} + +FLAGS!{ enum D3D12_TILE_MAPPING_FLAGS { + D3D12_TILE_MAPPING_FLAG_NONE = 0x0, + D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1, +}} + +FLAGS!{ enum D3D12_TILE_RANGE_FLAGS { + D3D12_TILE_RANGE_FLAG_NONE = 0x0, + D3D12_TILE_RANGE_FLAG_NULL = 0x1, + D3D12_TILE_RANGE_FLAG_SKIP = 0x2, + D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 0x4, +}} + +ENUM!{ enum D3D12_UAV_DIMENSION { + D3D12_UAV_DIMENSION_UNKNOWN = 0, + D3D12_UAV_DIMENSION_BUFFER = 1, + D3D12_UAV_DIMENSION_TEXTURE1D = 2, + D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3, + D3D12_UAV_DIMENSION_TEXTURE2D = 4, + D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5, + D3D12_UAV_DIMENSION_TEXTURE3D = 8, +}} + +ENUM!{ enum D3D_ROOT_SIGNATURE_VERSION { + D3D_ROOT_SIGNATURE_VERSION_1 = 1, +}} + + + + + +STRUCT!{struct D3D12_BUFFER_RTV { + FirstElement: ::UINT64, + NumElements: ::UINT, +}} + +STRUCT!{struct D3D12_BUFFER_SRV { + FirstElement: ::UINT64, + NumElements: ::UINT, + StructureByteStride: ::UINT, + Flags: ::D3D12_BUFFER_SRV_FLAGS, +}} + +STRUCT!{struct D3D12_BUFFER_UAV { + FirstElement: ::UINT64, + NumElements: ::UINT, + StructureByteStride: ::UINT, + CounterOffsetInBytes: ::UINT64, + Flags: ::D3D12_BUFFER_UAV_FLAGS, +}} + + + +STRUCT!{struct D3D12_CLEAR_VALUE { + Format: ::DXGI_FORMAT, + u: [::FLOAT; 4], +}} + +UNION!(D3D12_CLEAR_VALUE, u, DepthStencil, DepthStencil_mut, ::D3D12_DEPTH_STENCIL_VALUE); +UNION!(D3D12_CLEAR_VALUE, u, Color, Color_mut, [::FLOAT; 4]); + + + +STRUCT!{struct D3D12_COMMAND_SIGNATURE_DESC { + ByteStride: ::UINT, + NumArgumentDescs: ::UINT, + pArgumentDescs: *const ::D3D12_INDIRECT_ARGUMENT_DESC, + NodeMask: ::UINT, +}} + + + +STRUCT!{struct D3D12_CONSTANT_BUFFER_VIEW_DESC { + BufferLocation: ::D3D12_GPU_VIRTUAL_ADDRESS, + SizeInBytes: ::UINT, +}} + +STRUCT!{struct D3D12_CPU_DESCRIPTOR_HANDLE { + ptr: ::SIZE_T, +}} + + + +STRUCT!{struct D3D12_DEPTH_STENCIL_VALUE { + Depth: ::FLOAT, + Stencil: ::UINT8, +}} + +STRUCT!{struct D3D12_DEPTH_STENCIL_VIEW_DESC { + Format: ::DXGI_FORMAT, + ViewDimension: ::D3D12_DSV_DIMENSION, + Flags: ::D3D12_DSV_FLAGS, + u: ::D3D12_TEX1D_ARRAY_DSV, +}} + +UNION!(D3D12_DEPTH_STENCIL_VIEW_DESC, u, Texture2DMSArray, Texture2DMSArray_mut, + ::D3D12_TEX2DMS_ARRAY_DSV); +UNION!(D3D12_DEPTH_STENCIL_VIEW_DESC, u, Texture2DMS, Texture2DMS_mut, ::D3D12_TEX2DMS_DSV); +UNION!(D3D12_DEPTH_STENCIL_VIEW_DESC, u, Texture2DArray, Texture2DArray_mut, + ::D3D12_TEX2D_ARRAY_DSV); +UNION!(D3D12_DEPTH_STENCIL_VIEW_DESC, u, Texture2D, Texture2D_mut, ::D3D12_TEX2D_DSV); +UNION!(D3D12_DEPTH_STENCIL_VIEW_DESC, u, Texture1DArray, Texture1DArray_mut, + ::D3D12_TEX1D_ARRAY_DSV); +UNION!(D3D12_DEPTH_STENCIL_VIEW_DESC, u, Texture1D, Texture1D_mut, ::D3D12_TEX1D_DSV); + +STRUCT!{struct D3D12_DESCRIPTOR_HEAP_DESC { + Type: ::D3D12_DESCRIPTOR_HEAP_TYPE, + NumDescriptors: ::UINT, + Flags: ::D3D12_DESCRIPTOR_HEAP_FLAGS, + NodeMask: ::UINT, +}} + +STRUCT!{struct D3D12_DESCRIPTOR_RANGE { + RangeType: ::D3D12_DESCRIPTOR_RANGE_TYPE, + NumDescriptors: ::UINT, + BaseShaderRegister: ::UINT, + RegisterSpace: ::UINT, + OffsetInDescriptorsFromTableStart: ::UINT, +}} + +STRUCT!{struct D3D12_DISCARD_REGION { + NumRects: ::UINT, + pRects: *const ::D3D12_RECT, + FirstSubresource: ::UINT, + NumSubresources: ::UINT, +}} + +STRUCT!{struct D3D12_DISPATCH_ARGUMENTS { + ThreadGroupCountX: ::UINT, + ThreadGroupCountY: ::UINT, + ThreadGroupCountZ: ::UINT, +}} + +STRUCT!{struct D3D12_DRAW_ARGUMENTS { + VertexCountPerInstance: ::UINT, + InstanceCount: ::UINT, + StartVertexLocation: ::UINT, + StartInstanceLocation: ::UINT, +}} + +STRUCT!{struct D3D12_DRAW_INDEXED_ARGUMENTS { + IndexCountPerInstance: ::UINT, + InstanceCount: ::UINT, + StartIndexLocation: ::UINT, + BaseVertexLocation: ::INT, + StartInstanceLocation: ::UINT, +}} + +STRUCT!{struct D3D12_FEATURE_DATA_ARCHITECTURE { + NodeIndex: ::UINT, + TileBasedRenderer: ::BOOL, + UMA: ::BOOL, + CacheCoherentUMA: ::BOOL, +}} + + +STRUCT!{struct D3D12_FEATURE_DATA_FEATURE_LEVELS { + NumFeatureLevels: ::UINT, + pFeatureLevelsRequested: *const ::D3D_FEATURE_LEVEL, + MaxSupportedFeatureLevel: ::D3D_FEATURE_LEVEL, +}} + +STRUCT!{struct D3D12_FEATURE_DATA_FORMAT_INFO { + Format: ::DXGI_FORMAT, + PlaneCount: ::UINT8, +}} + +STRUCT!{struct D3D12_FEATURE_DATA_FORMAT_SUPPORT { + Format: ::DXGI_FORMAT, + Support1: ::D3D12_FORMAT_SUPPORT1, + Support2: ::D3D12_FORMAT_SUPPORT2, +}} + +STRUCT!{struct D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT { + MaxGPUVirtualAddressBitsPerResource: ::UINT, + MaxGPUVirtualAddressBitsPerProcess: ::UINT, +}} + +STRUCT!{struct D3D12_FEATURE_DATA_MULTISAMPLE_QUALITY_LEVELS { + Format: ::DXGI_FORMAT, + SampleCount: ::UINT, + Flags: ::D3D12_MULTISAMPLE_QUALITY_LEVEL_FLAGS, + NumQualityLevels: ::UINT, +}} + +STRUCT!{struct D3D12_GPU_DESCRIPTOR_HANDLE { + ptr: ::UINT64, +}} + + + +STRUCT!{struct D3D12_HEAP_DESC { + SizeInBytes: ::UINT64, + Properties: ::D3D12_HEAP_PROPERTIES, + Alignment: ::UINT64, + Flags: ::D3D12_HEAP_FLAGS, +}} + +STRUCT!{struct D3D12_HEAP_PROPERTIES { + Type: ::D3D12_HEAP_TYPE, + CPUPageProperty: ::D3D12_CPU_PAGE_PROPERTY, + MemoryPoolPreference: ::D3D12_MEMORY_POOL, + CreationNodeMask: ::UINT, + VisibleNodeMask: ::UINT, +}} + +STRUCT!{struct D3D12_INDEX_BUFFER_VIEW { + BufferLocation: ::D3D12_GPU_VIRTUAL_ADDRESS, + SizeInBytes: ::UINT, + Format: ::DXGI_FORMAT, +}} + +STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC_VertexBuffer { + Slot: ::UINT, +}} + +STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC_Constant { + RootParameterIndex: ::UINT, + DestOffsetIn32BitValues: ::UINT, + Num32BitValuesToSet: ::UINT, +}} + +STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC_ConstantBufferView { + RootParameterIndex: ::UINT, +}} + +STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC_ShaderResourceView { + RootParameterIndex: ::UINT, +}} + +STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC_UnorderedAccessView { + RootParameterIndex: ::UINT, +}} + +STRUCT!{struct D3D12_INDIRECT_ARGUMENT_DESC { + Type: ::D3D12_INDIRECT_ARGUMENT_TYPE, + u: ::D3D12_INDIRECT_ARGUMENT_DESC_Constant, +}} + +UNION!(D3D12_INDIRECT_ARGUMENT_DESC, u, UnorderedAccessView, UnorderedAccessView_mut, + D3D12_INDIRECT_ARGUMENT_DESC_UnorderedAccessView); +UNION!(D3D12_INDIRECT_ARGUMENT_DESC, u, ShaderResourceView, ShaderResourceView_mut, + D3D12_INDIRECT_ARGUMENT_DESC_ShaderResourceView); +UNION!(D3D12_INDIRECT_ARGUMENT_DESC, u, ConstantBufferView, ConstantBufferView_mut, + D3D12_INDIRECT_ARGUMENT_DESC_ConstantBufferView); +UNION!(D3D12_INDIRECT_ARGUMENT_DESC, u, Constant, Constant_mut, + D3D12_INDIRECT_ARGUMENT_DESC_Constant); +UNION!(D3D12_INDIRECT_ARGUMENT_DESC, u, VertexBuffer, VertexBuffer_mut, + D3D12_INDIRECT_ARGUMENT_DESC_VertexBuffer); + + + + +STRUCT!{struct D3D12_MEMCPY_DEST { + pData: *mut ::c_void, + RowPitch: ::SIZE_T, + SlicePitch: ::SIZE_T, +}} + +STRUCT!{struct D3D12_PACKED_MIP_INFO { + NumStandardMips: ::UINT8, + NumPackedMips: ::UINT8, + NumTilesForPackedMips: ::UINT, + StartTileIndexInOverallResource: ::UINT, +}} + +STRUCT!{struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT { + Offset: ::UINT64, + Footprint: ::D3D12_SUBRESOURCE_FOOTPRINT, +}} + +STRUCT!{struct D3D12_QUERY_DATA_PIPELINE_STATISTICS { + IAVertices: ::UINT64, + IAPrimitives: ::UINT64, + VSInvocations: ::UINT64, + GSInvocations: ::UINT64, + GSPrimitives: ::UINT64, + CInvocations: ::UINT64, + CPrimitives: ::UINT64, + PSInvocations: ::UINT64, + HSInvocations: ::UINT64, + DSInvocations: ::UINT64, + CSInvocations: ::UINT64, +}} + +STRUCT!{struct D3D12_QUERY_DATA_SO_STATISTICS { + NumPrimitivesWritten: ::UINT64, + PrimitivesStorageNeeded: ::UINT64, +}} + +STRUCT!{struct D3D12_QUERY_HEAP_DESC { + Type: ::D3D12_QUERY_HEAP_TYPE, + Count: ::UINT, + NodeMask: ::UINT, +}} + +STRUCT!{struct D3D12_RANGE { + Begin: ::SIZE_T, + End: ::SIZE_T, +}} + + + +STRUCT!{struct D3D12_RENDER_TARGET_VIEW_DESC { + Format: ::DXGI_FORMAT, + ViewDimension: ::D3D12_RTV_DIMENSION, + u: ::D3D12_BUFFER_RTV, +}} + +UNION!(D3D12_RENDER_TARGET_VIEW_DESC, u, Texture3D, Texture3D_mut, ::D3D12_TEX3D_RTV); +UNION!(D3D12_RENDER_TARGET_VIEW_DESC, u, Texture2DMSArray, Texture2DMSArray_mut, + ::D3D12_TEX2DMS_ARRAY_RTV); +UNION!(D3D12_RENDER_TARGET_VIEW_DESC, u, Texture2DMS, Texture2DMS_mut, ::D3D12_TEX2DMS_RTV); +UNION!(D3D12_RENDER_TARGET_VIEW_DESC, u, Texture2DArray, Texture2DArray_mut, + ::D3D12_TEX2D_ARRAY_RTV); +UNION!(D3D12_RENDER_TARGET_VIEW_DESC, u, Texture2D, Texture2D_mut, ::D3D12_TEX2D_RTV); +UNION!(D3D12_RENDER_TARGET_VIEW_DESC, u, Texture1DArray, Texture1DArray_mut, + ::D3D12_TEX1D_ARRAY_RTV); +UNION!(D3D12_RENDER_TARGET_VIEW_DESC, u, Texture1D, Texture1D_mut, ::D3D12_TEX1D_RTV); +UNION!(D3D12_RENDER_TARGET_VIEW_DESC, u, Buffer, Buffer_mut, ::D3D12_BUFFER_RTV); + +STRUCT!{struct D3D12_RESOURCE_ALIASING_BARRIER { + pResourceBefore: *mut ::ID3D12Resource, + pResourceAfter: *mut ::ID3D12Resource, +}} + +STRUCT!{struct D3D12_RESOURCE_ALLOCATION_INFO { + SizeInBytes: ::UINT64, + Alignment: ::UINT64, +}} + +STRUCT!{struct D3D12_RESOURCE_BARRIER { + Type: ::D3D12_RESOURCE_BARRIER_TYPE, + Flags: ::D3D12_RESOURCE_BARRIER_FLAGS, + u: ::D3D12_RESOURCE_TRANSITION_BARRIER, +}} + +UNION!(D3D12_RESOURCE_BARRIER, u, UAV, UAV_mut, ::D3D12_RESOURCE_UAV_BARRIER); +UNION!(D3D12_RESOURCE_BARRIER, u, Aliasing, Aliasing_mut, ::D3D12_RESOURCE_ALIASING_BARRIER); +UNION!(D3D12_RESOURCE_BARRIER, u, Transition, Transition_mut, ::D3D12_RESOURCE_TRANSITION_BARRIER); + +STRUCT!{struct D3D12_RESOURCE_DESC { + Dimension: ::D3D12_RESOURCE_DIMENSION, + Alignment: ::UINT64, + Width: ::UINT64, + Height: ::UINT, + DepthOrArraySize: ::UINT16, + MipLevels: ::UINT16, + Format: ::DXGI_FORMAT, + SampleDesc: ::DXGI_SAMPLE_DESC, + Layout: ::D3D12_TEXTURE_LAYOUT, + Flags: ::D3D12_RESOURCE_FLAGS, +}} + +STRUCT!{struct D3D12_RESOURCE_TRANSITION_BARRIER { + pResource: *mut ::ID3D12Resource, + Subresource: ::UINT, + StateBefore: ::D3D12_RESOURCE_STATES, + StateAfter: ::D3D12_RESOURCE_STATES, +}} + +STRUCT!{struct D3D12_RESOURCE_UAV_BARRIER { + pResource: *mut ::ID3D12Resource, +}} + +STRUCT!{struct D3D12_ROOT_CONSTANTS { + ShaderRegister: ::UINT, + RegisterSpace: ::UINT, + Num32BitValues: ::UINT, +}} + +STRUCT!{struct D3D12_ROOT_DESCRIPTOR { + ShaderRegister: ::UINT, + RegisterSpace: ::UINT, +}} + +STRUCT!{struct D3D12_ROOT_DESCRIPTOR_TABLE { + NumDescriptorRanges: ::UINT, + pDescriptorRanges: *const ::D3D12_DESCRIPTOR_RANGE, +}} + +#[cfg(target_pointer_width = "64")] +STRUCT!{struct D3D12_ROOT_PARAMETER { + ParameterType: ::D3D12_ROOT_PARAMETER_TYPE, + u: ::D3D12_ROOT_DESCRIPTOR_TABLE, + ShaderVisibility: ::D3D12_SHADER_VISIBILITY, +}} + +#[cfg(target_pointer_width = "32")] +STRUCT!{struct D3D12_ROOT_PARAMETER { + ParameterType: ::D3D12_ROOT_PARAMETER_TYPE, + u: ::D3D12_ROOT_CONSTANTS, + ShaderVisibility: ::D3D12_SHADER_VISIBILITY, +}} + +UNION!(D3D12_ROOT_PARAMETER, u, Descriptor, Descriptor_mut, ::D3D12_ROOT_DESCRIPTOR); +UNION!(D3D12_ROOT_PARAMETER, u, Constants, Constants_mut, ::D3D12_ROOT_CONSTANTS); +UNION!(D3D12_ROOT_PARAMETER, u, DescriptorTable, DescriptorTable_mut, + ::D3D12_ROOT_DESCRIPTOR_TABLE); + +STRUCT!{struct D3D12_ROOT_SIGNATURE_DESC { + NumParameters: ::UINT, + pParameters: *const ::D3D12_ROOT_PARAMETER, + NumStaticSamplers: ::UINT, + pStaticSamplers: *const ::D3D12_STATIC_SAMPLER_DESC, + Flags: ::D3D12_ROOT_SIGNATURE_FLAGS, +}} + +STRUCT!{struct D3D12_SAMPLER_DESC { + Filter: ::D3D12_FILTER, + AddressU: ::D3D12_TEXTURE_ADDRESS_MODE, + AddressV: ::D3D12_TEXTURE_ADDRESS_MODE, + AddressW: ::D3D12_TEXTURE_ADDRESS_MODE, + MipLODBias: ::FLOAT, + MaxAnisotropy: ::UINT, + ComparisonFunc: ::D3D12_COMPARISON_FUNC, + BorderColor: [::FLOAT; 4], + MinLOD: ::FLOAT, + MaxLOD: ::FLOAT, +}} + + + +STRUCT!{struct D3D12_SHADER_RESOURCE_VIEW_DESC { + Format: ::DXGI_FORMAT, + ViewDimension: ::D3D12_SRV_DIMENSION, + Shader4ComponentMapping: ::UINT, + u: ::D3D12_BUFFER_SRV, +}} + +UNION!(D3D12_SHADER_RESOURCE_VIEW_DESC, u, TextureCubeArray, TextureCubeArray_mut, + ::D3D12_TEXCUBE_ARRAY_SRV); +UNION!(D3D12_SHADER_RESOURCE_VIEW_DESC, u, TextureCube, TextureCube_mut, ::D3D12_TEXCUBE_SRV); +UNION!(D3D12_SHADER_RESOURCE_VIEW_DESC, u, Texture3D, Texture3D_mut, ::D3D12_TEX3D_SRV); +UNION!(D3D12_SHADER_RESOURCE_VIEW_DESC, u, Texture2DMSArray, Texture2DMSArray_mut, + ::D3D12_TEX2DMS_ARRAY_SRV); +UNION!(D3D12_SHADER_RESOURCE_VIEW_DESC, u, Texture2DMS, Texture2DMS_mut, ::D3D12_TEX2DMS_SRV); +UNION!(D3D12_SHADER_RESOURCE_VIEW_DESC, u, Texture2DArray, Texture2DArray_mut, + ::D3D12_TEX2D_ARRAY_SRV); +UNION!(D3D12_SHADER_RESOURCE_VIEW_DESC, u, Texture2D, Texture2D_mut, ::D3D12_TEX2D_SRV); +UNION!(D3D12_SHADER_RESOURCE_VIEW_DESC, u, Texture1DArray, Texture1DArray_mut, + ::D3D12_TEX1D_ARRAY_SRV); +UNION!(D3D12_SHADER_RESOURCE_VIEW_DESC, u, Texture1D, Texture1D_mut, ::D3D12_TEX1D_SRV); +UNION!(D3D12_SHADER_RESOURCE_VIEW_DESC, u, Buffer, Buffer_mut, ::D3D12_BUFFER_SRV); + + + +STRUCT!{struct D3D12_STATIC_SAMPLER_DESC { + Filter: ::D3D12_FILTER, + AddressU: ::D3D12_TEXTURE_ADDRESS_MODE, + AddressV: ::D3D12_TEXTURE_ADDRESS_MODE, + AddressW: ::D3D12_TEXTURE_ADDRESS_MODE, + MipLODBias: ::FLOAT, + MaxAnisotropy: ::UINT, + ComparisonFunc: ::D3D12_COMPARISON_FUNC, + BorderColor: ::D3D12_STATIC_BORDER_COLOR, + MinLOD: ::FLOAT, + MaxLOD: ::FLOAT, + ShaderRegister: ::UINT, + RegisterSpace: ::UINT, + ShaderVisibility: ::D3D12_SHADER_VISIBILITY, +}} + +STRUCT!{struct D3D12_STREAM_OUTPUT_BUFFER_VIEW { + BufferLocation: ::D3D12_GPU_VIRTUAL_ADDRESS, + SizeInBytes: ::UINT64, + BufferFilledSizeLocation: ::D3D12_GPU_VIRTUAL_ADDRESS, +}} + + + +STRUCT!{struct D3D12_SUBRESOURCE_DATA { + pData: *const ::c_void, + RowPitch: ::LONG_PTR, + SlicePitch: ::LONG_PTR, +}} + +STRUCT!{struct D3D12_SUBRESOURCE_FOOTPRINT { + Format: ::DXGI_FORMAT, + Width: ::UINT, + Height: ::UINT, + Depth: ::UINT, + RowPitch: ::UINT, +}} + +STRUCT!{struct D3D12_SUBRESOURCE_INFO { + Offset: ::UINT64, + RowPitch: ::UINT, + DepthPitch: ::UINT, +}} + +STRUCT!{struct D3D12_SUBRESOURCE_TILING { + WidthInTiles: ::UINT, + HeightInTiles: ::UINT16, + DepthInTiles: ::UINT16, + StartTileIndexInOverallResource: ::UINT, +}} + +STRUCT!{struct D3D12_TEX1D_ARRAY_DSV { + MipSlice: ::UINT, + FirstArraySlice: ::UINT, + ArraySize: ::UINT, +}} + +STRUCT!{struct D3D12_TEX1D_ARRAY_RTV { + MipSlice: ::UINT, + FirstArraySlice: ::UINT, + ArraySize: ::UINT, +}} + +STRUCT!{struct D3D12_TEX1D_ARRAY_SRV { + MostDetailedMip: ::UINT, + MipLevels: ::UINT, + FirstArraySlice: ::UINT, + ArraySize: ::UINT, + ResourceMinLODClamp: ::FLOAT, +}} + +STRUCT!{struct D3D12_TEX1D_ARRAY_UAV { + MipSlice: ::UINT, + FirstArraySlice: ::UINT, + ArraySize: ::UINT, +}} + +STRUCT!{struct D3D12_TEX1D_DSV { + MipSlice: ::UINT, +}} + +STRUCT!{struct D3D12_TEX1D_RTV { + MipSlice: ::UINT, +}} + +STRUCT!{struct D3D12_TEX1D_SRV { + MostDetailedMip: ::UINT, + MipLevels: ::UINT, + ResourceMinLODClamp: ::FLOAT, +}} + +STRUCT!{struct D3D12_TEX1D_UAV { + MipSlice: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2DMS_ARRAY_DSV { + FirstArraySlice: ::UINT, + ArraySize: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2DMS_ARRAY_RTV { + FirstArraySlice: ::UINT, + ArraySize: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2DMS_ARRAY_SRV { + FirstArraySlice: ::UINT, + ArraySize: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2DMS_DSV { + UnusedField_NothingToDefine: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2DMS_RTV { + UnusedField_NothingToDefine: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2DMS_SRV { + UnusedField_NothingToDefine: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2D_ARRAY_DSV { + MipSlice: ::UINT, + FirstArraySlice: ::UINT, + ArraySize: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2D_ARRAY_RTV { + MipSlice: ::UINT, + FirstArraySlice: ::UINT, + ArraySize: ::UINT, + PlaneSlice: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2D_ARRAY_SRV { + MostDetailedMip: ::UINT, + MipLevels: ::UINT, + FirstArraySlice: ::UINT, + ArraySize: ::UINT, + PlaneSlice: ::UINT, + ResourceMinLODClamp: ::FLOAT, +}} + +STRUCT!{struct D3D12_TEX2D_ARRAY_UAV { + MipSlice: ::UINT, + FirstArraySlice: ::UINT, + ArraySize: ::UINT, + PlaneSlice: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2D_DSV { + MipSlice: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2D_RTV { + MipSlice: ::UINT, + PlaneSlice: ::UINT, +}} + +STRUCT!{struct D3D12_TEX2D_SRV { + MostDetailedMip: ::UINT, + MipLevels: ::UINT, + PlaneSlice: ::UINT, + ResourceMinLODClamp: ::FLOAT, +}} + +STRUCT!{struct D3D12_TEX2D_UAV { + MipSlice: ::UINT, + PlaneSlice: ::UINT, +}} + +STRUCT!{struct D3D12_TEX3D_RTV { + MipSlice: ::UINT, + FirstWSlice: ::UINT, + WSize: ::UINT, +}} + +STRUCT!{struct D3D12_TEX3D_SRV { + MostDetailedMip: ::UINT, + MipLevels: ::UINT, + ResourceMinLODClamp: ::FLOAT, +}} + +STRUCT!{struct D3D12_TEX3D_UAV { + MipSlice: ::UINT, + FirstWSlice: ::UINT, + WSize: ::UINT, +}} + +STRUCT!{struct D3D12_TEXCUBE_ARRAY_SRV { + MostDetailedMip: ::UINT, + MipLevels: ::UINT, + First2DArrayFace: ::UINT, + NumCubes: ::UINT, + ResourceMinLODClamp: ::FLOAT, +}} + +STRUCT!{struct D3D12_TEXCUBE_SRV { + MostDetailedMip: ::UINT, + MipLevels: ::UINT, + ResourceMinLODClamp: ::FLOAT, +}} + +STRUCT!{struct D3D12_TEXTURE_COPY_LOCATION { + pResource: *mut ::ID3D12Resource, + Type: ::D3D12_TEXTURE_COPY_TYPE, + u: ::D3D12_PLACED_SUBRESOURCE_FOOTPRINT, +}} + +UNION!(D3D12_TEXTURE_COPY_LOCATION, u, SubresourceIndex, SubresourceIndex_mut, ::UINT); +UNION!(D3D12_TEXTURE_COPY_LOCATION, u, PlacedFootprint, PlacedFootprint_mut, + ::D3D12_PLACED_SUBRESOURCE_FOOTPRINT); + +STRUCT!{struct D3D12_TILED_RESOURCE_COORDINATE { + X: ::UINT, + Y: ::UINT, + Z: ::UINT, + Subresource: ::UINT, +}} + +STRUCT!{struct D3D12_TILE_REGION_SIZE { + NumTiles: ::UINT, + UseBox: ::BOOL, + Width: ::UINT, + Height: ::UINT16, + Depth: ::UINT16, +}} + +STRUCT!{struct D3D12_TILE_SHAPE { + WidthInTexels: ::UINT, + HeightInTexels: ::UINT, + DepthInTexels: ::UINT, +}} + +STRUCT!{struct D3D12_UNORDERED_ACCESS_VIEW_DESC { + Format: ::DXGI_FORMAT, + ViewDimension: ::D3D12_UAV_DIMENSION, + u: ::D3D12_BUFFER_UAV, +}} + +UNION!(D3D12_UNORDERED_ACCESS_VIEW_DESC, u, Texture3D, Texture3D_mut, ::D3D12_TEX3D_UAV); +UNION!(D3D12_UNORDERED_ACCESS_VIEW_DESC, u, Texture2DArray, Texture2DArray_mut, + ::D3D12_TEX2D_ARRAY_UAV); +UNION!(D3D12_UNORDERED_ACCESS_VIEW_DESC, u, Texture2D, Texture2D_mut, ::D3D12_TEX2D_UAV); +UNION!(D3D12_UNORDERED_ACCESS_VIEW_DESC, u, Texture1DArray, Texture1DArray_mut, + ::D3D12_TEX1D_ARRAY_UAV); +UNION!(D3D12_UNORDERED_ACCESS_VIEW_DESC, u, Texture1D, Texture1D_mut, ::D3D12_TEX1D_UAV); +UNION!(D3D12_UNORDERED_ACCESS_VIEW_DESC, u, Buffer, Buffer_mut, ::D3D12_BUFFER_UAV); + +STRUCT!{struct D3D12_VERTEX_BUFFER_VIEW { + BufferLocation: ::D3D12_GPU_VIRTUAL_ADDRESS, + SizeInBytes: ::UINT, + StrideInBytes: ::UINT, +}} + + + +RIDL!( +interface ID3D12CommandAllocator(ID3D12CommandAllocatorVtbl): ID3D12Pageable(ID3D12PageableVtbl) { + fn Reset(&mut self) -> ::HRESULT +}); + +RIDL!( +interface ID3D12CommandList(ID3D12CommandListVtbl): ID3D12DeviceChild(ID3D12DeviceChildVtbl) { + fn GetType(&mut self) -> ::D3D12_COMMAND_LIST_TYPE +}); + +RIDL!( +interface ID3D12CommandQueue(ID3D12CommandQueueVtbl): ID3D12Pageable(ID3D12PageableVtbl) { + fn UpdateTileMappings( + &mut self, pResource: *mut ::ID3D12Resource, NumResourceRegions: ::UINT, + pResourceRegionStartCoordinates: *const ::D3D12_TILED_RESOURCE_COORDINATE, + pResourceRegionSizes: *const ::D3D12_TILE_REGION_SIZE, pHeap: *mut ::ID3D12Heap, + NumRanges: ::UINT, pRangeFlags: *const ::D3D12_TILE_RANGE_FLAGS, + pHeapRangeStartOffsets: *const ::UINT, pRangeTileCounts: *const ::UINT, + Flags: ::D3D12_TILE_MAPPING_FLAGS + ) -> (), + fn CopyTileMappings( + &mut self, pDstResource: *mut ::ID3D12Resource, + pDstRegionStartCoordinate: *const ::D3D12_TILED_RESOURCE_COORDINATE, + pSrcResource: *mut ::ID3D12Resource, + pSrcRegionStartCoordinate: *const ::D3D12_TILED_RESOURCE_COORDINATE, + pRegionSize: *const ::D3D12_TILE_REGION_SIZE, Flags: ::D3D12_TILE_MAPPING_FLAGS + ) -> (), + fn ExecuteCommandLists( + &mut self, NumCommandLists: ::UINT, ppCommandLists: *mut *mut ::ID3D12CommandList + ) -> (), + fn SetMarker( + &mut self, Metadata: ::UINT, pData: *const ::c_void, Size: ::UINT + ) -> (), + fn BeginEvent( + &mut self, Metadata: ::UINT, pData: *const ::c_void, Size: ::UINT + ) -> (), + fn EndEvent(&mut self) -> (), + fn Signal( + &mut self, pFence: *mut ::ID3D12Fence, Value: ::UINT64 + ) -> ::HRESULT, + fn Wait( + &mut self, pFence: *mut ::ID3D12Fence, Value: ::UINT64 + ) -> ::HRESULT, + fn GetTimestampFrequency(&mut self, pFrequency: *mut ::UINT64) -> ::HRESULT, + fn GetClockCalibration( + &mut self, pGpuTimestamp: *mut ::UINT64, pCpuTimestamp: *mut ::UINT64 + ) -> ::HRESULT, + fn GetDesc( + &mut self, __ret_val: *mut ::D3D12_COMMAND_QUEUE_DESC + ) -> *mut ::D3D12_COMMAND_QUEUE_DESC +}); + +RIDL!( +interface ID3D12CommandSignature(ID3D12CommandSignatureVtbl): ID3D12Pageable(ID3D12PageableVtbl) { +}); + +RIDL!( +interface ID3D12DescriptorHeap(ID3D12DescriptorHeapVtbl): ID3D12Pageable(ID3D12PageableVtbl) { + fn GetDesc( + &mut self, __ret_val: *mut ::D3D12_DESCRIPTOR_HEAP_DESC + ) -> *mut ::D3D12_DESCRIPTOR_HEAP_DESC, + fn GetCPUDescriptorHandleForHeapStart( + &mut self, __ret_val: *mut ::D3D12_CPU_DESCRIPTOR_HANDLE + ) -> *mut ::D3D12_CPU_DESCRIPTOR_HANDLE, + fn GetGPUDescriptorHandleForHeapStart( + &mut self, __ret_val: *mut ::D3D12_GPU_DESCRIPTOR_HANDLE + ) -> *mut ::D3D12_GPU_DESCRIPTOR_HANDLE +}); + + + +RIDL!( +interface ID3D12Device(ID3D12DeviceVtbl): ID3D12Object(ID3D12ObjectVtbl) { + fn GetNodeCount(&mut self) -> ::UINT, + fn CreateCommandQueue( + &mut self, pDesc: *const ::D3D12_COMMAND_QUEUE_DESC, riid: ::REFGUID, + ppCommandQueue: *mut *mut ::c_void + ) -> ::HRESULT, + fn CreateCommandAllocator( + &mut self, type_: ::D3D12_COMMAND_LIST_TYPE, riid: ::REFGUID, + ppCommandAllocator: *mut *mut ::c_void + ) -> ::HRESULT, + fn CreateGraphicsPipelineState( + &mut self, pDesc: *const ::D3D12_GRAPHICS_PIPELINE_STATE_DESC, riid: ::REFGUID, + ppPipelineState: *mut *mut ::c_void + ) -> ::HRESULT, + fn CreateComputePipelineState( + &mut self, pDesc: *const ::D3D12_COMPUTE_PIPELINE_STATE_DESC, riid: ::REFGUID, + ppPipelineState: *mut *mut ::c_void + ) -> ::HRESULT, + fn CreateCommandList( + &mut self, nodeMask: ::UINT, type_: ::D3D12_COMMAND_LIST_TYPE, + pCommandAllocator: *mut ::ID3D12CommandAllocator, + pInitialState: *mut ::ID3D12PipelineState, riid: ::REFGUID, + ppCommandList: *mut *mut ::c_void + ) -> ::HRESULT, + fn CheckFeatureSupport( + &mut self, Feature: ::D3D12_FEATURE, pFeatureSupportData: *mut ::c_void, + FeatureSupportDataSize: ::UINT + ) -> ::HRESULT, + fn CreateDescriptorHeap( + &mut self, pDescriptorHeapDesc: *const ::D3D12_DESCRIPTOR_HEAP_DESC, riid: ::REFGUID, + ppvHeap: *mut *mut ::c_void + ) -> ::HRESULT, + fn GetDescriptorHandleIncrementSize( + &mut self, DescriptorHeapType: ::D3D12_DESCRIPTOR_HEAP_TYPE + ) -> ::UINT, + fn CreateRootSignature( + &mut self, nodeMask: ::UINT, pBlobWithRootSignature: *const ::c_void, + blobLengthInBytes: ::SIZE_T, riid: ::REFGUID, ppvRootSignature: *mut *mut ::c_void + ) -> ::HRESULT, + fn CreateConstantBufferView( + &mut self, pDesc: *const ::D3D12_CONSTANT_BUFFER_VIEW_DESC, + DestDescriptor: ::D3D12_CPU_DESCRIPTOR_HANDLE + ) -> (), + fn CreateShaderResourceView( + &mut self, pResource: *mut ::ID3D12Resource, + pDesc: *const ::D3D12_SHADER_RESOURCE_VIEW_DESC, + DestDescriptor: ::D3D12_CPU_DESCRIPTOR_HANDLE + ) -> (), + fn CreateUnorderedAccessView( + &mut self, pResource: *mut ::ID3D12Resource, pCounterResource: *mut ::ID3D12Resource, + pDesc: *const ::D3D12_UNORDERED_ACCESS_VIEW_DESC, + DestDescriptor: ::D3D12_CPU_DESCRIPTOR_HANDLE + ) -> (), + fn CreateRenderTargetView( + &mut self, pResource: *mut ::ID3D12Resource, pDesc: *const ::D3D12_RENDER_TARGET_VIEW_DESC, + DestDescriptor: ::D3D12_CPU_DESCRIPTOR_HANDLE + ) -> (), + fn CreateDepthStencilView( + &mut self, pResource: *mut ::ID3D12Resource, pDesc: *const ::D3D12_DEPTH_STENCIL_VIEW_DESC, + DestDescriptor: ::D3D12_CPU_DESCRIPTOR_HANDLE + ) -> (), + fn CreateSampler( + &mut self, pDesc: *const ::D3D12_SAMPLER_DESC, + DestDescriptor: ::D3D12_CPU_DESCRIPTOR_HANDLE + ) -> (), + fn CopyDescriptors( + &mut self, NumDestDescriptorRanges: ::UINT, + pDestDescriptorRangeStarts: *const ::D3D12_CPU_DESCRIPTOR_HANDLE, + pDestDescriptorRangeSizes: *const ::UINT, NumSrcDescriptorRanges: ::UINT, + pSrcDescriptorRangeStarts: *const ::D3D12_CPU_DESCRIPTOR_HANDLE, + pSrcDescriptorRangeSizes: *const ::UINT, DescriptorHeapsType: ::D3D12_DESCRIPTOR_HEAP_TYPE + ) -> (), + fn CopyDescriptorsSimple( + &mut self, NumDescriptors: ::UINT, DestDescriptorRangeStart: ::D3D12_CPU_DESCRIPTOR_HANDLE, + SrcDescriptorRangeStart: ::D3D12_CPU_DESCRIPTOR_HANDLE, + DescriptorHeapsType: ::D3D12_DESCRIPTOR_HEAP_TYPE + ) -> (), + fn GetResourceAllocationInfo( + &mut self, visibleMask: ::UINT, numResourceDescs: ::UINT, + pResourceDescs: *const ::D3D12_RESOURCE_DESC, + __ret_val: *mut ::D3D12_RESOURCE_ALLOCATION_INFO + ) -> *mut ::D3D12_RESOURCE_ALLOCATION_INFO, + fn GetCustomHeapProperties( + &mut self, nodeMask: ::UINT, heapType: ::D3D12_HEAP_TYPE, + __ret_val: *mut ::D3D12_HEAP_PROPERTIES + ) -> *mut ::D3D12_HEAP_PROPERTIES, + fn CreateCommittedResource( + &mut self, pHeapProperties: *const ::D3D12_HEAP_PROPERTIES, HeapFlags: ::D3D12_HEAP_FLAGS, + pResourceDesc: *const ::D3D12_RESOURCE_DESC, InitialResourceState: ::D3D12_RESOURCE_STATES, + pOptimizedClearValue: *const ::D3D12_CLEAR_VALUE, riidResource: ::REFGUID, + ppvResource: *mut *mut ::c_void + ) -> ::HRESULT, + fn CreateHeap( + &mut self, pDesc: *const ::D3D12_HEAP_DESC, riid: ::REFGUID, ppvHeap: *mut *mut ::c_void + ) -> ::HRESULT, + fn CreatePlacedResource( + &mut self, pHeap: *mut ::ID3D12Heap, HeapOffset: ::UINT64, + pDesc: *const ::D3D12_RESOURCE_DESC, InitialState: ::D3D12_RESOURCE_STATES, + pOptimizedClearValue: *const ::D3D12_CLEAR_VALUE, riid: ::REFGUID, + ppvResource: *mut *mut ::c_void + ) -> ::HRESULT, + fn CreateReservedResource( + &mut self, pDesc: *const ::D3D12_RESOURCE_DESC, InitialState: ::D3D12_RESOURCE_STATES, + pOptimizedClearValue: *const ::D3D12_CLEAR_VALUE, riid: ::REFGUID, + ppvResource: *mut *mut ::c_void + ) -> ::HRESULT, + fn CreateSharedHandle( + &mut self, pObject: *mut ::ID3D12DeviceChild, pAttributes: *const ::SECURITY_ATTRIBUTES, + Access: ::DWORD, Name: ::LPCWSTR, pHandle: *mut ::HANDLE + ) -> ::HRESULT, + fn OpenSharedHandle( + &mut self, NTHandle: ::HANDLE, riid: ::REFGUID, ppvObj: *mut *mut ::c_void + ) -> ::HRESULT, + fn OpenSharedHandleByName( + &mut self, Name: ::LPCWSTR, Access: ::DWORD, pNTHandle: *mut ::HANDLE + ) -> ::HRESULT, + fn MakeResident( + &mut self, NumObjects: ::UINT, ppObjects: *mut *mut ::ID3D12Pageable + ) -> ::HRESULT, + fn Evict( + &mut self, NumObjects: ::UINT, ppObjects: *mut *mut ::ID3D12Pageable + ) -> ::HRESULT, + fn CreateFence( + &mut self, InitialValue: ::UINT64, Flags: ::D3D12_FENCE_FLAGS, riid: ::REFGUID, + ppFence: *mut *mut ::c_void + ) -> ::HRESULT, + fn GetDeviceRemovedReason(&mut self) -> ::HRESULT, + fn GetCopyableFootprints( + &mut self, pResourceDesc: *const ::D3D12_RESOURCE_DESC, FirstSubresource: ::UINT, + NumSubresources: ::UINT, BaseOffset: ::UINT64, + pLayouts: *mut ::D3D12_PLACED_SUBRESOURCE_FOOTPRINT, pNumRows: *mut ::UINT, + pRowSizeInBytes: *mut ::UINT64, pTotalBytes: *mut ::UINT64 + ) -> (), + fn CreateQueryHeap( + &mut self, pDesc: *const ::D3D12_QUERY_HEAP_DESC, riid: ::REFGUID, + ppvHeap: *mut *mut ::c_void + ) -> ::HRESULT, + fn SetStablePowerState(&mut self, Enable: ::BOOL) -> ::HRESULT, + fn CreateCommandSignature( + &mut self, pDesc: *const ::D3D12_COMMAND_SIGNATURE_DESC, + pRootSignature: *mut ::ID3D12RootSignature, riid: ::REFGUID, + ppvCommandSignature: *mut *mut ::c_void + ) -> ::HRESULT, + fn GetResourceTiling( + &mut self, pTiledResource: *mut ::ID3D12Resource, pNumTilesForEntireResource: *mut ::UINT, + pPackedMipDesc: *mut ::D3D12_PACKED_MIP_INFO, + pStandardTileShapeForNonPackedMips: *mut ::D3D12_TILE_SHAPE, + pNumSubresourceTilings: *mut ::UINT, FirstSubresourceTilingToGet: ::UINT, + pSubresourceTilingsForNonPackedMips: *mut ::D3D12_SUBRESOURCE_TILING + ) -> (), + fn GetAdapterLuid(&mut self, __ret_val: *mut ::LUID) -> *mut ::LUID +}); + +RIDL!( +interface ID3D12Fence(ID3D12FenceVtbl): ID3D12Pageable(ID3D12PageableVtbl) { + fn GetCompletedValue(&mut self) -> ::UINT64, + fn SetEventOnCompletion( + &mut self, Value: ::UINT64, hEvent: ::HANDLE + ) -> ::HRESULT, + fn Signal(&mut self, Value: ::UINT64) -> ::HRESULT +}); + +RIDL!( +interface ID3D12GraphicsCommandList(ID3D12GraphicsCommandListVtbl): ID3D12CommandList(ID3D12CommandListVtbl) { + fn Close(&mut self) -> ::HRESULT, + fn Reset( + &mut self, pAllocator: *mut ::ID3D12CommandAllocator, + pInitialState: *mut ::ID3D12PipelineState + ) -> ::HRESULT, + fn ClearState(&mut self, pPipelineState: *mut ::ID3D12PipelineState) -> (), + fn DrawInstanced( + &mut self, VertexCountPerInstance: ::UINT, InstanceCount: ::UINT, + StartVertexLocation: ::UINT, StartInstanceLocation: ::UINT + ) -> (), + fn DrawIndexedInstanced( + &mut self, IndexCountPerInstance: ::UINT, InstanceCount: ::UINT, + StartIndexLocation: ::UINT, BaseVertexLocation: ::INT, StartInstanceLocation: ::UINT + ) -> (), + fn Dispatch( + &mut self, ThreadGroupCountX: ::UINT, ThreadGroupCountY: ::UINT, ThreadGroupCountZ: ::UINT + ) -> (), + fn CopyBufferRegion( + &mut self, pDstBuffer: *mut ::ID3D12Resource, DstOffset: ::UINT64, + pSrcBuffer: *mut ::ID3D12Resource, SrcOffset: ::UINT64, NumBytes: ::UINT64 + ) -> (), + fn CopyTextureRegion( + &mut self, pDst: *const ::D3D12_TEXTURE_COPY_LOCATION, DstX: ::UINT, DstY: ::UINT, + DstZ: ::UINT, pSrc: *const ::D3D12_TEXTURE_COPY_LOCATION, pSrcBox: *const ::D3D12_BOX + ) -> (), + fn CopyResource( + &mut self, pDstResource: *mut ::ID3D12Resource, pSrcResource: *mut ::ID3D12Resource + ) -> (), + fn CopyTiles( + &mut self, pTiledResource: *mut ::ID3D12Resource, + pTileRegionStartCoordinate: *const ::D3D12_TILED_RESOURCE_COORDINATE, + pTileRegionSize: *const ::D3D12_TILE_REGION_SIZE, pBuffer: *mut ::ID3D12Resource, + BufferStartOffsetInBytes: ::UINT64, Flags: ::D3D12_TILE_COPY_FLAGS + ) -> (), + fn ResolveSubresource( + &mut self, pDstResource: *mut ::ID3D12Resource, DstSubresource: ::UINT, + pSrcResource: *mut ::ID3D12Resource, SrcSubresource: ::UINT, Format: ::DXGI_FORMAT + ) -> (), + fn IASetPrimitiveTopology( + &mut self, PrimitiveTopology: ::D3D12_PRIMITIVE_TOPOLOGY + ) -> (), + fn RSSetViewports( + &mut self, NumViewports: ::UINT, pViewports: *const ::D3D12_VIEWPORT + ) -> (), + fn RSSetScissorRects( + &mut self, NumRects: ::UINT, pRects: *const ::D3D12_RECT + ) -> (), + fn OMSetBlendFactor(&mut self, BlendFactor: *const [::FLOAT; 4]) -> (), + fn OMSetStencilRef(&mut self, StencilRef: ::UINT) -> (), + fn SetPipelineState( + &mut self, pPipelineState: *mut ::ID3D12PipelineState + ) -> (), + fn ResourceBarrier( + &mut self, NumBarriers: ::UINT, pBarriers: *const ::D3D12_RESOURCE_BARRIER + ) -> (), + fn ExecuteBundle( + &mut self, pCommandList: *mut ::ID3D12GraphicsCommandList + ) -> (), + fn SetDescriptorHeaps( + &mut self, NumDescriptorHeaps: ::UINT, ppDescriptorHeaps: *mut *mut ::ID3D12DescriptorHeap + ) -> (), + fn SetComputeRootSignature( + &mut self, pRootSignature: *mut ::ID3D12RootSignature + ) -> (), + fn SetGraphicsRootSignature( + &mut self, pRootSignature: *mut ::ID3D12RootSignature + ) -> (), + fn SetComputeRootDescriptorTable( + &mut self, RootParameterIndex: ::UINT, BaseDescriptor: ::D3D12_GPU_DESCRIPTOR_HANDLE + ) -> (), + fn SetGraphicsRootDescriptorTable( + &mut self, RootParameterIndex: ::UINT, BaseDescriptor: ::D3D12_GPU_DESCRIPTOR_HANDLE + ) -> (), + fn SetComputeRoot32BitConstant( + &mut self, RootParameterIndex: ::UINT, SrcData: ::UINT, DestOffsetIn32BitValues: ::UINT + ) -> (), + fn SetGraphicsRoot32BitConstant( + &mut self, RootParameterIndex: ::UINT, SrcData: ::UINT, DestOffsetIn32BitValues: ::UINT + ) -> (), + fn SetComputeRoot32BitConstants( + &mut self, RootParameterIndex: ::UINT, Num32BitValuesToSet: ::UINT, + pSrcData: *const ::c_void, DestOffsetIn32BitValues: ::UINT + ) -> (), + fn SetGraphicsRoot32BitConstants( + &mut self, RootParameterIndex: ::UINT, Num32BitValuesToSet: ::UINT, + pSrcData: *const ::c_void, DestOffsetIn32BitValues: ::UINT + ) -> (), + fn SetComputeRootConstantBufferView( + &mut self, RootParameterIndex: ::UINT, BufferLocation: ::D3D12_GPU_VIRTUAL_ADDRESS + ) -> (), + fn SetGraphicsRootConstantBufferView( + &mut self, RootParameterIndex: ::UINT, BufferLocation: ::D3D12_GPU_VIRTUAL_ADDRESS + ) -> (), + fn SetComputeRootShaderResourceView( + &mut self, RootParameterIndex: ::UINT, BufferLocation: ::D3D12_GPU_VIRTUAL_ADDRESS + ) -> (), + fn SetGraphicsRootShaderResourceView( + &mut self, RootParameterIndex: ::UINT, BufferLocation: ::D3D12_GPU_VIRTUAL_ADDRESS + ) -> (), + fn SetComputeRootUnorderedAccessView( + &mut self, RootParameterIndex: ::UINT, BufferLocation: ::D3D12_GPU_VIRTUAL_ADDRESS + ) -> (), + fn SetGraphicsRootUnorderedAccessView( + &mut self, RootParameterIndex: ::UINT, BufferLocation: ::D3D12_GPU_VIRTUAL_ADDRESS + ) -> (), + fn IASetIndexBuffer( + &mut self, pView: *const ::D3D12_INDEX_BUFFER_VIEW + ) -> (), + fn IASetVertexBuffers( + &mut self, StartSlot: ::UINT, NumViews: ::UINT, pViews: *const ::D3D12_VERTEX_BUFFER_VIEW + ) -> (), + fn SOSetTargets( + &mut self, StartSlot: ::UINT, NumViews: ::UINT, + pViews: *const ::D3D12_STREAM_OUTPUT_BUFFER_VIEW + ) -> (), + fn OMSetRenderTargets( + &mut self, NumRenderTargetDescriptors: ::UINT, + pRenderTargetDescriptors: *const ::D3D12_CPU_DESCRIPTOR_HANDLE, + RTsSingleHandleToDescriptorRange: ::BOOL, + pDepthStencilDescriptor: *const ::D3D12_CPU_DESCRIPTOR_HANDLE + ) -> (), + fn ClearDepthStencilView( + &mut self, DepthStencilView: ::D3D12_CPU_DESCRIPTOR_HANDLE, + ClearFlags: ::D3D12_CLEAR_FLAGS, Depth: ::FLOAT, Stencil: ::UINT8, NumRects: ::UINT, + pRects: *const ::D3D12_RECT + ) -> (), + fn ClearRenderTargetView( + &mut self, RenderTargetView: ::D3D12_CPU_DESCRIPTOR_HANDLE, ColorRGBA: *const [::FLOAT; 4], + NumRects: ::UINT, pRects: *const ::D3D12_RECT + ) -> (), + fn ClearUnorderedAccessViewUint( + &mut self, ViewGPUHandleInCurrentHeap: ::D3D12_GPU_DESCRIPTOR_HANDLE, + ViewCPUHandle: ::D3D12_CPU_DESCRIPTOR_HANDLE, pResource: *mut ::ID3D12Resource, + Values: *const [::UINT; 4], NumRects: ::UINT, pRects: *const ::D3D12_RECT + ) -> (), + fn ClearUnorderedAccessViewFloat( + &mut self, ViewGPUHandleInCurrentHeap: ::D3D12_GPU_DESCRIPTOR_HANDLE, + ViewCPUHandle: ::D3D12_CPU_DESCRIPTOR_HANDLE, pResource: *mut ::ID3D12Resource, + Values: *const [::FLOAT; 4], NumRects: ::UINT, pRects: *const ::D3D12_RECT + ) -> (), + fn DiscardResource( + &mut self, pResource: *mut ::ID3D12Resource, pRegion: *const ::D3D12_DISCARD_REGION + ) -> (), + fn BeginQuery( + &mut self, pQueryHeap: *mut ::ID3D12QueryHeap, Type: ::D3D12_QUERY_TYPE, Index: ::UINT + ) -> (), + fn EndQuery( + &mut self, pQueryHeap: *mut ::ID3D12QueryHeap, Type: ::D3D12_QUERY_TYPE, Index: ::UINT + ) -> (), + fn ResolveQueryData( + &mut self, pQueryHeap: *mut ::ID3D12QueryHeap, Type: ::D3D12_QUERY_TYPE, + StartIndex: ::UINT, NumQueries: ::UINT, pDestinationBuffer: *mut ::ID3D12Resource, + AlignedDestinationBufferOffset: ::UINT64 + ) -> (), + fn SetPredication( + &mut self, pBuffer: *mut ::ID3D12Resource, AlignedBufferOffset: ::UINT64, + Operation: ::D3D12_PREDICATION_OP + ) -> (), + fn SetMarker( + &mut self, Metadata: ::UINT, pData: *const ::c_void, Size: ::UINT + ) -> (), + fn BeginEvent( + &mut self, Metadata: ::UINT, pData: *const ::c_void, Size: ::UINT + ) -> (), + fn EndEvent(&mut self) -> (), + fn ExecuteIndirect( + &mut self, pCommandSignature: *mut ::ID3D12CommandSignature, MaxCommandCount: ::UINT, + pArgumentBuffer: *mut ::ID3D12Resource, ArgumentBufferOffset: ::UINT64, + pCountBuffer: *mut ::ID3D12Resource, CountBufferOffset: ::UINT64 + ) -> () +}); + +RIDL!( +interface ID3D12Heap(ID3D12HeapVtbl): ID3D12Pageable(ID3D12PageableVtbl) { + fn GetDesc( + &mut self, __ret_val: *mut ::D3D12_HEAP_DESC + ) -> *mut ::D3D12_HEAP_DESC +}); + + + +RIDL!( +interface ID3D12Pageable(ID3D12PageableVtbl): ID3D12DeviceChild(ID3D12DeviceChildVtbl) { +}); + +RIDL!( +interface ID3D12PipelineState(ID3D12PipelineStateVtbl): ID3D12Pageable(ID3D12PageableVtbl) { + fn GetCachedBlob(&mut self, ppBlob: *mut *mut ::ID3DBlob) -> ::HRESULT +}); + +RIDL!( +interface ID3D12QueryHeap(ID3D12QueryHeapVtbl): ID3D12Pageable(ID3D12PageableVtbl) { +}); + +RIDL!( +interface ID3D12Resource(ID3D12ResourceVtbl): ID3D12Pageable(ID3D12PageableVtbl) { + fn Map( + &mut self, Subresource: ::UINT, pReadRange: *const ::D3D12_RANGE, + ppData: *mut *mut ::c_void + ) -> ::HRESULT, + fn Unmap( + &mut self, Subresource: ::UINT, pWrittenRange: *const ::D3D12_RANGE + ) -> (), + fn GetDesc( + &mut self, __ret_val: *mut ::D3D12_RESOURCE_DESC + ) -> *mut ::D3D12_RESOURCE_DESC, + fn GetGPUVirtualAddress(&mut self) -> ::D3D12_GPU_VIRTUAL_ADDRESS, + fn WriteToSubresource( + &mut self, DstSubresource: ::UINT, pDstBox: *const ::D3D12_BOX, pSrcData: *const ::c_void, + SrcRowPitch: ::UINT, SrcDepthPitch: ::UINT + ) -> ::HRESULT, + fn ReadFromSubresource( + &mut self, pDstData: *mut ::c_void, DstRowPitch: ::UINT, DstDepthPitch: ::UINT, + SrcSubresource: ::UINT, pSrcBox: *const ::D3D12_BOX + ) -> ::HRESULT, + fn GetHeapProperties( + &mut self, pHeapProperties: *mut ::D3D12_HEAP_PROPERTIES, + pHeapFlags: *mut ::D3D12_HEAP_FLAGS + ) -> ::HRESULT +}); + +RIDL!( +interface ID3D12RootSignatureDeserializer(ID3D12RootSignatureDeserializerVtbl): IUnknown(IUnknownVtbl) { + fn GetRootSignatureDesc(&mut self) -> *const ::D3D12_ROOT_SIGNATURE_DESC +}); + + + +pub type PFN_D3D12_CREATE_DEVICE = extern "system" fn (_ : *mut ::IUnknown, _ : ::D3D_FEATURE_LEVEL, _ : ::REFGUID, _ : *mut *mut ::c_void) -> ::HRESULT; +pub type PFN_D3D12_CREATE_ROOT_SIGNATURE_DESERIALIZER = extern "system" fn (pSrcData: ::LPCVOID, SrcDataSizeInBytes: ::SIZE_T, pRootSignatureDeserializerInterface: ::REFGUID, ppRootSignatureDeserializer: *mut *mut ::c_void) -> ::HRESULT; +pub type PFN_D3D12_GET_DEBUG_INTERFACE = extern "system" fn (_ : ::REFGUID, _ : *mut *mut ::c_void) -> ::HRESULT; +pub type PFN_D3D12_SERIALIZE_ROOT_SIGNATURE = extern "system" fn (pRootSignature: *const ::D3D12_ROOT_SIGNATURE_DESC, Version: ::D3D_ROOT_SIGNATURE_VERSION, ppBlob: *mut *mut ::ID3DBlob, ppErrorBlob: *mut *mut ::ID3DBlob) -> ::HRESULT; diff --git a/third_party/rust/winapi-0.2.8/src/d3d12sdklayers.rs b/third_party/rust/winapi-0.2.8/src/d3d12sdklayers.rs new file mode 100644 index 0000000000..f1598867ed --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d3d12sdklayers.rs @@ -0,0 +1,1063 @@ +// Copyright © 2015, Dmitry Roschin +// Licensed under the MIT License <LICENSE.md> +RIDL!{interface ID3D12Debug(ID3D12DebugVtbl): IUnknown(IUnknownVtbl) { + fn EnableDebugLayer(&mut self) -> () +}} +FLAGS!{enum D3D12_DEBUG_FEATURE { + D3D12_DEBUG_FEATURE_NONE = 0, + D3D12_DEBUG_FEATURE_TREAT_BUNDLE_AS_DRAW = 0x1, + D3D12_DEBUG_FEATURE_TREAT_BUNDLE_AS_DISPATCH = 0x2, +}} +FLAGS!{enum D3D12_RLDO_FLAGS { + D3D12_RLDO_NONE = 0x0, + D3D12_RLDO_SUMMARY = 0x1, + D3D12_RLDO_DETAIL = 0x2, + D3D12_RLDO_IGNORE_INTERNAL = 0x4, +}} +RIDL!{interface ID3D12DebugDevice(ID3D12DebugDeviceVtbl): IUnknown(IUnknownVtbl) { + fn SetFeatureMask(&mut self, Mask: ::D3D12_DEBUG_FEATURE) -> ::HRESULT, + fn GetFeatureMask(&mut self) -> ::D3D12_DEBUG_FEATURE, + fn ReportLiveDeviceObjects(&mut self, Flags: ::D3D12_RLDO_FLAGS) -> ::HRESULT +}} +RIDL!{interface ID3D12DebugCommandQueue(ID3D12DebugCommandQueueVtbl): IUnknown(IUnknownVtbl) { + fn AssertResourceState( + &mut self, pResource: *mut ::ID3D12Resource, Subresource: ::UINT, State: ::UINT + ) -> ::BOOL +}} +RIDL!{interface ID3D12DebugCommandList(ID3D12DebugCommandListVtbl): IUnknown(IUnknownVtbl) { + fn AssertResourceState( + &mut self, pResource: *mut ::ID3D12Resource, Subresource: ::UINT, State: ::UINT + ) -> ::BOOL, + fn SetFeatureMask(&mut self, Mask: ::D3D12_DEBUG_FEATURE) -> ::HRESULT, + fn GetFeatureMask(&mut self) -> ::D3D12_DEBUG_FEATURE +}} +ENUM!{enum D3D12_MESSAGE_CATEGORY { + D3D12_MESSAGE_CATEGORY_APPLICATION_DEFINED = 0, + D3D12_MESSAGE_CATEGORY_MISCELLANEOUS = 1, + D3D12_MESSAGE_CATEGORY_INITIALIZATION = 2, + D3D12_MESSAGE_CATEGORY_CLEANUP = 3, + D3D12_MESSAGE_CATEGORY_COMPILATION = 4, + D3D12_MESSAGE_CATEGORY_STATE_CREATION = 5, + D3D12_MESSAGE_CATEGORY_STATE_SETTING = 6, + D3D12_MESSAGE_CATEGORY_STATE_GETTING = 7, + D3D12_MESSAGE_CATEGORY_RESOURCE_MANIPULATION = 8, + D3D12_MESSAGE_CATEGORY_EXECUTION = 9, + D3D12_MESSAGE_CATEGORY_SHADER = 10, +}} +ENUM!{enum D3D12_MESSAGE_SEVERITY { + D3D12_MESSAGE_SEVERITY_CORRUPTION = 0, + D3D12_MESSAGE_SEVERITY_ERROR = 1, + D3D12_MESSAGE_SEVERITY_WARNING = 2, + D3D12_MESSAGE_SEVERITY_INFO = 3, + D3D12_MESSAGE_SEVERITY_MESSAGE = 4, +}} +ENUM!{enum D3D12_MESSAGE_ID { + D3D12_MESSAGE_ID_UNKNOWN = 0, + D3D12_MESSAGE_ID_STRING_FROM_APPLICATION = 1, + D3D12_MESSAGE_ID_CORRUPTED_THIS = 2, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER1 = 3, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER2 = 4, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER3 = 5, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER4 = 6, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER5 = 7, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER6 = 8, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER7 = 9, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER8 = 10, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER9 = 11, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER10 = 12, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER11 = 13, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER12 = 14, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER13 = 15, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER14 = 16, + D3D12_MESSAGE_ID_CORRUPTED_PARAMETER15 = 17, + D3D12_MESSAGE_ID_CORRUPTED_MULTITHREADING = 18, + D3D12_MESSAGE_ID_MESSAGE_REPORTING_OUTOFMEMORY = 19, + D3D12_MESSAGE_ID_GETPRIVATEDATA_MOREDATA = 20, + D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFREEDATA = 21, + D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDIUNKNOWN = 22, + D3D12_MESSAGE_ID_SETPRIVATEDATA_INVALIDFLAGS = 23, + D3D12_MESSAGE_ID_SETPRIVATEDATA_CHANGINGPARAMS = 24, + D3D12_MESSAGE_ID_SETPRIVATEDATA_OUTOFMEMORY = 25, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_UNRECOGNIZEDFORMAT = 26, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDESC = 27, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFORMAT = 28, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANESLICE = 29, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANESLICE = 30, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS = 31, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDRESOURCE = 32, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDARG_RETURN = 33, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_OUTOFMEMORY_RETURN = 34, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNRECOGNIZEDFORMAT = 35, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_UNSUPPORTEDFORMAT = 36, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDESC = 37, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDFORMAT = 38, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANESLICE = 39, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANESLICE = 40, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDIMENSIONS = 41, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDRESOURCE = 42, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDARG_RETURN = 43, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_OUTOFMEMORY_RETURN = 44, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_UNRECOGNIZEDFORMAT = 45, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDESC = 46, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFORMAT = 47, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDDIMENSIONS = 48, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDRESOURCE = 49, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDARG_RETURN = 50, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_OUTOFMEMORY_RETURN = 51, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_OUTOFMEMORY = 52, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TOOMANYELEMENTS = 53, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDFORMAT = 54, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INCOMPATIBLEFORMAT = 55, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOT = 56, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDINPUTSLOTCLASS = 57, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_STEPRATESLOTCLASSMISMATCH = 58, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSLOTCLASSCHANGE = 59, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDSTEPRATECHANGE = 60, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_INVALIDALIGNMENT = 61, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_DUPLICATESEMANTIC = 62, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_UNPARSEABLEINPUTSIGNATURE = 63, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_NULLSEMANTIC = 64, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_MISSINGELEMENT = 65, + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_OUTOFMEMORY = 66, + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERBYTECODE = 67, + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDSHADERTYPE = 68, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_OUTOFMEMORY = 69, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERBYTECODE = 70, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDSHADERTYPE = 71, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTOFMEMORY = 72, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERBYTECODE = 73, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSHADERTYPE = 74, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMENTRIES = 75, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSTREAMSTRIDEUNUSED = 76, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDDECL = 77, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_EXPECTEDDECL = 78, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_OUTPUTSLOT0EXPECTED = 79, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSLOT = 80, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_ONLYONEELEMENTPERSLOT = 81, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCOMPONENTCOUNT = 82, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTARTCOMPONENTANDCOMPONENTCOUNT = 83, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDGAPDEFINITION = 84, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_REPEATEDOUTPUT = 85, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDOUTPUTSTREAMSTRIDE = 86, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGSEMANTIC = 87, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MASKMISMATCH = 88, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_CANTHAVEONLYGAPS = 89, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DECLTOOCOMPLEX = 90, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_MISSINGOUTPUTSIGNATURE = 91, + D3D12_MESSAGE_ID_CREATEPIXELSHADER_OUTOFMEMORY = 92, + D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERBYTECODE = 93, + D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDSHADERTYPE = 94, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFILLMODE = 95, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDCULLMODE = 96, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDDEPTHBIASCLAMP = 97, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDSLOPESCALEDDEPTHBIAS = 98, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_NULLDESC = 99, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHWRITEMASK = 100, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDDEPTHFUNC = 101, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFAILOP = 102, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILZFAILOP = 103, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILPASSOP = 104, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDFRONTFACESTENCILFUNC = 105, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFAILOP = 106, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILZFAILOP = 107, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILPASSOP = 108, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_INVALIDBACKFACESTENCILFUNC = 109, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILSTATE_NULLDESC = 110, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLEND = 111, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLEND = 112, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOP = 113, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDSRCBLENDALPHA = 114, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDDESTBLENDALPHA = 115, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDBLENDOPALPHA = 116, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDRENDERTARGETWRITEMASK = 117, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_NULLDESC = 118, + D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDFILTER = 119, + D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSU = 120, + D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSV = 121, + D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDADDRESSW = 122, + D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMIPLODBIAS = 123, + D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXANISOTROPY = 124, + D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDCOMPARISONFUNC = 125, + D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMINLOD = 126, + D3D12_MESSAGE_ID_CREATESAMPLERSTATE_INVALIDMAXLOD = 127, + D3D12_MESSAGE_ID_CREATESAMPLERSTATE_NULLDESC = 128, + D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNRECOGNIZED = 129, + D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNDEFINED = 130, + D3D12_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_INVALIDVIEWPORT = 131, + D3D12_MESSAGE_ID_DEVICE_RSSETSCISSORRECTS_INVALIDSCISSOR = 132, + D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_DENORMFLUSH = 133, + D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DENORMFLUSH = 134, + D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALID = 135, + D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCE = 136, + D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDDESTINATIONSTATE = 137, + D3D12_MESSAGE_ID_COPYRESOURCE_INVALIDSOURCESTATE = 138, + D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE = 139, + D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONBOX = 140, + D3D12_MESSAGE_ID_UPDATESUBRESOURCE_INVALIDDESTINATIONSTATE = 141, + D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_INVALID = 142, + D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_DESTINATION_SUBRESOURCE_INVALID = 143, + D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_INVALID = 144, + D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_SOURCE_SUBRESOURCE_INVALID = 145, + D3D12_MESSAGE_ID_DEVICE_RESOLVESUBRESOURCE_FORMAT_INVALID = 146, + D3D12_MESSAGE_ID_BUFFER_MAP_INVALIDMAPTYPE = 147, + D3D12_MESSAGE_ID_BUFFER_MAP_INVALIDFLAGS = 148, + D3D12_MESSAGE_ID_BUFFER_MAP_ALREADYMAPPED = 149, + D3D12_MESSAGE_ID_BUFFER_MAP_DEVICEREMOVED_RETURN = 150, + D3D12_MESSAGE_ID_BUFFER_UNMAP_NOTMAPPED = 151, + D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDMAPTYPE = 152, + D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDSUBRESOURCE = 153, + D3D12_MESSAGE_ID_TEXTURE1D_MAP_INVALIDFLAGS = 154, + D3D12_MESSAGE_ID_TEXTURE1D_MAP_ALREADYMAPPED = 155, + D3D12_MESSAGE_ID_TEXTURE1D_MAP_DEVICEREMOVED_RETURN = 156, + D3D12_MESSAGE_ID_TEXTURE1D_UNMAP_INVALIDSUBRESOURCE = 157, + D3D12_MESSAGE_ID_TEXTURE1D_UNMAP_NOTMAPPED = 158, + D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDMAPTYPE = 159, + D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDSUBRESOURCE = 160, + D3D12_MESSAGE_ID_TEXTURE2D_MAP_INVALIDFLAGS = 161, + D3D12_MESSAGE_ID_TEXTURE2D_MAP_ALREADYMAPPED = 162, + D3D12_MESSAGE_ID_TEXTURE2D_MAP_DEVICEREMOVED_RETURN = 163, + D3D12_MESSAGE_ID_TEXTURE2D_UNMAP_INVALIDSUBRESOURCE = 164, + D3D12_MESSAGE_ID_TEXTURE2D_UNMAP_NOTMAPPED = 165, + D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDMAPTYPE = 166, + D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDSUBRESOURCE = 167, + D3D12_MESSAGE_ID_TEXTURE3D_MAP_INVALIDFLAGS = 168, + D3D12_MESSAGE_ID_TEXTURE3D_MAP_ALREADYMAPPED = 169, + D3D12_MESSAGE_ID_TEXTURE3D_MAP_DEVICEREMOVED_RETURN = 170, + D3D12_MESSAGE_ID_TEXTURE3D_UNMAP_INVALIDSUBRESOURCE = 171, + D3D12_MESSAGE_ID_TEXTURE3D_UNMAP_NOTMAPPED = 172, + D3D12_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_DEPRECATED = 173, + D3D12_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_FORMAT_DEPRECATED = 174, + D3D12_MESSAGE_ID_SETEXCEPTIONMODE_UNRECOGNIZEDFLAGS = 175, + D3D12_MESSAGE_ID_SETEXCEPTIONMODE_INVALIDARG_RETURN = 176, + D3D12_MESSAGE_ID_SETEXCEPTIONMODE_DEVICEREMOVED_RETURN = 177, + D3D12_MESSAGE_ID_REF_SIMULATING_INFINITELY_FAST_HARDWARE = 178, + D3D12_MESSAGE_ID_REF_THREADING_MODE = 179, + D3D12_MESSAGE_ID_REF_UMDRIVER_EXCEPTION = 180, + D3D12_MESSAGE_ID_REF_KMDRIVER_EXCEPTION = 181, + D3D12_MESSAGE_ID_REF_HARDWARE_EXCEPTION = 182, + D3D12_MESSAGE_ID_REF_ACCESSING_INDEXABLE_TEMP_OUT_OF_RANGE = 183, + D3D12_MESSAGE_ID_REF_PROBLEM_PARSING_SHADER = 184, + D3D12_MESSAGE_ID_REF_OUT_OF_MEMORY = 185, + D3D12_MESSAGE_ID_REF_INFO = 186, + D3D12_MESSAGE_ID_DEVICE_DRAW_VERTEXPOS_OVERFLOW = 187, + D3D12_MESSAGE_ID_DEVICE_DRAWINDEXED_INDEXPOS_OVERFLOW = 188, + D3D12_MESSAGE_ID_DEVICE_DRAWINSTANCED_VERTEXPOS_OVERFLOW = 189, + D3D12_MESSAGE_ID_DEVICE_DRAWINSTANCED_INSTANCEPOS_OVERFLOW = 190, + D3D12_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INSTANCEPOS_OVERFLOW = 191, + D3D12_MESSAGE_ID_DEVICE_DRAWINDEXEDINSTANCED_INDEXPOS_OVERFLOW = 192, + D3D12_MESSAGE_ID_DEVICE_DRAW_VERTEX_SHADER_NOT_SET = 193, + D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 194, + D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERINDEX = 195, + D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_COMPONENTTYPE = 196, + D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_REGISTERMASK = 197, + D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_SYSTEMVALUE = 198, + D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 199, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_NOT_SET = 200, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_ROOT_SIGNATURE_MISMATCH = 201, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET = 202, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INPUTLAYOUT_NOT_SET = 203, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_CONSTANT_BUFFER_NOT_SET = 204, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_CONSTANT_BUFFER_TOO_SMALL = 205, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SAMPLER_NOT_SET = 206, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SHADERRESOURCEVIEW_NOT_SET = 207, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VIEW_DIMENSION_MISMATCH = 208, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_STRIDE_TOO_SMALL = 209, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_TOO_SMALL = 210, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_NOT_SET = 211, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_FORMAT_INVALID = 212, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_BUFFER_TOO_SMALL = 213, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_GS_INPUT_PRIMITIVE_MISMATCH = 214, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_RETURN_TYPE_MISMATCH = 215, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_POSITION_NOT_PRESENT = 216, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OUTPUT_STREAM_NOT_SET = 217, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_BOUND_RESOURCE_MAPPED = 218, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INVALID_PRIMITIVETOPOLOGY = 219, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_OFFSET_UNALIGNED = 220, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_STRIDE_UNALIGNED = 221, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_INDEX_OFFSET_UNALIGNED = 222, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OUTPUT_STREAM_OFFSET_UNALIGNED = 223, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_LD_UNSUPPORTED = 224, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_SAMPLE_UNSUPPORTED = 225, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_FORMAT_SAMPLE_C_UNSUPPORTED = 226, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RESOURCE_MULTISAMPLE_UNSUPPORTED = 227, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SO_TARGETS_BOUND_WITHOUT_SOURCE = 228, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_SO_STRIDE_LARGER_THAN_BUFFER = 229, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 230, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 231, + D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_AT_FAULT = 232, + D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT = 233, + D3D12_MESSAGE_ID_DEVICE_REMOVAL_PROCESS_NOT_AT_FAULT = 234, + D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_INVALIDARG_RETURN = 235, + D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_OUTOFMEMORY_RETURN = 236, + D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BADINTERFACE_RETURN = 237, + D3D12_MESSAGE_ID_DEVICE_DRAW_VIEWPORT_NOT_SET = 238, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TRAILING_DIGIT_IN_SEMANTIC = 239, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_TRAILING_DIGIT_IN_SEMANTIC = 240, + D3D12_MESSAGE_ID_DEVICE_RSSETVIEWPORTS_DENORMFLUSH = 241, + D3D12_MESSAGE_ID_OMSETRENDERTARGETS_INVALIDVIEW = 242, + D3D12_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS = 243, + D3D12_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH = 244, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH = 245, + D3D12_MESSAGE_ID_BLENDSTATE_GETDESC_LEGACY = 246, + D3D12_MESSAGE_ID_SHADERRESOURCEVIEW_GETDESC_LEGACY = 247, + D3D12_MESSAGE_ID_DEVICE_DRAW_PS_OUTPUT_TYPE_MISMATCH = 248, + D3D12_MESSAGE_ID_DEVICE_DRAW_RESOURCE_FORMAT_GATHER_UNSUPPORTED = 249, + D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 250, + D3D12_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_STRIDE_TOO_LARGE = 251, + D3D12_MESSAGE_ID_DEVICE_IASETVERTEXBUFFERS_INVALIDRANGE = 252, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_EMPTY_LAYOUT = 253, + D3D12_MESSAGE_ID_DEVICE_DRAW_RESOURCE_SAMPLE_COUNT_MISMATCH = 254, + D3D12_MESSAGE_ID_LIVE_OBJECT_SUMMARY = 255, + D3D12_MESSAGE_ID_LIVE_BUFFER = 256, + D3D12_MESSAGE_ID_LIVE_TEXTURE1D = 257, + D3D12_MESSAGE_ID_LIVE_TEXTURE2D = 258, + D3D12_MESSAGE_ID_LIVE_TEXTURE3D = 259, + D3D12_MESSAGE_ID_LIVE_SHADERRESOURCEVIEW = 260, + D3D12_MESSAGE_ID_LIVE_RENDERTARGETVIEW = 261, + D3D12_MESSAGE_ID_LIVE_DEPTHSTENCILVIEW = 262, + D3D12_MESSAGE_ID_LIVE_VERTEXSHADER = 263, + D3D12_MESSAGE_ID_LIVE_GEOMETRYSHADER = 264, + D3D12_MESSAGE_ID_LIVE_PIXELSHADER = 265, + D3D12_MESSAGE_ID_LIVE_INPUTLAYOUT = 266, + D3D12_MESSAGE_ID_LIVE_SAMPLER = 267, + D3D12_MESSAGE_ID_LIVE_BLENDSTATE = 268, + D3D12_MESSAGE_ID_LIVE_DEPTHSTENCILSTATE = 269, + D3D12_MESSAGE_ID_LIVE_RASTERIZERSTATE = 270, + D3D12_MESSAGE_ID_LIVE_QUERY = 271, + D3D12_MESSAGE_ID_LIVE_PREDICATE = 272, + D3D12_MESSAGE_ID_LIVE_COUNTER = 273, + D3D12_MESSAGE_ID_LIVE_DEVICE = 274, + D3D12_MESSAGE_ID_LIVE_SWAPCHAIN = 275, + D3D12_MESSAGE_ID_CREATEDEPTHSTENCILVIEW_INVALIDFLAGS = 276, + D3D12_MESSAGE_ID_CREATEVERTEXSHADER_INVALIDCLASSLINKAGE = 277, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADER_INVALIDCLASSLINKAGE = 278, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTREAMS = 279, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAMTORASTERIZER = 280, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTREAMS = 281, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDCLASSLINKAGE = 282, + D3D12_MESSAGE_ID_CREATEPIXELSHADER_INVALIDCLASSLINKAGE = 283, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDSTREAM = 284, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDENTRIES = 285, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UNEXPECTEDSTRIDES = 286, + D3D12_MESSAGE_ID_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_INVALIDNUMSTRIDES = 287, + D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCALL = 288, + D3D12_MESSAGE_ID_CREATEHULLSHADER_OUTOFMEMORY = 289, + D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERBYTECODE = 290, + D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDSHADERTYPE = 291, + D3D12_MESSAGE_ID_CREATEHULLSHADER_INVALIDCLASSLINKAGE = 292, + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCALL = 293, + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_OUTOFMEMORY = 294, + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERBYTECODE = 295, + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDSHADERTYPE = 296, + D3D12_MESSAGE_ID_CREATEDOMAINSHADER_INVALIDCLASSLINKAGE = 297, + D3D12_MESSAGE_ID_DEVICE_DRAW_HS_XOR_DS_MISMATCH = 298, + D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_INVALID_ARG_BUFFER = 299, + D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_UNALIGNED = 300, + D3D12_MESSAGE_ID_DEVICE_DRAWINDIRECT_OFFSET_OVERFLOW = 301, + D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDMAPTYPE = 302, + D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDSUBRESOURCE = 303, + D3D12_MESSAGE_ID_RESOURCE_MAP_INVALIDFLAGS = 304, + D3D12_MESSAGE_ID_RESOURCE_MAP_ALREADYMAPPED = 305, + D3D12_MESSAGE_ID_RESOURCE_MAP_DEVICEREMOVED_RETURN = 306, + D3D12_MESSAGE_ID_RESOURCE_MAP_OUTOFMEMORY_RETURN = 307, + D3D12_MESSAGE_ID_RESOURCE_MAP_WITHOUT_INITIAL_DISCARD = 308, + D3D12_MESSAGE_ID_RESOURCE_UNMAP_INVALIDSUBRESOURCE = 309, + D3D12_MESSAGE_ID_RESOURCE_UNMAP_NOTMAPPED = 310, + D3D12_MESSAGE_ID_DEVICE_DRAW_RASTERIZING_CONTROL_POINTS = 311, + D3D12_MESSAGE_ID_DEVICE_IASETPRIMITIVETOPOLOGY_TOPOLOGY_UNSUPPORTED = 312, + D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_SIGNATURE_MISMATCH = 313, + D3D12_MESSAGE_ID_DEVICE_DRAW_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 314, + D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 315, + D3D12_MESSAGE_ID_DEVICE_DRAW_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 316, + D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_UNRECOGNIZED_FEATURE = 317, + D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_MISMATCHED_DATA_SIZE = 318, + D3D12_MESSAGE_ID_DEVICE_CHECKFEATURESUPPORT_INVALIDARG_RETURN = 319, + D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCALL = 320, + D3D12_MESSAGE_ID_CREATECOMPUTESHADER_OUTOFMEMORY = 321, + D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDSHADERBYTECODE = 322, + D3D12_MESSAGE_ID_CREATECOMPUTESHADER_INVALIDCLASSLINKAGE = 323, + D3D12_MESSAGE_ID_DEVICE_CSSETSHADERRESOURCES_VIEWS_EMPTY = 324, + D3D12_MESSAGE_ID_CSSETCONSTANTBUFFERS_INVALIDBUFFER = 325, + D3D12_MESSAGE_ID_DEVICE_CSSETCONSTANTBUFFERS_BUFFERS_EMPTY = 326, + D3D12_MESSAGE_ID_DEVICE_CSSETSAMPLERS_SAMPLERS_EMPTY = 327, + D3D12_MESSAGE_ID_DEVICE_CSGETSHADERRESOURCES_VIEWS_EMPTY = 328, + D3D12_MESSAGE_ID_DEVICE_CSGETCONSTANTBUFFERS_BUFFERS_EMPTY = 329, + D3D12_MESSAGE_ID_DEVICE_CSGETSAMPLERS_SAMPLERS_EMPTY = 330, + D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 331, + D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 332, + D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 333, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 334, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEFLOATOPSNOTSUPPORTED = 335, + D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEFLOATOPSNOTSUPPORTED = 336, + D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEFLOATOPSNOTSUPPORTED = 337, + D3D12_MESSAGE_ID_CREATEBUFFER_INVALIDSTRUCTURESTRIDE = 338, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDFLAGS = 339, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE = 340, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDESC = 341, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFORMAT = 342, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANESLICE = 343, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE = 344, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDIMENSIONS = 345, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_UNRECOGNIZEDFORMAT = 346, + D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_OVERLAPPING_OLD_SLOTS = 347, + D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_NO_OP = 348, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDARG_RETURN = 349, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_OUTOFMEMORY_RETURN = 350, + D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEW_DENORMFLUSH = 351, + D3D12_MESSAGE_ID_DEVICE_CSSETUNORDEREDACCESSS_VIEWS_EMPTY = 352, + D3D12_MESSAGE_ID_DEVICE_CSGETUNORDEREDACCESSS_VIEWS_EMPTY = 353, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDFLAGS = 354, + D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_INVALID_ARG_BUFFER = 355, + D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_UNALIGNED = 356, + D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_OFFSET_OVERFLOW = 357, + D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_DEPTH_READONLY = 358, + D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_STENCIL_READONLY = 359, + D3D12_MESSAGE_ID_CHECKFEATURESUPPORT_FORMAT_DEPRECATED = 360, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RETURN_TYPE_MISMATCH = 361, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET = 362, + D3D12_MESSAGE_ID_DEVICE_DRAW_UNORDEREDACCESSVIEW_RENDERTARGETVIEW_OVERLAP = 363, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_DIMENSION_MISMATCH = 364, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_APPEND_UNSUPPORTED = 365, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMICS_UNSUPPORTED = 366, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_STRUCTURE_STRIDE_MISMATCH = 367, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_BUFFER_TYPE_MISMATCH = 368, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_RAW_UNSUPPORTED = 369, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_LD_UNSUPPORTED = 370, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_FORMAT_STORE_UNSUPPORTED = 371, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_ADD_UNSUPPORTED = 372, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_BITWISE_OPS_UNSUPPORTED = 373, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_CMPSTORE_CMPEXCHANGE_UNSUPPORTED = 374, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_EXCHANGE_UNSUPPORTED = 375, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_SIGNED_MINMAX_UNSUPPORTED = 376, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_ATOMIC_UNSIGNED_MINMAX_UNSUPPORTED = 377, + D3D12_MESSAGE_ID_DEVICE_DISPATCH_BOUND_RESOURCE_MAPPED = 378, + D3D12_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW = 379, + D3D12_MESSAGE_ID_DEVICE_DISPATCH_THREADGROUPCOUNT_ZERO = 380, + D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_STRUCTURE_STRIDE_MISMATCH = 381, + D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_BUFFER_TYPE_MISMATCH = 382, + D3D12_MESSAGE_ID_DEVICE_SHADERRESOURCEVIEW_RAW_UNSUPPORTED = 383, + D3D12_MESSAGE_ID_DEVICE_DISPATCH_UNSUPPORTED = 384, + D3D12_MESSAGE_ID_DEVICE_DISPATCHINDIRECT_UNSUPPORTED = 385, + D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDOFFSET = 386, + D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_LARGEOFFSET = 387, + D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDDESTINATIONSTATE = 388, + D3D12_MESSAGE_ID_COPYSTRUCTURECOUNT_INVALIDSOURCESTATE = 389, + D3D12_MESSAGE_ID_CHECKFORMATSUPPORT_FORMAT_NOT_SUPPORTED = 390, + D3D12_MESSAGE_ID_CLEARUNORDEREDACCESSVIEWFLOAT_INVALIDFORMAT = 391, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_COUNTER_UNSUPPORTED = 392, + D3D12_MESSAGE_ID_DEVICE_DRAW_PIXEL_SHADER_WITHOUT_RTV_OR_DSV = 393, + D3D12_MESSAGE_ID_SHADER_ABORT = 394, + D3D12_MESSAGE_ID_SHADER_MESSAGE = 395, + D3D12_MESSAGE_ID_SHADER_ERROR = 396, + D3D12_MESSAGE_ID_OFFERRESOURCES_INVALIDRESOURCE = 397, + D3D12_MESSAGE_ID_ENQUEUESETEVENT_INVALIDARG_RETURN = 398, + D3D12_MESSAGE_ID_ENQUEUESETEVENT_OUTOFMEMORY_RETURN = 399, + D3D12_MESSAGE_ID_ENQUEUESETEVENT_ACCESSDENIED_RETURN = 400, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALIDFORCEDSAMPLECOUNT = 401, + D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 402, + D3D12_MESSAGE_ID_CREATEBLENDSTATE_INVALIDLOGICOPS = 403, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDDARRAYWITHDECODER = 404, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDDARRAYWITHDECODER = 405, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDDARRAYWITHDECODER = 406, + D3D12_MESSAGE_ID_DEVICE_LOCKEDOUT_INTERFACE = 407, + D3D12_MESSAGE_ID_OFFERRESOURCES_INVALIDPRIORITY = 408, + D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDVIEW = 409, + D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 410, + D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_SHADEREXTENSIONSNOTSUPPORTED = 411, + D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 412, + D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_SHADEREXTENSIONSNOTSUPPORTED = 413, + D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 414, + D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_SHADEREXTENSIONSNOTSUPPORTED = 415, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 416, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_SHADEREXTENSIONSNOTSUPPORTED = 417, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_DOUBLEEXTENSIONSNOTSUPPORTED = 418, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_SHADEREXTENSIONSNOTSUPPORTED = 419, + D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 420, + D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_SHADEREXTENSIONSNOTSUPPORTED = 421, + D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_DOUBLEEXTENSIONSNOTSUPPORTED = 422, + D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_SHADEREXTENSIONSNOTSUPPORTED = 423, + D3D12_MESSAGE_ID_DEVICE_SHADER_LINKAGE_MINPRECISION = 424, + D3D12_MESSAGE_ID_DEVICE_CREATEVERTEXSHADER_UAVSNOTSUPPORTED = 425, + D3D12_MESSAGE_ID_DEVICE_CREATEHULLSHADER_UAVSNOTSUPPORTED = 426, + D3D12_MESSAGE_ID_DEVICE_CREATEDOMAINSHADER_UAVSNOTSUPPORTED = 427, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADER_UAVSNOTSUPPORTED = 428, + D3D12_MESSAGE_ID_DEVICE_CREATEGEOMETRYSHADERWITHSTREAMOUTPUT_UAVSNOTSUPPORTED = 429, + D3D12_MESSAGE_ID_DEVICE_CREATEPIXELSHADER_UAVSNOTSUPPORTED = 430, + D3D12_MESSAGE_ID_DEVICE_CREATECOMPUTESHADER_UAVSNOTSUPPORTED = 431, + D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_INVALIDOFFSET = 432, + D3D12_MESSAGE_ID_DEVICE_OMSETRENDERTARGETSANDUNORDEREDACCESSVIEWS_TOOMANYVIEWS = 433, + D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_NOTSUPPORTED = 434, + D3D12_MESSAGE_ID_SWAPDEVICECONTEXTSTATE_NOTSUPPORTED = 435, + D3D12_MESSAGE_ID_UPDATESUBRESOURCE_PREFERUPDATESUBRESOURCE1 = 436, + D3D12_MESSAGE_ID_GETDC_INACCESSIBLE = 437, + D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDRECT = 438, + D3D12_MESSAGE_ID_DEVICE_DRAW_SAMPLE_MASK_IGNORED_ON_FL9 = 439, + D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE1_NOT_SUPPORTED = 440, + D3D12_MESSAGE_ID_DEVICE_OPEN_SHARED_RESOURCE_BY_NAME_NOT_SUPPORTED = 441, + D3D12_MESSAGE_ID_ENQUEUESETEVENT_NOT_SUPPORTED = 442, + D3D12_MESSAGE_ID_OFFERRELEASE_NOT_SUPPORTED = 443, + D3D12_MESSAGE_ID_OFFERRESOURCES_INACCESSIBLE = 444, + D3D12_MESSAGE_ID_CREATEVIDEOPROCESSORINPUTVIEW_INVALIDMSAA = 445, + D3D12_MESSAGE_ID_CREATEVIDEOPROCESSOROUTPUTVIEW_INVALIDMSAA = 446, + D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_INVALIDSOURCERECT = 447, + D3D12_MESSAGE_ID_DEVICE_CLEARVIEW_EMPTYRECT = 448, + D3D12_MESSAGE_ID_UPDATESUBRESOURCE_EMPTYDESTBOX = 449, + D3D12_MESSAGE_ID_COPYSUBRESOURCEREGION_EMPTYSOURCEBOX = 450, + D3D12_MESSAGE_ID_DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 451, + D3D12_MESSAGE_ID_DEVICE_DRAW_DEPTHSTENCILVIEW_NOT_SET = 452, + D3D12_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET = 453, + D3D12_MESSAGE_ID_DEVICE_DRAW_RENDERTARGETVIEW_NOT_SET_DUE_TO_FLIP_PRESENT = 454, + D3D12_MESSAGE_ID_DEVICE_UNORDEREDACCESSVIEW_NOT_SET_DUE_TO_FLIP_PRESENT = 455, + D3D12_MESSAGE_ID_GETDATAFORNEWHARDWAREKEY_NULLPARAM = 456, + D3D12_MESSAGE_ID_CHECKCRYPTOSESSIONSTATUS_NULLPARAM = 457, + D3D12_MESSAGE_ID_SETEVENTONHARDWARECONTENTPROTECTIONTILT_NULLPARAM = 458, + D3D12_MESSAGE_ID_GETVIDEODECODERCAPS_NULLPARAM = 459, + D3D12_MESSAGE_ID_GETVIDEODECODERCAPS_ZEROWIDTHHEIGHT = 460, + D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_NULLPARAM = 461, + D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE = 462, + D3D12_MESSAGE_ID_CHECKVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT = 463, + D3D12_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_NULLPARAM = 464, + D3D12_MESSAGE_ID_VIDEODECODERENABLEDOWNSAMPLING_UNSUPPORTED = 465, + D3D12_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_NULLPARAM = 466, + D3D12_MESSAGE_ID_VIDEODECODERUPDATEDOWNSAMPLING_UNSUPPORTED = 467, + D3D12_MESSAGE_ID_CHECKVIDEOPROCESSORFORMATCONVERSION_NULLPARAM = 468, + D3D12_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTCOLORSPACE1_NULLPARAM = 469, + D3D12_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTCOLORSPACE1_NULLPARAM = 470, + D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_NULLPARAM = 471, + D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMCOLORSPACE1_INVALIDSTREAM = 472, + D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_NULLPARAM = 473, + D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_INVALIDSTREAM = 474, + D3D12_MESSAGE_ID_VIDEOPROCESSORSETSTREAMMIRROR_UNSUPPORTED = 475, + D3D12_MESSAGE_ID_VIDEOPROCESSORGETSTREAMCOLORSPACE1_NULLPARAM = 476, + D3D12_MESSAGE_ID_VIDEOPROCESSORGETSTREAMMIRROR_NULLPARAM = 477, + D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_NULLPARAM = 478, + D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_INVALIDCOLORSPACE = 479, + D3D12_MESSAGE_ID_RECOMMENDVIDEODECODERDOWNSAMPLING_ZEROWIDTHHEIGHT = 480, + D3D12_MESSAGE_ID_VIDEOPROCESSORSETOUTPUTSHADERUSAGE_NULLPARAM = 481, + D3D12_MESSAGE_ID_VIDEOPROCESSORGETOUTPUTSHADERUSAGE_NULLPARAM = 482, + D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_NULLPARAM = 483, + D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSTREAMCOUNT = 484, + D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_TARGETRECT = 485, + D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDSOURCERECT = 486, + D3D12_MESSAGE_ID_VIDEOPROCESSORGETBEHAVIORHINTS_INVALIDDESTRECT = 487, + D3D12_MESSAGE_ID_CREATEBUFFER_INVALIDUSAGE = 488, + D3D12_MESSAGE_ID_CREATETEXTURE1D_INVALIDUSAGE = 489, + D3D12_MESSAGE_ID_CREATETEXTURE2D_INVALIDUSAGE = 490, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_STEPRATE_NOT_1 = 491, + D3D12_MESSAGE_ID_CREATEINPUTLAYOUT_LEVEL9_INSTANCING_NOT_SUPPORTED = 492, + D3D12_MESSAGE_ID_UPDATETILEMAPPINGS_INVALID_PARAMETER = 493, + D3D12_MESSAGE_ID_COPYTILEMAPPINGS_INVALID_PARAMETER = 494, + D3D12_MESSAGE_ID_COPYTILES_INVALID_PARAMETER = 495, + D3D12_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_WARNING = 496, + D3D12_MESSAGE_ID_NULL_TILE_MAPPING_ACCESS_ERROR = 497, + D3D12_MESSAGE_ID_DIRTY_TILE_MAPPING_ACCESS = 498, + D3D12_MESSAGE_ID_DUPLICATE_TILE_MAPPINGS_IN_COVERED_AREA = 499, + D3D12_MESSAGE_ID_TILE_MAPPINGS_IN_COVERED_AREA_DUPLICATED_OUTSIDE = 500, + D3D12_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INCOMPATIBLE_RESOURCES = 501, + D3D12_MESSAGE_ID_TILE_MAPPINGS_SHARED_BETWEEN_INPUT_AND_OUTPUT = 502, + D3D12_MESSAGE_ID_CHECKMULTISAMPLEQUALITYLEVELS_INVALIDFLAGS = 503, + D3D12_MESSAGE_ID_GETRESOURCETILING_NONTILED_RESOURCE = 504, + D3D12_MESSAGE_ID_NEED_TO_CALL_TILEDRESOURCEBARRIER = 505, + D3D12_MESSAGE_ID_CREATEDEVICE_INVALIDARGS = 506, + D3D12_MESSAGE_ID_CREATEDEVICE_WARNING = 507, + D3D12_MESSAGE_ID_TILED_RESOURCE_TIER_1_BUFFER_TEXTURE_MISMATCH = 508, + D3D12_MESSAGE_ID_CREATE_CRYPTOSESSION = 509, + D3D12_MESSAGE_ID_CREATE_AUTHENTICATEDCHANNEL = 510, + D3D12_MESSAGE_ID_LIVE_CRYPTOSESSION = 511, + D3D12_MESSAGE_ID_LIVE_AUTHENTICATEDCHANNEL = 512, + D3D12_MESSAGE_ID_DESTROY_CRYPTOSESSION = 513, + D3D12_MESSAGE_ID_DESTROY_AUTHENTICATEDCHANNEL = 514, + D3D12_MESSAGE_ID_MAP_INVALID_SUBRESOURCE = 515, + D3D12_MESSAGE_ID_MAP_INVALID_TYPE = 516, + D3D12_MESSAGE_ID_MAP_UNSUPPORTED_TYPE = 517, + D3D12_MESSAGE_ID_UNMAP_INVALID_SUBRESOURCE = 518, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_TYPE = 519, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_NULL_POINTER = 520, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SUBRESOURCE = 521, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_RESERVED_BITS = 522, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISSING_BIND_FLAGS = 523, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MISMATCHING_MISC_FLAGS = 524, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_MATCHING_STATES = 525, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINATION = 526, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH = 527, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_RESOURCE = 528, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_SAMPLE_COUNT = 529, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS = 530, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMBINED_FLAGS = 531, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAGS_FOR_FORMAT = 532, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_SPLIT_BARRIER = 533, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_END = 534, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_UNMATCHED_BEGIN = 535, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_FLAG = 536, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE = 537, + D3D12_MESSAGE_ID_INVALID_SUBRESOURCE_STATE = 538, + D3D12_MESSAGE_ID_INEFFICIENT_PRESENT = 539, + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CONTENTION = 540, + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET = 541, + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_RESET_BUNDLE = 542, + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_CANNOT_RESET = 543, + D3D12_MESSAGE_ID_COMMAND_LIST_OPEN = 544, + D3D12_MESSAGE_ID_QUERY_STATE_MISMATCH = 545, + D3D12_MESSAGE_ID_INVALID_BUNDLE_API = 546, + D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED = 547, + D3D12_MESSAGE_ID_COMMAND_LIST_CLOSED_WITH_INVALID_RESOURCE = 548, + D3D12_MESSAGE_ID_WRONG_COMMAND_ALLOCATOR_TYPE = 549, + D3D12_MESSAGE_ID_INVALID_INDIRECT_ARGUMENT_BUFFER = 550, + D3D12_MESSAGE_ID_COMPUTE_AND_GRAPHICS_PIPELINE = 551, + D3D12_MESSAGE_ID_COMMAND_ALLOCATOR_SYNC = 552, + D3D12_MESSAGE_ID_COMMAND_LIST_SYNC = 553, + D3D12_MESSAGE_ID_SET_DESCRIPTOR_HEAP_INVALID = 554, + D3D12_MESSAGE_ID_CREATE_QUEUE_IMAGE_NOT_SUPPORTED = 555, + D3D12_MESSAGE_ID_CREATE_COMMAND_ALLOCATOR_IMAGE_NOT_SUPPORTED = 556, + D3D12_MESSAGE_ID_CREATE_COMMANDQUEUE = 557, + D3D12_MESSAGE_ID_CREATE_COMMANDALLOCATOR = 558, + D3D12_MESSAGE_ID_CREATE_PIPELINESTATE = 559, + D3D12_MESSAGE_ID_CREATE_COMMANDLIST12 = 560, + D3D12_MESSAGE_ID_CREATE_IMAGECOMMANDLIST = 561, + D3D12_MESSAGE_ID_CREATE_RESOURCE = 562, + D3D12_MESSAGE_ID_CREATE_DESCRIPTORHEAP = 563, + D3D12_MESSAGE_ID_CREATE_ROOTSIGNATURE = 564, + D3D12_MESSAGE_ID_CREATE_LIBRARY = 565, + D3D12_MESSAGE_ID_CREATE_HEAP = 566, + D3D12_MESSAGE_ID_CREATE_MONITOREDFENCE = 567, + D3D12_MESSAGE_ID_CREATE_QUERYHEAP = 568, + D3D12_MESSAGE_ID_CREATE_COMMANDSIGNATURE = 569, + D3D12_MESSAGE_ID_LIVE_COMMANDQUEUE = 570, + D3D12_MESSAGE_ID_LIVE_COMMANDALLOCATOR = 571, + D3D12_MESSAGE_ID_LIVE_PIPELINESTATE = 572, + D3D12_MESSAGE_ID_LIVE_COMMANDLIST12 = 573, + D3D12_MESSAGE_ID_LIVE_IMAGECOMMANDLIST = 574, + D3D12_MESSAGE_ID_LIVE_RESOURCE = 575, + D3D12_MESSAGE_ID_LIVE_DESCRIPTORHEAP = 576, + D3D12_MESSAGE_ID_LIVE_ROOTSIGNATURE = 577, + D3D12_MESSAGE_ID_LIVE_LIBRARY = 578, + D3D12_MESSAGE_ID_LIVE_HEAP = 579, + D3D12_MESSAGE_ID_LIVE_MONITOREDFENCE = 580, + D3D12_MESSAGE_ID_LIVE_QUERYHEAP = 581, + D3D12_MESSAGE_ID_LIVE_COMMANDSIGNATURE = 582, + D3D12_MESSAGE_ID_DESTROY_COMMANDQUEUE = 583, + D3D12_MESSAGE_ID_DESTROY_COMMANDALLOCATOR = 584, + D3D12_MESSAGE_ID_DESTROY_PIPELINESTATE = 585, + D3D12_MESSAGE_ID_DESTROY_COMMANDLIST12 = 586, + D3D12_MESSAGE_ID_DESTROY_IMAGECOMMANDLIST = 587, + D3D12_MESSAGE_ID_DESTROY_RESOURCE = 588, + D3D12_MESSAGE_ID_DESTROY_DESCRIPTORHEAP = 589, + D3D12_MESSAGE_ID_DESTROY_ROOTSIGNATURE = 590, + D3D12_MESSAGE_ID_DESTROY_LIBRARY = 591, + D3D12_MESSAGE_ID_DESTROY_HEAP = 592, + D3D12_MESSAGE_ID_DESTROY_MONITOREDFENCE = 593, + D3D12_MESSAGE_ID_DESTROY_QUERYHEAP = 594, + D3D12_MESSAGE_ID_DESTROY_COMMANDSIGNATURE = 595, + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDHEAPTYPE = 596, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONS = 597, + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDMISCFLAGS = 598, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMISCFLAGS = 599, + D3D12_MESSAGE_ID_CREATERESOURCE_LARGEALLOCATION = 600, + D3D12_MESSAGE_ID_CREATERESOURCE_SMALLALLOCATION = 601, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDARG_RETURN = 602, + D3D12_MESSAGE_ID_CREATERESOURCE_OUTOFMEMORY_RETURN = 603, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDESC = 604, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDINITIALSTATE = 605, + D3D12_MESSAGE_ID_RESOURCE_HAS_PENDING_INITIAL_DATA = 606, + D3D12_MESSAGE_ID_POSSIBLY_INVALID_SUBRESOURCE_STATE = 607, + D3D12_MESSAGE_ID_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 608, + D3D12_MESSAGE_ID_POSSIBLE_INVALID_USE_OF_NON_RESIDENT_RESOURCE = 609, + D3D12_MESSAGE_ID_BUNDLE_PIPELINE_STATE_MISMATCH = 610, + D3D12_MESSAGE_ID_PRIMITIVE_TOPOLOGY_MISMATCH_PIPELINE_STATE = 611, + D3D12_MESSAGE_ID_RENDER_TARGET_NUMBER_MISMATCH_PIPELINE_STATE = 612, + D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_PIPELINE_STATE = 613, + D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 614, + D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_PIPELINE_STATE = 615, + D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_PIPELINE_STATE = 616, + D3D12_MESSAGE_ID_RENDER_TARGET_NUMBER_MISMATCH_BUNDLE_PIPELINE_STATE = 617, + D3D12_MESSAGE_ID_RENDER_TARGET_FORMAT_MISMATCH_BUNDLE_PIPELINE_STATE = 618, + D3D12_MESSAGE_ID_RENDER_TARGET_SAMPLE_DESC_MISMATCH_BUNDLE_PIPELINE_STATE = 619, + D3D12_MESSAGE_ID_DEPTH_STENCIL_FORMAT_MISMATCH_BUNDLE_PIPELINE_STATE = 620, + D3D12_MESSAGE_ID_DEPTH_STENCIL_SAMPLE_DESC_MISMATCH_BUNDLE_PIPELINE_STATE = 621, + D3D12_MESSAGE_ID_CREATESHADER_INVALIDBYTECODE = 622, + D3D12_MESSAGE_ID_CREATEHEAP_NULLDESC = 623, + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDSIZE = 624, + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDHEAPTYPE = 625, + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 626, + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMEMORYPOOL = 627, + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDPROPERTIES = 628, + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDALIGNMENT = 629, + D3D12_MESSAGE_ID_CREATEHEAP_UNRECOGNIZEDMISCFLAGS = 630, + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDMISCFLAGS = 631, + D3D12_MESSAGE_ID_CREATEHEAP_INVALIDARG_RETURN = 632, + D3D12_MESSAGE_ID_CREATEHEAP_OUTOFMEMORY_RETURN = 633, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAPPROPERTIES = 634, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPTYPE = 635, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDCPUPAGEPROPERTIES = 636, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDMEMORYPOOL = 637, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPPROPERTIES = 638, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_UNRECOGNIZEDHEAPMISCFLAGS = 639, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDHEAPMISCFLAGS = 640, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_INVALIDARG_RETURN = 641, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_OUTOFMEMORY_RETURN = 642, + D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE = 643, + D3D12_MESSAGE_ID_GETCUSTOMHEAPPROPERTIES_INVALIDHEAPTYPE = 644, + D3D12_MESSAGE_ID_CREATE_DESCRIPTOR_HEAP_INVALID_DESC = 645, + D3D12_MESSAGE_ID_INVALID_DESCRIPTOR_HANDLE = 646, + D3D12_MESSAGE_ID_CREATERASTERIZERSTATE_INVALID_CONSERVATIVERASTERMODE = 647, + D3D12_MESSAGE_ID_DEVICE_DRAW_INVALID_SYSTEMVALUE = 648, + D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE = 649, + D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_INVALID_DESC = 650, + D3D12_MESSAGE_ID_CREATE_CONSTANT_BUFFER_VIEW_LARGE_OFFSET = 651, + D3D12_MESSAGE_ID_CREATE_UNORDEREDACCESS_VIEW_INVALID_COUNTER_USAGE = 652, + D3D12_MESSAGE_ID_COPY_DESCRIPTORS_INVALID_RANGES = 653, + D3D12_MESSAGE_ID_COPY_DESCRIPTORS_WRITE_ONLY_DESCRIPTOR = 654, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RTV_FORMAT_NOT_UNKNOWN = 655, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_RENDER_TARGET_COUNT = 656, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VERTEX_SHADER_NOT_SET = 657, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INPUTLAYOUT_NOT_SET = 658, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_HS_DS_SIGNATURE_MISMATCH = 659, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERINDEX = 660, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_COMPONENTTYPE = 661, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_REGISTERMASK = 662, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SYSTEMVALUE = 663, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_NEVERWRITTEN_ALWAYSREADS = 664, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_MINPRECISION = 665, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_SHADER_LINKAGE_SEMANTICNAME_NOT_FOUND = 666, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_XOR_DS_MISMATCH = 667, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HULL_SHADER_INPUT_TOPOLOGY_MISMATCH = 668, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_CONTROL_POINT_COUNT_MISMATCH = 669, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_DS_TESSELLATOR_DOMAIN_MISMATCH = 670, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_CENTER_MULTISAMPLE_PATTERN = 671, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_USE_OF_FORCED_SAMPLE_COUNT = 672, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_PRIMITIVETOPOLOGY = 673, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SYSTEMVALUE = 674, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_DUAL_SOURCE_BLENDING_CAN_ONLY_HAVE_RENDER_TARGET_0 = 675, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING = 676, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_OUTPUT_TYPE_MISMATCH = 677, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_OM_RENDER_TARGET_DOES_NOT_SUPPORT_LOGIC_OPS = 678, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_RENDERTARGETVIEW_NOT_SET = 679, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DEPTHSTENCILVIEW_NOT_SET = 680, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_INPUT_PRIMITIVE_MISMATCH = 681, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_POSITION_NOT_PRESENT = 682, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE_FLAGS = 683, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_INDEX_BUFFER_PROPERTIES = 684, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_INVALID_SAMPLE_DESC = 685, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_HS_ROOT_SIGNATURE_MISMATCH = 686, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_DS_ROOT_SIGNATURE_MISMATCH = 687, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_VS_ROOT_SIGNATURE_MISMATCH = 688, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_GS_ROOT_SIGNATURE_MISMATCH = 689, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_PS_ROOT_SIGNATURE_MISMATCH = 690, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_MISSING_ROOT_SIGNATURE = 691, + D3D12_MESSAGE_ID_EXECUTE_BUNDLE_OPEN_BUNDLE = 692, + D3D12_MESSAGE_ID_EXECUTE_BUNDLE_DESCRIPTOR_HEAP_MISMATCH = 693, + D3D12_MESSAGE_ID_EXECUTE_BUNDLE_TYPE = 694, + D3D12_MESSAGE_ID_DRAW_EMPTY_SCISSOR_RECTANGLE = 695, + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_BLOB_NOT_FOUND = 696, + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_DESERIALIZE_FAILED = 697, + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_INVALID_CONFIGURATION = 698, + D3D12_MESSAGE_ID_CREATE_ROOT_SIGNATURE_NOT_SUPPORTED_ON_DEVICE = 699, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLRESOURCEPROPERTIES = 700, + D3D12_MESSAGE_ID_CREATERESOURCEANDHEAP_NULLHEAP = 701, + D3D12_MESSAGE_ID_GETRESOURCEALLOCATIONINFO_INVALIDRDESCS = 702, + D3D12_MESSAGE_ID_MAKERESIDENT_NULLOBJECTARRAY = 703, + D3D12_MESSAGE_ID_MAKERESIDENT_INVALIDOBJECT = 704, + D3D12_MESSAGE_ID_EVICT_NULLOBJECTARRAY = 705, + D3D12_MESSAGE_ID_EVICT_INVALIDOBJECT = 706, + D3D12_MESSAGE_ID_HEAPS_UNSUPPORTED = 707, + D3D12_MESSAGE_ID_SET_DESCRIPTOR_TABLE_INVALID = 708, + D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_INVALID = 709, + D3D12_MESSAGE_ID_SET_ROOT_CONSTANT_BUFFER_VIEW_INVALID = 710, + D3D12_MESSAGE_ID_SET_ROOT_SHADER_RESOURCE_VIEW_INVALID = 711, + D3D12_MESSAGE_ID_SET_ROOT_UNORDERED_ACCESS_VIEW_INVALID = 712, + D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID_DESC = 713, + D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_LARGE_OFFSET = 714, + D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID_DESC = 715, + D3D12_MESSAGE_ID_SET_INDEX_BUFFER_LARGE_OFFSET = 716, + D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID_DESC = 717, + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDDIMENSIONALITY = 718, + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDLAYOUT = 719, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDDIMENSIONALITY = 720, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDALIGNMENT = 721, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDMIPLEVELS = 722, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDSAMPLEDESC = 723, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDLAYOUT = 724, + D3D12_MESSAGE_ID_SET_INDEX_BUFFER_INVALID = 725, + D3D12_MESSAGE_ID_SET_VERTEX_BUFFERS_INVALID = 726, + D3D12_MESSAGE_ID_SET_STREAM_OUTPUT_BUFFERS_INVALID = 727, + D3D12_MESSAGE_ID_SET_RENDER_TARGETS_INVALID = 728, + D3D12_MESSAGE_ID_CREATEQUERY_HEAP_INVALID_PARAMETERS = 729, + D3D12_MESSAGE_ID_CREATEQUERY_HEAP_JPEG_NOT_SUPPORTED = 730, + D3D12_MESSAGE_ID_BEGIN_END_QUERY_INVALID_PARAMETERS = 731, + D3D12_MESSAGE_ID_CLOSE_COMMAND_LIST_OPEN_QUERY = 732, + D3D12_MESSAGE_ID_RESOLVE_QUERY_DATA_INVALID_PARAMETERS = 733, + D3D12_MESSAGE_ID_SET_PREDICATION_INVALID_PARAMETERS = 734, + D3D12_MESSAGE_ID_TIMESTAMPS_NOT_SUPPORTED = 735, + D3D12_MESSAGE_ID_UNSTABLE_POWER_STATE = 736, + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDFORMAT = 737, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDFORMAT = 738, + D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE = 739, + D3D12_MESSAGE_ID_GETCOPYABLELAYOUT_INVALIDBASEOFFSET = 740, + D3D12_MESSAGE_ID_RESOURCE_BARRIER_INVALID_HEAP = 741, + D3D12_MESSAGE_ID_CREATE_SAMPLER_INVALID = 742, + D3D12_MESSAGE_ID_CREATECOMMANDSIGNATURE_INVALID = 743, + D3D12_MESSAGE_ID_EXECUTE_INDIRECT_INVALID_PARAMETERS = 744, + D3D12_MESSAGE_ID_GETGPUVIRTUALADDRESS_INVALID_RESOURCE_DIMENSION = 745, + D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_INVALIDCONTEXTTYPE = 746, + D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_DECODENOTSUPPORTED = 747, + D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_ENCODENOTSUPPORTED = 748, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDPLANEINDEX = 749, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_INVALIDVIDEOPLANEINDEX = 750, + D3D12_MESSAGE_ID_CREATESHADERRESOURCEVIEW_AMBIGUOUSVIDEOPLANEINDEX = 751, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDPLANEINDEX = 752, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_INVALIDVIDEOPLANEINDEX = 753, + D3D12_MESSAGE_ID_CREATERENDERTARGETVIEW_AMBIGUOUSVIDEOPLANEINDEX = 754, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDPLANEINDEX = 755, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_INVALIDVIDEOPLANEINDEX = 756, + D3D12_MESSAGE_ID_CREATEUNORDEREDACCESSVIEW_AMBIGUOUSVIDEOPLANEINDEX = 757, + D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSCANDATAOFFSET = 758, + D3D12_MESSAGE_ID_JPEGDECODE_NOTSUPPORTED = 759, + D3D12_MESSAGE_ID_JPEGDECODE_DIMENSIONSTOOLARGE = 760, + D3D12_MESSAGE_ID_JPEGDECODE_INVALIDCOMPONENTS = 761, + D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDCOMPONENTS = 762, + D3D12_MESSAGE_ID_JPEGDECODE_DESTINATIONNOT2D = 763, + D3D12_MESSAGE_ID_JPEGDECODE_TILEDRESOURCESUNSUPPORTED = 764, + D3D12_MESSAGE_ID_JPEGDECODE_GUARDRECTSUNSUPPORTED = 765, + D3D12_MESSAGE_ID_JPEGDECODE_FORMATUNSUPPORTED = 766, + D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSUBRESOURCE = 767, + D3D12_MESSAGE_ID_JPEGDECODE_INVALIDMIPLEVEL = 768, + D3D12_MESSAGE_ID_JPEGDECODE_EMPTYDESTBOX = 769, + D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXNOT2D = 770, + D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXNOTSUB = 771, + D3D12_MESSAGE_ID_JPEGDECODE_DESTBOXESINTERSECT = 772, + D3D12_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEMISMATCH = 773, + D3D12_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEMISMATCH = 774, + D3D12_MESSAGE_ID_JPEGDECODE_XSUBSAMPLEODD = 775, + D3D12_MESSAGE_ID_JPEGDECODE_YSUBSAMPLEODD = 776, + D3D12_MESSAGE_ID_JPEGDECODE_UPSCALEUNSUPPORTED = 777, + D3D12_MESSAGE_ID_JPEGDECODE_TIER4DOWNSCALETOLARGE = 778, + D3D12_MESSAGE_ID_JPEGDECODE_TIER3DOWNSCALEUNSUPPORTED = 779, + D3D12_MESSAGE_ID_JPEGDECODE_CHROMASIZEMISMATCH = 780, + D3D12_MESSAGE_ID_JPEGDECODE_LUMACHROMASIZEMISMATCH = 781, + D3D12_MESSAGE_ID_JPEGDECODE_INVALIDNUMDESTINATIONS = 782, + D3D12_MESSAGE_ID_JPEGDECODE_SUBBOXUNSUPPORTED = 783, + D3D12_MESSAGE_ID_JPEGDECODE_1DESTUNSUPPORTEDFORMAT = 784, + D3D12_MESSAGE_ID_JPEGDECODE_3DESTUNSUPPORTEDFORMAT = 785, + D3D12_MESSAGE_ID_JPEGDECODE_SCALEUNSUPPORTED = 786, + D3D12_MESSAGE_ID_JPEGDECODE_INVALIDSOURCESIZE = 787, + D3D12_MESSAGE_ID_JPEGDECODE_INVALIDCOPYFLAGS = 788, + D3D12_MESSAGE_ID_JPEGDECODE_HAZARD = 789, + D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERUSAGE = 790, + D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDSRCBUFFERMISCFLAGS = 791, + D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPORTEDDSTTEXTUREUSAGE = 792, + D3D12_MESSAGE_ID_JPEGDECODE_BACKBUFFERNOTSUPPORTED = 793, + D3D12_MESSAGE_ID_JPEGDECODE_UNSUPPRTEDCOPYFLAGS = 794, + D3D12_MESSAGE_ID_JPEGENCODE_NOTSUPPORTED = 795, + D3D12_MESSAGE_ID_JPEGENCODE_INVALIDSCANDATAOFFSET = 796, + D3D12_MESSAGE_ID_JPEGENCODE_INVALIDCOMPONENTS = 797, + D3D12_MESSAGE_ID_JPEGENCODE_SOURCENOT2D = 798, + D3D12_MESSAGE_ID_JPEGENCODE_TILEDRESOURCESUNSUPPORTED = 799, + D3D12_MESSAGE_ID_JPEGENCODE_GUARDRECTSUNSUPPORTED = 800, + D3D12_MESSAGE_ID_JPEGENCODE_XSUBSAMPLEMISMATCH = 801, + D3D12_MESSAGE_ID_JPEGENCODE_YSUBSAMPLEMISMATCH = 802, + D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDCOMPONENTS = 803, + D3D12_MESSAGE_ID_JPEGENCODE_FORMATUNSUPPORTED = 804, + D3D12_MESSAGE_ID_JPEGENCODE_INVALIDSUBRESOURCE = 805, + D3D12_MESSAGE_ID_JPEGENCODE_INVALIDMIPLEVEL = 806, + D3D12_MESSAGE_ID_JPEGENCODE_DIMENSIONSTOOLARGE = 807, + D3D12_MESSAGE_ID_JPEGENCODE_HAZARD = 808, + D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERUSAGE = 809, + D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDDSTBUFFERMISCFLAGS = 810, + D3D12_MESSAGE_ID_JPEGENCODE_UNSUPPORTEDSRCTEXTUREUSAGE = 811, + D3D12_MESSAGE_ID_JPEGENCODE_BACKBUFFERNOTSUPPORTED = 812, + D3D12_MESSAGE_ID_CREATEQUERYORPREDICATE_UNSUPPORTEDCONTEXTTTYPEFORQUERY = 813, + D3D12_MESSAGE_ID_FLUSH1_INVALIDCONTEXTTYPE = 814, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUE = 815, + D3D12_MESSAGE_ID_CREATERESOURCE_UNRECOGNIZEDCLEARVALUEFORMAT = 816, + D3D12_MESSAGE_ID_CREATERESOURCE_INVALIDCLEARVALUEFORMAT = 817, + D3D12_MESSAGE_ID_CREATERESOURCE_CLEARVALUEDENORMFLUSH = 818, + D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_INVALIDDEPTH = 819, + D3D12_MESSAGE_ID_CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE = 820, + D3D12_MESSAGE_ID_CLEARDEPTHSTENCILVIEW_MISMATCHINGCLEARVALUE = 821, + D3D12_MESSAGE_ID_MAP_INVALIDHEAP = 822, + D3D12_MESSAGE_ID_UNMAP_INVALIDHEAP = 823, + D3D12_MESSAGE_ID_MAP_INVALIDRESOURCE = 824, + D3D12_MESSAGE_ID_UNMAP_INVALIDRESOURCE = 825, + D3D12_MESSAGE_ID_MAP_INVALIDSUBRESOURCE = 826, + D3D12_MESSAGE_ID_UNMAP_INVALIDSUBRESOURCE = 827, + D3D12_MESSAGE_ID_MAP_INVALIDRANGE = 828, + D3D12_MESSAGE_ID_UNMAP_INVALIDRANGE = 829, + D3D12_MESSAGE_ID_MAP_NULLRANGE = 830, + D3D12_MESSAGE_ID_UNMAP_NULLRANGE = 831, + D3D12_MESSAGE_ID_MAP_INVALIDDATAPOINTER = 832, + D3D12_MESSAGE_ID_MAP_INVALIDARG_RETURN = 833, + D3D12_MESSAGE_ID_MAP_OUTOFMEMORY_RETURN = 834, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_BUNDLENOTSUPPORTED = 835, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_COMMANDLISTMISMATCH = 836, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_OPENCOMMANDLIST = 837, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST = 838, + D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLDST = 839, + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDDSTRESOURCEDIMENSION = 840, + D3D12_MESSAGE_ID_COPYBUFFERREGION_DSTRANGEOUTOFBOUNDS = 841, + D3D12_MESSAGE_ID_COPYBUFFERREGION_NULLSRC = 842, + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDSRCRESOURCEDIMENSION = 843, + D3D12_MESSAGE_ID_COPYBUFFERREGION_SRCRANGEOUTOFBOUNDS = 844, + D3D12_MESSAGE_ID_COPYBUFFERREGION_INVALIDCOPYFLAGS = 845, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLDST = 846, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTTYPE = 847, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCEDIMENSION = 848, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTRESOURCE = 849, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTSUBRESOURCE = 850, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTOFFSET = 851, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDDSTFORMAT = 852, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTFORMAT = 853, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDIMENSIONS = 854, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTROWPITCH = 855, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTPLACEMENT = 856, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTDSPLACEDFOOTPRINTFORMAT = 857, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_DSTREGIONOUTOFBOUNDS = 858, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_NULLSRC = 859, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCTYPE = 860, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCEDIMENSION = 861, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCRESOURCE = 862, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCSUBRESOURCE = 863, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCOFFSET = 864, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_UNRECOGNIZEDSRCFORMAT = 865, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCFORMAT = 866, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDIMENSIONS = 867, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCROWPITCH = 868, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCPLACEMENT = 869, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCDSPLACEDFOOTPRINTFORMAT = 870, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_SRCREGIONOUTOFBOUNDS = 871, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDDSTCOORDINATES = 872, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDSRCBOX = 873, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_FORMATMISMATCH = 874, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_EMPTYBOX = 875, + D3D12_MESSAGE_ID_COPYTEXTUREREGION_INVALIDCOPYFLAGS = 876, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SUBRESOURCE_INDEX = 877, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_FORMAT = 878, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_RESOURCE_MISMATCH = 879, + D3D12_MESSAGE_ID_RESOLVESUBRESOURCE_INVALID_SAMPLE_COUNT = 880, + D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_INVALID_SHADER = 881, + D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH = 882, + D3D12_MESSAGE_ID_CREATECOMPUTEPIPELINESTATE_MISSING_ROOT_SIGNATURE = 883, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALIDCACHEDBLOB = 884, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBADAPTERMISMATCH = 885, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDRIVERVERSIONMISMATCH = 886, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBDESCMISMATCH = 887, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_CACHEDBLOBIGNORED = 888, + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDHEAP = 889, + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDRESOURCE = 890, + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDBOX = 891, + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_INVALIDSUBRESOURCE = 892, + D3D12_MESSAGE_ID_WRITETOSUBRESOURCE_EMPTYBOX = 893, + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDHEAP = 894, + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDRESOURCE = 895, + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDBOX = 896, + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_INVALIDSUBRESOURCE = 897, + D3D12_MESSAGE_ID_READFROMSUBRESOURCE_EMPTYBOX = 898, + D3D12_MESSAGE_ID_TOO_MANY_NODES_SPECIFIED = 899, + D3D12_MESSAGE_ID_INVALID_NODE_INDEX = 900, + D3D12_MESSAGE_ID_GETHEAPPROPERTIES_INVALIDRESOURCE = 901, + D3D12_MESSAGE_ID_NODE_MASK_MISMATCH = 902, + D3D12_MESSAGE_ID_COMMAND_LIST_OUTOFMEMORY = 903, + D3D12_MESSAGE_ID_COMMAND_LIST_MULTIPLE_SWAPCHAIN_BUFFER_REFERENCES = 904, + D3D12_MESSAGE_ID_COMMAND_LIST_TOO_MANY_SWAPCHAIN_REFERENCES = 905, + D3D12_MESSAGE_ID_COMMAND_QUEUE_TOO_MANY_SWAPCHAIN_REFERENCES = 906, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE = 907, + D3D12_MESSAGE_ID_COMMAND_LIST_SETRENDERTARGETS_INVALIDNUMRENDERTARGETS = 908, + D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_TYPE = 909, + D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_FLAGS = 910, + D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFLAGS = 911, + D3D12_MESSAGE_ID_CREATESHAREDRESOURCE_INVALIDFORMAT = 912, + D3D12_MESSAGE_ID_CREATESHAREDHEAP_INVALIDFLAGS = 913, + D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_UNRECOGNIZEDPROPERTIES = 914, + D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDSIZE = 915, + D3D12_MESSAGE_ID_REFLECTSHAREDPROPERTIES_INVALIDOBJECT = 916, + D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDOBJECT = 917, + D3D12_MESSAGE_ID_KEYEDMUTEX_INVALIDKEY = 918, + D3D12_MESSAGE_ID_KEYEDMUTEX_WRONGSTATE = 919, + D3D12_MESSAGE_ID_CREATE_QUEUE_INVALID_PRIORITY = 920, + D3D12_MESSAGE_ID_OBJECT_DELETED_WHILE_STILL_IN_USE = 921, + D3D12_MESSAGE_ID_CREATEPIPELINESTATE_INVALID_FLAGS = 922, + D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_HAS_NO_RESOURCE = 923, + D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_RENDER_TARGET_DELETED = 924, + D3D12_MESSAGE_ID_CREATEGRAPHICSPIPELINESTATE_ALL_RENDER_TARGETS_HAVE_UNKNOWN_FORMAT = 925, + D3D12_MESSAGE_ID_HEAP_ADDRESS_RANGE_INTERSECTS_MULTIPLE_BUFFERS = 926, + D3D12_MESSAGE_ID_EXECUTECOMMANDLISTS_GPU_WRITTEN_READBACK_RESOURCE_MAPPED = 927, + D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_NEEDED = 928, + D3D12_MESSAGE_ID_UNMAP_RANGE_NOT_EMPTY = 929, + D3D12_MESSAGE_ID_MAP_INVALID_NULLRANGE = 930, + D3D12_MESSAGE_ID_UNMAP_INVALID_NULLRANGE = 931, + D3D12_MESSAGE_ID_NO_GRAPHICS_API_SUPPORT = 932, + D3D12_MESSAGE_ID_NO_COMPUTE_API_SUPPORT = 933, + D3D12_MESSAGE_ID_D3D12_MESSAGES_END = 934, +}} +STRUCT!{struct D3D12_MESSAGE { + Category: D3D12_MESSAGE_CATEGORY, + Severity: D3D12_MESSAGE_SEVERITY, + ID: D3D12_MESSAGE_ID, + pDescription: *const ::c_char, + DescriptionByteLength: ::SIZE_T, +}} +STRUCT!{struct D3D12_INFO_QUEUE_FILTER_DESC { + NumCategories: ::UINT, + pCategoryList: *mut D3D12_MESSAGE_CATEGORY, + NumSeverities: ::UINT, + pSeverityList: *mut D3D12_MESSAGE_SEVERITY, + NumIDs: ::UINT, + pIDList: *mut D3D12_MESSAGE_ID, +}} +STRUCT!{struct D3D12_INFO_QUEUE_FILTER { + AllowList: D3D12_INFO_QUEUE_FILTER_DESC, + DenyList: D3D12_INFO_QUEUE_FILTER_DESC, +}} +pub const D3D12_INFO_QUEUE_DEFAULT_MESSAGE_COUNT_LIMIT: ::UINT = 1024; +RIDL!{interface ID3D12InfoQueue(ID3D12InfoQueueVtbl): IUnknown(IUnknownVtbl) { + fn SetMessageCountLimit(&mut self, MessageCountLimit: ::UINT64) -> ::HRESULT, + fn ClearStoredMessages(&mut self) -> (), + fn GetMessage( + &mut self, MessageIndex: ::UINT64, pMessage: *mut ::D3D12_MESSAGE, + pMessageByteLength: *mut ::SIZE_T + ) -> ::HRESULT, + fn GetNumMessagesAllowedByStorageFilter(&mut self) -> ::UINT64, + fn GetNumMessagesDeniedByStorageFilter(&mut self) -> ::UINT64, + fn GetNumStoredMessages(&mut self) -> ::UINT64, + fn GetNumStoredMessagesAllowedByRetrievalFilter(&mut self) -> ::UINT64, + fn GetNumMessagesDiscardedByMessageCountLimit(&mut self) -> ::UINT64, + fn GetMessageCountLimit(&mut self) -> ::UINT64, + fn AddStorageFilterEntries(&mut self, pFilter: *mut ::D3D12_INFO_QUEUE_FILTER) -> ::HRESULT, + fn GetStorageFilter( + &mut self, pFilter: *mut ::D3D12_INFO_QUEUE_FILTER, pFilterByteLength: *mut ::SIZE_T + ) -> ::HRESULT, + fn ClearStorageFilter(&mut self) -> (), + fn PushEmptyStorageFilter(&mut self) -> ::HRESULT, + fn PushCopyOfStorageFilter(&mut self) -> ::HRESULT, + fn PushStorageFilter(&mut self, pFilter: *mut ::D3D12_INFO_QUEUE_FILTER) -> ::HRESULT, + fn PopStorageFilter(&mut self) -> (), + fn GetStorageFilterStackSize(&mut self) -> ::UINT, + fn AddRetrievalFilterEntries(&mut self, pFilter: *mut ::D3D12_INFO_QUEUE_FILTER) -> ::HRESULT, + fn GetRetrievalFilter( + &mut self, pFilter: *mut ::D3D12_INFO_QUEUE_FILTER, pFilterByteLength: *mut ::SIZE_T + ) -> ::HRESULT, + fn ClearRetrievalFilter(&mut self) -> (), + fn PushEmptyRetrievalFilter(&mut self) -> ::HRESULT, + fn PushCopyOfRetrievalFilter(&mut self) -> ::HRESULT, + fn PushRetrievalFilter(&mut self, pFilter: *mut ::D3D12_INFO_QUEUE_FILTER) -> ::HRESULT, + fn PopRetrievalFilter(&mut self) -> (), + fn GetRetrievalFilterStackSize(&mut self) -> ::UINT, + fn AddMessage( + &mut self, Category: ::D3D12_MESSAGE_CATEGORY, Severity: ::D3D12_MESSAGE_SEVERITY, + ID: ::D3D12_MESSAGE_ID, pDescription: ::LPCSTR + ) -> ::HRESULT, + fn AddApplicationMessage( + &mut self, Severity: ::D3D12_MESSAGE_SEVERITY, pDescription: ::LPCSTR + ) -> ::HRESULT, + fn SetBreakOnCategory( + &mut self, Category: ::D3D12_MESSAGE_CATEGORY, bEnable: ::BOOL + ) -> ::HRESULT, + fn SetBreakOnSeverity( + &mut self, Severity: ::D3D12_MESSAGE_SEVERITY, bEnable: ::BOOL + ) -> ::HRESULT, + fn SetBreakOnID(&mut self, ID: ::D3D12_MESSAGE_ID, bEnable: ::BOOL) -> ::HRESULT, + fn GetBreakOnCategory(&mut self, Category: ::D3D12_MESSAGE_CATEGORY) -> ::BOOL, + fn GetBreakOnSeverity(&mut self, Severity: ::D3D12_MESSAGE_SEVERITY) -> ::BOOL, + fn GetBreakOnID(&mut self, ID: ::D3D12_MESSAGE_ID) -> ::BOOL, + fn SetMuteDebugOutput(&mut self, bMute: ::BOOL) -> (), + fn GetMuteDebugOutput(&mut self) -> ::BOOL +}} diff --git a/third_party/rust/winapi-0.2.8/src/d3d12shader.rs b/third_party/rust/winapi-0.2.8/src/d3d12shader.rs new file mode 100644 index 0000000000..bd210b25d4 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d3d12shader.rs @@ -0,0 +1,320 @@ +// Copyright © 2016; Dmitry Roschin +// Licensed under the MIT License <LICENSE.md> +FLAGS!{ enum D3D12_SHADER_VERSION_TYPE { + D3D12_SHVER_PIXEL_SHADER = 0x0, + D3D12_SHVER_VERTEX_SHADER = 0x1, + D3D12_SHVER_GEOMETRY_SHADER = 0x2, + D3D12_SHVER_HULL_SHADER = 0x3, + D3D12_SHVER_DOMAIN_SHADER = 0x4, + D3D12_SHVER_COMPUTE_SHADER = 0x5, + D3D12_SHVER_RESERVED0 = 0xFFF0, +}} + +STRUCT!{struct D3D12_FUNCTION_DESC { + Version: ::UINT, + Creator: ::LPCSTR, + Flags: ::UINT, + ConstantBuffers: ::UINT, + BoundResources: ::UINT, + InstructionCount: ::UINT, + TempRegisterCount: ::UINT, + TempArrayCount: ::UINT, + DefCount: ::UINT, + DclCount: ::UINT, + TextureNormalInstructions: ::UINT, + TextureLoadInstructions: ::UINT, + TextureCompInstructions: ::UINT, + TextureBiasInstructions: ::UINT, + TextureGradientInstructions: ::UINT, + FloatInstructionCount: ::UINT, + IntInstructionCount: ::UINT, + UintInstructionCount: ::UINT, + StaticFlowControlCount: ::UINT, + DynamicFlowControlCount: ::UINT, + MacroInstructionCount: ::UINT, + ArrayInstructionCount: ::UINT, + MovInstructionCount: ::UINT, + MovcInstructionCount: ::UINT, + ConversionInstructionCount: ::UINT, + BitwiseInstructionCount: ::UINT, + MinFeatureLevel: ::D3D_FEATURE_LEVEL, + RequiredFeatureFlags: ::UINT64, + Name: ::LPCSTR, + FunctionParameterCount: ::INT, + HasReturn: ::BOOL, + Has10Level9VertexShader: ::BOOL, + Has10Level9PixelShader: ::BOOL, +}} + +STRUCT!{struct D3D12_LIBRARY_DESC { + Creator: ::LPCSTR, + Flags: ::UINT, + FunctionCount: ::UINT, +}} + +STRUCT!{struct D3D12_PARAMETER_DESC { + Name: ::LPCSTR, + SemanticName: ::LPCSTR, + Type: ::D3D_SHADER_VARIABLE_TYPE, + Class: ::D3D_SHADER_VARIABLE_CLASS, + Rows: ::UINT, + Columns: ::UINT, + InterpolationMode: ::D3D_INTERPOLATION_MODE, + Flags: ::D3D_PARAMETER_FLAGS, + FirstInRegister: ::UINT, + FirstInComponent: ::UINT, + FirstOutRegister: ::UINT, + FirstOutComponent: ::UINT, +}} + +STRUCT!{struct D3D12_SHADER_BUFFER_DESC { + Name: ::LPCSTR, + Type: ::D3D_CBUFFER_TYPE, + Variables: ::UINT, + Size: ::UINT, + uFlags: ::UINT, +}} + +STRUCT!{struct D3D12_SHADER_DESC { + Version: ::UINT, + Creator: ::LPCSTR, + Flags: ::UINT, + ConstantBuffers: ::UINT, + BoundResources: ::UINT, + InputParameters: ::UINT, + OutputParameters: ::UINT, + InstructionCount: ::UINT, + TempRegisterCount: ::UINT, + TempArrayCount: ::UINT, + DefCount: ::UINT, + DclCount: ::UINT, + TextureNormalInstructions: ::UINT, + TextureLoadInstructions: ::UINT, + TextureCompInstructions: ::UINT, + TextureBiasInstructions: ::UINT, + TextureGradientInstructions: ::UINT, + FloatInstructionCount: ::UINT, + IntInstructionCount: ::UINT, + UintInstructionCount: ::UINT, + StaticFlowControlCount: ::UINT, + DynamicFlowControlCount: ::UINT, + MacroInstructionCount: ::UINT, + ArrayInstructionCount: ::UINT, + CutInstructionCount: ::UINT, + EmitInstructionCount: ::UINT, + GSOutputTopology: ::D3D_PRIMITIVE_TOPOLOGY, + GSMaxOutputVertexCount: ::UINT, + InputPrimitive: ::D3D_PRIMITIVE, + PatchConstantParameters: ::UINT, + cGSInstanceCount: ::UINT, + cControlPoints: ::UINT, + HSOutputPrimitive: ::D3D_TESSELLATOR_OUTPUT_PRIMITIVE, + HSPartitioning: ::D3D_TESSELLATOR_PARTITIONING, + TessellatorDomain: ::D3D_TESSELLATOR_DOMAIN, + cBarrierInstructions: ::UINT, + cInterlockedInstructions: ::UINT, + cTextureStoreInstructions: ::UINT, +}} + +STRUCT!{struct D3D12_SHADER_INPUT_BIND_DESC { + Name: ::LPCSTR, + Type: ::D3D_SHADER_INPUT_TYPE, + BindPoint: ::UINT, + BindCount: ::UINT, + uFlags: ::UINT, + ReturnType: ::D3D_RESOURCE_RETURN_TYPE, + Dimension: ::D3D_SRV_DIMENSION, + NumSamples: ::UINT, + Space: ::UINT, + uID: ::UINT, +}} + +STRUCT!{struct D3D12_SHADER_TYPE_DESC { + Class: ::D3D_SHADER_VARIABLE_CLASS, + Type: ::D3D_SHADER_VARIABLE_TYPE, + Rows: ::UINT, + Columns: ::UINT, + Elements: ::UINT, + Members: ::UINT, + Offset: ::UINT, + Name: ::LPCSTR, +}} + +STRUCT!{struct D3D12_SHADER_VARIABLE_DESC { + Name: ::LPCSTR, + StartOffset: ::UINT, + Size: ::UINT, + uFlags: ::UINT, + DefaultValue: ::LPVOID, + StartTexture: ::UINT, + TextureSize: ::UINT, + StartSampler: ::UINT, + SamplerSize: ::UINT, +}} + +STRUCT!{struct D3D12_SIGNATURE_PARAMETER_DESC { + SemanticName: ::LPCSTR, + SemanticIndex: ::UINT, + Register: ::UINT, + SystemValueType: ::D3D_NAME, + ComponentType: ::D3D_REGISTER_COMPONENT_TYPE, + Mask: ::BYTE, + ReadWriteMask: ::BYTE, + Stream: ::UINT, + MinPrecision: ::D3D_MIN_PRECISION, +}} + +RIDL!( +interface ID3D12FunctionParameterReflection(ID3D12FunctionParameterReflectionVtbl) { + fn GetDesc(&mut self, pDesc: *mut ::D3D12_PARAMETER_DESC) -> ::HRESULT +}); + +RIDL!( +interface ID3D12FunctionReflection(ID3D12FunctionReflectionVtbl) { + fn GetDesc(&mut self, pDesc: *mut ::D3D12_FUNCTION_DESC) -> ::HRESULT, + fn GetConstantBufferByIndex( + &mut self, BufferIndex: ::UINT + ) -> *mut ::ID3D12ShaderReflectionConstantBuffer, + fn GetConstantBufferByName( + &mut self, Name: ::LPCSTR + ) -> *mut ::ID3D12ShaderReflectionConstantBuffer, + fn GetResourceBindingDesc( + &mut self, ResourceIndex: ::UINT, pDesc: *mut ::D3D12_SHADER_INPUT_BIND_DESC + ) -> ::HRESULT, + fn GetVariableByName( + &mut self, Name: ::LPCSTR + ) -> *mut ::ID3D12ShaderReflectionVariable, + fn GetResourceBindingDescByName( + &mut self, Name: ::LPCSTR, pDesc: *mut ::D3D12_SHADER_INPUT_BIND_DESC + ) -> ::HRESULT, + fn GetFunctionParameter( + &mut self, ParameterIndex: ::INT + ) -> *mut ::ID3D12FunctionParameterReflection +}); + +RIDL!( +interface ID3D12LibraryReflection(ID3D12LibraryReflectionVtbl): IUnknown(IUnknownVtbl) { + fn QueryInterface( + &mut self, iid: *const ::IID, ppv: *mut ::LPVOID + ) -> ::HRESULT, + fn AddRef(&mut self) -> ::ULONG, + fn Release(&mut self) -> ::ULONG, + fn GetDesc(&mut self, pDesc: *mut ::D3D12_LIBRARY_DESC) -> ::HRESULT, + fn GetFunctionByIndex( + &mut self, FunctionIndex: ::INT + ) -> *mut ::ID3D12FunctionReflection +}); + +RIDL!( +interface ID3D12ShaderReflectionConstantBuffer(ID3D12ShaderReflectionConstantBufferVtbl) { + fn GetDesc(&mut self, pDesc: *mut ::D3D12_SHADER_BUFFER_DESC) -> ::HRESULT, + fn GetVariableByIndex( + &mut self, Index: ::UINT + ) -> *mut ::ID3D12ShaderReflectionVariable, + fn GetVariableByName( + &mut self, Name: ::LPCSTR + ) -> *mut ::ID3D12ShaderReflectionVariable +}); + +RIDL!( +interface ID3D12ShaderReflectionType(ID3D12ShaderReflectionTypeVtbl) { + fn GetDesc(&mut self, pDesc: *mut ::D3D12_SHADER_TYPE_DESC) -> ::HRESULT, + fn GetMemberTypeByIndex( + &mut self, Index: ::UINT + ) -> *mut ::ID3D12ShaderReflectionType, + fn GetMemberTypeByName( + &mut self, Name: ::LPCSTR + ) -> *mut ::ID3D12ShaderReflectionType, + fn GetMemberTypeName(&mut self, Index: ::UINT) -> ::LPCSTR, + fn IsEqual( + &mut self, pType: *mut ::ID3D12ShaderReflectionType + ) -> ::HRESULT, + fn GetSubType(&mut self) -> *mut ::ID3D12ShaderReflectionType, + fn GetBaseClass(&mut self) -> *mut ::ID3D12ShaderReflectionType, + fn GetNumInterfaces(&mut self) -> ::UINT, + fn GetInterfaceByIndex( + &mut self, uIndex: ::UINT + ) -> *mut ::ID3D12ShaderReflectionType, + fn IsOfType( + &mut self, pType: *mut ::ID3D12ShaderReflectionType + ) -> ::HRESULT, + fn ImplementsInterface( + &mut self, pBase: *mut ::ID3D12ShaderReflectionType + ) -> ::HRESULT +}); + +RIDL!( +interface ID3D12ShaderReflectionVariable(ID3D12ShaderReflectionVariableVtbl) { + fn GetDesc( + &mut self, pDesc: *mut ::D3D12_SHADER_VARIABLE_DESC + ) -> ::HRESULT, + fn GetType(&mut self) -> *mut ::ID3D12ShaderReflectionType, + fn GetBuffer(&mut self) -> *mut ::ID3D12ShaderReflectionConstantBuffer, + fn GetInterfaceSlot(&mut self, uArrayIndex: ::UINT) -> ::UINT +}); + +RIDL!( +interface ID3D12ShaderReflection(ID3D12ShaderReflectionVtbl): IUnknown(IUnknownVtbl) { + fn QueryInterface( + &mut self, iid: *const ::IID, ppv: *mut ::LPVOID + ) -> ::HRESULT, + fn AddRef(&mut self) -> ::ULONG, + fn Release(&mut self) -> ::ULONG, + fn GetDesc(&mut self, pDesc: *mut ::D3D12_SHADER_DESC) -> ::HRESULT, + fn GetConstantBufferByIndex( + &mut self, Index: ::UINT + ) -> *mut ::ID3D12ShaderReflectionConstantBuffer, + fn GetConstantBufferByName( + &mut self, Name: ::LPCSTR + ) -> *mut ::ID3D12ShaderReflectionConstantBuffer, + fn GetResourceBindingDesc( + &mut self, ResourceIndex: ::UINT, pDesc: *mut ::D3D12_SHADER_INPUT_BIND_DESC + ) -> ::HRESULT, + fn GetInputParameterDesc( + &mut self, ParameterIndex: ::UINT, pDesc: *mut ::D3D12_SIGNATURE_PARAMETER_DESC + ) -> ::HRESULT, + fn GetOutputParameterDesc( + &mut self, ParameterIndex: ::UINT, pDesc: *mut ::D3D12_SIGNATURE_PARAMETER_DESC + ) -> ::HRESULT, + fn GetPatchConstantParameterDesc( + &mut self, ParameterIndex: ::UINT, pDesc: *mut ::D3D12_SIGNATURE_PARAMETER_DESC + ) -> ::HRESULT, + fn GetVariableByName( + &mut self, Name: ::LPCSTR + ) -> *mut ::ID3D12ShaderReflectionVariable, + fn GetResourceBindingDescByName( + &mut self, Name: ::LPCSTR, pDesc: *mut ::D3D12_SHADER_INPUT_BIND_DESC + ) -> ::HRESULT, + fn GetMovInstructionCount(&mut self) -> ::UINT, + fn GetMovcInstructionCount(&mut self) -> ::UINT, + fn GetConversionInstructionCount(&mut self) -> ::UINT, + fn GetBitwiseInstructionCount(&mut self) -> ::UINT, + fn GetGSInputPrimitive(&mut self) -> ::D3D_PRIMITIVE, + fn IsSampleFrequencyShader(&mut self) -> ::BOOL, + fn GetNumInterfaceSlots(&mut self) -> ::UINT, + fn GetMinFeatureLevel( + &mut self, pLevel: *mut ::D3D_FEATURE_LEVEL + ) -> ::HRESULT, + fn GetThreadGroupSize( + &mut self, pSizeX: *mut ::UINT, pSizeY: *mut ::UINT, pSizeZ: *mut ::UINT + ) -> ::UINT, + fn GetRequiresFlags(&mut self) -> ::UINT64 +}); + +pub type D3D12_CBUFFER_TYPE = ::D3D_CBUFFER_TYPE; +pub type D3D12_RESOURCE_RETURN_TYPE = ::D3D_RESOURCE_RETURN_TYPE; +pub type D3D12_TESSELLATOR_DOMAIN = ::D3D_TESSELLATOR_DOMAIN; +pub type D3D12_TESSELLATOR_OUTPUT_PRIMITIVE = ::D3D_TESSELLATOR_OUTPUT_PRIMITIVE; +pub type D3D12_TESSELLATOR_PARTITIONING = ::D3D_TESSELLATOR_PARTITIONING; +pub type LPD3D12FUNCTIONPARAMETERREFLECTION = *mut ::ID3D12FunctionParameterReflection; +pub type LPD3D12FUNCTIONREFLECTION = *mut ::ID3D12FunctionReflection; +pub type LPD3D12LIBRARYREFLECTION = *mut ::ID3D12LibraryReflection; +pub type LPD3D12SHADERREFLECTION = *mut ::ID3D12ShaderReflection; +pub type LPD3D12SHADERREFLECTIONCONSTANTBUFFER = *mut ::ID3D12ShaderReflectionConstantBuffer; +pub type LPD3D12SHADERREFLECTIONTYPE = *mut ::ID3D12ShaderReflectionType; +pub type LPD3D12SHADERREFLECTIONVARIABLE = *mut ::ID3D12ShaderReflectionVariable; +pub const D3D_SHADER_REQUIRES_INNER_COVERAGE: ::UINT64 = 0x00000400; +pub const D3D_SHADER_REQUIRES_ROVS: ::UINT64 = 0x00001000; +pub const D3D_SHADER_REQUIRES_STENCIL_REF: ::UINT64 = 0x00000200; +pub const D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS: ::UINT64 = 0x00000800; +pub const D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER: ::UINT64 = 0x00002000; diff --git a/third_party/rust/winapi-0.2.8/src/d3d9.rs b/third_party/rust/winapi-0.2.8/src/d3d9.rs new file mode 100644 index 0000000000..26f9031d06 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d3d9.rs @@ -0,0 +1,713 @@ +// Copyright © 2015, Corey Richardson +// Licensed under the MIT License <LICENSE.md> +//! Direct3D include file +pub const D3D_SDK_VERSION: ::DWORD = 32; +pub const D3D9b_SDK_VERSION: ::DWORD = 31; +RIDL!( +interface IDirect3D9(IDirect3D9Vtbl): IUnknown(IUnknownVtbl) { + fn RegisterSoftwareDevice(&mut self, pInitializeFunction: *mut ::VOID) -> ::HRESULT, + fn GetAdapterCount(&mut self) -> ::UINT, + fn GetAdapterIdentifier( + &mut self, Adapter: ::UINT, Flags: ::DWORD, pIdentifier: *mut ::D3DADAPTER_IDENTIFIER9 + ) -> ::HRESULT, + fn GetAdapterModeCount(&mut self, Adapter: ::UINT, Format: ::D3DFORMAT) -> ::UINT, + fn EnumAdapterModes( + &mut self, Adapter: ::UINT, Format: ::D3DFORMAT, Mode: ::UINT, pMode: *mut ::D3DDISPLAYMODE + ) -> ::HRESULT, + fn GetAdapterDisplayMode( + &mut self, Adapter: ::UINT, pMode: *mut ::D3DDISPLAYMODE + ) -> ::HRESULT, + fn CheckDeviceType( + &mut self, Adapter: ::UINT, DevType: ::D3DDEVTYPE, AdapterFormat: ::D3DFORMAT, + BackBufferFormat: ::D3DFORMAT, bWindowed: ::BOOL + ) -> ::HRESULT, + fn CheckDeviceFormat( + &mut self, Adapter: ::UINT, DeviceType: ::D3DDEVTYPE, AdapterFormat: ::D3DFORMAT, + Usage: ::DWORD, RType: ::D3DRESOURCETYPE, CheckFormat: ::D3DFORMAT + ) -> ::HRESULT, + fn CheckDeviceMultiSampleType( + &mut self, Adapter: ::UINT, DeviceType: ::D3DDEVTYPE, SurfaceFormat: ::D3DFORMAT, + Windowed: ::BOOL, MultiSampleType: ::D3DMULTISAMPLE_TYPE, pQualityLevels: *mut ::DWORD + ) -> ::HRESULT, + fn CheckDepthStencilMatch( + &mut self, Adapter: ::UINT, DeviceType: ::D3DDEVTYPE, AdapterFormat: ::D3DFORMAT, + RenderTargetFormat: ::D3DFORMAT, DepthStencilFormat: ::D3DFORMAT + ) -> ::HRESULT, + fn CheckDeviceFormatConversion( + &mut self, Adapter: ::UINT, DeviceType: ::D3DDEVTYPE, SourceFormat: ::D3DFORMAT, + TargetFormat: ::D3DFORMAT + ) -> ::HRESULT, + fn GetDeviceCaps( + &mut self, Adapter: ::UINT, DeviceType: ::D3DDEVTYPE, pCaps: *mut ::D3DCAPS9 + ) -> ::HRESULT, + fn GetAdapterMonitor(&mut self, Adapter: ::UINT) -> ::HMONITOR, + fn CreateDevice( + &mut self, Adapter: ::UINT, DeviceType: ::D3DDEVTYPE, hFocusWindow: ::HWND, + BehaviorFlags: ::DWORD, pPresentationParameters: *mut ::D3DPRESENT_PARAMETERS, + ppReturnedDeviceInterface: *mut *mut IDirect3DDevice9 + ) -> ::HRESULT +} +); +pub type LPDIRECT3D9 = *mut IDirect3D9; +pub type PDIRECT3D9 = *mut IDirect3D9; +RIDL!( +interface IDirect3DDevice9(IDirect3DDevice9Vtbl): IUnknown(IUnknownVtbl) { + fn TestCooperativeLevel(&mut self) -> ::HRESULT, + fn GetAvailableTextureMem(&mut self) -> ::UINT, + fn EvictManagedResources(&mut self) -> ::HRESULT, + fn GetDirect3D(&mut self, ppD3D9: *mut *mut IDirect3D9) -> ::HRESULT, + fn GetDeviceCaps(&mut self, pCaps: *mut ::D3DCAPS9) -> ::HRESULT, + fn GetDisplayMode(&mut self, iSwapChain: ::UINT, pMode: *mut ::D3DDISPLAYMODE) -> ::HRESULT, + fn GetCreationParameters( + &mut self, pParameters: *mut ::D3DDEVICE_CREATION_PARAMETERS + ) -> ::HRESULT, + fn SetCursorProperties( + &mut self, XHotSpot: ::UINT, YHotSpot: ::UINT, pCursorBitmap: *mut IDirect3DSurface9 + ) -> ::HRESULT, + fn SetCursorPosition(&mut self, X: ::INT, Y: ::INT, Flags: ::DWORD) -> (), + fn ShowCursor(&mut self, bShow: ::BOOL) -> ::BOOL, + fn CreateAdditionalSwapChain( + &mut self, pPresentationParameters: *mut ::D3DPRESENT_PARAMETERS, + pSwapChain: *mut *mut IDirect3DSwapChain9 + ) -> ::HRESULT, + fn GetSwapChain( + &mut self, iSwapChain: ::UINT, pSwapChain: *mut *mut IDirect3DSwapChain9 + ) -> ::HRESULT, + fn GetNumberOfSwapChains(&mut self) -> ::UINT, + fn Reset(&mut self, pPresentationParameters: *mut ::D3DPRESENT_PARAMETERS) -> ::HRESULT, + fn Present( + &mut self, pSourceRect: *const ::RECT, pDestRect: *const ::RECT, + hDestWindowOverride: ::HWND, pDirtyRegion: *const ::RGNDATA + ) -> ::HRESULT, + fn GetBackBuffer( + &mut self, iSwapChain: ::UINT, iBackBuffer: ::UINT, Type: ::D3DBACKBUFFER_TYPE, + ppBackBuffer: *mut *mut IDirect3DSurface9 + ) -> ::HRESULT, + fn GetRasterStatus( + &mut self, iSwapChain: ::UINT, pRasterStatus: *mut ::D3DRASTER_STATUS + ) -> ::HRESULT, + fn SetDialogBoxMode(&mut self, bEnableDialogs: ::BOOL) -> ::HRESULT, + fn SetGammaRamp( + &mut self, iSwapChain: ::UINT, Flags: ::DWORD, pRamp: *const ::D3DGAMMARAMP + ) -> (), + fn GetGammaRamp(&mut self, iSwapChain: ::UINT, pRamp: *mut ::D3DGAMMARAMP) -> (), + fn CreateTexture( + &mut self, Width: ::UINT, Height: ::UINT, Levels: ::UINT, Usage: ::DWORD, + Format: ::D3DFORMAT, Pool: ::D3DPOOL, ppTexture: *mut *mut IDirect3DTexture9, + pSharedHandle: *mut ::HANDLE + ) -> ::HRESULT, + fn CreateVolumeTexture( + &mut self, Width: ::UINT, Height: ::UINT, Depth: ::UINT, Levels: ::UINT, Usage: ::DWORD, + Format: ::D3DFORMAT, Pool: ::D3DPOOL, ppVolumeTexture: *mut *mut IDirect3DVolumeTexture9, + pSharedHandle: *mut ::HANDLE + ) -> ::HRESULT, + fn CreateCubeTexture( + &mut self, EdgeLength: ::UINT, Levels: ::UINT, Usage: ::DWORD, Format: ::D3DFORMAT, + Pool: ::D3DPOOL, ppCubeTexture: *mut *mut IDirect3DCubeTexture9, + pSharedHandle: *mut ::HANDLE + ) -> ::HRESULT, + fn CreateVertexBuffer( + &mut self, Length: ::UINT, Usage: ::DWORD, FVF: ::DWORD, Pool: ::D3DPOOL, + ppVertexBuffer: *mut *mut IDirect3DVertexBuffer9, pSharedHandle: *mut ::HANDLE + ) -> ::HRESULT, + fn CreateIndexBuffer( + &mut self, Length: ::UINT, Usage: ::DWORD, Format: ::D3DFORMAT, Pool: ::D3DPOOL, + ppIndexBuffer: *mut *mut IDirect3DIndexBuffer9, pSharedHandle: *mut ::HANDLE + ) -> ::HRESULT, + fn CreateRenderTarget( + &mut self, Width: ::UINT, Height: ::UINT, Format: ::D3DFORMAT, + MultiSample: ::D3DMULTISAMPLE_TYPE, MultisampleQuality: ::DWORD, Lockable: ::BOOL, + ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut ::HANDLE + ) -> ::HRESULT, + fn CreateDepthStencilSurface( + &mut self, Width: ::UINT, Height: ::UINT, Format: ::D3DFORMAT, + MultiSample: ::D3DMULTISAMPLE_TYPE, MultisampleQuality: ::DWORD, Discard: ::BOOL, + ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut ::HANDLE + ) -> ::HRESULT, + fn UpdateSurface( + &mut self, pSourceSurface: *mut IDirect3DSurface9, pSourceRect: *const ::RECT, + pDestinationSurface: *mut IDirect3DSurface9, pDestPoint: *const ::POINT + ) -> ::HRESULT, + fn UpdateTexture( + &mut self, pSourceTexture: *mut IDirect3DBaseTexture9, + pDestinationTexture: *mut IDirect3DBaseTexture9 + ) -> ::HRESULT, + fn GetRenderTargetData( + &mut self, pRenderTarget: *mut IDirect3DSurface9, pDestSurface: *mut IDirect3DSurface9 + ) -> ::HRESULT, + fn GetFrontBufferData( + &mut self, iSwapChain: ::UINT, pDestSurface: *mut IDirect3DSurface9 + ) -> ::HRESULT, + fn StretchRect( + &mut self, pSourceSurface: *mut IDirect3DSurface9, pSourceRect: *const ::RECT, + pDestSurface: *mut IDirect3DSurface9, pDestRect: *const ::RECT, + Filter: ::D3DTEXTUREFILTERTYPE + ) -> ::HRESULT, + fn ColorFill( + &mut self, pSurface: *mut IDirect3DSurface9, pRect: *const ::RECT, color: ::D3DCOLOR + ) -> ::HRESULT, + fn CreateOffscreenPlainSurface( + &mut self, Width: ::UINT, Height: ::UINT, Format: ::D3DFORMAT, Pool: ::D3DPOOL, + ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut ::HANDLE + ) -> ::HRESULT, + fn SetRenderTarget( + &mut self, RenderTargetIndex: ::DWORD, pRenderTarget: *mut IDirect3DSurface9 + ) -> ::HRESULT, + fn GetRenderTarget( + &mut self, RenderTargetIndex: ::DWORD, ppRenderTarget: *mut *mut IDirect3DSurface9 + ) -> ::HRESULT, + fn SetDepthStencilSurface(&mut self, pNewZStencil: *mut IDirect3DSurface9) -> ::HRESULT, + fn GetDepthStencilSurface( + &mut self, ppZStencilSurface: *mut *mut IDirect3DSurface9 + ) -> ::HRESULT, + fn BeginScene(&mut self) -> ::HRESULT, + fn EndScene(&mut self) -> ::HRESULT, + fn Clear( + &mut self, Count: ::DWORD, pRects: *const ::D3DRECT, Flags: ::DWORD, Color: ::D3DCOLOR, + Z: ::FLOAT, Stencil: ::DWORD + ) -> ::HRESULT, + fn SetTransform( + &mut self, State: ::D3DTRANSFORMSTATETYPE, pMatrix: *const ::D3DMATRIX + ) -> ::HRESULT, + fn GetTransform( + &mut self, State: ::D3DTRANSFORMSTATETYPE, pMatrix: *mut ::D3DMATRIX + ) -> ::HRESULT, + fn MultiplyTransform( + &mut self, arg1: ::D3DTRANSFORMSTATETYPE, arg2: *const ::D3DMATRIX + ) -> ::HRESULT, + fn SetViewport(&mut self, pViewport: *const ::D3DVIEWPORT9) -> ::HRESULT, + fn GetViewport(&mut self, pViewport: *mut ::D3DVIEWPORT9) -> ::HRESULT, + fn SetMaterial(&mut self, pMaterial: *const ::D3DMATERIAL9) -> ::HRESULT, + fn GetMaterial(&mut self, pMaterial: *mut ::D3DMATERIAL9) -> ::HRESULT, + fn SetLight(&mut self, Index: ::DWORD, arg1: *const ::D3DLIGHT9) -> ::HRESULT, + fn GetLight(&mut self, Index: ::DWORD, arg1: *mut ::D3DLIGHT9) -> ::HRESULT, + fn LightEnable(&mut self, Index: ::DWORD, Enable: ::BOOL) -> ::HRESULT, + fn GetLightEnable(&mut self, Index: ::DWORD, pEnable: *mut ::BOOL) -> ::HRESULT, + fn SetClipPlane(&mut self, Index: ::DWORD, pPlane: *const ::FLOAT) -> ::HRESULT, + fn GetClipPlane(&mut self, Index: ::DWORD, pPlane: *mut ::FLOAT) -> ::HRESULT, + fn SetRenderState(&mut self, State: ::D3DRENDERSTATETYPE, Value: ::DWORD) -> ::HRESULT, + fn GetRenderState(&mut self, State: ::D3DRENDERSTATETYPE, pValue: *mut ::DWORD) -> ::HRESULT, + fn CreateStateBlock( + &mut self, Type: ::D3DSTATEBLOCKTYPE, ppSB: *mut *mut IDirect3DStateBlock9 + ) -> ::HRESULT, + fn BeginStateBlock(&mut self) -> ::HRESULT, + fn EndStateBlock(&mut self, ppSB: *mut *mut IDirect3DStateBlock9) -> ::HRESULT, + fn SetClipStatus(&mut self, pClipStatus: *const ::D3DCLIPSTATUS9) -> ::HRESULT, + fn GetClipStatus(&mut self, pClipStatus: *mut ::D3DCLIPSTATUS9) -> ::HRESULT, + fn GetTexture( + &mut self, Stage: ::DWORD, ppTexture: *mut *mut IDirect3DBaseTexture9 + ) -> ::HRESULT, + fn SetTexture(&mut self, Stage: ::DWORD, pTexture: *mut IDirect3DBaseTexture9) -> ::HRESULT, + fn GetTextureStageState( + &mut self, Stage: ::DWORD, Type: ::D3DTEXTURESTAGESTATETYPE, pValue: *mut ::DWORD + ) -> ::HRESULT, + fn SetTextureStageState( + &mut self, Stage: ::DWORD, Type: ::D3DTEXTURESTAGESTATETYPE, Value: ::DWORD + ) -> ::HRESULT, + fn GetSamplerState( + &mut self, Sampler: ::DWORD, Type: ::D3DSAMPLERSTATETYPE, pValue: *mut ::DWORD + ) -> ::HRESULT, + fn SetSamplerState( + &mut self, Sampler: ::DWORD, Type: ::D3DSAMPLERSTATETYPE, Value: ::DWORD + ) -> ::HRESULT, + fn ValidateDevice(&mut self, pNumPasses: *mut ::DWORD) -> ::HRESULT, + fn SetPaletteEntries( + &mut self, PaletteNumber: ::UINT, pEntries: *const ::PALETTEENTRY + ) -> ::HRESULT, + fn GetPaletteEntries( + &mut self, PaletteNumber: ::UINT, pEntries: *mut ::PALETTEENTRY + ) -> ::HRESULT, + fn SetCurrentTexturePalette(&mut self, PaletteNumber: ::UINT) -> ::HRESULT, + fn GetCurrentTexturePalette(&mut self, PaletteNumber: *mut ::UINT) -> ::HRESULT, + fn SetScissorRect(&mut self, pRect: *const ::RECT) -> ::HRESULT, + fn GetScissorRect(&mut self, pRect: *mut ::RECT) -> ::HRESULT, + fn SetSoftwareVertexProcessing(&mut self, bSoftware: ::BOOL) -> ::HRESULT, + fn GetSoftwareVertexProcessing(&mut self) -> ::BOOL, + fn SetNPatchMode(&mut self, nSegments: ::FLOAT) -> ::HRESULT, + fn GetNPatchMode(&mut self) -> ::FLOAT, + fn DrawPrimitive( + &mut self, PrimitiveType: ::D3DPRIMITIVETYPE, StartVertex: ::UINT, PrimitiveCount: ::UINT + ) -> ::HRESULT, + fn DrawIndexedPrimitive( + &mut self, arg1: ::D3DPRIMITIVETYPE, BaseVertexIndex: ::INT, MinVertexIndex: ::UINT, + NumVertices: ::UINT, startIndex: ::UINT, primCount: ::UINT + ) -> ::HRESULT, + fn DrawPrimitiveUP( + &mut self, PrimitiveType: ::D3DPRIMITIVETYPE, PrimitiveCount: ::UINT, + pVertexStreamZeroData: *const ::VOID, VertexStreamZeroStride: ::UINT + ) -> ::HRESULT, + fn DrawIndexedPrimitiveUP( + &mut self, PrimitiveType: ::D3DPRIMITIVETYPE, MinVertexIndex: ::UINT, NumVertices: ::UINT, + PrimitiveCount: ::UINT, pIndexData: *const ::VOID, IndexDataFormat: ::D3DFORMAT, + pVertexStreamZeroData: *const ::VOID, VertexStreamZeroStride: ::UINT + ) -> ::HRESULT, + fn ProcessVertices( + &mut self, SrcStartIndex: ::UINT, DestIndex: ::UINT, VertexCount: ::UINT, + pDestBuffer: *mut IDirect3DVertexBuffer9, pVertexDecl: *mut IDirect3DVertexDeclaration9, + Flags: ::DWORD + ) -> ::HRESULT, + fn CreateVertexDeclaration( + &mut self, pVertexElements: *const ::D3DVERTEXELEMENT9, + ppDecl: *mut *mut IDirect3DVertexDeclaration9 + ) -> ::HRESULT, + fn SetVertexDeclaration(&mut self, pDecl: *mut IDirect3DVertexDeclaration9) -> ::HRESULT, + fn GetVertexDeclaration(&mut self, ppDecl: *mut *mut IDirect3DVertexDeclaration9) -> ::HRESULT, + fn SetFVF(&mut self, FVF: ::DWORD) -> ::HRESULT, + fn GetFVF(&mut self, pFVF: *mut ::DWORD) -> ::HRESULT, + fn CreateVertexShader( + &mut self, pFunction: *const ::DWORD, ppShader: *mut *mut IDirect3DVertexShader9 + ) -> ::HRESULT, + fn SetVertexShader(&mut self, pShader: *mut IDirect3DVertexShader9) -> ::HRESULT, + fn GetVertexShader(&mut self, ppShader: *mut *mut IDirect3DVertexShader9) -> ::HRESULT, + fn SetVertexShaderConstantF( + &mut self, StartRegister: ::UINT, pConstantData: *const ::FLOAT, Vector4fCount: ::UINT + ) -> ::HRESULT, + fn GetVertexShaderConstantF( + &mut self, StartRegister: ::UINT, pConstantData: *mut ::FLOAT, Vector4fCount: ::UINT + ) -> ::HRESULT, + fn SetVertexShaderConstantI( + &mut self, StartRegister: ::UINT, pConstantData: *const ::INT, Vector4iCount: ::UINT + ) -> ::HRESULT, + fn GetVertexShaderConstantI( + &mut self, StartRegister: ::UINT, pConstantData: *mut ::INT, Vector4iCount: ::UINT + ) -> ::HRESULT, + fn SetVertexShaderConstantB( + &mut self, StartRegister: ::UINT, pConstantData: *const ::BOOL, BoolCount: ::UINT + ) -> ::HRESULT, + fn GetVertexShaderConstantB( + &mut self, StartRegister: ::UINT, pConstantData: *mut ::BOOL, BoolCount: ::UINT + ) -> ::HRESULT, + fn SetStreamSource( + &mut self, StreamNumber: ::UINT, pStreamData: *mut IDirect3DVertexBuffer9, + OffsetInBytes: ::UINT, Stride: ::UINT + ) -> ::HRESULT, + fn GetStreamSource( + &mut self, StreamNumber: ::UINT, ppStreamData: *mut *mut IDirect3DVertexBuffer9, + pOffsetInBytes: *mut ::UINT, pStride: *mut ::UINT + ) -> ::HRESULT, + fn SetStreamSourceFreq(&mut self, StreamNumber: ::UINT, Setting: ::UINT) -> ::HRESULT, + fn GetStreamSourceFreq(&mut self, StreamNumber: ::UINT, pSetting: *mut ::UINT) -> ::HRESULT, + fn SetIndices(&mut self, pIndexData: *mut IDirect3DIndexBuffer9) -> ::HRESULT, + fn GetIndices(&mut self, ppIndexData: *mut *mut IDirect3DIndexBuffer9) -> ::HRESULT, + fn CreatePixelShader( + &mut self, pFunction: *const ::DWORD, ppShader: *mut *mut IDirect3DPixelShader9 + ) -> ::HRESULT, + fn SetPixelShader(&mut self, pShader: *mut IDirect3DPixelShader9) -> ::HRESULT, + fn GetPixelShader(&mut self, ppShader: *mut *mut IDirect3DPixelShader9) -> ::HRESULT, + fn SetPixelShaderConstantF( + &mut self, StartRegister: ::UINT, pConstantData: *const ::FLOAT, Vector4fCount: ::UINT + ) -> ::HRESULT, + fn GetPixelShaderConstantF( + &mut self, StartRegister: ::UINT, pConstantData: *mut ::FLOAT, Vector4fCount: ::UINT + ) -> ::HRESULT, + fn SetPixelShaderConstantI( + &mut self, StartRegister: ::UINT, pConstantData: *const ::INT, Vector4iCount: ::UINT + ) -> ::HRESULT, + fn GetPixelShaderConstantI( + &mut self, StartRegister: ::UINT, pConstantData: *mut ::INT, Vector4iCount: ::UINT + ) -> ::HRESULT, + fn SetPixelShaderConstantB( + &mut self, StartRegister: ::UINT, pConstantData: *const ::BOOL, BoolCount: ::UINT + ) -> ::HRESULT, + fn GetPixelShaderConstantB( + &mut self, StartRegister: ::UINT, pConstantData: *mut ::BOOL, BoolCount: ::UINT + ) -> ::HRESULT, + fn DrawRectPatch( + &mut self, Handle: ::UINT, pNumSegs: *const ::FLOAT, + pRectPatchInfo: *const ::D3DRECTPATCH_INFO + ) -> ::HRESULT, + fn DrawTriPatch( + &mut self, Handle: ::UINT, pNumSegs: *const ::FLOAT, + pTriPatchInfo: *const ::D3DTRIPATCH_INFO + ) -> ::HRESULT, + fn DeletePatch(&mut self, Handle: ::UINT) -> ::HRESULT, + fn CreateQuery( + &mut self, Type: ::D3DQUERYTYPE, ppQuery: *mut *mut IDirect3DQuery9 + ) -> ::HRESULT +} +); +pub type LPDIRECT3DDEVICE9 = *mut IDirect3DDevice9; +pub type PDIRECT3DDEVICE9 = *mut IDirect3DDevice9; +RIDL!( +interface IDirect3DStateBlock9(IDirect3DStateBlock9Vtbl): IUnknown(IUnknownVtbl) { + fn GetDevice(&mut self, ppDevice: *mut *mut IDirect3DDevice9) -> ::HRESULT, + fn Capture(&mut self) -> ::HRESULT, + fn Apply(&mut self) -> ::HRESULT +} +); +pub type LPDIRECT3DSTATEBLOCK9 = *mut IDirect3DStateBlock9; +pub type PDIRECT3DSTATEBLOCK9 = *mut IDirect3DStateBlock9; +RIDL!( +interface IDirect3DSwapChain9(IDirect3DSwapChain9Vtbl): IUnknown(IUnknownVtbl) { + fn Present( + &mut self, pSourceRect: *const ::RECT, pDestRect: *const ::RECT, + hDestWindowOverride: ::HWND, pDirtyRegion: *const ::RGNDATA, dwFlags: ::DWORD + ) -> ::HRESULT, + fn GetFrontBufferData(&mut self, pDestSurface: *mut IDirect3DSurface9) -> ::HRESULT, + fn GetBackBuffer( + &mut self, iBackBuffer: ::UINT, Type: ::D3DBACKBUFFER_TYPE, + ppBackBuffer: *mut *mut IDirect3DSurface9 + ) -> ::HRESULT, + fn GetRasterStatus(&mut self, pRasterStatus: *mut ::D3DRASTER_STATUS) -> ::HRESULT, + fn GetDisplayMode(&mut self, pMode: *mut ::D3DDISPLAYMODE) -> ::HRESULT, + fn GetDevice(&mut self, ppDevice: *mut *mut IDirect3DDevice9) -> ::HRESULT, + fn GetPresentParameters( + &mut self, pPresentationParameters: *mut ::D3DPRESENT_PARAMETERS + ) -> ::HRESULT +} +); +pub type LPDIRECT3DSWAPCHAIN9 = *mut IDirect3DSwapChain9; +pub type PDIRECT3DSWAPCHAIN9 = *mut IDirect3DSwapChain9; +RIDL!( +interface IDirect3DResource9(IDirect3DResource9Vtbl): IUnknown(IUnknownVtbl) { + fn GetDevice(&mut self, ppDevice: *mut *mut IDirect3DDevice9) -> ::HRESULT, + fn SetPrivateData( + &mut self, refguid: *const ::GUID, pData: *const ::VOID, SizeOfData: ::DWORD, + Flags: ::DWORD + ) -> ::HRESULT, + fn GetPrivateData( + &mut self, refguid: *const ::GUID, pData: *mut ::VOID, pSizeOfData: *mut ::DWORD + ) -> ::HRESULT, + fn FreePrivateData(&mut self, refguid: *const ::GUID) -> ::HRESULT, + fn SetPriority(&mut self, PriorityNew: ::DWORD) -> ::DWORD, + fn GetPriority(&mut self) -> ::DWORD, + fn PreLoad(&mut self) -> (), + fn GetType(&mut self) -> ::D3DRESOURCETYPE +} +); +pub type LPDIRECT3DRESOURCE9 = *mut IDirect3DResource9; +pub type PDIRECT3DRESOURCE9 = *mut IDirect3DResource9; +RIDL!( +interface IDirect3DVertexDeclaration9(IDirect3DVertexDeclaration9Vtbl): IUnknown(IUnknownVtbl) { + fn GetDevice(&mut self, ppDevice: *mut *mut IDirect3DDevice9) -> ::HRESULT, + fn GetDeclaration( + &mut self, pElement: *mut ::D3DVERTEXELEMENT9, pNumElements: *mut ::UINT + ) -> ::HRESULT +} +); +pub type LPDIRECT3DVERTEXDECLARATION9 = *mut IDirect3DVertexDeclaration9; +pub type PDIRECT3DVERTEXDECLARATION9 = *mut IDirect3DVertexDeclaration9; +RIDL!( +interface IDirect3DVertexShader9(IDirect3DVertexShader9Vtbl): IUnknown(IUnknownVtbl) { + fn GetDevice(&mut self, ppDevice: *mut *mut IDirect3DDevice9) -> ::HRESULT, + fn GetFunction(&mut self, arg1: *mut ::VOID, pSizeOfData: *mut ::UINT) -> ::HRESULT +} +); +pub type LPDIRECT3DVERTEXSHADER9 = *mut IDirect3DVertexShader9; +pub type PDIRECT3DVERTEXSHADER9 = *mut IDirect3DVertexShader9; +RIDL!( +interface IDirect3DPixelShader9(IDirect3DPixelShader9Vtbl): IUnknown(IUnknownVtbl) { + fn GetDevice(&mut self, ppDevice: *mut *mut IDirect3DDevice9) -> ::HRESULT, + fn GetFunction(&mut self, arg1: *mut ::VOID, pSizeOfData: *mut ::UINT) -> ::HRESULT +} +); +pub type LPDIRECT3DPIXELSHADER9 = *mut IDirect3DPixelShader9; +pub type PDIRECT3DPIXELSHADER9 = *mut IDirect3DPixelShader9; +RIDL!( +interface IDirect3DBaseTexture9(IDirect3DBaseTexture9Vtbl): IDirect3DResource9(IDirect3DResource9Vtbl) { + fn SetLOD(&mut self, LODNew: ::DWORD) -> ::DWORD, + fn GetLOD(&mut self) -> ::DWORD, + fn GetLevelCount(&mut self) -> ::DWORD, + fn SetAutoGenFilterType(&mut self, FilterType: ::D3DTEXTUREFILTERTYPE) -> ::HRESULT, + fn GetAutoGenFilterType(&mut self) -> ::D3DTEXTUREFILTERTYPE, + fn GenerateMipSubLevels(&mut self) -> () +} +); +pub type LPDIRECT3DBASETEXTURE9 = *mut IDirect3DBaseTexture9; +pub type PDIRECT3DBASETEXTURE9 = *mut IDirect3DBaseTexture9; +RIDL!( +interface IDirect3DTexture9(IDirect3DTexture9Vtbl): IDirect3DBaseTexture9(IDirect3DBaseTexture9Vtbl) { + fn GetLevelDesc(&mut self, Level: ::UINT, pDesc: *mut ::D3DSURFACE_DESC) -> ::HRESULT, + fn GetSurfaceLevel( + &mut self, Level: ::UINT, ppSurfaceLevel: *mut *mut IDirect3DSurface9 + ) -> ::HRESULT, + fn LockRect( + &mut self, Level: ::UINT, pLockedRect: *mut ::D3DLOCKED_RECT, pRect: *const ::RECT, + Flags: ::DWORD + ) -> ::HRESULT, + fn UnlockRect(&mut self, Level: ::UINT) -> ::HRESULT, + fn AddDirtyRect(&mut self, pDirtyRect: *const ::RECT) -> ::HRESULT +} +); +pub type LPDIRECT3DTEXTURE9 = *mut IDirect3DTexture9; +pub type PDIRECT3DTEXTURE9 = *mut IDirect3DTexture9; +RIDL!( +interface IDirect3DVolumeTexture9(IDirect3DVolumeTexture9Vtbl): IDirect3DBaseTexture9(IDirect3DBaseTexture9Vtbl) { + fn GetLevelDesc(&mut self, Level: ::UINT, pDesc: *mut ::D3DVOLUME_DESC) -> ::HRESULT, + fn GetVolumeLevel( + &mut self, Level: ::UINT, ppVolumeLevel: *mut *mut IDirect3DVolume9 + ) -> ::HRESULT, + fn LockBox( + &mut self, Level: ::UINT, pLockedVolume: *mut ::D3DLOCKED_BOX, pBox: *const ::D3DBOX, + Flags: ::DWORD + ) -> ::HRESULT, + fn UnlockBox(&mut self, Level: ::UINT) -> ::HRESULT, + fn AddDirtyBox(&mut self, pDirtyBox: *const ::D3DBOX) -> ::HRESULT +} +); +pub type LPDIRECT3DVOLUMETEXTURE9 = *mut IDirect3DVolumeTexture9; +pub type PDIRECT3DVOLUMETEXTURE9 = *mut IDirect3DVolumeTexture9; +RIDL!( +interface IDirect3DCubeTexture9(IDirect3DCubeTexture9Vtbl): IDirect3DBaseTexture9(IDirect3DBaseTexture9Vtbl) { + fn GetLevelDesc(&mut self, Level: ::UINT, pDesc: *mut ::D3DSURFACE_DESC) -> ::HRESULT, + fn GetCubeMapSurface( + &mut self, FaceType: ::D3DCUBEMAP_FACES, Level: ::UINT, + ppCubeMapSurface: *mut *mut IDirect3DSurface9 + ) -> ::HRESULT, + fn LockRect( + &mut self, FaceType: ::D3DCUBEMAP_FACES, Level: ::UINT, pLockedRect: *mut ::D3DLOCKED_RECT, + pRect: *const ::RECT, Flags: ::DWORD + ) -> ::HRESULT, + fn UnlockRect(&mut self, FaceType: ::D3DCUBEMAP_FACES, Level: ::UINT) -> ::HRESULT, + fn AddDirtyRect( + &mut self, FaceType: ::D3DCUBEMAP_FACES, pDirtyRect: *const ::RECT + ) -> ::HRESULT +} +); +pub type LPDIRECT3DCUBETEXTURE9 = *mut IDirect3DCubeTexture9; +pub type PDIRECT3DCUBETEXTURE9 = *mut IDirect3DCubeTexture9; +RIDL!( +interface IDirect3DVertexBuffer9(IDirect3DVertexBuffer9Vtbl): IDirect3DResource9(IDirect3DResource9Vtbl) { + fn Lock( + &mut self, OffsetToLock: ::UINT, SizeToLock: ::UINT, ppbData: *mut *mut ::VOID, + Flags: ::DWORD + ) -> ::HRESULT, + fn Unlock(&mut self) -> ::HRESULT, + fn GetDesc(&mut self, pDesc: *mut ::D3DVERTEXBUFFER_DESC) -> ::HRESULT +} +); +pub type LPDIRECT3DVERTEXBUFFER9 = *mut IDirect3DVertexBuffer9; +pub type PDIRECT3DVERTEXBUFFER9 = *mut IDirect3DVertexBuffer9; +RIDL!( +interface IDirect3DIndexBuffer9(IDirect3DIndexBuffer9Vtbl): IDirect3DResource9(IDirect3DResource9Vtbl) { + fn Lock( + &mut self, OffsetToLock: ::UINT, SizeToLock: ::UINT, ppbData: *mut *mut ::VOID, + Flags: ::DWORD + ) -> ::HRESULT, + fn Unlock(&mut self) -> ::HRESULT, + fn GetDesc(&mut self, pDesc: *mut ::D3DINDEXBUFFER_DESC) -> ::HRESULT +} +); +pub type LPDIRECT3DINDEXBUFFER9 = *mut IDirect3DIndexBuffer9; +pub type PDIRECT3DINDEXBUFFER9 = *mut IDirect3DIndexBuffer9; +RIDL!( +interface IDirect3DSurface9(IDirect3DSurface9Vtbl): IDirect3DResource9(IDirect3DResource9Vtbl) { + fn GetContainer(&mut self, riid: *const ::IID, ppContainer: *mut *mut ::VOID) -> ::HRESULT, + fn GetDesc(&mut self, pDesc: *mut ::D3DSURFACE_DESC) -> ::HRESULT, + fn LockRect( + &mut self, pLockedRect: *mut ::D3DLOCKED_RECT, pRect: *const ::RECT, Flags: ::DWORD + ) -> ::HRESULT, + fn UnlockRect(&mut self) -> ::HRESULT, + fn GetDC(&mut self, phdc: *mut ::HDC) -> ::HRESULT, + fn ReleaseDC(&mut self, hdc: ::HDC) -> ::HRESULT +} +); +pub type LPDIRECT3DSURFACE9 = *mut IDirect3DSurface9; +pub type PDIRECT3DSURFACE9 = *mut IDirect3DSurface9; +RIDL!( +interface IDirect3DVolume9(IDirect3DVolume9Vtbl): IUnknown(IUnknownVtbl) { + fn GetDevice(&mut self, ppDevice: *mut *mut IDirect3DDevice9) -> ::HRESULT, + fn SetPrivateData( + &mut self, refguid: *const ::GUID, pData: *const ::VOID, SizeOfData: ::DWORD, + Flags: ::DWORD + ) -> ::HRESULT, + fn GetPrivateData( + &mut self, refguid: *const ::GUID, pData: *mut ::VOID, pSizeOfData: *mut ::DWORD + ) -> ::HRESULT, + fn FreePrivateData(&mut self, refguid: *const ::GUID) -> ::HRESULT, + fn GetContainer(&mut self, riid: *const ::IID, ppContainer: *mut *mut ::VOID) -> ::HRESULT, + fn GetDesc(&mut self, pDesc: *mut ::D3DVOLUME_DESC) -> ::HRESULT, + fn LockBox( + &mut self, pLockedVolume: *mut ::D3DLOCKED_BOX, pBox: *const ::D3DBOX, Flags: ::DWORD + ) -> ::HRESULT, + fn UnlockBox(&mut self) -> ::HRESULT +} +); +pub type LPDIRECT3DVOLUME9 = *mut IDirect3DVolume9; +pub type PDIRECT3DVOLUME9 = *mut IDirect3DVolume9; +RIDL!( +interface IDirect3DQuery9(IDirect3DQuery9Vtbl): IUnknown(IUnknownVtbl) { + fn GetDevice(&mut self, ppDevice: *mut *mut IDirect3DDevice9) -> ::HRESULT, + fn GetType(&mut self) -> ::D3DRESOURCETYPE, + fn GetDataSize(&mut self) -> ::DWORD, + fn Issue(&mut self, dwIssueFlags: ::DWORD) -> ::HRESULT, + fn GetData( + &mut self, pData: *mut ::VOID, dwSize: ::DWORD, dwGetDataFlags: ::DWORD + ) -> ::HRESULT +} +); +pub type LPDIRECT3DQUERY9 = *mut IDirect3DQuery9; +pub type PDIRECT3DQUERY9 = *mut IDirect3DQuery9; +pub const D3DCREATE_FPU_PRESERVE: ::DWORD = 0x2; +pub const D3DCREATE_MULTITHREADED: ::DWORD = 0x4; +pub const D3DCREATE_PUREDEVICE: ::DWORD = 0x10; +pub const D3DCREATE_SOFTWARE_VERTEXPROCESSING: ::DWORD = 0x20; +pub const D3DCREATE_HARDWARE_VERTEXPROCESSING: ::DWORD = 0x40; +pub const D3DCREATE_MIXED_VERTEXPROCESSING: ::DWORD = 0x80; +pub const D3DCREATE_DISABLE_DRIVER_MANAGEMENT: ::DWORD = 0x100; +pub const D3DCREATE_ADAPTERGROUP_DEVICE: ::DWORD = 0x200; +pub const D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX: ::DWORD = 0x400; +pub const D3DCREATE_NOWINDOWCHANGES: ::DWORD = 0x800; +pub const D3DCREATE_DISABLE_PSGP_THREADING: ::DWORD = 0x2000; +pub const D3DCREATE_ENABLE_PRESENTSTATS: ::DWORD = 0x4000; +pub const D3DCREATE_DISABLE_PRESENTSTATS: ::DWORD = 0x8000; +pub const D3DCREATE_SCREENSAVER: ::DWORD = 0x10000000; +pub const D3DADAPTER_DEFAULT: ::DWORD = 0; +RIDL!( +interface IDirect3D9Ex(IDirect3D9ExVtbl): IDirect3D9(IDirect3D9Vtbl) { + fn GetAdapterModeCountEx( + &mut self, Adapter: ::UINT, pFilter: *const ::D3DDISPLAYMODEFILTER + ) -> ::UINT, + fn EnumAdapterModesEx( + &mut self, Adapter: ::UINT, pFilter: *const ::D3DDISPLAYMODEFILTER, Mode: ::UINT, + pMode: *mut ::D3DDISPLAYMODEEX + ) -> ::HRESULT, + fn GetAdapterDisplayModeEx( + &mut self, Adapter: ::UINT, pMode: *mut ::D3DDISPLAYMODEEX, + pRotation: *mut ::D3DDISPLAYROTATION + ) -> ::HRESULT, + fn CreateDeviceEx( + &mut self, Adapter: ::UINT, DeviceType: ::D3DDEVTYPE, hFocusWindow: ::HWND, + BehaviorFlags: ::DWORD, pPresentationParameters: *mut ::D3DPRESENT_PARAMETERS, + pFullscreenDisplayMode: *mut ::D3DDISPLAYMODEEX, + ppReturnedDeviceInterface: *mut *mut IDirect3DDevice9Ex + ) -> ::HRESULT, + fn GetAdapterLUID(&mut self, Adapter: ::UINT, pLUID: *mut ::LUID) -> ::HRESULT +} +); +pub type LPDIRECT3D9EX = *mut IDirect3D9Ex; +pub type PDIRECT3D9EX = *mut IDirect3D9Ex; +RIDL!( +interface IDirect3DDevice9Ex(IDirect3DDevice9ExVtbl): IDirect3DDevice9(IDirect3DDevice9Vtbl) { + fn SetConvolutionMonoKernel( + &mut self, width: ::UINT, height: ::UINT, rows: *mut ::FLOAT, columns: *mut ::FLOAT + ) -> ::HRESULT, + fn ComposeRects( + &mut self, pSrc: *mut IDirect3DSurface9, pDst: *mut IDirect3DSurface9, + pSrcRectDescs: *mut IDirect3DVertexBuffer9, NumRects: ::UINT, + pDstRectDescs: *mut IDirect3DVertexBuffer9, Operation: ::D3DCOMPOSERECTSOP, Xoffset: ::INT, + Yoffset: ::INT + ) -> ::HRESULT, + fn PresentEx( + &mut self, pSourceRect: *const ::RECT, pDestRect: *const ::RECT, + hDestWindowOverride: ::HWND, pDirtyRegion: *const ::RGNDATA, dwFlags: ::DWORD + ) -> ::HRESULT, + fn GetGPUThreadPriority(&mut self, pPriority: *mut ::INT) -> ::HRESULT, + fn SetGPUThreadPriority(&mut self, Priority: ::INT) -> ::HRESULT, + fn WaitForVBlank(&mut self, iSwapChain: ::UINT) -> ::HRESULT, + fn CheckResourceResidency( + &mut self, pResourceArray: *mut *mut IDirect3DResource9, NumResources: ::UINT32 + ) -> ::HRESULT, + fn SetMaximumFrameLatency(&mut self, MaxLatency: ::UINT) -> ::HRESULT, + fn GetMaximumFrameLatency(&mut self, pMaxLatency: *mut ::UINT) -> ::HRESULT, + fn CheckDeviceState(&mut self, hDestinationWindow: ::HWND) -> ::HRESULT, + fn CreateRenderTargetEx( + &mut self, Width: ::UINT, Height: ::UINT, Format: ::D3DFORMAT, + MultiSample: ::D3DMULTISAMPLE_TYPE, MultisampleQuality: ::DWORD, Lockable: ::BOOL, + ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut ::HANDLE, Usage: ::DWORD + ) -> ::HRESULT, + fn CreateOffscreenPlainSurfaceEx( + &mut self, Width: ::UINT, Height: ::UINT, Format: ::D3DFORMAT, Pool: ::D3DPOOL, + ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut ::HANDLE, Usage: ::DWORD + ) -> ::HRESULT, + fn CreateDepthStencilSurfaceEx( + &mut self, Width: ::UINT, Height: ::UINT, Format: ::D3DFORMAT, + MultiSample: ::D3DMULTISAMPLE_TYPE, MultisampleQuality: ::DWORD, Discard: ::BOOL, + ppSurface: *mut *mut IDirect3DSurface9, pSharedHandle: *mut ::HANDLE, Usage: ::DWORD + ) -> ::HRESULT, + fn ResetEx( + &mut self, pPresentationParameters: *mut ::D3DPRESENT_PARAMETERS, + pFullscreenDisplayMode: *mut ::D3DDISPLAYMODEEX + ) -> ::HRESULT, + fn GetDisplayModeEx( + &mut self, iSwapChain: ::UINT, pMode: *mut ::D3DDISPLAYMODEEX, + pRotation: *mut ::D3DDISPLAYROTATION + ) -> ::HRESULT +} +); +pub type LPDIRECT3DDEVICE9EX = *mut IDirect3DDevice9Ex; +pub type PDIRECT3DDEVICE9EX = *mut IDirect3DDevice9Ex; +RIDL!( +interface IDirect3DSwapChain9Ex(IDirect3DSwapChain9ExVtbl): IDirect3DSwapChain9(IDirect3DSwapChain9Vtbl) { + fn GetLastPresentCount(&mut self, pLastPresentCount: *mut ::UINT) -> ::HRESULT, + fn GetPresentStats(&mut self, pPresentationStatistics: *mut ::D3DPRESENTSTATS) -> ::HRESULT, + fn GetDisplayModeEx( + &mut self, pMode: *mut ::D3DDISPLAYMODEEX, pRotation: *mut ::D3DDISPLAYROTATION + ) -> ::HRESULT +} +); +pub type LPDIRECT3DSWAPCHAIN9EX = *mut IDirect3DSwapChain9Ex; +pub type PDIRECT3DSWAPCHAIN9EX = *mut IDirect3DSwapChain9Ex; +RIDL!( +interface IDirect3D9ExOverlayExtension(IDirect3D9ExOverlayExtensionVtbl): IUnknown(IUnknownVtbl) { + fn CheckDeviceOverlayType( + &mut self, Adapter: ::UINT, DevType: ::D3DDEVTYPE, OverlayWidth: ::UINT, + OverlayHeight: ::UINT, OverlayFormat: ::D3DFORMAT, pDisplayMode: *mut ::D3DDISPLAYMODEEX, + DisplayRotation: ::D3DDISPLAYROTATION, pOverlayCaps: *mut ::D3DOVERLAYCAPS + ) -> ::HRESULT +} +); +pub type LPDIRECT3D9EXOVERLAYEXTENSION = *mut IDirect3D9ExOverlayExtension; +pub type PDIRECT3D9EXOVERLAYEXTENSION = *mut IDirect3D9ExOverlayExtension; +RIDL!( +interface IDirect3DDevice9Video(IDirect3DDevice9VideoVtbl): IUnknown(IUnknownVtbl) { + fn GetContentProtectionCaps( + &mut self, pCryptoType: *const ::GUID, pDecodeProfile: *const ::GUID, + pCaps: *mut ::D3DCONTENTPROTECTIONCAPS + ) -> ::HRESULT, + fn CreateAuthenticatedChannel( + &mut self, ChannelType: ::D3DAUTHENTICATEDCHANNELTYPE, + ppAuthenticatedChannel: *mut *mut IDirect3DAuthenticatedChannel9, + pChannelHandle: *mut ::HANDLE + ) -> ::HRESULT, + fn CreateCryptoSession( + &mut self, pCryptoType: *const ::GUID, pDecodeProfile: *const ::GUID, + ppCryptoSession: *mut *mut IDirect3DCryptoSession9, pCryptoHandle: *mut ::HANDLE + ) -> ::HRESULT +} +); +pub type LPDIRECT3DDEVICE9VIDEO = *mut IDirect3DDevice9Video; +pub type PDIRECT3DDEVICE9VIDEO = *mut IDirect3DDevice9Video; +RIDL!( +interface IDirect3DAuthenticatedChannel9(IDirect3DAuthenticatedChannel9Vtbl): IUnknown(IUnknownVtbl) { + fn GetCertificateSize(&mut self, pCertificateSize: *mut ::UINT) -> ::HRESULT, + fn GetCertificate(&mut self, CertifacteSize: ::UINT, ppCertificate: *mut ::BYTE) -> ::HRESULT, + fn NegotiateKeyExchange(&mut self, DataSize: ::UINT, pData: *mut ::VOID) -> ::HRESULT, + fn Query( + &mut self, InputSize: ::UINT, pInput: *const ::VOID, OutputSize: ::UINT, + pOutput: *mut ::VOID + ) -> ::HRESULT, + fn Configure( + &mut self, InputSize: ::UINT, pInput: *const ::VOID, + pOutput: *mut ::D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT + ) -> ::HRESULT +} +); +pub type LPDIRECT3DAUTHENTICATEDCHANNEL9 = *mut IDirect3DAuthenticatedChannel9; +pub type PDIRECT3DAUTHENTICATEDCHANNEL9 = *mut IDirect3DAuthenticatedChannel9; +RIDL!( +interface IDirect3DCryptoSession9(IDirect3DCryptoSession9Vtbl): IUnknown(IUnknownVtbl) { + fn GetCertificateSize(&mut self, pCertificateSize: *mut ::UINT) -> ::HRESULT, + fn GetCertificate(&mut self, CertifacteSize: ::UINT, ppCertificate: *mut ::BYTE) -> ::HRESULT, + fn NegotiateKeyExchange(&mut self, DataSize: ::UINT, pData: *mut ::VOID) -> ::HRESULT, + fn EncryptionBlt( + &mut self, pSrcSurface: *mut IDirect3DSurface9, pDstSurface: *mut IDirect3DSurface9, + DstSurfaceSize: ::UINT, pIV: *mut ::VOID + ) -> ::HRESULT, + fn DecryptionBlt( + &mut self, pSrcSurface: *mut IDirect3DSurface9, pDstSurface: *mut IDirect3DSurface9, + SrcSurfaceSize: ::UINT, pEncryptedBlockInfo: *mut ::D3DENCRYPTED_BLOCK_INFO, + pContentKey: *mut ::VOID, pIV: *mut ::VOID + ) -> ::HRESULT, + fn GetSurfacePitch( + &mut self, pSrcSurface: *mut IDirect3DSurface9, pSurfacePitch: *mut ::UINT + ) -> ::HRESULT, + fn StartSessionKeyRefresh( + &mut self, pRandomNumber: *mut ::VOID, RandomNumberSize: ::UINT + ) -> ::HRESULT, + fn FinishSessionKeyRefresh(&mut self) -> ::HRESULT, + fn GetEncryptionBltKey(&mut self, pReadbackKey: *mut ::VOID, KeySize: ::UINT) -> ::HRESULT +} +); +pub type LPDIRECT3DCRYPTOSESSION9 = *mut IDirect3DCryptoSession9; +pub type PDIRECT3DCRYPTOSESSION9 = *mut IDirect3DCryptoSession9; diff --git a/third_party/rust/winapi-0.2.8/src/d3d9caps.rs b/third_party/rust/winapi-0.2.8/src/d3d9caps.rs new file mode 100644 index 0000000000..74c877d7b6 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d3d9caps.rs @@ -0,0 +1,349 @@ +// Copyright © 2015, Corey Richardson +// Licensed under the MIT License <LICENSE.md> +//! Direct3D capabilities include file +STRUCT!{struct D3DVSHADERCAPS2_0 { + Caps: ::DWORD, + DynamicFlowControlDepth: ::INT, + NumTemps: ::INT, + StaticFlowControlDepth: ::INT, +}} +pub const D3DVS20CAPS_PREDICATION: ::DWORD = 1 << 0; +pub const D3DVS20_MAX_DYNAMICFLOWCONTROLDEPTH: ::DWORD = 24; +pub const D3DVS20_MIN_DYNAMICFLOWCONTROLDEPTH: ::DWORD = 0; +pub const D3DVS20_MAX_NUMTEMPS: ::DWORD = 32; +pub const D3DVS20_MIN_NUMTEMPS: ::DWORD = 12; +pub const D3DVS20_MAX_STATICFLOWCONTROLDEPTH: ::DWORD = 4; +pub const D3DVS20_MIN_STATICFLOWCONTROLDEPTH: ::DWORD = 1; +STRUCT!{struct D3DPSHADERCAPS2_0 { + Caps: ::DWORD, + DynamicFlowControlDepth: ::INT, + NumTemps: ::INT, + StaticFlowControlDepth: ::INT, + NumInstructionSlots: ::INT, +}} +pub const D3DPS20CAPS_ARBITRARYSWIZZLE: ::DWORD = 1 << 0; +pub const D3DPS20CAPS_GRADIENTINSTRUCTIONS: ::DWORD = 1 << 1; +pub const D3DPS20CAPS_PREDICATION: ::DWORD = 1 << 2; +pub const D3DPS20CAPS_NODEPENDENTREADLIMIT: ::DWORD = 1 << 3; +pub const D3DPS20CAPS_NOTEXINSTRUCTIONLIMIT: ::DWORD = 1 << 4; +pub const D3DPS20_MAX_DYNAMICFLOWCONTROLDEPTH: ::DWORD = 24; +pub const D3DPS20_MIN_DYNAMICFLOWCONTROLDEPTH: ::DWORD = 0; +pub const D3DPS20_MAX_NUMTEMPS: ::DWORD = 32; +pub const D3DPS20_MIN_NUMTEMPS: ::DWORD = 12; +pub const D3DPS20_MAX_STATICFLOWCONTROLDEPTH: ::DWORD = 4; +pub const D3DPS20_MIN_STATICFLOWCONTROLDEPTH: ::DWORD = 0; +pub const D3DPS20_MAX_NUMINSTRUCTIONSLOTS: ::DWORD = 512; +pub const D3DPS20_MIN_NUMINSTRUCTIONSLOTS: ::DWORD = 96; +pub const D3DMIN30SHADERINSTRUCTIONS: ::DWORD = 512; +pub const D3DMAX30SHADERINSTRUCTIONS: ::DWORD = 32768; +STRUCT!{struct D3DOVERLAYCAPS { + Caps: ::UINT, + MaxOverlayDisplayWidth: ::UINT, + MaxOverlayDisplayHeight: ::UINT, +}} +pub const D3DOVERLAYCAPS_FULLRANGERGB: ::DWORD = 0x00000001; +pub const D3DOVERLAYCAPS_LIMITEDRANGERGB: ::DWORD = 0x00000002; +pub const D3DOVERLAYCAPS_YCbCr_BT601: ::DWORD = 0x00000004; +pub const D3DOVERLAYCAPS_YCbCr_BT709: ::DWORD = 0x00000008; +pub const D3DOVERLAYCAPS_YCbCr_BT601_xvYCC: ::DWORD = 0x00000010; +pub const D3DOVERLAYCAPS_YCbCr_BT709_xvYCC: ::DWORD = 0x00000020; +pub const D3DOVERLAYCAPS_STRETCHX: ::DWORD = 0x00000040; +pub const D3DOVERLAYCAPS_STRETCHY: ::DWORD = 0x00000080; +STRUCT!{struct D3DCONTENTPROTECTIONCAPS { + Caps: ::DWORD, + KeyExchangeType: ::GUID, + BufferAlignmentStart: ::UINT, + BlockAlignmentSize: ::UINT, + ProtectedMemorySize: ::ULONGLONG, +}} +pub const D3DCPCAPS_SOFTWARE: ::DWORD = 0x00000001; +pub const D3DCPCAPS_HARDWARE: ::DWORD = 0x00000002; +pub const D3DCPCAPS_PROTECTIONALWAYSON: ::DWORD = 0x00000004; +pub const D3DCPCAPS_PARTIALDECRYPTION: ::DWORD = 0x00000008; +pub const D3DCPCAPS_CONTENTKEY: ::DWORD = 0x00000010; +pub const D3DCPCAPS_FRESHENSESSIONKEY: ::DWORD = 0x00000020; +pub const D3DCPCAPS_ENCRYPTEDREADBACK: ::DWORD = 0x00000040; +pub const D3DCPCAPS_ENCRYPTEDREADBACKKEY: ::DWORD = 0x00000080; +pub const D3DCPCAPS_SEQUENTIAL_CTR_IV: ::DWORD = 0x00000100; +pub const D3DCPCAPS_ENCRYPTSLICEDATAONLY: ::DWORD = 0x00000200; +STRUCT!{struct D3DCAPS9 { + DeviceType: ::D3DDEVTYPE, + AdapterOrdinal: ::UINT, + Caps: ::DWORD, + Caps2: ::DWORD, + Caps3: ::DWORD, + PresentationIntervals: ::DWORD, + CursorCaps: ::DWORD, + DevCaps: ::DWORD, + PrimitiveMiscCaps: ::DWORD, + RasterCaps: ::DWORD, + ZCmpCaps: ::DWORD, + SrcBlendCaps: ::DWORD, + DestBlendCaps: ::DWORD, + AlphaCmpCaps: ::DWORD, + ShadeCaps: ::DWORD, + TextureCaps: ::DWORD, + TextureFilterCaps: ::DWORD, + CubeTextureFilterCaps: ::DWORD, + VolumeTextureFilterCaps: ::DWORD, + TextureAddressCaps: ::DWORD, + VolumeTextureAddressCaps: ::DWORD, + LineCaps: ::DWORD, + MaxTextureWidth: ::DWORD, + MaxTextureHeight: ::DWORD, + MaxVolumeExtent: ::DWORD, + MaxTextureRepeat: ::DWORD, + MaxTextureAspectRatio: ::DWORD, + MaxAnisotropy: ::DWORD, + MaxVertexW: ::c_float, + GuardBandLeft: ::c_float, + GuardBandTop: ::c_float, + GuardBandRight: ::c_float, + GuardBandBottom: ::c_float, + ExtentsAdjust: ::c_float, + StencilCaps: ::DWORD, + FVFCaps: ::DWORD, + TextureOpCaps: ::DWORD, + MaxTextureBlendStages: ::DWORD, + MaxSimultaneousTextures: ::DWORD, + VertexProcessingCaps: ::DWORD, + MaxActiveLights: ::DWORD, + MaxUserClipPlanes: ::DWORD, + MaxVertexBlendMatrices: ::DWORD, + MaxVertexBlendMatrixIndex: ::DWORD, + MaxPointSize: ::c_float, + MaxPrimitiveCount: ::DWORD, + MaxVertexIndex: ::DWORD, + MaxStreams: ::DWORD, + MaxStreamStride: ::DWORD, + VertexShaderVersion: ::DWORD, + MaxVertexShaderConst: ::DWORD, + PixelShaderVersion: ::DWORD, + PixelShader1xMaxValue: ::c_float, + DevCaps2: ::DWORD, + MaxNpatchTessellationLevel: ::c_float, + Reserved5: ::DWORD, + MasterAdapterOrdinal: ::UINT, + AdapterOrdinalInGroup: ::UINT, + NumberOfAdaptersInGroup: ::UINT, + DeclTypes: ::DWORD, + NumSimultaneousRTs: ::DWORD, + StretchRectFilterCaps: ::DWORD, + VS20Caps: ::D3DVSHADERCAPS2_0, + PS20Caps: ::D3DPSHADERCAPS2_0, + VertexTextureFilterCaps: ::DWORD, + MaxVShaderInstructionsExecuted: ::DWORD, + MaxPShaderInstructionsExecuted: ::DWORD, + MaxVertexShader30InstructionSlots: ::DWORD, + MaxPixelShader30InstructionSlots: ::DWORD, +}} +pub const D3DCAPS_OVERLAY: ::DWORD = 0x00000800; +pub const D3DCAPS_READ_SCANLINE: ::DWORD = 0x00020000; +pub const D3DCAPS2_FULLSCREENGAMMA: ::DWORD = 0x00020000; +pub const D3DCAPS2_CANCALIBRATEGAMMA: ::DWORD = 0x00100000; +pub const D3DCAPS2_RESERVED: ::DWORD = 0x02000000; +pub const D3DCAPS2_CANMANAGERESOURCE: ::DWORD = 0x10000000; +pub const D3DCAPS2_DYNAMICTEXTURES: ::DWORD = 0x20000000; +pub const D3DCAPS2_CANAUTOGENMIPMAP: ::DWORD = 0x40000000; +pub const D3DCAPS2_CANSHARERESOURCE: ::DWORD = 0x80000000; +pub const D3DCAPS3_RESERVED: ::DWORD = 0x8000001f; +pub const D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD: ::DWORD = 0x00000020; +pub const D3DCAPS3_LINEAR_TO_SRGB_PRESENTATION: ::DWORD = 0x00000080; +pub const D3DCAPS3_COPY_TO_VIDMEM: ::DWORD = 0x00000100; +pub const D3DCAPS3_COPY_TO_SYSTEMMEM: ::DWORD = 0x00000200; +pub const D3DCAPS3_DXVAHD: ::DWORD = 0x00000400; +pub const D3DCAPS3_DXVAHD_LIMITED: ::DWORD = 0x00000800; +pub const D3DPRESENT_INTERVAL_DEFAULT: ::DWORD = 0x00000000; +pub const D3DPRESENT_INTERVAL_ONE: ::DWORD = 0x00000001; +pub const D3DPRESENT_INTERVAL_TWO: ::DWORD = 0x00000002; +pub const D3DPRESENT_INTERVAL_THREE: ::DWORD = 0x00000004; +pub const D3DPRESENT_INTERVAL_FOUR: ::DWORD = 0x00000008; +pub const D3DPRESENT_INTERVAL_IMMEDIATE: ::DWORD = 0x80000000; +pub const D3DCURSORCAPS_COLOR: ::DWORD = 0x00000001; +pub const D3DCURSORCAPS_LOWRES: ::DWORD = 0x00000002; +pub const D3DDEVCAPS_EXECUTESYSTEMMEMORY: ::DWORD = 0x00000010; +pub const D3DDEVCAPS_EXECUTEVIDEOMEMORY: ::DWORD = 0x00000020; +pub const D3DDEVCAPS_TLVERTEXSYSTEMMEMORY: ::DWORD = 0x00000040; +pub const D3DDEVCAPS_TLVERTEXVIDEOMEMORY: ::DWORD = 0x00000080; +pub const D3DDEVCAPS_TEXTURESYSTEMMEMORY: ::DWORD = 0x00000100; +pub const D3DDEVCAPS_TEXTUREVIDEOMEMORY: ::DWORD = 0x00000200; +pub const D3DDEVCAPS_DRAWPRIMTLVERTEX: ::DWORD = 0x00000400; +pub const D3DDEVCAPS_CANRENDERAFTERFLIP: ::DWORD = 0x00000800; +pub const D3DDEVCAPS_TEXTURENONLOCALVIDMEM: ::DWORD = 0x00001000; +pub const D3DDEVCAPS_DRAWPRIMITIVES2: ::DWORD = 0x00002000; +pub const D3DDEVCAPS_SEPARATETEXTUREMEMORIES: ::DWORD = 0x00004000; +pub const D3DDEVCAPS_DRAWPRIMITIVES2EX: ::DWORD = 0x00008000; +pub const D3DDEVCAPS_HWTRANSFORMANDLIGHT: ::DWORD = 0x00010000; +pub const D3DDEVCAPS_CANBLTSYSTONONLOCAL: ::DWORD = 0x00020000; +pub const D3DDEVCAPS_HWRASTERIZATION: ::DWORD = 0x00080000; +pub const D3DDEVCAPS_PUREDEVICE: ::DWORD = 0x00100000; +pub const D3DDEVCAPS_QUINTICRTPATCHES: ::DWORD = 0x00200000; +pub const D3DDEVCAPS_RTPATCHES: ::DWORD = 0x00400000; +pub const D3DDEVCAPS_RTPATCHHANDLEZERO: ::DWORD = 0x00800000; +pub const D3DDEVCAPS_NPATCHES: ::DWORD = 0x01000000; +pub const D3DPMISCCAPS_MASKZ: ::DWORD = 0x00000002; +pub const D3DPMISCCAPS_CULLNONE: ::DWORD = 0x00000010; +pub const D3DPMISCCAPS_CULLCW: ::DWORD = 0x00000020; +pub const D3DPMISCCAPS_CULLCCW: ::DWORD = 0x00000040; +pub const D3DPMISCCAPS_COLORWRITEENABLE: ::DWORD = 0x00000080; +pub const D3DPMISCCAPS_CLIPPLANESCALEDPOINTS: ::DWORD = 0x00000100; +pub const D3DPMISCCAPS_CLIPTLVERTS: ::DWORD = 0x00000200; +pub const D3DPMISCCAPS_TSSARGTEMP: ::DWORD = 0x00000400; +pub const D3DPMISCCAPS_BLENDOP: ::DWORD = 0x00000800; +pub const D3DPMISCCAPS_NULLREFERENCE: ::DWORD = 0x00001000; +pub const D3DPMISCCAPS_INDEPENDENTWRITEMASKS: ::DWORD = 0x00004000; +pub const D3DPMISCCAPS_PERSTAGECONSTANT: ::DWORD = 0x00008000; +pub const D3DPMISCCAPS_FOGANDSPECULARALPHA: ::DWORD = 0x00010000; +pub const D3DPMISCCAPS_SEPARATEALPHABLEND: ::DWORD = 0x00020000; +pub const D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS: ::DWORD = 0x00040000; +pub const D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING: ::DWORD = 0x00080000; +pub const D3DPMISCCAPS_FOGVERTEXCLAMPED: ::DWORD = 0x00100000; +pub const D3DPMISCCAPS_POSTBLENDSRGBCONVERT: ::DWORD = 0x00200000; +pub const D3DLINECAPS_TEXTURE: ::DWORD = 0x00000001; +pub const D3DLINECAPS_ZTEST: ::DWORD = 0x00000002; +pub const D3DLINECAPS_BLEND: ::DWORD = 0x00000004; +pub const D3DLINECAPS_ALPHACMP: ::DWORD = 0x00000008; +pub const D3DLINECAPS_FOG: ::DWORD = 0x00000010; +pub const D3DLINECAPS_ANTIALIAS: ::DWORD = 0x00000020; +pub const D3DPRASTERCAPS_DITHER: ::DWORD = 0x00000001; +pub const D3DPRASTERCAPS_ZTEST: ::DWORD = 0x00000010; +pub const D3DPRASTERCAPS_FOGVERTEX: ::DWORD = 0x00000080; +pub const D3DPRASTERCAPS_FOGTABLE: ::DWORD = 0x00000100; +pub const D3DPRASTERCAPS_MIPMAPLODBIAS: ::DWORD = 0x00002000; +pub const D3DPRASTERCAPS_ZBUFFERLESSHSR: ::DWORD = 0x00008000; +pub const D3DPRASTERCAPS_FOGRANGE: ::DWORD = 0x00010000; +pub const D3DPRASTERCAPS_ANISOTROPY: ::DWORD = 0x00020000; +pub const D3DPRASTERCAPS_WBUFFER: ::DWORD = 0x00040000; +pub const D3DPRASTERCAPS_WFOG: ::DWORD = 0x00100000; +pub const D3DPRASTERCAPS_ZFOG: ::DWORD = 0x00200000; +pub const D3DPRASTERCAPS_COLORPERSPECTIVE: ::DWORD = 0x00400000; +pub const D3DPRASTERCAPS_SCISSORTEST: ::DWORD = 0x01000000; +pub const D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS: ::DWORD = 0x02000000; +pub const D3DPRASTERCAPS_DEPTHBIAS: ::DWORD = 0x04000000; +pub const D3DPRASTERCAPS_MULTISAMPLE_TOGGLE: ::DWORD = 0x08000000; +pub const D3DPCMPCAPS_NEVER: ::DWORD = 0x00000001; +pub const D3DPCMPCAPS_LESS: ::DWORD = 0x00000002; +pub const D3DPCMPCAPS_EQUAL: ::DWORD = 0x00000004; +pub const D3DPCMPCAPS_LESSEQUAL: ::DWORD = 0x00000008; +pub const D3DPCMPCAPS_GREATER: ::DWORD = 0x00000010; +pub const D3DPCMPCAPS_NOTEQUAL: ::DWORD = 0x00000020; +pub const D3DPCMPCAPS_GREATEREQUAL: ::DWORD = 0x00000040; +pub const D3DPCMPCAPS_ALWAYS: ::DWORD = 0x00000080; +pub const D3DPBLENDCAPS_ZERO: ::DWORD = 0x00000001; +pub const D3DPBLENDCAPS_ONE: ::DWORD = 0x00000002; +pub const D3DPBLENDCAPS_SRCCOLOR: ::DWORD = 0x00000004; +pub const D3DPBLENDCAPS_INVSRCCOLOR: ::DWORD = 0x00000008; +pub const D3DPBLENDCAPS_SRCALPHA: ::DWORD = 0x00000010; +pub const D3DPBLENDCAPS_INVSRCALPHA: ::DWORD = 0x00000020; +pub const D3DPBLENDCAPS_DESTALPHA: ::DWORD = 0x00000040; +pub const D3DPBLENDCAPS_INVDESTALPHA: ::DWORD = 0x00000080; +pub const D3DPBLENDCAPS_DESTCOLOR: ::DWORD = 0x00000100; +pub const D3DPBLENDCAPS_INVDESTCOLOR: ::DWORD = 0x00000200; +pub const D3DPBLENDCAPS_SRCALPHASAT: ::DWORD = 0x00000400; +pub const D3DPBLENDCAPS_BOTHSRCALPHA: ::DWORD = 0x00000800; +pub const D3DPBLENDCAPS_BOTHINVSRCALPHA: ::DWORD = 0x00001000; +pub const D3DPBLENDCAPS_BLENDFACTOR: ::DWORD = 0x00002000; +pub const D3DPBLENDCAPS_SRCCOLOR2: ::DWORD = 0x00004000; +pub const D3DPBLENDCAPS_INVSRCCOLOR2: ::DWORD = 0x00008000; +pub const D3DPSHADECAPS_COLORGOURAUDRGB: ::DWORD = 0x00000008; +pub const D3DPSHADECAPS_SPECULARGOURAUDRGB: ::DWORD = 0x00000200; +pub const D3DPSHADECAPS_ALPHAGOURAUDBLEND: ::DWORD = 0x00004000; +pub const D3DPSHADECAPS_FOGGOURAUD: ::DWORD = 0x00080000; +pub const D3DPTEXTURECAPS_PERSPECTIVE: ::DWORD = 0x00000001; +pub const D3DPTEXTURECAPS_POW2: ::DWORD = 0x00000002; +pub const D3DPTEXTURECAPS_ALPHA: ::DWORD = 0x00000004; +pub const D3DPTEXTURECAPS_SQUAREONLY: ::DWORD = 0x00000020; +pub const D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE: ::DWORD = 0x00000040; +pub const D3DPTEXTURECAPS_ALPHAPALETTE: ::DWORD = 0x00000080; +pub const D3DPTEXTURECAPS_NONPOW2CONDITIONAL: ::DWORD = 0x00000100; +pub const D3DPTEXTURECAPS_PROJECTED: ::DWORD = 0x00000400; +pub const D3DPTEXTURECAPS_CUBEMAP: ::DWORD = 0x00000800; +pub const D3DPTEXTURECAPS_VOLUMEMAP: ::DWORD = 0x00002000; +pub const D3DPTEXTURECAPS_MIPMAP: ::DWORD = 0x00004000; +pub const D3DPTEXTURECAPS_MIPVOLUMEMAP: ::DWORD = 0x00008000; +pub const D3DPTEXTURECAPS_MIPCUBEMAP: ::DWORD = 0x00010000; +pub const D3DPTEXTURECAPS_CUBEMAP_POW2: ::DWORD = 0x00020000; +pub const D3DPTEXTURECAPS_VOLUMEMAP_POW2: ::DWORD = 0x00040000; +pub const D3DPTEXTURECAPS_NOPROJECTEDBUMPENV: ::DWORD = 0x00200000; +pub const D3DPTFILTERCAPS_MINFPOINT: ::DWORD = 0x00000100; +pub const D3DPTFILTERCAPS_MINFLINEAR: ::DWORD = 0x00000200; +pub const D3DPTFILTERCAPS_MINFANISOTROPIC: ::DWORD = 0x00000400; +pub const D3DPTFILTERCAPS_MINFPYRAMIDALQUAD: ::DWORD = 0x00000800; +pub const D3DPTFILTERCAPS_MINFGAUSSIANQUAD: ::DWORD = 0x00001000; +pub const D3DPTFILTERCAPS_MIPFPOINT: ::DWORD = 0x00010000; +pub const D3DPTFILTERCAPS_MIPFLINEAR: ::DWORD = 0x00020000; +pub const D3DPTFILTERCAPS_CONVOLUTIONMONO: ::DWORD = 0x00040000; +pub const D3DPTFILTERCAPS_MAGFPOINT: ::DWORD = 0x01000000; +pub const D3DPTFILTERCAPS_MAGFLINEAR: ::DWORD = 0x02000000; +pub const D3DPTFILTERCAPS_MAGFANISOTROPIC: ::DWORD = 0x04000000; +pub const D3DPTFILTERCAPS_MAGFPYRAMIDALQUAD: ::DWORD = 0x08000000; +pub const D3DPTFILTERCAPS_MAGFGAUSSIANQUAD: ::DWORD = 0x10000000; +pub const D3DPTADDRESSCAPS_WRAP: ::DWORD = 0x00000001; +pub const D3DPTADDRESSCAPS_MIRROR: ::DWORD = 0x00000002; +pub const D3DPTADDRESSCAPS_CLAMP: ::DWORD = 0x00000004; +pub const D3DPTADDRESSCAPS_BORDER: ::DWORD = 0x00000008; +pub const D3DPTADDRESSCAPS_INDEPENDENTUV: ::DWORD = 0x00000010; +pub const D3DPTADDRESSCAPS_MIRRORONCE: ::DWORD = 0x00000020; +pub const D3DSTENCILCAPS_KEEP: ::DWORD = 0x00000001; +pub const D3DSTENCILCAPS_ZERO: ::DWORD = 0x00000002; +pub const D3DSTENCILCAPS_REPLACE: ::DWORD = 0x00000004; +pub const D3DSTENCILCAPS_INCRSAT: ::DWORD = 0x00000008; +pub const D3DSTENCILCAPS_DECRSAT: ::DWORD = 0x00000010; +pub const D3DSTENCILCAPS_INVERT: ::DWORD = 0x00000020; +pub const D3DSTENCILCAPS_INCR: ::DWORD = 0x00000040; +pub const D3DSTENCILCAPS_DECR: ::DWORD = 0x00000080; +pub const D3DSTENCILCAPS_TWOSIDED: ::DWORD = 0x00000100; +pub const D3DTEXOPCAPS_DISABLE: ::DWORD = 0x00000001; +pub const D3DTEXOPCAPS_SELECTARG1: ::DWORD = 0x00000002; +pub const D3DTEXOPCAPS_SELECTARG2: ::DWORD = 0x00000004; +pub const D3DTEXOPCAPS_MODULATE: ::DWORD = 0x00000008; +pub const D3DTEXOPCAPS_MODULATE2X: ::DWORD = 0x00000010; +pub const D3DTEXOPCAPS_MODULATE4X: ::DWORD = 0x00000020; +pub const D3DTEXOPCAPS_ADD: ::DWORD = 0x00000040; +pub const D3DTEXOPCAPS_ADDSIGNED: ::DWORD = 0x00000080; +pub const D3DTEXOPCAPS_ADDSIGNED2X: ::DWORD = 0x00000100; +pub const D3DTEXOPCAPS_SUBTRACT: ::DWORD = 0x00000200; +pub const D3DTEXOPCAPS_ADDSMOOTH: ::DWORD = 0x00000400; +pub const D3DTEXOPCAPS_BLENDDIFFUSEALPHA: ::DWORD = 0x00000800; +pub const D3DTEXOPCAPS_BLENDTEXTUREALPHA: ::DWORD = 0x00001000; +pub const D3DTEXOPCAPS_BLENDFACTORALPHA: ::DWORD = 0x00002000; +pub const D3DTEXOPCAPS_BLENDTEXTUREALPHAPM: ::DWORD = 0x00004000; +pub const D3DTEXOPCAPS_BLENDCURRENTALPHA: ::DWORD = 0x00008000; +pub const D3DTEXOPCAPS_PREMODULATE: ::DWORD = 0x00010000; +pub const D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR: ::DWORD = 0x00020000; +pub const D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA: ::DWORD = 0x00040000; +pub const D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR: ::DWORD = 0x00080000; +pub const D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA: ::DWORD = 0x00100000; +pub const D3DTEXOPCAPS_BUMPENVMAP: ::DWORD = 0x00200000; +pub const D3DTEXOPCAPS_BUMPENVMAPLUMINANCE: ::DWORD = 0x00400000; +pub const D3DTEXOPCAPS_DOTPRODUCT3: ::DWORD = 0x00800000; +pub const D3DTEXOPCAPS_MULTIPLYADD: ::DWORD = 0x01000000; +pub const D3DTEXOPCAPS_LERP: ::DWORD = 0x02000000; +pub const D3DFVFCAPS_TEXCOORDCOUNTMASK: ::DWORD = 0x0000ffff; +pub const D3DFVFCAPS_DONOTSTRIPELEMENTS: ::DWORD = 0x00080000; +pub const D3DFVFCAPS_PSIZE: ::DWORD = 0x00100000; +pub const D3DVTXPCAPS_TEXGEN: ::DWORD = 0x00000001; +pub const D3DVTXPCAPS_MATERIALSOURCE7: ::DWORD = 0x00000002; +pub const D3DVTXPCAPS_DIRECTIONALLIGHTS: ::DWORD = 0x00000008; +pub const D3DVTXPCAPS_POSITIONALLIGHTS: ::DWORD = 0x00000010; +pub const D3DVTXPCAPS_LOCALVIEWER: ::DWORD = 0x00000020; +pub const D3DVTXPCAPS_TWEENING: ::DWORD = 0x00000040; +pub const D3DVTXPCAPS_TEXGEN_SPHEREMAP: ::DWORD = 0x00000100; +pub const D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER: ::DWORD = 0x00000200; +pub const D3DDEVCAPS2_STREAMOFFSET: ::DWORD = 0x00000001; +pub const D3DDEVCAPS2_DMAPNPATCH: ::DWORD = 0x00000002; +pub const D3DDEVCAPS2_ADAPTIVETESSRTPATCH: ::DWORD = 0x00000004; +pub const D3DDEVCAPS2_ADAPTIVETESSNPATCH: ::DWORD = 0x00000008; +pub const D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES: ::DWORD = 0x00000010; +pub const D3DDEVCAPS2_PRESAMPLEDDMAPNPATCH: ::DWORD = 0x00000020; +pub const D3DDEVCAPS2_VERTEXELEMENTSCANSHARESTREAMOFFSET: ::DWORD = 0x00000040; +pub const D3DDTCAPS_UBYTE4: ::DWORD = 0x00000001; +pub const D3DDTCAPS_UBYTE4N: ::DWORD = 0x00000002; +pub const D3DDTCAPS_SHORT2N: ::DWORD = 0x00000004; +pub const D3DDTCAPS_SHORT4N: ::DWORD = 0x00000008; +pub const D3DDTCAPS_USHORT2N: ::DWORD = 0x00000010; +pub const D3DDTCAPS_USHORT4N: ::DWORD = 0x00000020; +pub const D3DDTCAPS_UDEC3: ::DWORD = 0x00000040; +pub const D3DDTCAPS_DEC3N: ::DWORD = 0x00000080; +pub const D3DDTCAPS_FLOAT16_2: ::DWORD = 0x00000100; +pub const D3DDTCAPS_FLOAT16_4: ::DWORD = 0x00000200; diff --git a/third_party/rust/winapi-0.2.8/src/d3d9types.rs b/third_party/rust/winapi-0.2.8/src/d3d9types.rs new file mode 100644 index 0000000000..28d0bedfca --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d3d9types.rs @@ -0,0 +1,1397 @@ +// Copyright © 2015, Corey Richardson +// Licensed under the MIT License <LICENSE.md> +//! Direct3D capabilities include file +pub type D3DCOLOR = ::DWORD; +STRUCT!{struct D3DVECTOR { + x: ::c_float, + y: ::c_float, + z: ::c_float, +}} +STRUCT!{struct D3DCOLORVALUE { + r: ::c_float, + g: ::c_float, + b: ::c_float, + a: ::c_float, +}} +STRUCT!{struct D3DRECT { + x1: ::LONG, + y1: ::LONG, + x2: ::LONG, + y2: ::LONG, +}} +STRUCT!{struct D3DMATRIX { + m: [[::c_float; 4]; 4], +}} +STRUCT!{struct D3DVIEWPORT9 { + X: ::DWORD, + Y: ::DWORD, + Width: ::DWORD, + Height: ::DWORD, + MinZ: ::c_float, + MaxZ: ::c_float, +}} +pub const D3DMAXUSERCLIPPLANES: ::DWORD = 32; +pub const D3DCLIPPLANE0: ::DWORD = (1 << 0); +pub const D3DCLIPPLANE1: ::DWORD = (1 << 1); +pub const D3DCLIPPLANE2: ::DWORD = (1 << 2); +pub const D3DCLIPPLANE3: ::DWORD = (1 << 3); +pub const D3DCLIPPLANE4: ::DWORD = (1 << 4); +pub const D3DCLIPPLANE5: ::DWORD = (1 << 5); +pub const D3DCS_LEFT: ::DWORD = 0x00000001; +pub const D3DCS_RIGHT: ::DWORD = 0x00000002; +pub const D3DCS_TOP: ::DWORD = 0x00000004; +pub const D3DCS_BOTTOM: ::DWORD = 0x00000008; +pub const D3DCS_FRONT: ::DWORD = 0x00000010; +pub const D3DCS_BACK: ::DWORD = 0x00000020; +pub const D3DCS_PLANE0: ::DWORD = 0x00000040; +pub const D3DCS_PLANE1: ::DWORD = 0x00000080; +pub const D3DCS_PLANE2: ::DWORD = 0x00000100; +pub const D3DCS_PLANE3: ::DWORD = 0x00000200; +pub const D3DCS_PLANE4: ::DWORD = 0x00000400; +pub const D3DCS_PLANE5: ::DWORD = 0x00000800; +pub const D3DCS_ALL: ::DWORD = D3DCS_LEFT | D3DCS_RIGHT | D3DCS_TOP | D3DCS_BOTTOM | D3DCS_FRONT + | D3DCS_BACK | D3DCS_PLANE0 | D3DCS_PLANE1 | D3DCS_PLANE2 | D3DCS_PLANE3 | D3DCS_PLANE4 + | D3DCS_PLANE5; +STRUCT!{struct D3DCLIPSTATUS9 { + ClipUnion: ::DWORD, + ClipIntersection: ::DWORD, +}} +STRUCT!{struct D3DMATERIAL9 { + Diffuse: D3DCOLORVALUE, + Ambient: D3DCOLORVALUE, + Specular: D3DCOLORVALUE, + Emissive: D3DCOLORVALUE, + Power: ::c_float, +}} +ENUM!{enum D3DLIGHTTYPE { + D3DLIGHT_POINT = 1, + D3DLIGHT_SPOT = 2, + D3DLIGHT_DIRECTIONAL = 3, +}} +STRUCT!{struct D3DLIGHT9 { + Type: D3DLIGHTTYPE, + Diffuse: D3DCOLORVALUE, + Specular: D3DCOLORVALUE, + Ambient: D3DCOLORVALUE, + Position: D3DVECTOR, + Direction: D3DVECTOR, + Range: ::c_float, + Falloff: ::c_float, + Attenuation0: ::c_float, + Attenuation1: ::c_float, + Attenuation2: ::c_float, + Theta: ::c_float, + Phi: ::c_float, +}} +pub const D3DCLEAR_TARGET: ::DWORD = 0x1; +pub const D3DCLEAR_ZBUFFER: ::DWORD = 0x2; +pub const D3DCLEAR_STENCIL: ::DWORD = 0x4; +ENUM!{enum D3DSHADEMODE { + D3DSHADE_FLAT = 1, + D3DSHADE_GOURAUD = 2, + D3DSHADE_PHONG = 3, +}} +ENUM!{enum D3DFILLMODE { + D3DFILL_POINT = 1, + D3DFILL_WIREFRAME = 2, + D3DFILL_SOLID = 3, +}} +ENUM!{enum D3DBLEND { + D3DBLEND_ZERO = 1, + D3DBLEND_ONE = 2, + D3DBLEND_SRCCOLOR = 3, + D3DBLEND_INVSRCCOLOR = 4, + D3DBLEND_SRCALPHA = 5, + D3DBLEND_INVSRCALPHA = 6, + D3DBLEND_DESTALPHA = 7, + D3DBLEND_INVDESTALPHA = 8, + D3DBLEND_DESTCOLOR = 9, + D3DBLEND_INVDESTCOLOR = 10, + D3DBLEND_SRCALPHASAT = 11, + D3DBLEND_BOTHSRCALPHA = 12, + D3DBLEND_BOTHINVSRCALPHA = 13, + D3DBLEND_BLENDFACTOR = 14, + D3DBLEND_INVBLENDFACTOR = 15, +}} +ENUM!{enum D3DBLENDOP { + D3DBLENDOP_ADD = 1, + D3DBLENDOP_SUBTRACT = 2, + D3DBLENDOP_REVSUBTRACT = 3, + D3DBLENDOP_MIN = 4, + D3DBLENDOP_MAX = 5, +}} +ENUM!{enum D3DTEXTUREADDRESS { + D3DTADDRESS_WRAP = 1, + D3DTADDRESS_MIRROR = 2, + D3DTADDRESS_CLAMP = 3, + D3DTADDRESS_BORDER = 4, + D3DTADDRESS_MIRRORONCE = 5, +}} +ENUM!{enum D3DCULL { + D3DCULL_NONE = 1, + D3DCULL_CW = 2, + D3DCULL_CCW = 3, +}} +ENUM!{enum D3DCMPFUNC { + D3DCMP_NEVER = 1, + D3DCMP_LESS = 2, + D3DCMP_EQUAL = 3, + D3DCMP_LESSEQUAL = 4, + D3DCMP_GREATER = 5, + D3DCMP_NOTEQUAL = 6, + D3DCMP_GREATEREQUAL = 7, + D3DCMP_ALWAYS = 8, +}} +ENUM!{enum D3DSTENCILOP { + D3DSTENCILOP_KEEP = 1, + D3DSTENCILOP_ZERO = 2, + D3DSTENCILOP_REPLACE = 3, + D3DSTENCILOP_INCRSAT = 4, + D3DSTENCILOP_DECRSAT = 5, + D3DSTENCILOP_INVERT = 6, + D3DSTENCILOP_INCR = 7, + D3DSTENCILOP_DECR = 8, +}} +ENUM!{enum D3DFOGMODE { + D3DFOG_NONE = 0, + D3DFOG_EXP = 1, + D3DFOG_EXP2 = 2, + D3DFOG_LINEAR = 3, +}} +ENUM!{enum D3DZBUFFERTYPE { + D3DZB_FALSE = 0, + D3DZB_TRUE = 1, + D3DZB_USEW = 2, +}} +ENUM!{enum D3DPRIMITIVETYPE { + D3DPT_POINTLIST = 1, + D3DPT_LINELIST = 2, + D3DPT_LINESTRIP = 3, + D3DPT_TRIANGLELIST = 4, + D3DPT_TRIANGLESTRIP = 5, + D3DPT_TRIANGLEFAN = 6, +}} +ENUM!{enum D3DTRANSFORMSTATETYPE { + D3DTS_VIEW = 2, + D3DTS_PROJECTION = 3, + D3DTS_TEXTURE0 = 16, + D3DTS_TEXTURE1 = 17, + D3DTS_TEXTURE2 = 18, + D3DTS_TEXTURE3 = 19, + D3DTS_TEXTURE4 = 20, + D3DTS_TEXTURE5 = 21, + D3DTS_TEXTURE6 = 22, + D3DTS_TEXTURE7 = 23, +}} +ENUM!{enum D3DRENDERSTATETYPE { + D3DRS_ZENABLE = 7, + D3DRS_FILLMODE = 8, + D3DRS_SHADEMODE = 9, + D3DRS_ZWRITEENABLE = 14, + D3DRS_ALPHATESTENABLE = 15, + D3DRS_LASTPIXEL = 16, + D3DRS_SRCBLEND = 19, + D3DRS_DESTBLEND = 20, + D3DRS_CULLMODE = 22, + D3DRS_ZFUNC = 23, + D3DRS_ALPHAREF = 24, + D3DRS_ALPHAFUNC = 25, + D3DRS_DITHERENABLE = 26, + D3DRS_ALPHABLENDENABLE = 27, + D3DRS_FOGENABLE = 28, + D3DRS_SPECULARENABLE = 29, + D3DRS_FOGCOLOR = 34, + D3DRS_FOGTABLEMODE = 35, + D3DRS_FOGSTART = 36, + D3DRS_FOGEND = 37, + D3DRS_FOGDENSITY = 38, + D3DRS_RANGEFOGENABLE = 48, + D3DRS_STENCILENABLE = 52, + D3DRS_STENCILFAIL = 53, + D3DRS_STENCILZFAIL = 54, + D3DRS_STENCILPASS = 55, + D3DRS_STENCILFUNC = 56, + D3DRS_STENCILREF = 57, + D3DRS_STENCILMASK = 58, + D3DRS_STENCILWRITEMASK = 59, + D3DRS_TEXTUREFACTOR = 60, + D3DRS_WRAP0 = 128, + D3DRS_WRAP1 = 129, + D3DRS_WRAP2 = 130, + D3DRS_WRAP3 = 131, + D3DRS_WRAP4 = 132, + D3DRS_WRAP5 = 133, + D3DRS_WRAP6 = 134, + D3DRS_WRAP7 = 135, + D3DRS_CLIPPING = 136, + D3DRS_LIGHTING = 137, + D3DRS_AMBIENT = 139, + D3DRS_FOGVERTEXMODE = 140, + D3DRS_COLORVERTEX = 141, + D3DRS_LOCALVIEWER = 142, + D3DRS_NORMALIZENORMALS = 143, + D3DRS_DIFFUSEMATERIALSOURCE = 145, + D3DRS_SPECULARMATERIALSOURCE = 146, + D3DRS_AMBIENTMATERIALSOURCE = 147, + D3DRS_EMISSIVEMATERIALSOURCE = 148, + D3DRS_VERTEXBLEND = 151, + D3DRS_CLIPPLANEENABLE = 152, + D3DRS_POINTSIZE = 154, + D3DRS_POINTSIZE_MIN = 155, + D3DRS_POINTSPRITEENABLE = 156, + D3DRS_POINTSCALEENABLE = 157, + D3DRS_POINTSCALE_A = 158, + D3DRS_POINTSCALE_B = 159, + D3DRS_POINTSCALE_C = 160, + D3DRS_MULTISAMPLEANTIALIAS = 161, + D3DRS_MULTISAMPLEMASK = 162, + D3DRS_PATCHEDGESTYLE = 163, + D3DRS_DEBUGMONITORTOKEN = 165, + D3DRS_POINTSIZE_MAX = 166, + D3DRS_INDEXEDVERTEXBLENDENABLE = 167, + D3DRS_COLORWRITEENABLE = 168, + D3DRS_TWEENFACTOR = 170, + D3DRS_BLENDOP = 171, + D3DRS_POSITIONDEGREE = 172, + D3DRS_NORMALDEGREE = 173, + D3DRS_SCISSORTESTENABLE = 174, + D3DRS_SLOPESCALEDEPTHBIAS = 175, + D3DRS_ANTIALIASEDLINEENABLE = 176, + D3DRS_MINTESSELLATIONLEVEL = 178, + D3DRS_MAXTESSELLATIONLEVEL = 179, + D3DRS_ADAPTIVETESS_X = 180, + D3DRS_ADAPTIVETESS_Y = 181, + D3DRS_ADAPTIVETESS_Z = 182, + D3DRS_ADAPTIVETESS_W = 183, + D3DRS_ENABLEADAPTIVETESSELLATION = 184, + D3DRS_TWOSIDEDSTENCILMODE = 185, + D3DRS_CCW_STENCILFAIL = 186, + D3DRS_CCW_STENCILZFAIL = 187, + D3DRS_CCW_STENCILPASS = 188, + D3DRS_CCW_STENCILFUNC = 189, + D3DRS_COLORWRITEENABLE1 = 190, + D3DRS_COLORWRITEENABLE2 = 191, + D3DRS_COLORWRITEENABLE3 = 192, + D3DRS_BLENDFACTOR = 193, + D3DRS_SRGBWRITEENABLE = 194, + D3DRS_DEPTHBIAS = 195, + D3DRS_WRAP8 = 198, + D3DRS_WRAP9 = 199, + D3DRS_WRAP10 = 200, + D3DRS_WRAP11 = 201, + D3DRS_WRAP12 = 202, + D3DRS_WRAP13 = 203, + D3DRS_WRAP14 = 204, + D3DRS_WRAP15 = 205, + D3DRS_SEPARATEALPHABLENDENABLE = 206, + D3DRS_SRCBLENDALPHA = 207, + D3DRS_DESTBLENDALPHA = 208, + D3DRS_BLENDOPALPHA = 209, +}} +pub const D3D_MAX_SIMULTANEOUS_RENDERTARGETS: ::DWORD = 4; +ENUM!{enum D3DMATERIALCOLORSOURCE { + D3DMCS_MATERIAL = 0, + D3DMCS_COLOR1 = 1, + D3DMCS_COLOR2 = 2, +}} +pub const D3DRENDERSTATE_WRAPBIAS: ::DWORD = 128; +pub const D3DWRAP_U: ::DWORD = 0x00000001; +pub const D3DWRAP_V: ::DWORD = 0x00000002; +pub const D3DWRAP_W: ::DWORD = 0x00000004; +pub const D3DWRAPCOORD_0: ::DWORD = 0x00000001; +pub const D3DWRAPCOORD_1: ::DWORD = 0x00000002; +pub const D3DWRAPCOORD_2: ::DWORD = 0x00000004; +pub const D3DWRAPCOORD_3: ::DWORD = 0x00000008; +pub const D3DCOLORWRITEENABLE_RED: ::DWORD = 1 << 0; +pub const D3DCOLORWRITEENABLE_GREEN: ::DWORD = 1 << 1; +pub const D3DCOLORWRITEENABLE_BLUE: ::DWORD = 1 << 2; +pub const D3DCOLORWRITEENABLE_ALPHA: ::DWORD = 1 << 3; +ENUM!{enum D3DTEXTURESTAGESTATETYPE { + D3DTSS_COLOROP = 1, + D3DTSS_COLORARG1 = 2, + D3DTSS_COLORARG2 = 3, + D3DTSS_ALPHAOP = 4, + D3DTSS_ALPHAARG1 = 5, + D3DTSS_ALPHAARG2 = 6, + D3DTSS_BUMPENVMAT00 = 7, + D3DTSS_BUMPENVMAT01 = 8, + D3DTSS_BUMPENVMAT10 = 9, + D3DTSS_BUMPENVMAT11 = 10, + D3DTSS_TEXCOORDINDEX = 11, + D3DTSS_BUMPENVLSCALE = 22, + D3DTSS_BUMPENVLOFFSET = 23, + D3DTSS_TEXTURETRANSFORMFLAGS = 24, + D3DTSS_COLORARG0 = 26, + D3DTSS_ALPHAARG0 = 27, + D3DTSS_RESULTARG = 28, + D3DTSS_CONSTANT = 32, +}} +ENUM!{enum D3DSAMPLERSTATETYPE { + D3DSAMP_ADDRESSU = 1, + D3DSAMP_ADDRESSV = 2, + D3DSAMP_ADDRESSW = 3, + D3DSAMP_BORDERCOLOR = 4, + D3DSAMP_MAGFILTER = 5, + D3DSAMP_MINFILTER = 6, + D3DSAMP_MIPFILTER = 7, + D3DSAMP_MIPMAPLODBIAS = 8, + D3DSAMP_MAXMIPLEVEL = 9, + D3DSAMP_MAXANISOTROPY = 10, + D3DSAMP_SRGBTEXTURE = 11, + D3DSAMP_ELEMENTINDEX = 12, + D3DSAMP_DMAPOFFSET = 13, +}} +pub const D3DDMAPSAMPLER: ::DWORD = 256; +pub const D3DVERTEXTEXTURESAMPLER0: ::DWORD = D3DDMAPSAMPLER + 1; +pub const D3DVERTEXTEXTURESAMPLER1: ::DWORD = D3DDMAPSAMPLER + 2; +pub const D3DVERTEXTEXTURESAMPLER2: ::DWORD = D3DDMAPSAMPLER + 3; +pub const D3DVERTEXTEXTURESAMPLER3: ::DWORD = D3DDMAPSAMPLER + 4; +pub const D3DTSS_TCI_PASSTHRU: ::DWORD = 0x00000000; +pub const D3DTSS_TCI_CAMERASPACENORMAL: ::DWORD = 0x00010000; +pub const D3DTSS_TCI_CAMERASPACEPOSITION: ::DWORD = 0x00020000; +pub const D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR: ::DWORD = 0x00030000; +pub const D3DTSS_TCI_SPHEREMAP: ::DWORD = 0x00040000; +ENUM!{enum D3DTEXTUREOP { + D3DTOP_DISABLE = 1, + D3DTOP_SELECTARG1 = 2, + D3DTOP_SELECTARG2 = 3, + D3DTOP_MODULATE = 4, + D3DTOP_MODULATE2X = 5, + D3DTOP_MODULATE4X = 6, + D3DTOP_ADD = 7, + D3DTOP_ADDSIGNED = 8, + D3DTOP_ADDSIGNED2X = 9, + D3DTOP_SUBTRACT = 10, + D3DTOP_ADDSMOOTH = 11, + D3DTOP_BLENDDIFFUSEALPHA = 12, + D3DTOP_BLENDTEXTUREALPHA = 13, + D3DTOP_BLENDFACTORALPHA = 14, + D3DTOP_BLENDTEXTUREALPHAPM = 15, + D3DTOP_BLENDCURRENTALPHA = 16, + D3DTOP_PREMODULATE = 17, + D3DTOP_MODULATEALPHA_ADDCOLOR = 18, + D3DTOP_MODULATECOLOR_ADDALPHA = 19, + D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20, + D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21, + D3DTOP_BUMPENVMAP = 22, + D3DTOP_BUMPENVMAPLUMINANCE = 23, + D3DTOP_DOTPRODUCT3 = 24, + D3DTOP_MULTIPLYADD = 25, + D3DTOP_LERP = 26, +}} +pub const D3DTA_SELECTMASK: ::DWORD = 0x0000000f; +pub const D3DTA_DIFFUSE: ::DWORD = 0x00000000; +pub const D3DTA_CURRENT: ::DWORD = 0x00000001; +pub const D3DTA_TEXTURE: ::DWORD = 0x00000002; +pub const D3DTA_TFACTOR: ::DWORD = 0x00000003; +pub const D3DTA_SPECULAR: ::DWORD = 0x00000004; +pub const D3DTA_TEMP: ::DWORD = 0x00000005; +pub const D3DTA_CONSTANT: ::DWORD = 0x00000006; +pub const D3DTA_COMPLEMENT: ::DWORD = 0x00000010; +pub const D3DTA_ALPHAREPLICATE: ::DWORD = 0x00000020; +ENUM!{enum D3DTEXTUREFILTERTYPE { + D3DTEXF_NONE = 0, + D3DTEXF_POINT = 1, + D3DTEXF_LINEAR = 2, + D3DTEXF_ANISOTROPIC = 3, + D3DTEXF_PYRAMIDALQUAD = 6, + D3DTEXF_GAUSSIANQUAD = 7, + D3DTEXF_CONVOLUTIONMONO = 8, +}} +pub const D3DPV_DONOTCOPYDATA: ::DWORD = 1 << 0; +pub const D3DFVF_RESERVED0: ::DWORD = 0x001; +pub const D3DFVF_POSITION_MASK: ::DWORD = 0x400E; +pub const D3DFVF_XYZ: ::DWORD = 0x002; +pub const D3DFVF_XYZRHW: ::DWORD = 0x004; +pub const D3DFVF_XYZB1: ::DWORD = 0x006; +pub const D3DFVF_XYZB2: ::DWORD = 0x008; +pub const D3DFVF_XYZB3: ::DWORD = 0x00a; +pub const D3DFVF_XYZB4: ::DWORD = 0x00c; +pub const D3DFVF_XYZB5: ::DWORD = 0x00e; +pub const D3DFVF_XYZW: ::DWORD = 0x4002; +pub const D3DFVF_NORMAL: ::DWORD = 0x010; +pub const D3DFVF_PSIZE: ::DWORD = 0x020; +pub const D3DFVF_DIFFUSE: ::DWORD = 0x040; +pub const D3DFVF_SPECULAR: ::DWORD = 0x080; +pub const D3DFVF_TEXCOUNT_MASK: ::DWORD = 0xf00; +pub const D3DFVF_TEXCOUNT_SHIFT: ::DWORD = 8; +pub const D3DFVF_TEX0: ::DWORD = 0x000; +pub const D3DFVF_TEX1: ::DWORD = 0x100; +pub const D3DFVF_TEX2: ::DWORD = 0x200; +pub const D3DFVF_TEX3: ::DWORD = 0x300; +pub const D3DFVF_TEX4: ::DWORD = 0x400; +pub const D3DFVF_TEX5: ::DWORD = 0x500; +pub const D3DFVF_TEX6: ::DWORD = 0x600; +pub const D3DFVF_TEX7: ::DWORD = 0x700; +pub const D3DFVF_TEX8: ::DWORD = 0x800; +pub const D3DFVF_LASTBETA_UBYTE4: ::DWORD = 0x1000; +pub const D3DFVF_LASTBETA_D3DCOLOR: ::DWORD = 0x8000; +pub const D3DFVF_RESERVED2: ::DWORD = 0x6000; +ENUM!{enum D3DDECLUSAGE { + D3DDECLUSAGE_POSITION = 0, + D3DDECLUSAGE_BLENDWEIGHT, + D3DDECLUSAGE_BLENDINDICES, + D3DDECLUSAGE_NORMAL, + D3DDECLUSAGE_PSIZE, + D3DDECLUSAGE_TEXCOORD, + D3DDECLUSAGE_TANGENT, + D3DDECLUSAGE_BINORMAL, + D3DDECLUSAGE_TESSFACTOR, + D3DDECLUSAGE_POSITIONT, + D3DDECLUSAGE_COLOR, + D3DDECLUSAGE_FOG, + D3DDECLUSAGE_DEPTH, + D3DDECLUSAGE_SAMPLE, +}} +pub const MAXD3DDECLUSAGE: D3DDECLUSAGE = D3DDECLUSAGE_SAMPLE; +pub const MAXD3DDECLUSAGEINDEX: ::DWORD = 15; +pub const MAXD3DDECLLENGTH: ::DWORD = 64; +ENUM!{enum D3DDECLMETHOD { + D3DDECLMETHOD_DEFAULT = 0, + D3DDECLMETHOD_PARTIALU, + D3DDECLMETHOD_PARTIALV, + D3DDECLMETHOD_CROSSUV, + D3DDECLMETHOD_UV, + D3DDECLMETHOD_LOOKUP, + D3DDECLMETHOD_LOOKUPPRESAMPLED, +}} +pub const MAXD3DDECLMETHOD: D3DDECLMETHOD = D3DDECLMETHOD_LOOKUPPRESAMPLED; +ENUM!{enum D3DDECLTYPE { + D3DDECLTYPE_FLOAT1 = 0, + D3DDECLTYPE_FLOAT2 = 1, + D3DDECLTYPE_FLOAT3 = 2, + D3DDECLTYPE_FLOAT4 = 3, + D3DDECLTYPE_D3DCOLOR = 4, + D3DDECLTYPE_UBYTE4 = 5, + D3DDECLTYPE_SHORT2 = 6, + D3DDECLTYPE_SHORT4 = 7, + D3DDECLTYPE_UBYTE4N = 8, + D3DDECLTYPE_SHORT2N = 9, + D3DDECLTYPE_SHORT4N = 10, + D3DDECLTYPE_USHORT2N = 11, + D3DDECLTYPE_USHORT4N = 12, + D3DDECLTYPE_UDEC3 = 13, + D3DDECLTYPE_DEC3N = 14, + D3DDECLTYPE_FLOAT16_2 = 15, + D3DDECLTYPE_FLOAT16_4 = 16, + D3DDECLTYPE_UNUSED = 17, +}} +pub const MAXD3DDECLTYPE: D3DDECLTYPE = D3DDECLTYPE_UNUSED; +STRUCT!{struct D3DVERTEXELEMENT9 { + Stream: ::WORD, + Offset: ::WORD, + Type: ::BYTE, + Method: ::BYTE, + Usage: ::BYTE, + UsageIndex: ::BYTE, +}} +pub type LPD3DVERTEXELEMENT9 = *mut D3DVERTEXELEMENT9; +pub const D3DDECL_END: D3DVERTEXELEMENT9 = D3DVERTEXELEMENT9 { + Stream: 0xFF, + Offset: 0, + Type: D3DDECLTYPE_UNUSED.0 as ::BYTE, + Method: 0, + Usage: 0, + UsageIndex: 0, +}; +pub const D3DDP_MAXTEXCOORD: ::DWORD = 8; +pub const D3DSTREAMSOURCE_INDEXEDDATA: ::DWORD = 1 << 30; +pub const D3DSTREAMSOURCE_INSTANCEDATA: ::DWORD = 2 << 30; +pub const D3DSI_OPCODE_MASK: ::DWORD = 0x0000FFFF; +pub const D3DSI_INSTLENGTH_MASK: ::DWORD = 0x0F000000; +pub const D3DSI_INSTLENGTH_SHIFT: ::DWORD = 24; +ENUM!{enum D3DSHADER_INSTRUCTION_OPCODE_TYPE { + D3DSIO_NOP = 0, + D3DSIO_MOV = 1, + D3DSIO_ADD = 2, + D3DSIO_SUB = 3, + D3DSIO_MAD = 4, + D3DSIO_MUL = 5, + D3DSIO_RCP = 6, + D3DSIO_RSQ = 7, + D3DSIO_DP3 = 8, + D3DSIO_DP4 = 9, + D3DSIO_MIN = 10, + D3DSIO_MAX = 11, + D3DSIO_SLT = 12, + D3DSIO_SGE = 13, + D3DSIO_EXP = 14, + D3DSIO_LOG = 15, + D3DSIO_LIT = 16, + D3DSIO_DST = 17, + D3DSIO_LRP = 18, + D3DSIO_FRC = 18, + D3DSIO_M4x4 = 20, + D3DSIO_M4x3 = 21, + D3DSIO_M3x4 = 22, + D3DSIO_M3x3 = 23, + D3DSIO_M3x2 = 24, + D3DSIO_CALL = 25, + D3DSIO_CALLNZ = 26, + D3DSIO_LOOP = 27, + D3DSIO_RET = 28, + D3DSIO_ENDLOOP = 29, + D3DSIO_LABEL = 30, + D3DSIO_DCL = 31, + D3DSIO_POW = 32, + D3DSIO_CRS = 33, + D3DSIO_SGN = 34, + D3DSIO_ABS = 35, + D3DSIO_NRM = 36, + D3DSIO_SINCOS = 37, + D3DSIO_REP = 38, + D3DSIO_ENDREP = 39, + D3DSIO_IF = 40, + D3DSIO_IFC = 41, + D3DSIO_ELSE = 42, + D3DSIO_ENDIF = 43, + D3DSIO_BREAK = 44, + D3DSIO_BREAKC = 45, + D3DSIO_MOVA = 46, + D3DSIO_DEFB = 47, + D3DSIO_DEFI = 48, + D3DSIO_TEXCOORD = 64, + D3DSIO_TEXKILL = 65, + D3DSIO_TEX = 66, + D3DSIO_TEXBEM = 67, + D3DSIO_TEXBEML = 68, + D3DSIO_TEXREG2AR = 69, + D3DSIO_TEXREG2GB = 70, + D3DSIO_TEXM3x2PAD = 71, + D3DSIO_TEXM3x2TEX = 72, + D3DSIO_TEXM3x3PAD = 73, + D3DSIO_TEXM3x3TEX = 74, + D3DSIO_RESERVED0 = 75, + D3DSIO_TEXM3x3SPEC = 76, + D3DSIO_TEXM3x3VSPEC = 77, + D3DSIO_EXPP = 78, + D3DSIO_LOGP = 79, + D3DSIO_CND = 80, + D3DSIO_DEF = 81, + D3DSIO_TEXREG2RGB = 82, + D3DSIO_TEXDP3TEX = 83, + D3DSIO_TEXM3x2DEPTH = 84, + D3DSIO_TEXDP3 = 85, + D3DSIO_TEXM3x3 = 86, + D3DSIO_TEXDEPTH = 87, + D3DSIO_CMP = 88, + D3DSIO_BEM = 89, + D3DSIO_DP2ADD = 90, + D3DSIO_DSX = 91, + D3DSIO_DSY = 92, + D3DSIO_TEXLDD = 93, + D3DSIO_SETP = 94, + D3DSIO_TEXLDL = 95, + D3DSIO_BREAKP = 96, + D3DSIO_PHASE = 0xFFFD, + D3DSIO_COMMENT = 0xFFFE, + D3DSIO_END = 0xFFFF, +}} +pub const D3DSI_COISSUE: ::DWORD = 0x40000000; +pub const D3DSP_OPCODESPECIFICCONTROL_MASK: ::DWORD = 0x00ff0000; +pub const D3DSP_OPCODESPECIFICCONTROL_SHIFT: ::DWORD = 16; +pub const D3DSI_TEXLD_PROJECT: ::DWORD = 0x01 << D3DSP_OPCODESPECIFICCONTROL_SHIFT; +pub const D3DSI_TEXLD_BIAS: ::DWORD = 0x02 << D3DSP_OPCODESPECIFICCONTROL_SHIFT; +ENUM!{enum D3DSHADER_COMPARISON { + D3DSPC_RESERVED0 = 0, + D3DSPC_GT = 1, + D3DSPC_EQ = 2, + D3DSPC_GE = 3, + D3DSPC_LT = 4, + D3DSPC_NE = 5, + D3DSPC_LE = 6, + D3DSPC_RESERVED1 = 7, +}} +pub const D3DSHADER_COMPARISON_SHIFT: ::DWORD = D3DSP_OPCODESPECIFICCONTROL_SHIFT; +pub const D3DSHADER_COMPARISON_MASK: ::DWORD = 0x7 << D3DSHADER_COMPARISON_SHIFT; +pub const D3DSHADER_INSTRUCTION_PREDICATED: ::DWORD = 0x1 << 28; +pub const D3DSP_DCL_USAGE_SHIFT: ::DWORD = 0; +pub const D3DSP_DCL_USAGE_MASK: ::DWORD = 0x0000000f; +pub const D3DSP_DCL_USAGEINDEX_SHIFT: ::DWORD = 16; +pub const D3DSP_DCL_USAGEINDEX_MASK: ::DWORD = 0x000f0000; +pub const D3DSP_TEXTURETYPE_SHIFT: ::DWORD = 27; +pub const D3DSP_TEXTURETYPE_MASK: ::DWORD = 0x78000000; +ENUM!{enum D3DSAMPLER_TEXTURE_TYPE { + D3DSTT_UNKNOWN = 0 << D3DSP_TEXTURETYPE_SHIFT, + D3DSTT_2D = 2 << D3DSP_TEXTURETYPE_SHIFT, + D3DSTT_CUBE = 3 << D3DSP_TEXTURETYPE_SHIFT, + D3DSTT_VOLUME = 4 << D3DSP_TEXTURETYPE_SHIFT, +}} +pub const D3DSP_REGNUM_MASK: ::DWORD = 0x000007FF; +pub const D3DSP_WRITEMASK_0: ::DWORD = 0x00010000; +pub const D3DSP_WRITEMASK_1: ::DWORD = 0x00020000; +pub const D3DSP_WRITEMASK_2: ::DWORD = 0x00040000; +pub const D3DSP_WRITEMASK_3: ::DWORD = 0x00080000; +pub const D3DSP_WRITEMASK_ALL: ::DWORD = 0x000F0000; +pub const D3DSP_DSTMOD_SHIFT: ::DWORD = 20; +pub const D3DSP_DSTMOD_MASK: ::DWORD = 0x00F00000; +pub const D3DSPDM_NONE: ::DWORD = 0 << D3DSP_DSTMOD_SHIFT; +pub const D3DSPDM_SATURATE: ::DWORD = 1 << D3DSP_DSTMOD_SHIFT; +pub const D3DSPDM_PARTIALPRECISION: ::DWORD = 2 << D3DSP_DSTMOD_SHIFT; +pub const D3DSPDM_MSAMPCENTROID: ::DWORD = 4 << D3DSP_DSTMOD_SHIFT; +pub const D3DSP_DSTSHIFT_SHIFT: ::DWORD = 24; +pub const D3DSP_DSTSHIFT_MASK: ::DWORD = 0x0F000000; +pub const D3DSP_REGTYPE_SHIFT: ::DWORD = 28; +pub const D3DSP_REGTYPE_SHIFT2: ::DWORD = 8; +pub const D3DSP_REGTYPE_MASK: ::DWORD = 0x70000000; +pub const D3DSP_REGTYPE_MASK2: ::DWORD = 0x00001800; +ENUM!{enum D3DSHADER_PARAM_REGISTER_TYPE { + D3DSPR_TEMP = 0, + D3DSPR_INPUT = 1, + D3DSPR_CONST = 2, + D3DSPR_ADDR = 3, + D3DSPR_TEXTURE = 3, + D3DSPR_RASTOUT = 4, + D3DSPR_ATTROUT = 5, + D3DSPR_TEXCRDOUT = 6, + D3DSPR_OUTPUT = 6, + D3DSPR_CONSTINT = 7, + D3DSPR_COLOROUT = 8, + D3DSPR_DEPTHOUT = 9, + D3DSPR_SAMPLER = 10, + D3DSPR_CONST2 = 11, + D3DSPR_CONST3 = 12, + D3DSPR_CONST4 = 13, + D3DSPR_CONSTBOOL = 14, + D3DSPR_LOOP = 15, + D3DSPR_TEMPFLOAT16 = 16, + D3DSPR_MISCTYPE = 17, + D3DSPR_LABEL = 18, + D3DSPR_PREDICATE = 19, +}} +ENUM!{enum D3DSHADER_MISCTYPE_OFFSETS { + D3DSMO_POSITION = 0, + D3DSMO_FACE = 1, +}} +ENUM!{enum D3DVS_RASTOUT_OFFSETS { + D3DSRO_POSITION = 0, + D3DSRO_FOG, + D3DSRO_POINT_SIZE, +}} +pub const D3DVS_ADDRESSMODE_SHIFT: ::DWORD = 13; +pub const D3DVS_ADDRESSMODE_MASK: ::DWORD = 1 << D3DVS_ADDRESSMODE_SHIFT; +ENUM!{enum D3DVS_ADDRESSMODE_TYPE { + D3DVS_ADDRMODE_ABSOLUTE = 0 << D3DVS_ADDRESSMODE_SHIFT, + D3DVS_ADDRMODE_RELATIVE = 1 << D3DVS_ADDRESSMODE_SHIFT, +}} +pub const D3DSHADER_ADDRESSMODE_SHIFT: ::DWORD = 13; +pub const D3DSHADER_ADDRESSMODE_MASK: ::DWORD = 1 << D3DSHADER_ADDRESSMODE_SHIFT; +ENUM!{enum D3DSHADER_ADDRESSMODE_TYPE { + D3DSHADER_ADDRMODE_ABSOLUTE = 0 << D3DSHADER_ADDRESSMODE_SHIFT, + D3DSHADER_ADDRMODE_RELATIVE = 1 << D3DSHADER_ADDRESSMODE_SHIFT, +}} +pub const D3DVS_SWIZZLE_SHIFT: ::DWORD = 16; +pub const D3DVS_SWIZZLE_MASK: ::DWORD = 0x00FF0000; +pub const D3DVS_X_X: ::DWORD = 0 << D3DVS_SWIZZLE_SHIFT; +pub const D3DVS_X_Y: ::DWORD = 1 << D3DVS_SWIZZLE_SHIFT; +pub const D3DVS_X_Z: ::DWORD = 2 << D3DVS_SWIZZLE_SHIFT; +pub const D3DVS_X_W: ::DWORD = 3 << D3DVS_SWIZZLE_SHIFT; +pub const D3DVS_Y_X: ::DWORD = 0 << (D3DVS_SWIZZLE_SHIFT + 2); +pub const D3DVS_Y_Y: ::DWORD = 1 << (D3DVS_SWIZZLE_SHIFT + 2); +pub const D3DVS_Y_Z: ::DWORD = 2 << (D3DVS_SWIZZLE_SHIFT + 2); +pub const D3DVS_Y_W: ::DWORD = 3 << (D3DVS_SWIZZLE_SHIFT + 2); +pub const D3DVS_Z_X: ::DWORD = 0 << (D3DVS_SWIZZLE_SHIFT + 4); +pub const D3DVS_Z_Y: ::DWORD = 1 << (D3DVS_SWIZZLE_SHIFT + 4); +pub const D3DVS_Z_Z: ::DWORD = 2 << (D3DVS_SWIZZLE_SHIFT + 4); +pub const D3DVS_Z_W: ::DWORD = 3 << (D3DVS_SWIZZLE_SHIFT + 4); +pub const D3DVS_W_X: ::DWORD = 0 << (D3DVS_SWIZZLE_SHIFT + 6); +pub const D3DVS_W_Y: ::DWORD = 1 << (D3DVS_SWIZZLE_SHIFT + 6); +pub const D3DVS_W_Z: ::DWORD = 2 << (D3DVS_SWIZZLE_SHIFT + 6); +pub const D3DVS_W_W: ::DWORD = 3 << (D3DVS_SWIZZLE_SHIFT + 6); +pub const D3DVS_NOSWIZZLE: ::DWORD = D3DVS_X_X | D3DVS_Y_Y | D3DVS_Z_Z | D3DVS_W_W; +pub const D3DSP_SWIZZLE_SHIFT: ::DWORD = 16; +pub const D3DSP_SWIZZLE_MASK: ::DWORD = 0x00FF0000; +pub const D3DSP_NOSWIZZLE: ::DWORD = (0 << (D3DSP_SWIZZLE_SHIFT + 0)) + | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) + | (3 << (D3DSP_SWIZZLE_SHIFT + 6)); +pub const D3DSP_REPLICATERED: ::DWORD = (0 << (D3DSP_SWIZZLE_SHIFT + 0)) + | (0 << (D3DSP_SWIZZLE_SHIFT + 2)) | (0 << (D3DSP_SWIZZLE_SHIFT + 4)) + | (0 << (D3DSP_SWIZZLE_SHIFT + 6)); +pub const D3DSP_REPLICATEGREEN: ::DWORD = (1 << (D3DSP_SWIZZLE_SHIFT + 0)) + | (1 << (D3DSP_SWIZZLE_SHIFT + 2)) | (1 << (D3DSP_SWIZZLE_SHIFT + 4)) + | (1 << (D3DSP_SWIZZLE_SHIFT + 6)); +pub const D3DSP_REPLICATEBLUE: ::DWORD = (2 << (D3DSP_SWIZZLE_SHIFT + 0)) + | (2 << (D3DSP_SWIZZLE_SHIFT + 2)) | (2 << (D3DSP_SWIZZLE_SHIFT + 4)) + | (2 << (D3DSP_SWIZZLE_SHIFT + 6)); +pub const D3DSP_REPLICATEALPHA: ::DWORD = (3 << (D3DSP_SWIZZLE_SHIFT + 0)) + | (3 << (D3DSP_SWIZZLE_SHIFT + 2)) | (3 << (D3DSP_SWIZZLE_SHIFT + 4)) + | (3 << (D3DSP_SWIZZLE_SHIFT + 6)); +pub const D3DSP_SRCMOD_SHIFT: ::DWORD = 24; +pub const D3DSP_SRCMOD_MASK: ::DWORD = 0x0F000000; +ENUM!{enum D3DSHADER_PARAM_SRCMOD_TYPE { + D3DSPSM_NONE = 0 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_NEG = 1 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_BIAS = 2 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_BIASNEG = 3 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_SIGN = 4 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_SIGNNEG = 5 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_COMP = 6 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_X2 = 7 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_X2NEG = 8 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_DZ = 9 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_DW = 10 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_ABS = 11 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_ABSNEG = 12 << D3DSP_SRCMOD_SHIFT, + D3DSPSM_NOT = 13 << D3DSP_SRCMOD_SHIFT, +}} +pub const D3DSP_MIN_PRECISION_SHIFT: ::DWORD = 14; +pub const D3DSP_MIN_PRECISION_MASK: ::DWORD = 0x0000C000; +ENUM!{enum D3DSHADER_MIN_PRECISION { + D3DMP_DEFAULT = 0, + D3DMP_16 = 1, + D3DMP_2_8 = 2, +}} +pub const D3DSI_COMMENTSIZE_SHIFT: ::DWORD = 16; +pub const D3DSI_COMMENTSIZE_MASK: ::DWORD = 0x7FFF0000; +pub const D3DPS_END: ::DWORD = 0x0000FFFF; +pub const D3DVS_END: ::DWORD = 0x0000FFFF; +ENUM!{enum D3DBASISTYPE { + D3DBASIS_BEZIER = 0, + D3DBASIS_BSPLINE = 1, + D3DBASIS_CATMULL_ROM = 2, +}} +ENUM!{enum D3DDEGREETYPE { + D3DDEGREE_LINEAR = 1, + D3DDEGREE_QUADRATIC = 2, + D3DDEGREE_CUBIC = 3, + D3DDEGREE_QUINTIC = 5, +}} +ENUM!{enum D3DPATCHEDGESTYLE { + D3DPATCHEDGE_DISCRETE = 0, + D3DPATCHEDGE_CONTINUOUS = 1, +}} +ENUM!{enum D3DSTATEBLOCKTYPE { + D3DSBT_ALL = 1, + D3DSBT_PIXELSTATE = 2, + D3DSBT_VERTEXSTATE = 3, +}} +FLAGS!{enum D3DVERTEXBLENDFLAGS { + D3DVBF_DISABLE = 0, + D3DVBF_1WEIGHTS = 1, + D3DVBF_2WEIGHTS = 2, + D3DVBF_3WEIGHTS = 3, + D3DVBF_TWEENING = 255, + D3DVBF_0WEIGHTS = 256, +}} +ENUM!{enum D3DTEXTURETRANSFORMFLAGS { + D3DTTFF_DISABLE = 0, + D3DTTFF_COUNT1 = 1, + D3DTTFF_COUNT2 = 2, + D3DTTFF_COUNT3 = 3, + D3DTTFF_COUNT4 = 4, + D3DTTFF_PROJECTED = 256, +}} +pub const D3DFVF_TEXTUREFORMAT2: ::DWORD = 0; +pub const D3DFVF_TEXTUREFORMAT1: ::DWORD = 3; +pub const D3DFVF_TEXTUREFORMAT3: ::DWORD = 1; +pub const D3DFVF_TEXTUREFORMAT4: ::DWORD = 2; +ENUM!{enum D3DDEVTYPE { + D3DDEVTYPE_HAL = 1, + D3DDEVTYPE_REF = 2, + D3DDEVTYPE_SW = 3, + D3DDEVTYPE_NULLREF = 4, +}} +ENUM!{enum D3DMULTISAMPLE_TYPE { + D3DMULTISAMPLE_NONE = 0, + D3DMULTISAMPLE_NONMASKABLE = 1, + D3DMULTISAMPLE_2_SAMPLES = 2, + D3DMULTISAMPLE_3_SAMPLES = 3, + D3DMULTISAMPLE_4_SAMPLES = 4, + D3DMULTISAMPLE_5_SAMPLES = 5, + D3DMULTISAMPLE_6_SAMPLES = 6, + D3DMULTISAMPLE_7_SAMPLES = 7, + D3DMULTISAMPLE_8_SAMPLES = 8, + D3DMULTISAMPLE_9_SAMPLES = 9, + D3DMULTISAMPLE_10_SAMPLES = 10, + D3DMULTISAMPLE_11_SAMPLES = 11, + D3DMULTISAMPLE_12_SAMPLES = 12, + D3DMULTISAMPLE_13_SAMPLES = 13, + D3DMULTISAMPLE_14_SAMPLES = 14, + D3DMULTISAMPLE_15_SAMPLES = 15, + D3DMULTISAMPLE_16_SAMPLES = 16, +}} +ENUM!{enum D3DFORMAT { + D3DFMT_UNKNOWN = 0, + D3DFMT_R8G8B8 = 20, + D3DFMT_A8R8G8B8 = 21, + D3DFMT_X8R8G8B8 = 22, + D3DFMT_R5G6B5 = 23, + D3DFMT_X1R5G5B5 = 24, + D3DFMT_A1R5G5B5 = 25, + D3DFMT_A4R4G4B4 = 26, + D3DFMT_R3G3B2 = 27, + D3DFMT_A8 = 28, + D3DFMT_A8R3G3B2 = 29, + D3DFMT_X4R4G4B4 = 30, + D3DFMT_A2B10G10R10 = 31, + D3DFMT_A8B8G8R8 = 32, + D3DFMT_X8B8G8R8 = 33, + D3DFMT_G16R16 = 34, + D3DFMT_A2R10G10B10 = 35, + D3DFMT_A16B16G16R16 = 36, + D3DFMT_A8P8 = 40, + D3DFMT_P8 = 41, + D3DFMT_L8 = 50, + D3DFMT_A8L8 = 51, + D3DFMT_A4L4 = 52, + D3DFMT_V8U8 = 60, + D3DFMT_L6V5U5 = 61, + D3DFMT_X8L8V8U8 = 62, + D3DFMT_Q8W8V8U8 = 63, + D3DFMT_V16U16 = 64, + D3DFMT_A2W10V10U10 = 67, + D3DFMT_UYVY = MAKEFOURCC!(b'U', b'Y', b'V', b'Y') as u32, + D3DFMT_R8G8_B8G8 = MAKEFOURCC!(b'R', b'G', b'B', b'G') as u32, + D3DFMT_YUY2 = MAKEFOURCC!(b'Y', b'U', b'Y', b'2') as u32, + D3DFMT_G8R8_G8B8 = MAKEFOURCC!(b'G', b'R', b'G', b'B') as u32, + D3DFMT_DXT1 = MAKEFOURCC!(b'D', b'X', b'T', b'1') as u32, + D3DFMT_DXT2 = MAKEFOURCC!(b'D', b'X', b'T', b'2') as u32, + D3DFMT_DXT3 = MAKEFOURCC!(b'D', b'X', b'T', b'3') as u32, + D3DFMT_DXT4 = MAKEFOURCC!(b'D', b'X', b'T', b'4') as u32, + D3DFMT_DXT5 = MAKEFOURCC!(b'D', b'X', b'T', b'5') as u32, + D3DFMT_D16_LOCKABLE = 70, + D3DFMT_D32 = 71, + D3DFMT_D15S1 = 73, + D3DFMT_D24S8 = 75, + D3DFMT_D24X8 = 77, + D3DFMT_D24X4S4 = 79, + D3DFMT_D16 = 80, + D3DFMT_D32F_LOCKABLE = 82, + D3DFMT_D24FS8 = 83, + D3DFMT_D32_LOCKABLE = 84, + D3DFMT_S8_LOCKABLE = 85, + D3DFMT_L16 = 81, + D3DFMT_VERTEXDATA = 100, + D3DFMT_INDEX16 = 101, + D3DFMT_INDEX32 = 102, + D3DFMT_Q16W16V16U16 = 110, + D3DFMT_MULTI2_ARGB8 = MAKEFOURCC!(b'M', b'E', b'T', b'1') as u32, + D3DFMT_R16F = 111, + D3DFMT_G16R16F = 112, + D3DFMT_A16B16G16R16F = 113, + D3DFMT_R32F = 114, + D3DFMT_G32R32F = 115, + D3DFMT_A32B32G32R32F = 116, + D3DFMT_CxV8U8 = 117, + D3DFMT_A1 = 118, + D3DFMT_A2B10G10R10_XR_BIAS = 119, + D3DFMT_BINARYBUFFER = 199, +}} +STRUCT!{struct D3DDISPLAYMODE { + Width: ::UINT, + Height: ::UINT, + RefreshRate: ::UINT, + Format: D3DFORMAT, +}} +STRUCT!{struct D3DDEVICE_CREATION_PARAMETERS { + AdapterOrdinal: ::UINT, + DeviceType: D3DDEVTYPE, + hFocusWindow: ::HWND, + BehaviorFlags: ::DWORD, +}} +ENUM!{enum D3DSWAPEFFECT { + D3DSWAPEFFECT_DISCARD = 1, + D3DSWAPEFFECT_FLIP = 2, + D3DSWAPEFFECT_COPY = 3, + D3DSWAPEFFECT_OVERLAY = 4, + D3DSWAPEFFECT_FLIPEX = 5, +}} +ENUM!{enum D3DPOOL { + D3DPOOL_DEFAULT = 0, + D3DPOOL_MANAGED = 1, + D3DPOOL_SYSTEMMEM = 2, + D3DPOOL_SCRATCH = 3, +}} +pub const D3DPRESENT_RATE_DEFAULT: ::DWORD = 0x00000000; +STRUCT!{struct D3DPRESENT_PARAMETERS { + BackBufferWidth: ::UINT, + BackBufferHeight: ::UINT, + BackBufferFormat: D3DFORMAT, + BackBufferCount: ::UINT, + MultiSampleType: D3DMULTISAMPLE_TYPE, + MultiSampleQuality: ::DWORD, + SwapEffect: D3DSWAPEFFECT, + hDeviceWindow: ::HWND, + Windowed: ::BOOL, + EnableAutoDepthStencil: ::BOOL, + AutoDepthStencilFormat: D3DFORMAT, + Flags: ::DWORD, + FullScreen_RefreshRateInHz: ::UINT, + PresentationInterval: ::UINT, +}} +pub const D3DPRESENTFLAG_LOCKABLE_BACKBUFFER: ::DWORD = 0x00000001; +pub const D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL: ::DWORD = 0x00000002; +pub const D3DPRESENTFLAG_DEVICECLIP: ::DWORD = 0x00000004; +pub const D3DPRESENTFLAG_VIDEO: ::DWORD = 0x00000010; +pub const D3DPRESENTFLAG_NOAUTOROTATE: ::DWORD = 0x00000020; +pub const D3DPRESENTFLAG_UNPRUNEDMODE: ::DWORD = 0x00000040; +pub const D3DPRESENTFLAG_OVERLAY_LIMITEDRGB: ::DWORD = 0x00000080; +pub const D3DPRESENTFLAG_OVERLAY_YCbCr_BT709: ::DWORD = 0x00000100; +pub const D3DPRESENTFLAG_OVERLAY_YCbCr_xvYCC: ::DWORD = 0x00000200; +pub const D3DPRESENTFLAG_RESTRICTED_CONTENT: ::DWORD = 0x00000400; +pub const D3DPRESENTFLAG_RESTRICT_SHARED_RESOURCE_DRIVER: ::DWORD = 0x00000800; +STRUCT!{nodebug struct D3DGAMMARAMP { + red: [::WORD; 256], + green: [::WORD; 256], + blue: [::WORD; 256], +}} +ENUM!{enum D3DBACKBUFFER_TYPE { + D3DBACKBUFFER_TYPE_MONO = 0, + D3DBACKBUFFER_TYPE_LEFT = 1, + D3DBACKBUFFER_TYPE_RIGHT = 2, +}} +ENUM!{enum D3DRESOURCETYPE { + D3DRTYPE_SURFACE = 1, + D3DRTYPE_VOLUME = 2, + D3DRTYPE_TEXTURE = 3, + D3DRTYPE_VOLUMETEXTURE = 4, + D3DRTYPE_CUBETEXTURE = 5, + D3DRTYPE_VERTEXBUFFER = 6, + D3DRTYPE_INDEXBUFFER = 7, +}} +pub const D3DUSAGE_RENDERTARGET: ::DWORD = 0x00000001; +pub const D3DUSAGE_DEPTHSTENCIL: ::DWORD = 0x00000002; +pub const D3DUSAGE_DYNAMIC: ::DWORD = 0x00000200; +pub const D3DUSAGE_NONSECURE: ::DWORD = 0x00800000; +pub const D3DUSAGE_AUTOGENMIPMAP: ::DWORD = 0x00000400; +pub const D3DUSAGE_DMAP: ::DWORD = 0x00004000; +pub const D3DUSAGE_QUERY_LEGACYBUMPMAP: ::DWORD = 0x00008000; +pub const D3DUSAGE_QUERY_SRGBREAD: ::DWORD = 0x00010000; +pub const D3DUSAGE_QUERY_FILTER: ::DWORD = 0x00020000; +pub const D3DUSAGE_QUERY_SRGBWRITE: ::DWORD = 0x00040000; +pub const D3DUSAGE_QUERY_POSTPIXELSHADER_BLENDING: ::DWORD = 0x00080000; +pub const D3DUSAGE_QUERY_VERTEXTEXTURE: ::DWORD = 0x00100000; +pub const D3DUSAGE_QUERY_WRAPANDMIP: ::DWORD = 0x00200000; +pub const D3DUSAGE_WRITEONLY: ::DWORD = 0x00000008; +pub const D3DUSAGE_SOFTWAREPROCESSING: ::DWORD = 0x00000010; +pub const D3DUSAGE_DONOTCLIP: ::DWORD = 0x00000020; +pub const D3DUSAGE_POINTS: ::DWORD = 0x00000040; +pub const D3DUSAGE_RTPATCHES: ::DWORD = 0x00000080; +pub const D3DUSAGE_NPATCHES: ::DWORD = 0x00000100; +pub const D3DUSAGE_TEXTAPI: ::DWORD = 0x10000000; +pub const D3DUSAGE_RESTRICTED_CONTENT: ::DWORD = 0x00000800; +pub const D3DUSAGE_RESTRICT_SHARED_RESOURCE: ::DWORD = 0x00002000; +pub const D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER: ::DWORD = 0x00001000; +ENUM!{enum D3DCUBEMAP_FACES { + D3DCUBEMAP_FACE_POSITIVE_X = 0, + D3DCUBEMAP_FACE_NEGATIVE_X = 1, + D3DCUBEMAP_FACE_POSITIVE_Y = 2, + D3DCUBEMAP_FACE_NEGATIVE_Y = 3, + D3DCUBEMAP_FACE_POSITIVE_Z = 4, + D3DCUBEMAP_FACE_NEGATIVE_Z = 5, +}} +pub const D3DLOCK_READONLY: ::DWORD = 0x00000010; +pub const D3DLOCK_DISCARD: ::DWORD = 0x00002000; +pub const D3DLOCK_NOOVERWRITE: ::DWORD = 0x00001000; +pub const D3DLOCK_NOSYSLOCK: ::DWORD = 0x00000800; +pub const D3DLOCK_DONOTWAIT: ::DWORD = 0x00004000; +pub const D3DLOCK_NO_DIRTY_UPDATE: ::DWORD = 0x00008000; +STRUCT!{struct D3DVERTEXBUFFER_DESC { + Format: D3DFORMAT, + Type: D3DRESOURCETYPE, + Usage: ::DWORD, + Pool: D3DPOOL, + Size: ::UINT, + FVF: ::DWORD, +}} +STRUCT!{struct D3DINDEXBUFFER_DESC { + Format: D3DFORMAT, + Type: D3DRESOURCETYPE, + Usage: ::DWORD, + Pool: D3DPOOL, + Size: ::UINT, +}} +STRUCT!{struct D3DSURFACE_DESC { + Format: D3DFORMAT, + Type: D3DRESOURCETYPE, + Usage: ::DWORD, + Pool: D3DPOOL, + MultiSampleType: D3DMULTISAMPLE_TYPE, + MultiSampleQuality: ::DWORD, + Width: ::UINT, + Height: ::UINT, +}} +STRUCT!{struct D3DVOLUME_DESC { + Format: D3DFORMAT, + Type: D3DRESOURCETYPE, + Usage: ::DWORD, + Pool: D3DPOOL, + Width: ::UINT, + Height: ::UINT, + Depth: ::UINT, +}} +STRUCT!{struct D3DLOCKED_RECT { + Pitch: ::INT, + pBits: *mut ::c_void, +}} +STRUCT!{struct D3DBOX { + Left: ::UINT, + Top: ::UINT, + Right: ::UINT, + Bottom: ::UINT, + Front: ::UINT, + Back: ::UINT, +}} +STRUCT!{struct D3DLOCKED_BOX { + RowPitch: ::INT, + SlicePitch: ::INT, + pBits: *mut ::c_void, +}} +STRUCT!{struct D3DRANGE { + Offset: ::UINT, + Size: ::UINT, +}} +STRUCT!{struct D3DRECTPATCH_INFO { + StartVertexOffsetWidth: ::UINT, + StartVertexOffsetHeight: ::UINT, + Width: ::UINT, + Height: ::UINT, + Stride: ::UINT, + Basis: D3DBASISTYPE, + Degree: D3DDEGREETYPE, +}} +STRUCT!{struct D3DTRIPATCH_INFO { + StartVertexOffset: ::UINT, + NumVertices: ::UINT, + Basis: D3DBASISTYPE, + Degree: D3DDEGREETYPE, +}} +pub const MAX_DEVICE_IDENTIFIER_STRING: usize = 512; +STRUCT!{nodebug struct D3DADAPTER_IDENTIFIER9 { + Driver: [::c_char; MAX_DEVICE_IDENTIFIER_STRING], + Description: [::c_char; MAX_DEVICE_IDENTIFIER_STRING], + DeviceName: [::c_char; 32], + DriverVersion: ::LARGE_INTEGER, + VendorId: ::DWORD, + DeviceId: ::DWORD, + SubSysId: ::DWORD, + Revision: ::DWORD, + DeviceIdentifier: ::GUID, + WHQLLevel: ::DWORD, +}} +STRUCT!{struct D3DRASTER_STATUS { + InVBlank: ::BOOL, + ScanLine: ::UINT, +}} +ENUM!{enum D3DDEBUGMONITORTOKENS { + D3DDMT_ENABLE = 0, + D3DDMT_DISABLE = 1, +}} +ENUM!{enum D3DQUERYTYPE { + D3DQUERYTYPE_VCACHE = 4, + D3DQUERYTYPE_RESOURCEMANAGER = 5, + D3DQUERYTYPE_VERTEXSTATS = 6, + D3DQUERYTYPE_EVENT = 8, + D3DQUERYTYPE_OCCLUSION = 9, + D3DQUERYTYPE_TIMESTAMP = 10, + D3DQUERYTYPE_TIMESTAMPDISJOINT = 11, + D3DQUERYTYPE_TIMESTAMPFREQ = 12, + D3DQUERYTYPE_PIPELINETIMINGS = 13, + D3DQUERYTYPE_INTERFACETIMINGS = 14, + D3DQUERYTYPE_VERTEXTIMINGS = 15, + D3DQUERYTYPE_PIXELTIMINGS = 16, + D3DQUERYTYPE_BANDWIDTHTIMINGS = 17, + D3DQUERYTYPE_CACHEUTILIZATION = 18, + D3DQUERYTYPE_MEMORYPRESSURE = 19, +}} +pub const D3DISSUE_END: ::DWORD = 1 << 0; +pub const D3DISSUE_BEGIN: ::DWORD = 1 << 1; +pub const D3DGETDATA_FLUSH: ::DWORD = 1 << 0; +STRUCT!{struct D3DRESOURCESTATS { + bThrashing: ::BOOL, + ApproxBytesDownloaded: ::DWORD, + NumEvicts: ::DWORD, + NumVidCreates: ::DWORD, + LastPri: ::DWORD, + NumUsed: ::DWORD, + NumUsedInVidMem: ::DWORD, + WorkingSet: ::DWORD, + WorkingSetBytes: ::DWORD, + TotalManaged: ::DWORD, + TotalBytes: ::DWORD, +}} +pub const D3DRTYPECOUNT: usize = 8; +STRUCT!{struct D3DDEVINFO_RESOURCEMANAGER { + stats: [D3DRESOURCESTATS; 8 /*D3DRTYPECOUNT, rust bug?*/], +}} +pub type LPD3DDEVINFO_RESOURCEMANAGER = *mut D3DDEVINFO_RESOURCEMANAGER; +STRUCT!{struct D3DDEVINFO_D3DVERTEXSTATS { + NumRenderedTriangles: ::DWORD, + NumExtraClippingTriangles: ::DWORD, +}} +pub type LPD3DDEVINFO_D3DVERTEXSTATS = *mut D3DDEVINFO_D3DVERTEXSTATS; +STRUCT!{struct D3DDEVINFO_VCACHE { + Pattern: ::DWORD, + OptMethod: ::DWORD, + CacheSize: ::DWORD, + MagicNumber: ::DWORD, +}} +pub type LPD3DDEVINFO_VCACHE = *mut D3DDEVINFO_VCACHE; +STRUCT!{struct D3DDEVINFO_D3D9PIPELINETIMINGS { + VertexProcessingTimePercent: ::FLOAT, + PixelProcessingTimePercent: ::FLOAT, + OtherGPUProcessingTimePercent: ::FLOAT, + GPUIdleTimePercent: ::FLOAT, +}} +STRUCT!{struct D3DDEVINFO_D3D9INTERFACETIMINGS { + WaitingForGPUToUseApplicationResourceTimePercent: ::FLOAT, + WaitingForGPUToAcceptMoreCommandsTimePercent: ::FLOAT, + WaitingForGPUToStayWithinLatencyTimePercent: ::FLOAT, + WaitingForGPUExclusiveResourceTimePercent: ::FLOAT, + WaitingForGPUOtherTimePercent: ::FLOAT, +}} +STRUCT!{struct D3DDEVINFO_D3D9STAGETIMINGS { + MemoryProcessingPercent: ::FLOAT, + ComputationProcessingPercent: ::FLOAT, +}} +STRUCT!{struct D3DDEVINFO_D3D9BANDWIDTHTIMINGS { + MaxBandwidthUtilized: ::FLOAT, + FrontEndUploadMemoryUtilizedPercent: ::FLOAT, + VertexRateUtilizedPercent: ::FLOAT, + TriangleSetupRateUtilizedPercent: ::FLOAT, + FillRateUtilizedPercent: ::FLOAT, +}} +STRUCT!{struct D3DDEVINFO_D3D9CACHEUTILIZATION { + TextureCacheHitRate: ::FLOAT, + PostTransformVertexCacheHitRate: ::FLOAT, +}} +STRUCT!{struct D3DMEMORYPRESSURE { + BytesEvictedFromProcess: ::UINT64, + SizeOfInefficientAllocation: ::UINT64, + LevelOfEfficiency: ::DWORD, +}} +ENUM!{enum D3DCOMPOSERECTSOP { + D3DCOMPOSERECTS_COPY = 1, + D3DCOMPOSERECTS_OR = 2, + D3DCOMPOSERECTS_AND = 3, + D3DCOMPOSERECTS_NEG = 4, +}} +STRUCT!{struct D3DCOMPOSERECTDESC { + X: ::USHORT, + Y: ::USHORT, + Width: ::USHORT, + Height: ::USHORT, +}} +STRUCT!{struct D3DCOMPOSERECTDESTINATION { + SrcRectIndex: ::USHORT, + Reserved: ::USHORT, + X: ::SHORT, + Y: ::SHORT, +}} +pub const D3DCOMPOSERECTS_MAXNUMRECTS: ::DWORD = 0xFFFF; +pub const D3DCONVOLUTIONMONO_MAXWIDTH: ::DWORD = 7; +pub const D3DCONVOLUTIONMONO_MAXHEIGHT: ::DWORD = D3DCONVOLUTIONMONO_MAXWIDTH; +pub const D3DFMT_A1_SURFACE_MAXWIDTH: ::DWORD = 8192; +pub const D3DFMT_A1_SURFACE_MAXHEIGHT: ::DWORD = 2048; +STRUCT!{struct D3DPRESENTSTATS { + PresentCount: ::UINT, + PresentRefreshCount: ::UINT, + SyncRefreshCount: ::UINT, + SyncQPCTime: ::LARGE_INTEGER, + SyncGPUTime: ::LARGE_INTEGER, +}} +ENUM!{enum D3DSCANLINEORDERING { + D3DSCANLINEORDERING_UNKNOWN = 0, + D3DSCANLINEORDERING_PROGRESSIVE = 1, + D3DSCANLINEORDERING_INTERLACED = 2, +}} +STRUCT!{struct D3DDISPLAYMODEEX { + Size: ::UINT, + Width: ::UINT, + Height: ::UINT, + RefreshRate: ::UINT, + Format: D3DFORMAT, + ScanLineOrdering: D3DSCANLINEORDERING, +}} +STRUCT!{struct D3DDISPLAYMODEFILTER { + Size: ::UINT, + Format: D3DFORMAT, + ScanLineOrdering: D3DSCANLINEORDERING, +}} +ENUM!{enum D3DDISPLAYROTATION { + D3DDISPLAYROTATION_IDENTITY = 1, + D3DDISPLAYROTATION_90 = 2, + D3DDISPLAYROTATION_180 = 3, + D3DDISPLAYROTATION_270 = 4, +}} +pub const D3D9_RESOURCE_PRIORITY_MINIMUM: ::DWORD = 0x28000000; +pub const D3D9_RESOURCE_PRIORITY_LOW: ::DWORD = 0x50000000; +pub const D3D9_RESOURCE_PRIORITY_NORMAL: ::DWORD = 0x78000000; +pub const D3D9_RESOURCE_PRIORITY_HIGH: ::DWORD = 0xa0000000; +pub const D3D9_RESOURCE_PRIORITY_MAXIMUM: ::DWORD = 0xc8000000; +pub const D3D_OMAC_SIZE: usize = 16; +STRUCT!{struct D3D_OMAC { + Omac: [::BYTE; D3D_OMAC_SIZE], +}} +ENUM!{enum D3DAUTHENTICATEDCHANNELTYPE { + D3DAUTHENTICATEDCHANNEL_D3D9 = 1, + D3DAUTHENTICATEDCHANNEL_DRIVER_SOFTWARE = 2, + D3DAUTHENTICATEDCHANNEL_DRIVER_HARDWARE = 3, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERY_INPUT { + QueryType: ::GUID, + hChannel: ::HANDLE, + SequenceNumber: ::UINT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT { + omac: D3D_OMAC, + QueryType: ::GUID, + hChannel: ::HANDLE, + SequenceNumber: ::UINT, + ReturnCode: ::HRESULT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS { + Value: ::UINT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYPROTECTION_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + ProtectionFlags: D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYCHANNELTYPE_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + ChannelType: D3DAUTHENTICATEDCHANNELTYPE, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYDEVICEHANDLE_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + DeviceHandle: ::HANDLE, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_INPUT { + Input: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT, + DXVA2DecodeHandle: ::HANDLE, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYCRYPTOSESSION_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + DXVA2DecodeHandle: ::HANDLE, + CryptoSessionHandle: ::HANDLE, + DeviceHandle: ::HANDLE, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESSCOUNT_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + NumRestrictedSharedResourceProcesses: ::UINT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESS_INPUT { + Input: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT, + ProcessIndex: ::UINT, +}} +ENUM!{enum D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE { + PROCESSIDTYPE_UNKNOWN = 0, + PROCESSIDTYPE_DWM = 1, + PROCESSIDTYPE_HANDLE = 2, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYRESTRICTEDSHAREDRESOURCEPROCESS_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + ProcessIndex: ::UINT, + ProcessIdentifer: D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE, + ProcessHandle: ::HANDLE, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYUNRESTRICTEDPROTECTEDSHAREDRESOURCECOUNT_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + NumUnrestrictedProtectedSharedResources: ::UINT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_INPUT { + Input: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT, + DeviceHandle: ::HANDLE, + CryptoSessionHandle: ::HANDLE, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTIDCOUNT_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + DeviceHandle: ::HANDLE, + CryptoSessionHandle: ::HANDLE, + NumOutputIDs: ::UINT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_INPUT { + Input: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT, + DeviceHandle: ::HANDLE, + CryptoSessionHandle: ::HANDLE, + OutputIDIndex: ::UINT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYOUTPUTID_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + DeviceHandle: ::HANDLE, + CryptoSessionHandle: ::HANDLE, + OutputIDIndex: ::UINT, + OutputID: ::UINT64, +}} +FLAGS!{enum D3DBUSTYPE { + D3DBUSTYPE_OTHER = 0x00000000, + D3DBUSTYPE_PCI = 0x00000001, + D3DBUSTYPE_PCIX = 0x00000002, + D3DBUSTYPE_PCIEXPRESS = 0x00000003, + D3DBUSTYPE_AGP = 0x00000004, + D3DBUSIMPL_MODIFIER_INSIDE_OF_CHIPSET = 0x00010000, + MD3DBUSIMPL_ODIFIER_TRACKS_ON_MOTHER_BOARD_TO_CHIP = 0x00020000, + D3DBUSIMPL_MODIFIER_TRACKS_ON_MOTHER_BOARD_TO_SOCKET = 0x00030000, + D3DBUSIMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR = 0x00040000, + D3DBUSIMPL_MODIFIER_DAUGHTER_BOARD_CONNECTOR_INSIDE_OF_NUAE = 0x00050000, + D3DBUSIMPL_MODIFIER_NON_STANDARD = 0x80000000, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYINFOBUSTYPE_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + BusType: D3DBUSTYPE, + bAccessibleInContiguousBlocks: ::BOOL, + bAccessibleInNonContiguousBlocks: ::BOOL, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUIDCOUNT_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + NumEncryptionGuids: ::UINT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_INPUT { + Input: D3DAUTHENTICATEDCHANNEL_QUERY_INPUT, + EncryptionGuidIndex: ::UINT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYEVICTIONENCRYPTIONGUID_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + EncryptionGuidIndex: ::UINT, + EncryptionGuid: ::GUID, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_QUERYUNCOMPRESSEDENCRYPTIONLEVEL_OUTPUT { + Output: D3DAUTHENTICATEDCHANNEL_QUERY_OUTPUT, + EncryptionGuid: ::GUID, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT { + omac: D3D_OMAC, + ConfigureType: ::GUID, + hChannel: ::HANDLE, + SequenceNumber: ::UINT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGURE_OUTPUT { + omac: D3D_OMAC, + ConfigureType: ::GUID, + hChannel: ::HANDLE, + SequenceNumber: ::UINT, + ReturnCode: ::HRESULT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGUREINITIALIZE { + Parameters: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT, + StartSequenceQuery: ::UINT, + StartSequenceConfigure: ::UINT, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGUREPROTECTION { + Parameters: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT, + Protections: D3DAUTHENTICATEDCHANNEL_PROTECTION_FLAGS, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGURECRYPTOSESSION { + Parameters: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT, + DXVA2DecodeHandle: ::HANDLE, + CryptoSessionHandle: ::HANDLE, + DeviceHandle: ::HANDLE, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGURESHAREDRESOURCE { + Parameters: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT, + ProcessIdentiferType: D3DAUTHENTICATEDCHANNEL_PROCESSIDENTIFIERTYPE, + ProcessHandle: ::HANDLE, + AllowAccess: ::BOOL, +}} +STRUCT!{struct D3DAUTHENTICATEDCHANNEL_CONFIGUREUNCOMPRESSEDENCRYPTION { + Parameters: D3DAUTHENTICATEDCHANNEL_CONFIGURE_INPUT, + EncryptionGuid: ::GUID, +}} +STRUCT!{struct D3DENCRYPTED_BLOCK_INFO { + NumEncryptedBytesAtBeginning: ::UINT, + NumBytesInSkipPattern: ::UINT, + NumBytesInEncryptPattern: ::UINT, +}} +STRUCT!{struct D3DAES_CTR_IV { + IV: ::UINT64, + Count: ::UINT64, +}} diff --git a/third_party/rust/winapi-0.2.8/src/d3dcommon.rs b/third_party/rust/winapi-0.2.8/src/d3dcommon.rs new file mode 100644 index 0000000000..51a1b4e8ed --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d3dcommon.rs @@ -0,0 +1,753 @@ +// Copyright © 2015; Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of d3dcommon.h +ENUM!{enum D3D_DRIVER_TYPE { + D3D_DRIVER_TYPE_UNKNOWN, + D3D_DRIVER_TYPE_HARDWARE, + D3D_DRIVER_TYPE_REFERENCE, + D3D_DRIVER_TYPE_NULL, + D3D_DRIVER_TYPE_SOFTWARE, + D3D_DRIVER_TYPE_WARP, +}} +ENUM!{enum D3D_FEATURE_LEVEL { + D3D_FEATURE_LEVEL_9_1 = 0x9100, + D3D_FEATURE_LEVEL_9_2 = 0x9200, + D3D_FEATURE_LEVEL_9_3 = 0x9300, + D3D_FEATURE_LEVEL_10_0 = 0xa000, + D3D_FEATURE_LEVEL_10_1 = 0xa100, + D3D_FEATURE_LEVEL_11_0 = 0xb000, + D3D_FEATURE_LEVEL_11_1 = 0xb100, + D3D_FEATURE_LEVEL_12_0 = 0xc000, + D3D_FEATURE_LEVEL_12_1 = 0xc100, +}} +ENUM!{enum D3D_PRIMITIVE_TOPOLOGY { + D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0, + D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1, + D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2, + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3, + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4, + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5, + D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10, + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11, + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12, + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13, + D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33, + D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34, + D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35, + D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36, + D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37, + D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38, + D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39, + D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40, + D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41, + D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42, + D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43, + D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44, + D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45, + D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46, + D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47, + D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48, + D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49, + D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50, + D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51, + D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52, + D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53, + D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54, + D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55, + D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56, + D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57, + D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58, + D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59, + D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60, + D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61, + D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62, + D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63, + D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64, +}} +pub const D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_UNDEFINED; +pub const D3D10_PRIMITIVE_TOPOLOGY_POINTLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_POINTLIST; +pub const D3D10_PRIMITIVE_TOPOLOGY_LINELIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_LINELIST; +pub const D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP; +pub const D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST; +pub const D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP; +pub const D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ; +pub const D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ; +pub const D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ; +pub const D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ; +pub const D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_UNDEFINED; +pub const D3D11_PRIMITIVE_TOPOLOGY_POINTLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_POINTLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_LINELIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_LINELIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP; +pub const D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP; +pub const D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ; +pub const D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ; +pub const D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ; +pub const D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ; +pub const D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST; +pub const D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST: ::D3D_PRIMITIVE_TOPOLOGY = + D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST; +ENUM!{enum D3D_PRIMITIVE { + D3D_PRIMITIVE_UNDEFINED = 0, + D3D_PRIMITIVE_POINT = 1, + D3D_PRIMITIVE_LINE = 2, + D3D_PRIMITIVE_TRIANGLE = 3, + D3D_PRIMITIVE_LINE_ADJ = 6, + D3D_PRIMITIVE_TRIANGLE_ADJ = 7, + D3D_PRIMITIVE_1_CONTROL_POINT_PATCH = 8, + D3D_PRIMITIVE_2_CONTROL_POINT_PATCH = 9, + D3D_PRIMITIVE_3_CONTROL_POINT_PATCH = 10, + D3D_PRIMITIVE_4_CONTROL_POINT_PATCH = 11, + D3D_PRIMITIVE_5_CONTROL_POINT_PATCH = 12, + D3D_PRIMITIVE_6_CONTROL_POINT_PATCH = 13, + D3D_PRIMITIVE_7_CONTROL_POINT_PATCH = 14, + D3D_PRIMITIVE_8_CONTROL_POINT_PATCH = 15, + D3D_PRIMITIVE_9_CONTROL_POINT_PATCH = 16, + D3D_PRIMITIVE_10_CONTROL_POINT_PATCH = 17, + D3D_PRIMITIVE_11_CONTROL_POINT_PATCH = 18, + D3D_PRIMITIVE_12_CONTROL_POINT_PATCH = 19, + D3D_PRIMITIVE_13_CONTROL_POINT_PATCH = 20, + D3D_PRIMITIVE_14_CONTROL_POINT_PATCH = 21, + D3D_PRIMITIVE_15_CONTROL_POINT_PATCH = 22, + D3D_PRIMITIVE_16_CONTROL_POINT_PATCH = 23, + D3D_PRIMITIVE_17_CONTROL_POINT_PATCH = 24, + D3D_PRIMITIVE_18_CONTROL_POINT_PATCH = 25, + D3D_PRIMITIVE_19_CONTROL_POINT_PATCH = 26, + D3D_PRIMITIVE_20_CONTROL_POINT_PATCH = 28, + D3D_PRIMITIVE_21_CONTROL_POINT_PATCH = 29, + D3D_PRIMITIVE_22_CONTROL_POINT_PATCH = 30, + D3D_PRIMITIVE_23_CONTROL_POINT_PATCH = 31, + D3D_PRIMITIVE_24_CONTROL_POINT_PATCH = 32, + D3D_PRIMITIVE_25_CONTROL_POINT_PATCH = 33, + D3D_PRIMITIVE_26_CONTROL_POINT_PATCH = 34, + D3D_PRIMITIVE_27_CONTROL_POINT_PATCH = 35, + D3D_PRIMITIVE_28_CONTROL_POINT_PATCH = 36, + D3D_PRIMITIVE_29_CONTROL_POINT_PATCH = 37, + D3D_PRIMITIVE_30_CONTROL_POINT_PATCH = 38, + D3D_PRIMITIVE_31_CONTROL_POINT_PATCH = 39, + D3D_PRIMITIVE_32_CONTROL_POINT_PATCH = 40, +}} +pub const D3D10_PRIMITIVE_UNDEFINED: ::D3D_PRIMITIVE = D3D_PRIMITIVE_UNDEFINED; +pub const D3D10_PRIMITIVE_POINT: ::D3D_PRIMITIVE = D3D_PRIMITIVE_POINT; +pub const D3D10_PRIMITIVE_LINE: ::D3D_PRIMITIVE = D3D_PRIMITIVE_LINE; +pub const D3D10_PRIMITIVE_TRIANGLE: ::D3D_PRIMITIVE = D3D_PRIMITIVE_TRIANGLE; +pub const D3D10_PRIMITIVE_LINE_ADJ: ::D3D_PRIMITIVE = D3D_PRIMITIVE_LINE_ADJ; +pub const D3D10_PRIMITIVE_TRIANGLE_ADJ: ::D3D_PRIMITIVE = D3D_PRIMITIVE_TRIANGLE_ADJ; +pub const D3D11_PRIMITIVE_UNDEFINED: ::D3D_PRIMITIVE = D3D_PRIMITIVE_UNDEFINED; +pub const D3D11_PRIMITIVE_POINT: ::D3D_PRIMITIVE = D3D_PRIMITIVE_POINT; +pub const D3D11_PRIMITIVE_LINE: ::D3D_PRIMITIVE = D3D_PRIMITIVE_LINE; +pub const D3D11_PRIMITIVE_TRIANGLE: ::D3D_PRIMITIVE = D3D_PRIMITIVE_TRIANGLE; +pub const D3D11_PRIMITIVE_LINE_ADJ: ::D3D_PRIMITIVE = D3D_PRIMITIVE_LINE_ADJ; +pub const D3D11_PRIMITIVE_TRIANGLE_ADJ: ::D3D_PRIMITIVE = D3D_PRIMITIVE_TRIANGLE_ADJ; +pub const D3D11_PRIMITIVE_1_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_1_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_2_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_2_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_3_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_3_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_4_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_4_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_5_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_5_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_6_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_6_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_7_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_7_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_8_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_8_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_9_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_9_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_10_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_10_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_11_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_11_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_12_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_12_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_13_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_13_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_14_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_14_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_15_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_15_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_16_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_16_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_17_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_17_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_18_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_18_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_19_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_19_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_20_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_20_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_21_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_21_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_22_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_22_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_23_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_23_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_24_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_24_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_25_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_25_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_26_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_26_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_27_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_27_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_28_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_28_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_29_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_29_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_30_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_30_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_31_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_31_CONTROL_POINT_PATCH; +pub const D3D11_PRIMITIVE_32_CONTROL_POINT_PATCH: ::D3D_PRIMITIVE = + D3D_PRIMITIVE_32_CONTROL_POINT_PATCH; +ENUM!{enum D3D_SRV_DIMENSION { + D3D_SRV_DIMENSION_UNKNOWN = 0, + D3D_SRV_DIMENSION_BUFFER = 1, + D3D_SRV_DIMENSION_TEXTURE1D = 2, + D3D_SRV_DIMENSION_TEXTURE1DARRAY = 3, + D3D_SRV_DIMENSION_TEXTURE2D = 4, + D3D_SRV_DIMENSION_TEXTURE2DARRAY = 5, + D3D_SRV_DIMENSION_TEXTURE2DMS = 6, + D3D_SRV_DIMENSION_TEXTURE2DMSARRAY = 7, + D3D_SRV_DIMENSION_TEXTURE3D = 8, + D3D_SRV_DIMENSION_TEXTURECUBE = 9, + D3D_SRV_DIMENSION_TEXTURECUBEARRAY = 10, + D3D_SRV_DIMENSION_BUFFEREX = 11, +}} +pub const D3D10_SRV_DIMENSION_UNKNOWN: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_UNKNOWN; +pub const D3D10_SRV_DIMENSION_BUFFER: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_BUFFER; +pub const D3D10_SRV_DIMENSION_TEXTURE1D: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE1D; +pub const D3D10_SRV_DIMENSION_TEXTURE1DARRAY: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE1DARRAY; +pub const D3D10_SRV_DIMENSION_TEXTURE2D: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2D; +pub const D3D10_SRV_DIMENSION_TEXTURE2DARRAY: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2DARRAY; +pub const D3D10_SRV_DIMENSION_TEXTURE2DMS: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2DMS; +pub const D3D10_SRV_DIMENSION_TEXTURE2DMSARRAY: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2DMSARRAY; +pub const D3D10_SRV_DIMENSION_TEXTURE3D: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE3D; +pub const D3D10_SRV_DIMENSION_TEXTURECUBE: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURECUBE; +pub const D3D10_1_SRV_DIMENSION_UNKNOWN: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_UNKNOWN; +pub const D3D10_1_SRV_DIMENSION_BUFFER: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_BUFFER; +pub const D3D10_1_SRV_DIMENSION_TEXTURE1D: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE1D; +pub const D3D10_1_SRV_DIMENSION_TEXTURE1DARRAY: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE1DARRAY; +pub const D3D10_1_SRV_DIMENSION_TEXTURE2D: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2D; +pub const D3D10_1_SRV_DIMENSION_TEXTURE2DARRAY: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2DARRAY; +pub const D3D10_1_SRV_DIMENSION_TEXTURE2DMS: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2DMS; +pub const D3D10_1_SRV_DIMENSION_TEXTURE2DMSARRAY: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2DMSARRAY; +pub const D3D10_1_SRV_DIMENSION_TEXTURE3D: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE3D; +pub const D3D10_1_SRV_DIMENSION_TEXTURECUBE: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURECUBE; +pub const D3D10_1_SRV_DIMENSION_TEXTURECUBEARRAY: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURECUBEARRAY; +pub const D3D11_SRV_DIMENSION_UNKNOWN: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_UNKNOWN; +pub const D3D11_SRV_DIMENSION_BUFFER: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_BUFFER; +pub const D3D11_SRV_DIMENSION_TEXTURE1D: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE1D; +pub const D3D11_SRV_DIMENSION_TEXTURE1DARRAY: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE1DARRAY; +pub const D3D11_SRV_DIMENSION_TEXTURE2D: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2D; +pub const D3D11_SRV_DIMENSION_TEXTURE2DARRAY: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2DARRAY; +pub const D3D11_SRV_DIMENSION_TEXTURE2DMS: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2DMS; +pub const D3D11_SRV_DIMENSION_TEXTURE2DMSARRAY: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE2DMSARRAY; +pub const D3D11_SRV_DIMENSION_TEXTURE3D: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURE3D; +pub const D3D11_SRV_DIMENSION_TEXTURECUBE: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURECUBE; +pub const D3D11_SRV_DIMENSION_TEXTURECUBEARRAY: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_TEXTURECUBEARRAY; +pub const D3D11_SRV_DIMENSION_BUFFEREX: ::D3D_SRV_DIMENSION = + D3D_SRV_DIMENSION_BUFFEREX; +STRUCT!{struct D3D_SHADER_MACRO { + Name: ::LPCSTR, + Definition: ::LPCSTR, +}} +pub type LPD3D_SHADER_MACRO = *mut D3D_SHADER_MACRO; +RIDL!( +interface ID3D10Blob(ID3D10BlobVtbl): IUnknown(IUnknownVtbl) { + fn GetBufferPointer(&mut self) -> ::LPVOID, + fn GetBufferSize(&mut self) -> ::SIZE_T +} +); +pub type LPD3D10BLOB = *mut ID3D10Blob; +pub type ID3DBlob = ID3D10Blob; +pub type LPD3DBLOB = *mut ID3DBlob; +ENUM!{enum D3D_INCLUDE_TYPE { + D3D_INCLUDE_LOCAL = 0, + D3D_INCLUDE_SYSTEM, +}} +pub const D3D10_INCLUDE_LOCAL: ::D3D_INCLUDE_TYPE = D3D_INCLUDE_LOCAL; +pub const D3D10_INCLUDE_SYSTEM: ::D3D_INCLUDE_TYPE = D3D_INCLUDE_SYSTEM; +RIDL!( +interface ID3DInclude(ID3DIncludeVtbl) { + fn Open( + &mut self, IncludeType: D3D_INCLUDE_TYPE, pFileName: ::LPCSTR, pParentData: ::LPCVOID, + ppData: *mut ::LPCVOID, pBytes: *mut ::UINT + ) -> ::HRESULT, + fn Close(&mut self, pData: ::LPCVOID) -> ::HRESULT +} +); +pub type LPD3DINCLUDE = *mut ID3DInclude; +ENUM!{enum D3D_SHADER_VARIABLE_CLASS { + D3D_SVC_SCALAR = 0, + D3D_SVC_VECTOR, + D3D_SVC_MATRIX_ROWS, + D3D_SVC_MATRIX_COLUMNS, + D3D_SVC_OBJECT, + D3D_SVC_STRUCT, + D3D_SVC_INTERFACE_CLASS, + D3D_SVC_INTERFACE_POINTER, +}} +pub const D3D10_SVC_SCALAR: ::D3D_SHADER_VARIABLE_CLASS = D3D_SVC_SCALAR; +pub const D3D10_SVC_VECTOR: ::D3D_SHADER_VARIABLE_CLASS = D3D_SVC_VECTOR; +pub const D3D10_SVC_MATRIX_ROWS: ::D3D_SHADER_VARIABLE_CLASS = D3D_SVC_MATRIX_ROWS; +pub const D3D10_SVC_MATRIX_COLUMNS: ::D3D_SHADER_VARIABLE_CLASS = D3D_SVC_MATRIX_COLUMNS; +pub const D3D10_SVC_OBJECT: ::D3D_SHADER_VARIABLE_CLASS = D3D_SVC_OBJECT; +pub const D3D10_SVC_STRUCT: ::D3D_SHADER_VARIABLE_CLASS = D3D_SVC_STRUCT; +pub const D3D11_SVC_INTERFACE_CLASS: ::D3D_SHADER_VARIABLE_CLASS = D3D_SVC_INTERFACE_CLASS; +pub const D3D11_SVC_INTERFACE_POINTER: ::D3D_SHADER_VARIABLE_CLASS = D3D_SVC_INTERFACE_POINTER; +FLAGS!{enum D3D_SHADER_VARIABLE_FLAGS { + D3D_SVF_USERPACKED = 1, + D3D_SVF_USED = 2, + D3D_SVF_INTERFACE_POINTER = 4, + D3D_SVF_INTERFACE_PARAMETER = 8, +}} +pub const D3D10_SVF_USERPACKED: ::D3D_SHADER_VARIABLE_FLAGS = D3D_SVF_USERPACKED; +pub const D3D10_SVF_USED: ::D3D_SHADER_VARIABLE_FLAGS = D3D_SVF_USED; +pub const D3D11_SVF_INTERFACE_POINTER: ::D3D_SHADER_VARIABLE_FLAGS = D3D_SVF_INTERFACE_POINTER; +pub const D3D11_SVF_INTERFACE_PARAMETER: ::D3D_SHADER_VARIABLE_FLAGS = D3D_SVF_INTERFACE_PARAMETER; +ENUM!{enum D3D_SHADER_VARIABLE_TYPE { + D3D_SVT_VOID = 0, + D3D_SVT_BOOL = 1, + D3D_SVT_INT = 2, + D3D_SVT_FLOAT = 3, + D3D_SVT_STRING = 4, + D3D_SVT_TEXTURE = 5, + D3D_SVT_TEXTURE1D = 6, + D3D_SVT_TEXTURE2D = 7, + D3D_SVT_TEXTURE3D = 8, + D3D_SVT_TEXTURECUBE = 9, + D3D_SVT_SAMPLER = 10, + D3D_SVT_SAMPLER1D = 11, + D3D_SVT_SAMPLER2D = 12, + D3D_SVT_SAMPLER3D = 13, + D3D_SVT_SAMPLERCUBE = 14, + D3D_SVT_PIXELSHADER = 15, + D3D_SVT_VERTEXSHADER = 16, + D3D_SVT_PIXELFRAGMENT = 17, + D3D_SVT_VERTEXFRAGMENT = 18, + D3D_SVT_UINT = 19, + D3D_SVT_UINT8 = 20, + D3D_SVT_GEOMETRYSHADER = 21, + D3D_SVT_RASTERIZER = 22, + D3D_SVT_DEPTHSTENCIL = 23, + D3D_SVT_BLEND = 24, + D3D_SVT_BUFFER = 25, + D3D_SVT_CBUFFER = 26, + D3D_SVT_TBUFFER = 27, + D3D_SVT_TEXTURE1DARRAY = 28, + D3D_SVT_TEXTURE2DARRAY = 29, + D3D_SVT_RENDERTARGETVIEW = 30, + D3D_SVT_DEPTHSTENCILVIEW = 31, + D3D_SVT_TEXTURE2DMS = 32, + D3D_SVT_TEXTURE2DMSARRAY = 33, + D3D_SVT_TEXTURECUBEARRAY = 34, + D3D_SVT_HULLSHADER = 35, + D3D_SVT_DOMAINSHADER = 36, + D3D_SVT_INTERFACE_POINTER = 37, + D3D_SVT_COMPUTESHADER = 38, + D3D_SVT_DOUBLE = 39, + D3D_SVT_RWTEXTURE1D = 40, + D3D_SVT_RWTEXTURE1DARRAY = 41, + D3D_SVT_RWTEXTURE2D = 42, + D3D_SVT_RWTEXTURE2DARRAY = 43, + D3D_SVT_RWTEXTURE3D = 44, + D3D_SVT_RWBUFFER = 45, + D3D_SVT_BYTEADDRESS_BUFFER = 46, + D3D_SVT_RWBYTEADDRESS_BUFFER = 47, + D3D_SVT_STRUCTURED_BUFFER = 48, + D3D_SVT_RWSTRUCTURED_BUFFER = 49, + D3D_SVT_APPEND_STRUCTURED_BUFFER = 50, + D3D_SVT_CONSUME_STRUCTURED_BUFFER = 51, + D3D_SVT_MIN8FLOAT = 52, + D3D_SVT_MIN10FLOAT = 53, + D3D_SVT_MIN16FLOAT = 54, + D3D_SVT_MIN12INT = 55, + D3D_SVT_MIN16INT = 56, + D3D_SVT_MIN16UINT = 57, +}} +pub const D3D10_SVT_VOID: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_VOID; +pub const D3D10_SVT_BOOL: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_BOOL; +pub const D3D10_SVT_INT: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_INT; +pub const D3D10_SVT_FLOAT: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_FLOAT; +pub const D3D10_SVT_STRING: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_STRING; +pub const D3D10_SVT_TEXTURE: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE; +pub const D3D10_SVT_TEXTURE1D: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE1D; +pub const D3D10_SVT_TEXTURE2D: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE2D; +pub const D3D10_SVT_TEXTURE3D: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE3D; +pub const D3D10_SVT_TEXTURECUBE: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURECUBE; +pub const D3D10_SVT_SAMPLER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_SAMPLER; +pub const D3D10_SVT_SAMPLER1D: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_SAMPLER1D; +pub const D3D10_SVT_SAMPLER2D: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_SAMPLER2D; +pub const D3D10_SVT_SAMPLER3D: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_SAMPLER3D; +pub const D3D10_SVT_SAMPLERCUBE: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_SAMPLERCUBE; +pub const D3D10_SVT_PIXELSHADER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_PIXELSHADER; +pub const D3D10_SVT_VERTEXSHADER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_VERTEXSHADER; +pub const D3D10_SVT_PIXELFRAGMENT: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_PIXELFRAGMENT; +pub const D3D10_SVT_VERTEXFRAGMENT: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_VERTEXFRAGMENT; +pub const D3D10_SVT_UINT: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_UINT; +pub const D3D10_SVT_UINT8: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_UINT8; +pub const D3D10_SVT_GEOMETRYSHADER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_GEOMETRYSHADER; +pub const D3D10_SVT_RASTERIZER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RASTERIZER; +pub const D3D10_SVT_DEPTHSTENCIL: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_DEPTHSTENCIL; +pub const D3D10_SVT_BLEND: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_BLEND; +pub const D3D10_SVT_BUFFER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_BUFFER; +pub const D3D10_SVT_CBUFFER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_CBUFFER; +pub const D3D10_SVT_TBUFFER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TBUFFER; +pub const D3D10_SVT_TEXTURE1DARRAY: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE1DARRAY; +pub const D3D10_SVT_TEXTURE2DARRAY: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE2DARRAY; +pub const D3D10_SVT_RENDERTARGETVIEW: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RENDERTARGETVIEW; +pub const D3D10_SVT_DEPTHSTENCILVIEW: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_DEPTHSTENCILVIEW; +pub const D3D10_SVT_TEXTURE2DMS: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE2DMS; +pub const D3D10_SVT_TEXTURE2DMSARRAY: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURE2DMSARRAY; +pub const D3D10_SVT_TEXTURECUBEARRAY: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_TEXTURECUBEARRAY; +pub const D3D11_SVT_HULLSHADER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_HULLSHADER; +pub const D3D11_SVT_DOMAINSHADER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_DOMAINSHADER; +pub const D3D11_SVT_INTERFACE_POINTER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_INTERFACE_POINTER; +pub const D3D11_SVT_COMPUTESHADER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_COMPUTESHADER; +pub const D3D11_SVT_DOUBLE: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_DOUBLE; +pub const D3D11_SVT_RWTEXTURE1D: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWTEXTURE1D; +pub const D3D11_SVT_RWTEXTURE1DARRAY: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWTEXTURE1DARRAY; +pub const D3D11_SVT_RWTEXTURE2D: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWTEXTURE2D; +pub const D3D11_SVT_RWTEXTURE2DARRAY: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWTEXTURE2DARRAY; +pub const D3D11_SVT_RWTEXTURE3D: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWTEXTURE3D; +pub const D3D11_SVT_RWBUFFER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_RWBUFFER; +pub const D3D11_SVT_BYTEADDRESS_BUFFER: ::D3D_SHADER_VARIABLE_TYPE = D3D_SVT_BYTEADDRESS_BUFFER; +pub const D3D11_SVT_RWBYTEADDRESS_BUFFER: ::D3D_SHADER_VARIABLE_TYPE = + D3D_SVT_RWBYTEADDRESS_BUFFER; +pub const D3D11_SVT_STRUCTURED_BUFFER: ::D3D_SHADER_VARIABLE_TYPE = + D3D_SVT_STRUCTURED_BUFFER; +pub const D3D11_SVT_RWSTRUCTURED_BUFFER: ::D3D_SHADER_VARIABLE_TYPE = + D3D_SVT_RWSTRUCTURED_BUFFER; +pub const D3D11_SVT_APPEND_STRUCTURED_BUFFER: ::D3D_SHADER_VARIABLE_TYPE = + D3D_SVT_APPEND_STRUCTURED_BUFFER; +pub const D3D11_SVT_CONSUME_STRUCTURED_BUFFER: ::D3D_SHADER_VARIABLE_TYPE = + D3D_SVT_CONSUME_STRUCTURED_BUFFER; +FLAGS!{enum D3D_SHADER_INPUT_FLAGS { + D3D_SIF_USERPACKED = 0x1, + D3D_SIF_COMPARISON_SAMPLER = 0x2, + D3D_SIF_TEXTURE_COMPONENT_0 = 0x4, + D3D_SIF_TEXTURE_COMPONENT_1 = 0x8, + D3D_SIF_TEXTURE_COMPONENTS = 0xc, + D3D_SIF_UNUSED = 0x10, +}} +pub const D3D10_SIF_USERPACKED: ::D3D_SHADER_INPUT_FLAGS = D3D_SIF_USERPACKED; +pub const D3D10_SIF_COMPARISON_SAMPLER: ::D3D_SHADER_INPUT_FLAGS = D3D_SIF_COMPARISON_SAMPLER; +pub const D3D10_SIF_TEXTURE_COMPONENT_0: ::D3D_SHADER_INPUT_FLAGS = D3D_SIF_TEXTURE_COMPONENT_0; +pub const D3D10_SIF_TEXTURE_COMPONENT_1: ::D3D_SHADER_INPUT_FLAGS = D3D_SIF_TEXTURE_COMPONENT_1; +pub const D3D10_SIF_TEXTURE_COMPONENTS: ::D3D_SHADER_INPUT_FLAGS = D3D_SIF_TEXTURE_COMPONENTS; +ENUM!{enum D3D_SHADER_INPUT_TYPE { + D3D_SIT_CBUFFER, + D3D_SIT_TBUFFER, + D3D_SIT_TEXTURE, + D3D_SIT_SAMPLER, + D3D_SIT_UAV_RWTYPED, + D3D_SIT_STRUCTURED, + D3D_SIT_UAV_RWSTRUCTURED, + D3D_SIT_BYTEADDRESS, + D3D_SIT_UAV_RWBYTEADDRESS, + D3D_SIT_UAV_APPEND_STRUCTURED, + D3D_SIT_UAV_CONSUME_STRUCTURED, + D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER, +}} +pub const D3D10_SIT_CBUFFER: ::D3D_SHADER_INPUT_TYPE = D3D_SIT_CBUFFER; +pub const D3D10_SIT_TBUFFER: ::D3D_SHADER_INPUT_TYPE = D3D_SIT_TBUFFER; +pub const D3D10_SIT_TEXTURE: ::D3D_SHADER_INPUT_TYPE = D3D_SIT_TEXTURE; +pub const D3D10_SIT_SAMPLER: ::D3D_SHADER_INPUT_TYPE = D3D_SIT_SAMPLER; +pub const D3D11_SIT_UAV_RWTYPED: ::D3D_SHADER_INPUT_TYPE = D3D_SIT_UAV_RWTYPED; +pub const D3D11_SIT_STRUCTURED: ::D3D_SHADER_INPUT_TYPE = D3D_SIT_STRUCTURED; +pub const D3D11_SIT_UAV_RWSTRUCTURED: ::D3D_SHADER_INPUT_TYPE = D3D_SIT_UAV_RWSTRUCTURED; +pub const D3D11_SIT_BYTEADDRESS: ::D3D_SHADER_INPUT_TYPE = D3D_SIT_BYTEADDRESS; +pub const D3D11_SIT_UAV_RWBYTEADDRESS: ::D3D_SHADER_INPUT_TYPE = D3D_SIT_UAV_RWBYTEADDRESS; +pub const D3D11_SIT_UAV_APPEND_STRUCTURED: ::D3D_SHADER_INPUT_TYPE = D3D_SIT_UAV_APPEND_STRUCTURED; +pub const D3D11_SIT_UAV_CONSUME_STRUCTURED: ::D3D_SHADER_INPUT_TYPE = + D3D_SIT_UAV_CONSUME_STRUCTURED; +pub const D3D11_SIT_UAV_RWSTRUCTURED_WITH_COUNTER: ::D3D_SHADER_INPUT_TYPE = + D3D_SIT_UAV_RWSTRUCTURED_WITH_COUNTER; +FLAGS!{enum D3D_SHADER_CBUFFER_FLAGS { + D3D_CBF_USERPACKED = 1, +}} +pub const D3D10_CBF_USERPACKED: ::D3D_SHADER_CBUFFER_FLAGS = D3D_CBF_USERPACKED; +ENUM!{enum D3D_CBUFFER_TYPE { + D3D_CT_CBUFFER, + D3D_CT_TBUFFER, + D3D_CT_INTERFACE_POINTERS, + D3D_CT_RESOURCE_BIND_INFO, +}} +pub const D3D10_CT_CBUFFER: ::D3D_CBUFFER_TYPE = D3D_CT_CBUFFER; +pub const D3D10_CT_TBUFFER: ::D3D_CBUFFER_TYPE = D3D_CT_TBUFFER; +pub const D3D11_CT_CBUFFER: ::D3D_CBUFFER_TYPE = D3D_CT_CBUFFER; +pub const D3D11_CT_TBUFFER: ::D3D_CBUFFER_TYPE = D3D_CT_TBUFFER; +pub const D3D11_CT_INTERFACE_POINTERS: ::D3D_CBUFFER_TYPE = D3D_CT_INTERFACE_POINTERS; +pub const D3D11_CT_RESOURCE_BIND_INFO: ::D3D_CBUFFER_TYPE = D3D_CT_RESOURCE_BIND_INFO; +ENUM!{enum D3D_NAME { + D3D_NAME_UNDEFINED = 0, + D3D_NAME_POSITION = 1, + D3D_NAME_CLIP_DISTANCE = 2, + D3D_NAME_CULL_DISTANCE = 3, + D3D_NAME_RENDER_TARGET_ARRAY_INDEX = 4, + D3D_NAME_VIEWPORT_ARRAY_INDEX = 5, + D3D_NAME_VERTEX_ID = 6, + D3D_NAME_PRIMITIVE_ID = 7, + D3D_NAME_INSTANCE_ID = 8, + D3D_NAME_IS_FRONT_FACE = 9, + D3D_NAME_SAMPLE_INDEX = 10, + D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR = 11, + D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR = 12, + D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR = 13, + D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR = 14, + D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR = 15, + D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR = 16, + D3D_NAME_TARGET = 64, + D3D_NAME_DEPTH = 65, + D3D_NAME_COVERAGE = 66, + D3D_NAME_DEPTH_GREATER_EQUAL = 67, + D3D_NAME_DEPTH_LESS_EQUAL = 68, +}} +pub const D3D10_NAME_UNDEFINED: D3D_NAME = D3D_NAME_UNDEFINED; +pub const D3D10_NAME_POSITION: D3D_NAME = D3D_NAME_POSITION; +pub const D3D10_NAME_CLIP_DISTANCE: D3D_NAME = D3D_NAME_CLIP_DISTANCE; +pub const D3D10_NAME_CULL_DISTANCE: D3D_NAME = D3D_NAME_CULL_DISTANCE; +pub const D3D10_NAME_RENDER_TARGET_ARRAY_INDEX: D3D_NAME = D3D_NAME_RENDER_TARGET_ARRAY_INDEX; +pub const D3D10_NAME_VIEWPORT_ARRAY_INDEX: D3D_NAME = D3D_NAME_VIEWPORT_ARRAY_INDEX; +pub const D3D10_NAME_VERTEX_ID: D3D_NAME = D3D_NAME_VERTEX_ID; +pub const D3D10_NAME_PRIMITIVE_ID: D3D_NAME = D3D_NAME_PRIMITIVE_ID; +pub const D3D10_NAME_INSTANCE_ID: D3D_NAME = D3D_NAME_INSTANCE_ID; +pub const D3D10_NAME_IS_FRONT_FACE: D3D_NAME = D3D_NAME_IS_FRONT_FACE; +pub const D3D10_NAME_SAMPLE_INDEX: D3D_NAME = D3D_NAME_SAMPLE_INDEX; +pub const D3D10_NAME_TARGET: D3D_NAME = D3D_NAME_TARGET; +pub const D3D10_NAME_DEPTH: D3D_NAME = D3D_NAME_DEPTH; +pub const D3D10_NAME_COVERAGE: D3D_NAME = D3D_NAME_COVERAGE; +pub const D3D11_NAME_FINAL_QUAD_EDGE_TESSFACTOR: D3D_NAME = D3D_NAME_FINAL_QUAD_EDGE_TESSFACTOR; +pub const D3D11_NAME_FINAL_QUAD_INSIDE_TESSFACTOR: D3D_NAME = D3D_NAME_FINAL_QUAD_INSIDE_TESSFACTOR; +pub const D3D11_NAME_FINAL_TRI_EDGE_TESSFACTOR: D3D_NAME = D3D_NAME_FINAL_TRI_EDGE_TESSFACTOR; +pub const D3D11_NAME_FINAL_TRI_INSIDE_TESSFACTOR: D3D_NAME = D3D_NAME_FINAL_TRI_INSIDE_TESSFACTOR; +pub const D3D11_NAME_FINAL_LINE_DETAIL_TESSFACTOR: D3D_NAME = D3D_NAME_FINAL_LINE_DETAIL_TESSFACTOR; +pub const D3D11_NAME_FINAL_LINE_DENSITY_TESSFACTOR: D3D_NAME = D3D_NAME_FINAL_LINE_DENSITY_TESSFACTOR; +pub const D3D11_NAME_DEPTH_GREATER_EQUAL: D3D_NAME = D3D_NAME_DEPTH_GREATER_EQUAL; +pub const D3D11_NAME_DEPTH_LESS_EQUAL: D3D_NAME = D3D_NAME_DEPTH_LESS_EQUAL; +ENUM!{enum D3D_RESOURCE_RETURN_TYPE { + D3D_RETURN_TYPE_UNORM = 1, + D3D_RETURN_TYPE_SNORM = 2, + D3D_RETURN_TYPE_SINT = 3, + D3D_RETURN_TYPE_UINT = 4, + D3D_RETURN_TYPE_FLOAT = 5, + D3D_RETURN_TYPE_MIXED = 6, + D3D_RETURN_TYPE_DOUBLE = 7, + D3D_RETURN_TYPE_CONTINUED = 8, +}} +pub const D3D10_RETURN_TYPE_UNORM: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_UNORM; +pub const D3D10_RETURN_TYPE_SNORM: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_SNORM; +pub const D3D10_RETURN_TYPE_SINT: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_SINT; +pub const D3D10_RETURN_TYPE_UINT: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_UINT; +pub const D3D10_RETURN_TYPE_FLOAT: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_FLOAT; +pub const D3D10_RETURN_TYPE_MIXED: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_MIXED; +pub const D3D11_RETURN_TYPE_UNORM: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_UNORM; +pub const D3D11_RETURN_TYPE_SNORM: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_SNORM; +pub const D3D11_RETURN_TYPE_SINT: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_SINT; +pub const D3D11_RETURN_TYPE_UINT: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_UINT; +pub const D3D11_RETURN_TYPE_FLOAT: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_FLOAT; +pub const D3D11_RETURN_TYPE_MIXED: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_MIXED; +pub const D3D11_RETURN_TYPE_DOUBLE: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_DOUBLE; +pub const D3D11_RETURN_TYPE_CONTINUED: ::D3D_RESOURCE_RETURN_TYPE = D3D_RETURN_TYPE_CONTINUED; +ENUM!{enum D3D_REGISTER_COMPONENT_TYPE { + D3D_REGISTER_COMPONENT_UNKNOWN = 0, + D3D_REGISTER_COMPONENT_UINT32 = 1, + D3D_REGISTER_COMPONENT_SINT32 = 2, + D3D_REGISTER_COMPONENT_FLOAT32 = 3, +}} +pub const D3D10_REGISTER_COMPONENT_UNKNOWN: ::D3D_REGISTER_COMPONENT_TYPE = + D3D_REGISTER_COMPONENT_UNKNOWN; +pub const D3D10_REGISTER_COMPONENT_UINT32: ::D3D_REGISTER_COMPONENT_TYPE = + D3D_REGISTER_COMPONENT_UINT32; +pub const D3D10_REGISTER_COMPONENT_SINT32: ::D3D_REGISTER_COMPONENT_TYPE = + D3D_REGISTER_COMPONENT_SINT32; +pub const D3D10_REGISTER_COMPONENT_FLOAT32: ::D3D_REGISTER_COMPONENT_TYPE = + D3D_REGISTER_COMPONENT_FLOAT32; +ENUM!{enum D3D_TESSELLATOR_DOMAIN { + D3D_TESSELLATOR_DOMAIN_UNDEFINED, + D3D_TESSELLATOR_DOMAIN_ISOLINE, + D3D_TESSELLATOR_DOMAIN_TRI, + D3D_TESSELLATOR_DOMAIN_QUAD, +}} +pub const D3D11_TESSELLATOR_DOMAIN_UNDEFINED: ::D3D_TESSELLATOR_DOMAIN = + D3D_TESSELLATOR_DOMAIN_UNDEFINED; +pub const D3D11_TESSELLATOR_DOMAIN_ISOLINE: ::D3D_TESSELLATOR_DOMAIN = + D3D_TESSELLATOR_DOMAIN_ISOLINE; +pub const D3D11_TESSELLATOR_DOMAIN_TRI: ::D3D_TESSELLATOR_DOMAIN = D3D_TESSELLATOR_DOMAIN_TRI; +pub const D3D11_TESSELLATOR_DOMAIN_QUAD: ::D3D_TESSELLATOR_DOMAIN = D3D_TESSELLATOR_DOMAIN_QUAD; +ENUM!{enum D3D_TESSELLATOR_PARTITIONING { + D3D_TESSELLATOR_PARTITIONING_UNDEFINED, + D3D_TESSELLATOR_PARTITIONING_INTEGER, + D3D_TESSELLATOR_PARTITIONING_POW2, + D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD, + D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN, +}} +pub const D3D11_TESSELLATOR_PARTITIONING_UNDEFINED: ::D3D_TESSELLATOR_PARTITIONING = + D3D_TESSELLATOR_PARTITIONING_UNDEFINED; +pub const D3D11_TESSELLATOR_PARTITIONING_INTEGER: ::D3D_TESSELLATOR_PARTITIONING = + D3D_TESSELLATOR_PARTITIONING_INTEGER; +pub const D3D11_TESSELLATOR_PARTITIONING_POW2: ::D3D_TESSELLATOR_PARTITIONING = + D3D_TESSELLATOR_PARTITIONING_POW2; +pub const D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD: ::D3D_TESSELLATOR_PARTITIONING = + D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD; +pub const D3D11_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN: ::D3D_TESSELLATOR_PARTITIONING = + D3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN; +ENUM!{enum D3D_TESSELLATOR_OUTPUT_PRIMITIVE { + D3D_TESSELLATOR_OUTPUT_UNDEFINED, + D3D_TESSELLATOR_OUTPUT_POINT, + D3D_TESSELLATOR_OUTPUT_LINE, + D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW, + D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW, +}} +pub const D3D11_TESSELLATOR_OUTPUT_UNDEFINED: ::D3D_TESSELLATOR_OUTPUT_PRIMITIVE = + D3D_TESSELLATOR_OUTPUT_UNDEFINED; +pub const D3D11_TESSELLATOR_OUTPUT_POINT: ::D3D_TESSELLATOR_OUTPUT_PRIMITIVE = + D3D_TESSELLATOR_OUTPUT_POINT; +pub const D3D11_TESSELLATOR_OUTPUT_LINE: ::D3D_TESSELLATOR_OUTPUT_PRIMITIVE = + D3D_TESSELLATOR_OUTPUT_LINE; +pub const D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CW: ::D3D_TESSELLATOR_OUTPUT_PRIMITIVE = + D3D_TESSELLATOR_OUTPUT_TRIANGLE_CW; +pub const D3D11_TESSELLATOR_OUTPUT_TRIANGLE_CCW: ::D3D_TESSELLATOR_OUTPUT_PRIMITIVE = + D3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW; +ENUM!{enum D3D_MIN_PRECISION { + D3D_MIN_PRECISION_DEFAULT, + D3D_MIN_PRECISION_FLOAT_16, + D3D_MIN_PRECISION_FLOAT_2_8, + D3D_MIN_PRECISION_RESERVED, + D3D_MIN_PRECISION_SINT_16, + D3D_MIN_PRECISION_UINT_16, + D3D_MIN_PRECISION_ANY_16 = 0xf0, + D3D_MIN_PRECISION_ANY_10 = 0xf1, +}} +ENUM!{enum D3D_INTERPOLATION_MODE { + D3D_INTERPOLATION_UNDEFINED, + D3D_INTERPOLATION_CONSTANT, + D3D_INTERPOLATION_LINEAR, + D3D_INTERPOLATION_LINEAR_CENTROID, + D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE, + D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_CENTROID, + D3D_INTERPOLATION_LINEAR_SAMPLE, + D3D_INTERPOLATION_LINEAR_NOPERSPECTIVE_SAMPLE, +}} +FLAGS!{enum D3D_PARAMETER_FLAGS { + D3D_PF_NONE = 0, + D3D_PF_IN = 0x1, + D3D_PF_OUT = 0x2, +}} diff --git a/third_party/rust/winapi-0.2.8/src/d3dcompiler.rs b/third_party/rust/winapi-0.2.8/src/d3dcompiler.rs new file mode 100644 index 0000000000..6918888f6a --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/d3dcompiler.rs @@ -0,0 +1,74 @@ +// Copyright © 2016, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +use super::*; +pub const D3DCOMPILER_DLL: &'static str = "d3dcompiler_47.dll"; +pub const D3D_COMPILER_VERSION: DWORD = 47; +pub const D3DCOMPILE_DEBUG: DWORD = 1 << 0; +pub const D3DCOMPILE_SKIP_VALIDATION: DWORD = 1 << 1; +pub const D3DCOMPILE_SKIP_OPTIMIZATION: DWORD = 1 << 2; +pub const D3DCOMPILE_PACK_MATRIX_ROW_MAJOR: DWORD = 1 << 3; +pub const D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR: DWORD = 1 << 4; +pub const D3DCOMPILE_PARTIAL_PRECISION: DWORD = 1 << 5; +pub const D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT: DWORD = 1 << 6; +pub const D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT: DWORD = 1 << 7; +pub const D3DCOMPILE_NO_PRESHADER: DWORD = 1 << 8; +pub const D3DCOMPILE_AVOID_FLOW_CONTROL: DWORD = 1 << 9; +pub const D3DCOMPILE_PREFER_FLOW_CONTROL: DWORD = 1 << 10; +pub const D3DCOMPILE_ENABLE_STRICTNESS: DWORD = 1 << 11; +pub const D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY: DWORD = 1 << 12; +pub const D3DCOMPILE_IEEE_STRICTNESS: DWORD = 1 << 13; +pub const D3DCOMPILE_OPTIMIZATION_LEVEL0: DWORD = 1 << 14; +pub const D3DCOMPILE_OPTIMIZATION_LEVEL1: DWORD = 0; +pub const D3DCOMPILE_OPTIMIZATION_LEVEL2: DWORD = (1 << 14) | (1 << 15); +pub const D3DCOMPILE_OPTIMIZATION_LEVEL3: DWORD = 1 << 15; +pub const D3DCOMPILE_RESERVED16: DWORD = 1 << 16; +pub const D3DCOMPILE_RESERVED17: DWORD = 1 << 17; +pub const D3DCOMPILE_WARNINGS_ARE_ERRORS: DWORD = 1 << 18; +pub const D3DCOMPILE_RESOURCES_MAY_ALIAS: DWORD = 1 << 19; +pub const D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES: DWORD = 1 << 20; +pub const D3DCOMPILE_ALL_RESOURCES_BOUND: DWORD = 1 << 21; +pub const D3DCOMPILE_EFFECT_CHILD_EFFECT: DWORD = 1 << 0; +pub const D3DCOMPILE_EFFECT_ALLOW_SLOW_OPS: DWORD = 1 << 1; +pub const D3D_COMPILE_STANDARD_FILE_INCLUDE: *mut ID3DInclude = 1 as *mut ID3DInclude; +pub const D3DCOMPILE_SECDATA_MERGE_UAV_SLOTS: DWORD = 0x00000001; +pub const D3DCOMPILE_SECDATA_PRESERVE_TEMPLATE_SLOTS: DWORD = 0x00000002; +pub const D3DCOMPILE_SECDATA_REQUIRE_TEMPLATE_MATCH: DWORD = 0x00000004; +pub const D3D_DISASM_ENABLE_COLOR_CODE: DWORD = 0x00000001; +pub const D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS: DWORD = 0x00000002; +pub const D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING: DWORD = 0x00000004; +pub const D3D_DISASM_ENABLE_INSTRUCTION_CYCLE: DWORD = 0x00000008; +pub const D3D_DISASM_DISABLE_DEBUG_INFO: DWORD = 0x00000010; +pub const D3D_DISASM_ENABLE_INSTRUCTION_OFFSET: DWORD = 0x00000020; +pub const D3D_DISASM_INSTRUCTION_ONLY: DWORD = 0x00000040; +pub const D3D_DISASM_PRINT_HEX_LITERALS: DWORD = 0x00000080; +pub const D3D_GET_INST_OFFSETS_INCLUDE_NON_EXECUTABLE: DWORD = 0x00000001; +FLAGS!{enum D3DCOMPILER_STRIP_FLAGS { + D3DCOMPILER_STRIP_REFLECTION_DATA = 0x00000001, + D3DCOMPILER_STRIP_DEBUG_INFO = 0x00000002, + D3DCOMPILER_STRIP_TEST_BLOBS = 0x00000004, + D3DCOMPILER_STRIP_PRIVATE_DATA = 0x00000008, + D3DCOMPILER_STRIP_ROOT_SIGNATURE = 0x00000010, + D3DCOMPILER_STRIP_FORCE_DWORD = 0x7fffffff, +}} +ENUM!{enum D3D_BLOB_PART { + D3D_BLOB_INPUT_SIGNATURE_BLOB, + D3D_BLOB_OUTPUT_SIGNATURE_BLOB, + D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB, + D3D_BLOB_PATCH_CONSTANT_SIGNATURE_BLOB, + D3D_BLOB_ALL_SIGNATURE_BLOB, + D3D_BLOB_DEBUG_INFO, + D3D_BLOB_LEGACY_SHADER, + D3D_BLOB_XNA_PREPASS_SHADER, + D3D_BLOB_XNA_SHADER, + D3D_BLOB_PDB, + D3D_BLOB_PRIVATE_DATA, + D3D_BLOB_ROOT_SIGNATURE, + D3D_BLOB_TEST_ALTERNATE_SHADER = 0x8000, + D3D_BLOB_TEST_COMPILE_DETAILS, + D3D_BLOB_TEST_COMPILE_PERF, + D3D_BLOB_TEST_COMPILE_REPORT, +}} +STRUCT!{struct D3D_SHADER_DATA { + pBytecode: LPCVOID, + BytecodeLength: SIZE_T, +}} diff --git a/third_party/rust/winapi-0.2.8/src/dbghelp.rs b/third_party/rust/winapi-0.2.8/src/dbghelp.rs new file mode 100644 index 0000000000..8c20d72bf0 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dbghelp.rs @@ -0,0 +1,340 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! DbgHelp include file +#[cfg(target_arch = "x86_64")] +STRUCT!{struct LOADED_IMAGE { + ModuleName: ::PSTR, + hFile: ::HANDLE, + MappedAddress: ::PUCHAR, + FileHeader: ::PIMAGE_NT_HEADERS64, + LastRvaSection: ::PIMAGE_SECTION_HEADER, + NumberOfSections: ::ULONG, + Sections: ::PIMAGE_SECTION_HEADER, + Characteristics: ::ULONG, + fSystemImage: ::BOOLEAN, + fDOSImage: ::BOOLEAN, + fReadOnly: ::BOOLEAN, + Version: ::UCHAR, + Links: ::LIST_ENTRY, + SizeOfImage: ::ULONG, +}} +#[cfg(target_arch = "x86")] +STRUCT!{struct LOADED_IMAGE { + ModuleName: ::PSTR, + hFile: ::HANDLE, + MappedAddress: ::PUCHAR, + FileHeader: ::PIMAGE_NT_HEADERS32, + LastRvaSection: ::PIMAGE_SECTION_HEADER, + NumberOfSections: ::ULONG, + Sections: ::PIMAGE_SECTION_HEADER, + Characteristics: ::ULONG, + fSystemImage: ::BOOLEAN, + fDOSImage: ::BOOLEAN, + fReadOnly: ::BOOLEAN, + Version: ::UCHAR, + Links: ::LIST_ENTRY, + SizeOfImage: ::ULONG, +}} +pub const MAX_SYM_NAME: usize = 2000; +pub const ERROR_IMAGE_NOT_STRIPPED: ::DWORD = 0x8800; +pub const ERROR_NO_DBG_POINTER: ::DWORD = 0x8801; +pub const ERROR_NO_PDB_POINTER: ::DWORD = 0x8802; +pub type PFIND_DEBUG_FILE_CALLBACK = Option<unsafe extern "system" fn( + FileHandle: ::HANDLE, FileName: ::PCSTR, CallerData: ::PVOID, +) -> ::BOOL>; +pub type PFIND_DEBUG_FILE_CALLBACKW = Option<unsafe extern "system" fn( + FileHandle: ::HANDLE, FileName: ::PCWSTR, CallerData: ::PVOID, +) -> ::BOOL>; +pub type PFINDFILEINPATHCALLBACK = Option<unsafe extern "system" fn( + filename: ::PCSTR, context: ::PVOID, +) -> ::BOOL>; +pub type PFINDFILEINPATHCALLBACKW = Option<unsafe extern "system" fn( + filename: ::PCWSTR, context: ::PVOID, +) -> ::BOOL>; +pub type PFIND_EXE_FILE_CALLBACK = Option<unsafe extern "system" fn( + FileHandle: ::HANDLE, FileName: ::PCSTR, CallerData: ::PVOID, +) -> ::BOOL>; +pub type PFIND_EXE_FILE_CALLBACKW = Option<unsafe extern "system" fn( + FileHandle: ::HANDLE, FileName: ::PCWSTR, CallerData: ::PVOID, +) -> ::BOOL>; +#[cfg(target_arch = "x86")] +STRUCT!{struct IMAGE_DEBUG_INFORMATION { + List: ::LIST_ENTRY, + ReservedSize: ::DWORD, + ReservedMappedBase: ::PVOID, + ReservedMachine: ::USHORT, + ReservedCharacteristics: ::USHORT, + ReservedCheckSum: ::DWORD, + ImageBase: ::DWORD, + SizeOfImage: ::DWORD, + ReservedNumberOfSections: ::DWORD, + ReservedSections: ::PIMAGE_SECTION_HEADER, + ReservedExportedNamesSize: ::DWORD, + ReservedExportedNames: ::PSTR, + ReservedNumberOfFunctionTableEntries: ::DWORD, + ReservedFunctionTableEntries: ::PIMAGE_FUNCTION_ENTRY, + ReservedLowestFunctionStartingAddress: ::DWORD, + ReservedHighestFunctionEndingAddress: ::DWORD, + ReservedNumberOfFpoTableEntries: ::DWORD, + ReservedFpoTableEntries: ::PFPO_DATA, + SizeOfCoffSymbols: ::DWORD, + CoffSymbols: ::PIMAGE_COFF_SYMBOLS_HEADER, + ReservedSizeOfCodeViewSymbols: ::DWORD, + ReservedCodeViewSymbols: ::PVOID, + ImageFilePath: ::PSTR, + ImageFileName: ::PSTR, + ReservedDebugFilePath: ::PSTR, + ReservedTimeDateStamp: ::DWORD, + ReservedRomImage: ::BOOL, + ReservedDebugDirectory: ::PIMAGE_DEBUG_DIRECTORY, + ReservedNumberOfDebugDirectories: ::DWORD, + ReservedOriginalFunctionTableBaseAddress: ::DWORD, + Reserved: [::DWORD; 2], +}} +#[cfg(target_arch = "x86")] +pub type PIMAGE_DEBUG_INFORMATION = *mut IMAGE_DEBUG_INFORMATION; +pub type PENUMDIRTREE_CALLBACK = Option<unsafe extern "system" fn( + FilePath: ::PCSTR, CallerData: ::PVOID, +) -> ::BOOL>; +pub type PENUMDIRTREE_CALLBACKW = Option<unsafe extern "system" fn( + FilePath: ::PCWSTR, CallerData: ::PVOID, +) -> ::BOOL>; +pub const UNDNAME_COMPLETE: ::DWORD = 0x0000; +pub const UNDNAME_NO_LEADING_UNDERSCORES: ::DWORD = 0x0001; +pub const UNDNAME_NO_MS_KEYWORDS: ::DWORD = 0x0002; +pub const UNDNAME_NO_FUNCTION_RETURNS: ::DWORD = 0x0004; +pub const UNDNAME_NO_ALLOCATION_MODEL: ::DWORD = 0x0008; +pub const UNDNAME_NO_ALLOCATION_LANGUAGE: ::DWORD = 0x0010; +pub const UNDNAME_NO_MS_THISTYPE: ::DWORD = 0x0020; +pub const UNDNAME_NO_CV_THISTYPE: ::DWORD = 0x0040; +pub const UNDNAME_NO_THISTYPE: ::DWORD = 0x0060; +pub const UNDNAME_NO_ACCESS_SPECIFIERS: ::DWORD = 0x0080; +pub const UNDNAME_NO_THROW_SIGNATURES: ::DWORD = 0x0100; +pub const UNDNAME_NO_MEMBER_TYPE: ::DWORD = 0x0200; +pub const UNDNAME_NO_RETURN_UDT_MODEL: ::DWORD = 0x0400; +pub const UNDNAME_32_BIT_DECODE: ::DWORD = 0x0800; +pub const UNDNAME_NAME_ONLY: ::DWORD = 0x1000; +pub const UNDNAME_NO_ARGUMENTS: ::DWORD = 0x2000; +pub const UNDNAME_NO_SPECIAL_SYMS: ::DWORD = 0x4000; +pub const DBHHEADER_DEBUGDIRS: ::DWORD = 0x1; +pub const DBHHEADER_CVMISC: ::DWORD = 0x2; +pub const DBHHEADER_PDBGUID: ::DWORD = 0x3; +STRUCT!{struct MODLOAD_DATA { + ssize: ::DWORD, + ssig: ::DWORD, + data: ::PVOID, + size: ::DWORD, + flags: ::DWORD, +}} +pub type PMODLOAD_DATA = *mut MODLOAD_DATA; +STRUCT!{struct MODLOAD_CVMISC { + oCV: ::DWORD, + cCV: ::size_t, + oMisc: ::DWORD, + cMisc: ::size_t, + dtImage: ::DWORD, + cImage: ::DWORD, +}} +pub type PMODLOAD_CVMISC = *mut MODLOAD_CVMISC; +STRUCT!{struct MODLOAD_PDBGUID_PDBAGE { + PdbGuid: ::GUID, + PdbAge: ::DWORD, +}} +pub type PMODLOAD_PDBGUID_PDBAGE = *mut MODLOAD_PDBGUID_PDBAGE; +ENUM!{enum ADDRESS_MODE { + AddrMode1616, + AddrMode1632, + AddrModeReal, + AddrModeFlat, +}} +STRUCT!{struct ADDRESS64 { + Offset: ::DWORD64, + Segment: ::WORD, + Mode: ::ADDRESS_MODE, +}} +pub type LPADDRESS64 = *mut ADDRESS64; +#[cfg(target_arch = "x86_64")] +pub type ADDRESS = ADDRESS64; +#[cfg(target_arch = "x86_64")] +pub type LPADDRESS = LPADDRESS64; +#[cfg(target_arch = "x86")] +STRUCT!{struct ADDRESS { + Offset: ::DWORD, + Segment: ::WORD, + Mode: ::ADDRESS_MODE, +}} +#[cfg(target_arch = "x86")] +pub type LPADDRESS = *mut ADDRESS; +STRUCT!{struct KDHELP64 { + Thread: ::DWORD64, + ThCallbackStack: ::DWORD, + ThCallbackBStore: ::DWORD, + NextCallback: ::DWORD, + FramePointer: ::DWORD, + KiCallUserMode: ::DWORD64, + KeUserCallbackDispatcher: ::DWORD64, + SystemRangeStart: ::DWORD64, + KiUserExceptionDispatcher: ::DWORD64, + StackBase: ::DWORD64, + StackLimit: ::DWORD64, + BuildVersion: ::DWORD, + Reserved0: ::DWORD, + Reserved1: [::DWORD64; 4], +}} +pub type PKDHELP64 = *mut KDHELP64; +#[cfg(target_arch = "x86_64")] +pub type KDHELP = KDHELP64; +#[cfg(target_arch = "x86_64")] +pub type PKDHELP = PKDHELP64; +#[cfg(target_arch = "x86")] +STRUCT!{struct KDHELP { + Thread: ::DWORD, + ThCallbackStack: ::DWORD, + NextCallback: ::DWORD, + FramePointer: ::DWORD, + KiCallUserMode: ::DWORD, + KeUserCallbackDispatcher: ::DWORD, + SystemRangeStart: ::DWORD, + ThCallbackBStore: ::DWORD, + KiUserExceptionDispatcher: ::DWORD, + StackBase: ::DWORD, + StackLimit: ::DWORD, + Reserved: [::DWORD; 5], +}} +#[cfg(target_arch = "x86")] +pub type PKDHELP = *mut KDHELP; +STRUCT!{struct STACKFRAME64 { + AddrPC: ::ADDRESS64, + AddrReturn: ::ADDRESS64, + AddrFrame: ::ADDRESS64, + AddrStack: ::ADDRESS64, + AddrBStore: ::ADDRESS64, + FuncTableEntry: ::PVOID, + Params: [::DWORD64; 4], + Far: ::BOOL, + Virtual: ::BOOL, + Reserved: [::DWORD64; 3], + KdHelp: ::KDHELP64, +}} +pub type LPSTACKFRAME64 = *mut STACKFRAME64; +pub const INLINE_FRAME_CONTEXT_INIT: ::DWORD = 0; +pub const INLINE_FRAME_CONTEXT_IGNORE: ::DWORD = 0xFFFFFFFF; +STRUCT!{struct STACKFRAME_EX { + AddrPC: ::ADDRESS64, + AddrReturn: ::ADDRESS64, + AddrFrame: ::ADDRESS64, + AddrStack: ::ADDRESS64, + AddrBStore: ::ADDRESS64, + FuncTableEntry: ::PVOID, + Params: [::DWORD64; 4], + Far: ::BOOL, + Virtual: ::BOOL, + Reserved: [::DWORD64; 3], + KdHelp: ::KDHELP64, + StackFrameSize: ::DWORD, + InlineFrameContext: ::DWORD, +}} +pub type LPSTACKFRAME_EX = *mut STACKFRAME_EX; +#[cfg(target_arch = "x86_64")] +pub type STACKFRAME = STACKFRAME64; +#[cfg(target_arch = "x86_64")] +pub type LPSTACKFRAME = LPSTACKFRAME64; +#[cfg(target_arch = "x86")] +STRUCT!{struct STACKFRAME { + AddrPC: ::ADDRESS, + AddrReturn: ::ADDRESS, + AddrFrame: ::ADDRESS, + AddrStack: ::ADDRESS, + FuncTableEntry: ::PVOID, + Params: [::DWORD; 4], + Far: ::BOOL, + Virtual: ::BOOL, + Reserved: [::DWORD; 3], + KdHelp: ::KDHELP, + AddrBStore: ::ADDRESS, +}} +#[cfg(target_arch = "x86")] +pub type LPSTACKFRAME = *mut STACKFRAME; +pub type PREAD_PROCESS_MEMORY_ROUTINE64 = Option<unsafe extern "system" fn( + hProcess: ::HANDLE, qwBaseAddress: ::DWORD64, lpBuffer: ::PVOID, nSize: ::DWORD, + lpNumberOfBytesRead: ::LPDWORD, +) -> ::BOOL>; +pub type PFUNCTION_TABLE_ACCESS_ROUTINE64 = Option<unsafe extern "system" fn( + ahProcess: ::HANDLE, AddrBase: ::DWORD64, +) -> ::PVOID>; +pub type PGET_MODULE_BASE_ROUTINE64 = Option<unsafe extern "system" fn( + hProcess: ::HANDLE, Address: ::DWORD64, +) -> ::DWORD64>; +pub type PTRANSLATE_ADDRESS_ROUTINE64 = Option<unsafe extern "system" fn( + hProcess: ::HANDLE, hThread: ::HANDLE, lpaddr: LPADDRESS64, +) -> ::DWORD64>; +pub const SYM_STKWALK_DEFAULT: ::DWORD = 0x00000000; +pub const SYM_STKWALK_FORCE_FRAMEPTR: ::DWORD = 0x00000001; +#[cfg(target_arch = "x86_64")] +pub type PREAD_PROCESS_MEMORY_ROUTINE = PREAD_PROCESS_MEMORY_ROUTINE64; +#[cfg(target_arch = "x86_64")] +pub type PFUNCTION_TABLE_ACCESS_ROUTINE = PFUNCTION_TABLE_ACCESS_ROUTINE64; +#[cfg(target_arch = "x86_64")] +pub type PGET_MODULE_BASE_ROUTINE = PGET_MODULE_BASE_ROUTINE64; +#[cfg(target_arch = "x86_64")] +pub type PTRANSLATE_ADDRESS_ROUTINE = PTRANSLATE_ADDRESS_ROUTINE64; +#[cfg(target_arch = "x86")] +pub type PREAD_PROCESS_MEMORY_ROUTINE = Option<unsafe extern "system" fn( + hProcess: ::HANDLE, qwBaseAddress: ::DWORD, lpBuffer: ::PVOID, nSize: ::DWORD, + lpNumberOfBytesRead: ::PDWORD, +) -> ::BOOL>; +#[cfg(target_arch = "x86")] +pub type PFUNCTION_TABLE_ACCESS_ROUTINE = Option<unsafe extern "system" fn( + ahProcess: ::HANDLE, AddrBase: ::DWORD, +) -> ::PVOID>; +#[cfg(target_arch = "x86")] +pub type PGET_MODULE_BASE_ROUTINE = Option<unsafe extern "system" fn( + hProcess: ::HANDLE, Address: ::DWORD, +) -> ::DWORD>; +#[cfg(target_arch = "x86")] +pub type PTRANSLATE_ADDRESS_ROUTINE = Option<unsafe extern "system" fn( + hProcess: ::HANDLE, hThread: ::HANDLE, lpaddr: LPADDRESS, +) -> ::DWORD>; +pub const API_VERSION_NUMBER: ::USHORT = 12; +STRUCT!{struct API_VERSION { + MajorVersion: ::USHORT, + MinorVersion: ::USHORT, + Revision: ::USHORT, + Reserved: ::USHORT, +}} +pub type LPAPI_VERSION = *mut API_VERSION; +STRUCT!{struct SYMBOL_INFOW { + SizeOfStruct: ::ULONG, + TypeIndex: ::ULONG, + Reserved: [::ULONG64; 2], + Index: ::ULONG, + Size: ::ULONG, + ModBase: ::ULONG64, + Flags: ::ULONG, + Value: ::ULONG64, + Address: ::ULONG64, + Register: ::ULONG, + Scope: ::ULONG, + Tag: ::ULONG, + NameLen: ::ULONG, + MaxNameLen: ::ULONG, + Name: [::WCHAR; 1], +}} +pub type PSYMBOL_INFOW = *mut SYMBOL_INFOW; +STRUCT!{struct IMAGEHLP_SYMBOL64 { + SizeOfStruct: ::DWORD, + Address: ::DWORD64, + Size: ::DWORD, + Flags: ::DWORD, + MaxNameLength: ::DWORD, + Name: [::CHAR; 1], +}} +pub type PIMAGEHLP_SYMBOL64 = *mut IMAGEHLP_SYMBOL64; +STRUCT!{struct IMAGEHLP_LINEW64 { + SizeOfStruct: ::DWORD, + Key: ::PVOID, + LineNumber: ::DWORD, + FileName: ::PWSTR, + Address: ::DWORD64, +}} +pub type PIMAGEHLP_LINEW64 = *mut IMAGEHLP_LINEW64; diff --git a/third_party/rust/winapi-0.2.8/src/dcommon.rs b/third_party/rust/winapi-0.2.8/src/dcommon.rs new file mode 100644 index 0000000000..2c220e351a --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dcommon.rs @@ -0,0 +1,18 @@ +// Copyright © 2015; Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of dcommon.h +ENUM!{enum DWRITE_MEASURING_MODE { + DWRITE_MEASURING_MODE_NATURAL = 0, + DWRITE_MEASURING_MODE_GDI_CLASSIC = 1, + DWRITE_MEASURING_MODE_GDI_NATURAL = 2, +}} +ENUM!{enum D2D1_ALPHA_MODE { + D2D1_ALPHA_MODE_UNKNOWN = 0, + D2D1_ALPHA_MODE_PREMULTIPLIED = 1, + D2D1_ALPHA_MODE_STRAIGHT = 2, + D2D1_ALPHA_MODE_IGNORE = 3, +}} +STRUCT!{struct D2D1_PIXEL_FORMAT { + format: ::DXGI_FORMAT, + alphaMode: D2D1_ALPHA_MODE, +}} diff --git a/third_party/rust/winapi-0.2.8/src/devpropdef.rs b/third_party/rust/winapi-0.2.8/src/devpropdef.rs new file mode 100644 index 0000000000..3deca43e30 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/devpropdef.rs @@ -0,0 +1,71 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Defines property types and keys for the Plug and Play Device Property API +pub type DEVPROPTYPE = ::ULONG; +pub type PDEVPROPTYPE = *mut ::ULONG; +pub const DEVPROP_TYPEMOD_ARRAY: DEVPROPTYPE = 0x00001000; +pub const DEVPROP_TYPEMOD_LIST: DEVPROPTYPE = 0x00002000; +pub const DEVPROP_TYPE_EMPTY: DEVPROPTYPE = 0x00000000; +pub const DEVPROP_TYPE_NULL: DEVPROPTYPE = 0x00000001; +pub const DEVPROP_TYPE_SBYTE: DEVPROPTYPE = 0x00000002; +pub const DEVPROP_TYPE_BYTE: DEVPROPTYPE = 0x00000003; +pub const DEVPROP_TYPE_INT16: DEVPROPTYPE = 0x00000004; +pub const DEVPROP_TYPE_UINT16: DEVPROPTYPE = 0x00000005; +pub const DEVPROP_TYPE_INT32: DEVPROPTYPE = 0x00000006; +pub const DEVPROP_TYPE_UINT32: DEVPROPTYPE = 0x00000007; +pub const DEVPROP_TYPE_INT64: DEVPROPTYPE = 0x00000008; +pub const DEVPROP_TYPE_UINT64: DEVPROPTYPE = 0x00000009; +pub const DEVPROP_TYPE_FLOAT: DEVPROPTYPE = 0x0000000A; +pub const DEVPROP_TYPE_DOUBLE: DEVPROPTYPE = 0x0000000B; +pub const DEVPROP_TYPE_DECIMAL: DEVPROPTYPE = 0x0000000C; +pub const DEVPROP_TYPE_GUID: DEVPROPTYPE = 0x0000000D; +pub const DEVPROP_TYPE_CURRENCY: DEVPROPTYPE = 0x0000000E; +pub const DEVPROP_TYPE_DATE: DEVPROPTYPE = 0x0000000F; +pub const DEVPROP_TYPE_FILETIME: DEVPROPTYPE = 0x00000010; +pub const DEVPROP_TYPE_BOOLEAN: DEVPROPTYPE = 0x00000011; +pub const DEVPROP_TYPE_STRING: DEVPROPTYPE = 0x00000012; +pub const DEVPROP_TYPE_STRING_LIST: DEVPROPTYPE = DEVPROP_TYPE_STRING | DEVPROP_TYPEMOD_LIST; +pub const DEVPROP_TYPE_SECURITY_DESCRIPTOR: DEVPROPTYPE = 0x00000013; +pub const DEVPROP_TYPE_SECURITY_DESCRIPTOR_STRING: DEVPROPTYPE = 0x00000014; +pub const DEVPROP_TYPE_DEVPROPKEY: DEVPROPTYPE = 0x00000015; +pub const DEVPROP_TYPE_DEVPROPTYPE: DEVPROPTYPE = 0x00000016; +pub const DEVPROP_TYPE_BINARY: DEVPROPTYPE = DEVPROP_TYPE_BYTE | DEVPROP_TYPEMOD_ARRAY; +pub const DEVPROP_TYPE_ERROR: DEVPROPTYPE = 0x00000017; +pub const DEVPROP_TYPE_NTSTATUS: DEVPROPTYPE = 0x00000018; +pub const DEVPROP_TYPE_STRING_INDIRECT: DEVPROPTYPE = 0x00000019; +pub const MAX_DEVPROP_TYPE: DEVPROPTYPE = 0x00000019; +pub const MAX_DEVPROP_TYPEMOD: DEVPROPTYPE = 0x00002000; +pub const DEVPROP_MASK_TYPE: DEVPROPTYPE = 0x00000FFF; +pub const DEVPROP_MASK_TYPEMOD: DEVPROPTYPE = 0x0000F000; +pub type DEVPROP_BOOLEAN = ::CHAR; +pub type PDEVPROP_BOOLEAN = *mut ::CHAR; +pub const DEVPROP_TRUE: DEVPROP_BOOLEAN = -1; +pub const DEVPROP_FALSE: DEVPROP_BOOLEAN = 0; +pub type DEVPROPGUID = ::GUID; +pub type PDEVPROPGUID = *mut ::GUID; +pub type DEVPROPID = ::ULONG; +pub type PDEVPROPID = *mut ::ULONG; +STRUCT!{struct DEVPROPKEY { + fmtid: DEVPROPGUID, + pid: DEVPROPID, +}} +pub type PDEVPROPKEY = *mut DEVPROPKEY; +ENUM!{enum DEVPROPSTORE { + DEVPROP_STORE_SYSTEM, + DEVPROP_STORE_USER, +}} +pub type PDEVPROPSTORE = *mut DEVPROPSTORE; +STRUCT!{struct DEVPROPCOMPKEY { + Key: DEVPROPKEY, + Store: DEVPROPSTORE, + LocaleName: ::PCWSTR, +}} +pub type PDEVPROPCOMPKEY = *mut DEVPROPCOMPKEY; +STRUCT!{struct DEVPROPERTY { + CompKey: DEVPROPCOMPKEY, + Type: DEVPROPTYPE, + BufferSize: ::ULONG, + Buffer: ::PVOID, +}} +pub type PDEVPROPERTY = *mut DEVPROPERTY; +pub const DEVPROPID_FIRST_USABLE: DEVPROPID = 2; diff --git a/third_party/rust/winapi-0.2.8/src/docobj.rs b/third_party/rust/winapi-0.2.8/src/docobj.rs new file mode 100644 index 0000000000..3d5f9044d9 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/docobj.rs @@ -0,0 +1,22 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +STRUCT!{struct OLECMD { + cmdID: ::ULONG, + cmdf: ::DWORD, +}} +STRUCT!{struct OLECMDTEXT { + cmdtextf: ::DWORD, + cwActual: ::ULONG, + cwBuf: ::ULONG, + rgwz: [::wchar_t; 0], +}} +RIDL!{interface IOleCommandTarget(IOleCommandTargetVtbl): IUnknown(IUnknownVtbl) { + fn QueryStatus( + &mut self, pguidCmdGroup: *const ::GUID, cCmds: ::ULONG, prgCmds: *mut OLECMD, + pCmdText: *mut OLECMDTEXT + ) -> ::HRESULT, + fn Exec( + &mut self, pguidCmdGroup: *const :: GUID, nCmdID: ::DWORD, nCmdexecopt: ::DWORD, + pvaIn: *mut ::VARIANT, pvaOut: *mut ::VARIANT + ) -> ::HRESULT +}} diff --git a/third_party/rust/winapi-0.2.8/src/dpapi.rs b/third_party/rust/winapi-0.2.8/src/dpapi.rs new file mode 100644 index 0000000000..c62e56f3aa --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dpapi.rs @@ -0,0 +1,11 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Data Protection API Prototypes and Definitions +pub const szFORCE_KEY_PROTECTION: &'static str = "ForceKeyProtection"; +STRUCT!{struct CRYPTPROTECT_PROMPTSTRUCT { + cbSize: ::DWORD, + dwPromptFlags: ::DWORD, + hwndApp: ::HWND, + szPrompt: ::LPCWSTR, +}} +pub type PCRYPTPROTECT_PROMPTSTRUCT = *mut CRYPTPROTECT_PROMPTSTRUCT; diff --git a/third_party/rust/winapi-0.2.8/src/dsgetdc.rs b/third_party/rust/winapi-0.2.8/src/dsgetdc.rs new file mode 100644 index 0000000000..09c81c0fdb --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dsgetdc.rs @@ -0,0 +1,113 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! This file contains structures, function prototypes, and definitions for the DsGetDcName API. +pub const DS_FORCE_REDISCOVERY: ::ULONG = 0x00000001; +pub const DS_DIRECTORY_SERVICE_REQUIRED: ::ULONG = 0x00000010; +pub const DS_DIRECTORY_SERVICE_PREFERRED: ::ULONG = 0x00000020; +pub const DS_GC_SERVER_REQUIRED: ::ULONG = 0x00000040; +pub const DS_PDC_REQUIRED: ::ULONG = 0x00000080; +pub const DS_BACKGROUND_ONLY: ::ULONG = 0x00000100; +pub const DS_IP_REQUIRED: ::ULONG = 0x00000200; +pub const DS_KDC_REQUIRED: ::ULONG = 0x00000400; +pub const DS_TIMESERV_REQUIRED: ::ULONG = 0x00000800; +pub const DS_WRITABLE_REQUIRED: ::ULONG = 0x00001000; +pub const DS_GOOD_TIMESERV_PREFERRED: ::ULONG = 0x00002000; +pub const DS_AVOID_SELF: ::ULONG = 0x00004000; +pub const DS_ONLY_LDAP_NEEDED: ::ULONG = 0x00008000; +pub const DS_IS_FLAT_NAME: ::ULONG = 0x00010000; +pub const DS_IS_DNS_NAME: ::ULONG = 0x00020000; +pub const DS_TRY_NEXTCLOSEST_SITE: ::ULONG = 0x00040000; +pub const DS_DIRECTORY_SERVICE_6_REQUIRED: ::ULONG = 0x00080000; +pub const DS_WEB_SERVICE_REQUIRED: ::ULONG = 0x00100000; +pub const DS_DIRECTORY_SERVICE_8_REQUIRED: ::ULONG = 0x00200000; +pub const DS_DIRECTORY_SERVICE_9_REQUIRED: ::ULONG = 0x00400000; +pub const DS_RETURN_DNS_NAME: ::ULONG = 0x40000000; +pub const DS_RETURN_FLAT_NAME: ::ULONG = 0x80000000; +pub const DSGETDC_VALID_FLAGS: ::ULONG = DS_FORCE_REDISCOVERY | DS_DIRECTORY_SERVICE_REQUIRED + | DS_DIRECTORY_SERVICE_PREFERRED | DS_GC_SERVER_REQUIRED | DS_PDC_REQUIRED | DS_BACKGROUND_ONLY + | DS_IP_REQUIRED | DS_KDC_REQUIRED | DS_TIMESERV_REQUIRED | DS_WRITABLE_REQUIRED + | DS_GOOD_TIMESERV_PREFERRED | DS_AVOID_SELF | DS_ONLY_LDAP_NEEDED | DS_IS_FLAT_NAME + | DS_IS_DNS_NAME | DS_TRY_NEXTCLOSEST_SITE | DS_DIRECTORY_SERVICE_6_REQUIRED + | DS_DIRECTORY_SERVICE_8_REQUIRED | DS_DIRECTORY_SERVICE_9_REQUIRED | DS_WEB_SERVICE_REQUIRED + | DS_RETURN_FLAT_NAME | DS_RETURN_DNS_NAME; +STRUCT!{struct DOMAIN_CONTROLLER_INFOA { + DomainControllerName: ::LPSTR, + DomainControllerAddress: ::LPSTR, + DomainControllerAddressType: ::ULONG, + DomainGuid: ::GUID, + DomainName: ::LPSTR, + DnsForestName: ::LPSTR, + Flags: ::ULONG, + DcSiteName: ::LPSTR, + ClientSiteName: ::LPSTR, +}} +pub type PDOMAIN_CONTROLLER_INFOA = *mut DOMAIN_CONTROLLER_INFOA; +STRUCT!{struct DOMAIN_CONTROLLER_INFOW { + DomainControllerName: ::LPWSTR, + DomainControllerAddress: ::LPWSTR, + DomainControllerAddressType: ::ULONG, + DomainGuid: ::GUID, + DomainName: ::LPWSTR, + DnsForestName: ::LPWSTR, + Flags: ::ULONG, + DcSiteName: ::LPWSTR, + ClientSiteName: ::LPWSTR, +}} +pub type PDOMAIN_CONTROLLER_INFOW = *mut DOMAIN_CONTROLLER_INFOW; +pub const DS_INET_ADDRESS: ::ULONG = 1; +pub const DS_NETBIOS_ADDRESS: ::ULONG = 2; +pub const DS_PDC_FLAG: ::ULONG = 0x00000001; +pub const DS_GC_FLAG: ::ULONG = 0x00000004; +pub const DS_LDAP_FLAG: ::ULONG = 0x00000008; +pub const DS_DS_FLAG: ::ULONG = 0x00000010; +pub const DS_KDC_FLAG: ::ULONG = 0x00000020; +pub const DS_TIMESERV_FLAG: ::ULONG = 0x00000040; +pub const DS_CLOSEST_FLAG: ::ULONG = 0x00000080; +pub const DS_WRITABLE_FLAG: ::ULONG = 0x00000100; +pub const DS_GOOD_TIMESERV_FLAG: ::ULONG = 0x00000200; +pub const DS_NDNC_FLAG: ::ULONG = 0x00000400; +pub const DS_SELECT_SECRET_DOMAIN_6_FLAG: ::ULONG = 0x00000800; +pub const DS_FULL_SECRET_DOMAIN_6_FLAG: ::ULONG = 0x00001000; +pub const DS_WS_FLAG: ::ULONG = 0x00002000; +pub const DS_DS_8_FLAG: ::ULONG = 0x00004000; +pub const DS_DS_9_FLAG: ::ULONG = 0x00008000; +pub const DS_PING_FLAGS: ::ULONG = 0x000FFFFF; +pub const DS_DNS_CONTROLLER_FLAG: ::ULONG = 0x20000000; +pub const DS_DNS_DOMAIN_FLAG: ::ULONG = 0x40000000; +pub const DS_DNS_FOREST_FLAG: ::ULONG = 0x80000000; +pub const DS_DOMAIN_IN_FOREST: ::ULONG = 0x0001; +pub const DS_DOMAIN_DIRECT_OUTBOUND: ::ULONG = 0x0002; +pub const DS_DOMAIN_TREE_ROOT: ::ULONG = 0x0004; +pub const DS_DOMAIN_PRIMARY: ::ULONG = 0x0008; +pub const DS_DOMAIN_NATIVE_MODE: ::ULONG = 0x0010; +pub const DS_DOMAIN_DIRECT_INBOUND: ::ULONG = 0x0020; +pub const DS_DOMAIN_VALID_FLAGS: ::ULONG = DS_DOMAIN_IN_FOREST | DS_DOMAIN_DIRECT_OUTBOUND + | DS_DOMAIN_TREE_ROOT | DS_DOMAIN_PRIMARY | DS_DOMAIN_NATIVE_MODE | DS_DOMAIN_DIRECT_INBOUND; +STRUCT!{struct DS_DOMAIN_TRUSTSW { + NetbiosDomainName: ::LPWSTR, + DnsDomainName: ::LPWSTR, + Flags: ::ULONG, + ParentIndex: ::ULONG, + TrustType: ::ULONG, + TrustAttributes: ::ULONG, + DomainSid: ::PSID, + DomainGuid: ::GUID, +}} +pub type PDS_DOMAIN_TRUSTSW = *mut DS_DOMAIN_TRUSTSW; +STRUCT!{struct DS_DOMAIN_TRUSTSA { + NetbiosDomainName: ::LPSTR, + DnsDomainName: ::LPSTR, + Flags: ::ULONG, + ParentIndex: ::ULONG, + TrustType: ::ULONG, + TrustAttributes: ::ULONG, + DomainSid: ::PSID, + DomainGuid: ::GUID, +}} +pub type PDS_DOMAIN_TRUSTSA = *mut DS_DOMAIN_TRUSTSA; +pub const DS_ONLY_DO_SITE_NAME: ::ULONG = 0x01; +pub const DS_NOTIFY_AFTER_SITE_RECORDS: ::ULONG = 0x02; +pub const DS_OPEN_VALID_OPTION_FLAGS: ::ULONG = DS_ONLY_DO_SITE_NAME + | DS_NOTIFY_AFTER_SITE_RECORDS; +pub const DS_OPEN_VALID_FLAGS: ::ULONG = DS_FORCE_REDISCOVERY | DS_ONLY_LDAP_NEEDED + | DS_KDC_REQUIRED | DS_PDC_REQUIRED | DS_GC_SERVER_REQUIRED | DS_WRITABLE_REQUIRED; diff --git a/third_party/rust/winapi-0.2.8/src/dsound.rs b/third_party/rust/winapi-0.2.8/src/dsound.rs new file mode 100644 index 0000000000..e8f167fab7 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dsound.rs @@ -0,0 +1,132 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! DSound procedure declarations, constant definitions and macros +STRUCT!{struct DSCAPS { + dwSize: ::DWORD, + dwFlags: ::DWORD, + dwMinSecondarySampleRate: ::DWORD, + dwMaxSecondarySampleRate: ::DWORD, + dwPrimaryBuffers: ::DWORD, + dwMaxHwMixingAllBuffers: ::DWORD, + dwMaxHwMixingStaticBuffers: ::DWORD, + dwMaxHwMixingStreamingBuffers: ::DWORD, + dwFreeHwMixingAllBuffers: ::DWORD, + dwFreeHwMixingStaticBuffers: ::DWORD, + dwFreeHwMixingStreamingBuffers: ::DWORD, + dwMaxHw3DAllBuffers: ::DWORD, + dwMaxHw3DStaticBuffers: ::DWORD, + dwMaxHw3DStreamingBuffers: ::DWORD, + dwFreeHw3DAllBuffers: ::DWORD, + dwFreeHw3DStaticBuffers: ::DWORD, + dwFreeHw3DStreamingBuffers: ::DWORD, + dwTotalHwMemBytes: ::DWORD, + dwFreeHwMemBytes: ::DWORD, + dwMaxContigFreeHwMemBytes: ::DWORD, + dwUnlockTransferRateHwBuffers: ::DWORD, + dwPlayCpuOverheadSwBuffers: ::DWORD, + dwReserved1: ::DWORD, + dwReserved2: ::DWORD, +}} +pub type LPDSCAPS = *mut DSCAPS; +STRUCT!{struct DSBCAPS { + dwSize: ::DWORD, + dwFlags: ::DWORD, + dwBufferBytes: ::DWORD, + dwUnlockTransferRate: ::DWORD, + dwPlayCpuOverhead: ::DWORD, +}} +pub type LPDSBCAPS = *mut DSBCAPS; +STRUCT!{struct DSBUFFERDESC { + dwSize: ::DWORD, + dwFlags: ::DWORD, + dwBufferBytes: ::DWORD, + dwReserved: ::DWORD, + lpwfxFormat: ::LPWAVEFORMATEX, + guid3DAlgorithm: ::GUID, +}} +pub type LPCDSBUFFERDESC = *const DSBUFFERDESC; +RIDL!( +interface IDirectSoundBuffer(IDirectSoundBufferVtbl): IUnknown(IUnknownVtbl) { + fn GetCaps(&mut self, pDSBufferCaps: ::LPDSBCAPS) -> ::HRESULT, + fn GetCurrentPosition( + &mut self, pdwCurrentPlayCursor: ::LPDWORD, pdwCurrentWriteCursor: ::LPDWORD + ) -> ::HRESULT, + fn GetFormat( + &mut self, pwfxFormat: ::LPWAVEFORMATEX, dwSizeAllocated: ::DWORD, + pdwSizeWritten: ::LPDWORD + ) -> ::HRESULT, + fn GetVolume(&mut self, plVolume: ::LPLONG) -> ::HRESULT, + fn GetPan(&mut self, plPan: ::LPLONG) -> ::HRESULT, + fn GetFrequency(&mut self, pdwFrequency: ::LPDWORD) -> ::HRESULT, + fn GetStatus(&mut self, pdwStatus: ::LPDWORD) -> ::HRESULT, + fn Initialize( + &mut self, pDirectSound: ::LPDIRECTSOUND, pcDSBufferDesc: ::LPCDSBUFFERDESC + ) -> ::HRESULT, + fn Lock( + &mut self, dwOffset: ::DWORD, dwBytes: ::DWORD, ppvAudioPtr1: *mut ::LPVOID, + pdwAudioBytes1: ::LPDWORD, ppvAudioPtr2: *mut ::LPVOID, pdwAudioBytes2: ::LPDWORD, + dwFlags: ::DWORD + ) -> ::HRESULT, + fn Play(&mut self, dwReserved1: ::DWORD, dwPriority: ::DWORD, dwFlags: ::DWORD) -> ::HRESULT, + fn SetCurrentPosition(&mut self, dwNewPosition: ::DWORD) -> ::HRESULT, + fn SetFormat(&mut self, pcfxFormat: ::LPCWAVEFORMATEX) -> ::HRESULT, + fn SetVolume(&mut self, lVolume: ::LONG) -> ::HRESULT, + fn SetPan(&mut self, lPan: ::LONG) -> ::HRESULT, + fn SetFrequency(&mut self, dwFrequency: ::DWORD) -> ::HRESULT, + fn Stop(&mut self) -> ::HRESULT, + fn Unlock( + &mut self, pvAudioPtr1: ::LPVOID, dwAudioBytes1: ::DWORD, pvAudioPtr2: ::LPVOID, + dwAudioBytes2: ::DWORD + ) -> ::HRESULT, + fn Restore(&mut self) -> ::HRESULT +} +); +pub type LPDIRECTSOUNDBUFFER = *mut IDirectSoundBuffer; +RIDL!( +interface IDirectSound(IDirectSoundVtbl): IUnknown(IUnknownVtbl) +{ + fn CreateSoundBuffer( + &mut self, pcDSBufferDesc: ::LPCDSBUFFERDESC, ppDSBuffer: *mut ::LPDIRECTSOUNDBUFFER, + pUnkOuter: ::LPUNKNOWN + ) -> ::HRESULT, + fn GetCaps(&mut self, pDSCaps: ::LPDSCAPS) -> ::HRESULT, + fn DuplicateSoundBuffer( + &mut self, pDSBufferOriginal: LPDIRECTSOUNDBUFFER, + ppDSBufferDuplicate: *mut ::LPDIRECTSOUNDBUFFER + ) -> ::HRESULT, + fn SetCooperativeLevel(&mut self, hWnd: ::HWND, dwLevel: ::DWORD) -> ::HRESULT, + fn Compact(&mut self) -> ::HRESULT, + fn GetSpeakerConfig(&mut self, pdwSpeakerConfig: ::LPDWORD) -> ::HRESULT, + fn SetSpeakerConfig(&mut self, dwSpeakerConfig: ::DWORD) -> ::HRESULT, + fn Initialize(&mut self, pcGuidDevice: ::LPCGUID) -> ::HRESULT +} +); +pub type LPDIRECTSOUND = *mut IDirectSound; +pub const DS_OK: ::HRESULT = ::S_OK; +pub const DSERR_GENERIC: ::HRESULT = ::E_FAIL; +pub const DSSCL_NORMAL: ::DWORD = 0x00000001; +pub const DSSCL_PRIORITY: ::DWORD = 0x00000002; +pub const DSSCL_EXCLUSIVE: ::DWORD = 0x00000003; +pub const DSSCL_WRITEPRIMARY: ::DWORD = 0x00000004; +pub const DSBCAPS_PRIMARYBUFFER: ::DWORD = 0x00000001; +pub const DSBCAPS_STATIC: ::DWORD = 0x00000002; +pub const DSBCAPS_LOCHARDWARE: ::DWORD = 0x00000004; +pub const DSBCAPS_LOCSOFTWARE: ::DWORD = 0x00000008; +pub const DSBCAPS_CTRL3D: ::DWORD = 0x00000010; +pub const DSBCAPS_CTRLFREQUENCY: ::DWORD = 0x00000020; +pub const DSBCAPS_CTRLPAN: ::DWORD = 0x00000040; +pub const DSBCAPS_CTRLVOLUME: ::DWORD = 0x00000080; +pub const DSBCAPS_CTRLPOSITIONNOTIFY: ::DWORD = 0x00000100; +pub const DSBCAPS_CTRLFX: ::DWORD = 0x00000200; +pub const DSBCAPS_STICKYFOCUS: ::DWORD = 0x00004000; +pub const DSBCAPS_GLOBALFOCUS: ::DWORD = 0x00008000; +pub const DSBCAPS_GETCURRENTPOSITION2: ::DWORD = 0x00010000; +pub const DSBCAPS_MUTE3DATMAXDISTANCE: ::DWORD = 0x00020000; +pub const DSBCAPS_LOCDEFER: ::DWORD = 0x00040000; +pub const DSBCAPS_TRUEPLAYPOSITION: ::DWORD = 0x00080000; +pub const DSBPLAY_LOOPING: ::DWORD = 0x00000001; +pub const DSBPLAY_LOCHARDWARE: ::DWORD = 0x00000002; +pub const DSBPLAY_LOCSOFTWARE: ::DWORD = 0x00000004; +pub const DSBPLAY_TERMINATEBY_TIME: ::DWORD = 0x00000008; +pub const DSBPLAY_TERMINATEBY_DISTANCE: ::DWORD = 0x000000010; +pub const DSBPLAY_TERMINATEBY_PRIORITY: ::DWORD = 0x000000020; diff --git a/third_party/rust/winapi-0.2.8/src/dsrole.rs b/third_party/rust/winapi-0.2.8/src/dsrole.rs new file mode 100644 index 0000000000..f9cf81c892 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dsrole.rs @@ -0,0 +1,50 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Contains public interfaces to query the network roles of workstations, servers, and DCs +ENUM!{enum DSROLE_MACHINE_ROLE { + DsRole_RoleStandaloneWorkstation, + DsRole_RoleMemberWorkstation, + DsRole_RoleStandaloneServer, + DsRole_RoleMemberServer, + DsRole_RoleBackupDomainController, + DsRole_RolePrimaryDomainController, +}} +ENUM!{enum DSROLE_SERVER_STATE { + DsRoleServerUnknown = 0, + DsRoleServerPrimary, + DsRoleServerBackup, +}} +pub type PDSROLE_SERVER_STATE = *mut DSROLE_SERVER_STATE; +ENUM!{enum DSROLE_PRIMARY_DOMAIN_INFO_LEVEL { + DsRolePrimaryDomainInfoBasic = 1, + DsRoleUpgradeStatus, + DsRoleOperationState, +}} +pub const DSROLE_PRIMARY_DS_RUNNING: ::ULONG = 0x00000001; +pub const DSROLE_PRIMARY_DS_MIXED_MODE: ::ULONG = 0x00000002; +pub const DSROLE_UPGRADE_IN_PROGRESS: ::ULONG = 0x00000004; +pub const DSROLE_PRIMARY_DS_READONLY: ::ULONG = 0x00000008; +pub const DSROLE_PRIMARY_DOMAIN_GUID_PRESENT: ::ULONG = 0x01000000; +STRUCT!{struct DSROLE_PRIMARY_DOMAIN_INFO_BASIC { + MachineRole: DSROLE_MACHINE_ROLE, + Flags: ::ULONG, + DomainNameFlat: ::LPWSTR, + DomainNameDns: ::LPWSTR, + DomainForestName: ::LPWSTR, + DomainGuid: ::GUID, +}} +pub type PDSROLE_PRIMARY_DOMAIN_INFO_BASIC = *mut DSROLE_PRIMARY_DOMAIN_INFO_BASIC; +STRUCT!{struct DSROLE_UPGRADE_STATUS_INFO { + OperationState: ::ULONG, + PreviousServerState: DSROLE_SERVER_STATE, +}} +pub type PDSROLE_UPGRADE_STATUS_INFO = *mut DSROLE_UPGRADE_STATUS_INFO; +ENUM!{enum DSROLE_OPERATION_STATE { + DsRoleOperationIdle = 0, + DsRoleOperationActive, + DsRoleOperationNeedReboot, +}} +STRUCT!{struct DSROLE_OPERATION_STATE_INFO { + OperationState: DSROLE_OPERATION_STATE, +}} +pub type PDSROLE_OPERATION_STATE_INFO = *mut DSROLE_OPERATION_STATE_INFO; diff --git a/third_party/rust/winapi-0.2.8/src/dwmapi.rs b/third_party/rust/winapi-0.2.8/src/dwmapi.rs new file mode 100644 index 0000000000..f95e8f1d70 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dwmapi.rs @@ -0,0 +1,9 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Procedure declarations, constant definitions, and macros for the NLS component. +STRUCT!{struct DWM_BLURBEHIND { + dwFlags: ::DWORD, + fEnable: ::BOOL, + hRgnBlur: ::HRGN, + fTransitionOnMaximized: ::BOOL, +}} diff --git a/third_party/rust/winapi-0.2.8/src/dwrite.rs b/third_party/rust/winapi-0.2.8/src/dwrite.rs new file mode 100644 index 0000000000..09bbf0d935 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dwrite.rs @@ -0,0 +1,1038 @@ +// Copyright © 2015, Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! DirectX Typography Services public API definitions. +ENUM!{enum DWRITE_FONT_FILE_TYPE { + DWRITE_FONT_FILE_TYPE_UNKNOWN, + DWRITE_FONT_FILE_TYPE_CFF, + DWRITE_FONT_FILE_TYPE_TRUETYPE, + DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION, + DWRITE_FONT_FILE_TYPE_TYPE1_PFM, + DWRITE_FONT_FILE_TYPE_TYPE1_PFB, + DWRITE_FONT_FILE_TYPE_VECTOR, + DWRITE_FONT_FILE_TYPE_BITMAP, +}} +ENUM!{enum DWRITE_FONT_FACE_TYPE { + DWRITE_FONT_FACE_TYPE_CFF, + DWRITE_FONT_FACE_TYPE_TRUETYPE, + DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION, + DWRITE_FONT_FACE_TYPE_TYPE1, + DWRITE_FONT_FACE_TYPE_VECTOR, + DWRITE_FONT_FACE_TYPE_BITMAP, + DWRITE_FONT_FACE_TYPE_UNKNOWN, + DWRITE_FONT_FACE_TYPE_RAW_CFF, +}} +FLAGS!{enum DWRITE_FONT_SIMULATIONS { + DWRITE_FONT_SIMULATIONS_NONE = 0x0000, + DWRITE_FONT_SIMULATIONS_BOLD = 0x0001, + DWRITE_FONT_SIMULATIONS_OBLIQUE = 0x0002, +}} +ENUM!{enum DWRITE_FONT_WEIGHT { + DWRITE_FONT_WEIGHT_THIN = 100, + DWRITE_FONT_WEIGHT_EXTRA_LIGHT = 200, + DWRITE_FONT_WEIGHT_ULTRA_LIGHT = 200, + DWRITE_FONT_WEIGHT_LIGHT = 300, + DWRITE_FONT_WEIGHT_SEMI_LIGHT = 350, + DWRITE_FONT_WEIGHT_NORMAL = 400, + DWRITE_FONT_WEIGHT_REGULAR = 400, + DWRITE_FONT_WEIGHT_MEDIUM = 500, + DWRITE_FONT_WEIGHT_DEMI_BOLD = 600, + DWRITE_FONT_WEIGHT_SEMI_BOLD = 600, + DWRITE_FONT_WEIGHT_BOLD = 700, + DWRITE_FONT_WEIGHT_EXTRA_BOLD = 800, + DWRITE_FONT_WEIGHT_ULTRA_BOLD = 800, + DWRITE_FONT_WEIGHT_BLACK = 900, + DWRITE_FONT_WEIGHT_HEAVY = 900, + DWRITE_FONT_WEIGHT_EXTRA_BLACK = 950, + DWRITE_FONT_WEIGHT_ULTRA_BLACK = 950, +}} +ENUM!{enum DWRITE_FONT_STRETCH { + DWRITE_FONT_STRETCH_UNDEFINED = 0, + DWRITE_FONT_STRETCH_ULTRA_CONDENSED = 1, + DWRITE_FONT_STRETCH_EXTRA_CONDENSED = 2, + DWRITE_FONT_STRETCH_CONDENSED = 3, + DWRITE_FONT_STRETCH_SEMI_CONDENSED = 4, + DWRITE_FONT_STRETCH_NORMAL = 5, + DWRITE_FONT_STRETCH_MEDIUM = 5, + DWRITE_FONT_STRETCH_SEMI_EXPANDED = 6, + DWRITE_FONT_STRETCH_EXPANDED = 7, + DWRITE_FONT_STRETCH_EXTRA_EXPANDED = 8, + DWRITE_FONT_STRETCH_ULTRA_EXPANDED = 9, +}} +ENUM!{enum DWRITE_FONT_STYLE { + DWRITE_FONT_STYLE_NORMAL, + DWRITE_FONT_STYLE_OBLIQUE, + DWRITE_FONT_STYLE_ITALIC, +}} +ENUM!{enum DWRITE_INFORMATIONAL_STRING_ID { + DWRITE_INFORMATIONAL_STRING_NONE, + DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE, + DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS, + DWRITE_INFORMATIONAL_STRING_TRADEMARK, + DWRITE_INFORMATIONAL_STRING_MANUFACTURER, + DWRITE_INFORMATIONAL_STRING_DESIGNER, + DWRITE_INFORMATIONAL_STRING_DESIGNER_URL, + DWRITE_INFORMATIONAL_STRING_DESCRIPTION, + DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL, + DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION, + DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL, + DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES, + DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES, + DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES, + DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES, + DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT, + DWRITE_INFORMATIONAL_STRING_FULL_NAME, + DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME, + DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME, + DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME, + DWRITE_INFORMATIONAL_STRING_DESIGN_SCRIPT_LANGUAGE_TAG, + DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG, +}} +STRUCT!{struct DWRITE_FONT_METRICS { + designUnitsPerEm: ::UINT16, + ascent: ::UINT16, + descent: ::UINT16, + lineGap: ::INT16, + capHeight: ::UINT16, + xHeight: ::UINT16, + underlinePosition: ::INT16, + underlineThickness: ::UINT16, + strikethroughPosition: ::INT16, + strikethroughThickness: ::UINT16, +}} +STRUCT!{struct DWRITE_GLYPH_METRICS { + leftSideBearing: ::INT32, + advanceWidth: ::UINT32, + rightSideBearing: ::INT32, + topSideBearing: ::INT32, + advanceHeight: ::UINT32, + bottomSideBearing: ::INT32, + verticalOriginY: ::INT32, +}} +STRUCT!{struct DWRITE_GLYPH_OFFSET { + advanceOffset: ::FLOAT, + ascenderOffset: ::FLOAT, +}} +ENUM!{enum DWRITE_FACTORY_TYPE { + DWRITE_FACTORY_TYPE_SHARED, + DWRITE_FACTORY_TYPE_ISOLATED, +}} +#[inline] +pub fn DWRITE_MAKE_OPENTYPE_TAG(a: u8, b: u8, c: u8, d: u8) -> u32 { + ((d as u32) << 24) | ((c as u32) << 16) | ((b as u32) << 8) | (a as u32) +} +RIDL!{interface IDWriteFontFileLoader(IDWriteFontFileLoaderVtbl): IUnknown(IUnknownVtbl) { + fn CreateStreamFromKey( + &mut self, fontFileReferenceKey: *const ::c_void, fontFileReferenceKeySize: ::UINT32, + fontFileStream: *mut *mut IDWriteFontFileStream + ) -> ::HRESULT +}} +RIDL!{interface IDWriteLocalFontFileLoader(IDWriteLocalFontFileLoaderVtbl): + IDWriteFontFileLoader(IDWriteFontFileLoaderVtbl) { + fn GetFilePathLengthFromKey( + &mut self, fontFileReferenceKey: *const ::c_void, fontFileReferenceKeySize: ::UINT32, + filePathLength: *mut ::UINT32 + ) -> ::HRESULT, + fn GetFilePathFromKey( + &mut self, fontFileReferenceKey: *const ::c_void, fontFileReferenceKeySize: ::UINT32, + filePath: *mut ::WCHAR, + filePathSize: ::UINT32 + ) -> ::HRESULT, + fn GetLastWriteTimeFromKey( + &mut self, fontFileReferenceKey: *const ::c_void, fontFileReferenceKeySize: ::UINT32, + lastWriteTime: *mut ::FILETIME + ) -> ::HRESULT +}} +RIDL!{interface IDWriteFontFileStream(IDWriteFontFileStreamVtbl): IUnknown(IUnknownVtbl) { + fn ReadFileFragment( + &mut self, fragmentStart: *mut *const ::c_void, fileOffset: ::UINT64, + fragmentSize: ::UINT64, fragmentContext: *mut *mut ::c_void + ) -> ::HRESULT, + fn ReleaseFileFragment(&mut self, fragmentContext: *mut ::c_void) -> (), + fn GetFileSize(&mut self, fileSize: *mut ::UINT64) -> ::HRESULT, + fn GetLastWriteTime(&mut self, lastWriteTime: *mut ::UINT64) -> ::HRESULT +}} +RIDL!{interface IDWriteFontFile(IDWriteFontFileVtbl): IUnknown(IUnknownVtbl) { + fn GetReferenceKey( + &mut self, fontFileReferenceKey: *mut *const ::c_void, + fontFileReferenceKeySize: *mut ::UINT32 + ) -> ::HRESULT, + fn GetLoader(&mut self, fontFileLoader: *mut *mut IDWriteFontFileLoader) -> ::HRESULT, + fn Analyze( + &mut self, isSupportedFontType: *mut ::BOOL, fontFileType: *mut DWRITE_FONT_FILE_TYPE, + fontFaceType: *mut DWRITE_FONT_FACE_TYPE, numberOfFaces: *mut ::UINT32 + ) -> ::HRESULT +}} +ENUM!{enum DWRITE_PIXEL_GEOMETRY { + DWRITE_PIXEL_GEOMETRY_FLAT, + DWRITE_PIXEL_GEOMETRY_RGB, + DWRITE_PIXEL_GEOMETRY_BGR, +}} +ENUM!{enum DWRITE_RENDERING_MODE { + DWRITE_RENDERING_MODE_DEFAULT, + DWRITE_RENDERING_MODE_ALIASED, + DWRITE_RENDERING_MODE_GDI_CLASSIC, + DWRITE_RENDERING_MODE_GDI_NATURAL, + DWRITE_RENDERING_MODE_NATURAL, + DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC, + DWRITE_RENDERING_MODE_OUTLINE, + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC = DWRITE_RENDERING_MODE_GDI_CLASSIC.0, + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL = DWRITE_RENDERING_MODE_GDI_NATURAL.0, + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL = DWRITE_RENDERING_MODE_NATURAL.0, + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC = DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC.0, +}} +STRUCT!{struct DWRITE_MATRIX { + m11: ::FLOAT, + m12: ::FLOAT, + m21: ::FLOAT, + m22: ::FLOAT, + dx: ::FLOAT, + dy: ::FLOAT, +}} +RIDL!{interface IDWriteRenderingParams(IDWriteRenderingParamsVtbl): IUnknown(IUnknownVtbl) { + fn GetGamma(&mut self) -> ::FLOAT, + fn GetEnhancedContrast(&mut self) -> ::FLOAT, + fn GetClearTypeLevel(&mut self) -> ::FLOAT, + fn GetPixelGeometry(&mut self) -> DWRITE_PIXEL_GEOMETRY, + fn GetRenderingMode(&mut self) -> DWRITE_RENDERING_MODE +}} +pub type IDWriteGeometrySink = ::ID2D1SimplifiedGeometrySink; +RIDL!{interface IDWriteFontFace(IDWriteFontFaceVtbl): IUnknown(IUnknownVtbl) { + fn GetType(&mut self) -> DWRITE_FONT_FACE_TYPE, + fn GetFiles( + &mut self, numberOfFiles: *mut ::UINT32, fontFiles: *mut *mut IDWriteFontFile + ) -> ::HRESULT, + fn GetIndex(&mut self) -> ::UINT32, + fn GetSimulations(&mut self) -> DWRITE_FONT_SIMULATIONS, + fn IsSymbolFont(&mut self) -> ::BOOL, + fn GetMetrics(&mut self, fontFaceMetrics: *mut DWRITE_FONT_METRICS) -> (), + fn GetGlyphCount(&mut self) -> ::UINT16, + fn GetDesignGlyphMetrics( + &mut self, glyphIndices: *const ::UINT16, glyphCount: ::UINT32, + glyphMetrics: *mut DWRITE_GLYPH_METRICS, isSideways: ::BOOL + ) -> ::HRESULT, + fn GetGlyphIndices( + &mut self, codePoints: *const ::UINT32, codePointCount: ::UINT32, + glyphIndices: *mut ::UINT16 + ) -> ::HRESULT, + fn TryGetFontTable( + &mut self, openTypeTableTag: ::UINT32, tableData: *mut *const ::c_void, + tableSize: *mut ::UINT32, tableContext: *mut *mut ::c_void, exists: *mut ::BOOL + ) -> ::HRESULT, + fn ReleaseFontTable( + &mut self, tableContext: *mut ::c_void + ) -> ::HRESULT, + fn GetGlyphRunOutline( + &mut self, emSize: ::FLOAT, glyphIndices: *const ::UINT16, glyphAdvances: *const ::FLOAT, + glyphOffsets: *const DWRITE_GLYPH_OFFSET, glyphCount: ::UINT32, isSideways: ::BOOL, + isRightToLeft: ::BOOL, geometrySink: *mut IDWriteGeometrySink + ) -> ::HRESULT, + fn GetRecommendedRenderingMode( + &mut self, emSize: ::FLOAT, pixelsPerDip: ::FLOAT, measuringMode: ::DWRITE_MEASURING_MODE, + renderingParams: *mut IDWriteRenderingParams, renderingMode: *mut DWRITE_RENDERING_MODE + ) -> ::HRESULT, + fn GetGdiCompatibleMetrics( + &mut self, emSize: ::FLOAT, pixelsPerDip: ::FLOAT, transform: *const DWRITE_MATRIX, + fontFaceMetrics: *mut DWRITE_FONT_METRICS + ) -> ::HRESULT, + fn GetGdiCompatibleGlyphMetrics( + &mut self, enSize: ::FLOAT, pixelsPerDip: ::FLOAT, transform: *const DWRITE_MATRIX, + useGdiNatrual: ::BOOL, glyphIndices: *const ::UINT16, glyphCount: ::UINT32, + glyphMetrics: *mut DWRITE_GLYPH_METRICS, isSideways: ::BOOL + ) -> ::HRESULT +}} +RIDL!{interface IDWriteFontCollectionLoader(IDWriteFontCollectionLoaderVtbl): + IUnknown(IUnknownVtbl) { + fn CreateEnumeratorFromKey( + &mut self, factory: *mut IDWriteFactory, collectionKey: *const ::c_void, + collectionKeySize: ::UINT32, fontFileEnumerator: *mut *mut IDWriteFontFileEnumerator + ) -> ::HRESULT +}} +RIDL!{interface IDWriteFontFileEnumerator(IDWriteFontFileEnumeratorVtbl): IUnknown(IUnknownVtbl) { + fn MoveNext(&mut self, hasCurrentFile: *mut ::BOOL) -> ::HRESULT, + fn GetCurrentFontFile(&mut self, fontFile: *mut *mut IDWriteFontFile) -> ::HRESULT +}} +RIDL!{interface IDWriteLocalizedStrings(IDWriteLocalizedStringsVtbl): IUnknown(IUnknownVtbl) { + fn GetCount(&mut self) -> ::UINT32, + fn FindLocaleName( + &mut self, localeName: *const ::WCHAR, index: *mut ::UINT32, exists: *mut ::BOOL + ) -> ::HRESULT, + fn GetLocaleNameLength(&mut self, index: ::UINT32, length: *mut ::UINT32) -> ::HRESULT, + fn GetLocaleName( + &mut self, index: ::UINT32, localeName: *mut ::WCHAR, size: ::UINT32 + ) -> ::HRESULT, + fn GetStringLength(&mut self, index: ::UINT32, length: *mut ::UINT32) -> ::HRESULT, + fn GetString( + &mut self, index: ::UINT32, stringBuffer: *mut ::WCHAR, size: ::UINT32 + ) -> ::HRESULT +}} +RIDL!{interface IDWriteFontCollection(IDWriteFontCollectionVtbl): IUnknown(IUnknownVtbl) { + fn GetFontFamilyCount(&mut self) -> ::UINT32, + fn GetFontFamily( + &mut self, index: ::UINT32, fontFamily: *mut *mut IDWriteFontFamily + ) -> ::HRESULT, + fn FindFamilyName( + &mut self, familyName: *const ::WCHAR, index: *mut ::UINT32, exists: *mut ::BOOL + ) -> ::HRESULT, + fn GetFontFromFontFace( + &mut self, fontFace: *mut IDWriteFontFace, font: *mut *mut IDWriteFont + ) -> ::HRESULT +}} +RIDL!{interface IDWriteFontList(IDWriteFontListVtbl): IUnknown(IUnknownVtbl) { + fn GetFontCollection(&mut self, fontCollection: *mut *mut IDWriteFontCollection) -> ::HRESULT, + fn GetFontCount(&mut self) -> ::UINT32, + fn GetFont(&mut self, index: ::UINT32, font: *mut *mut IDWriteFont) -> ::HRESULT +}} +RIDL!{interface IDWriteFontFamily(IDWriteFontFamilyVtbl): IDWriteFontList(IDWriteFontListVtbl) { + fn GetFamilyNames(&mut self, names: *mut *mut IDWriteLocalizedStrings) -> ::HRESULT, + fn GetFirstMatchingFont( + &mut self, weight: DWRITE_FONT_WEIGHT, stretch: DWRITE_FONT_STRETCH, + style: DWRITE_FONT_STYLE, matchingFont: *mut *mut IDWriteFont + ) -> ::HRESULT, + fn GetMatchingFonts( + &mut self, weight: DWRITE_FONT_WEIGHT, stretch: DWRITE_FONT_STRETCH, + style: DWRITE_FONT_STYLE, matchingFonts: *mut *mut IDWriteFontList + ) -> ::HRESULT +}} +RIDL!{interface IDWriteFont(IDWriteFontVtbl): IUnknown(IUnknownVtbl) { + fn GetFontFamily(&mut self, fontFamily: *mut *mut IDWriteFontFamily) -> ::HRESULT, + fn GetWeight(&mut self) -> DWRITE_FONT_WEIGHT, + fn GetStretch(&mut self) -> DWRITE_FONT_STRETCH, + fn GetStyle(&mut self) -> DWRITE_FONT_STYLE, + fn IsSymbolFont(&mut self) -> ::BOOL, + fn GetFaceNames(&mut self, names: *mut *mut IDWriteLocalizedStrings) -> ::HRESULT, + fn GetInformationalStrings( + &mut self, informationalStringId: DWRITE_INFORMATIONAL_STRING_ID, + informationalStrings: *mut *mut IDWriteLocalizedStrings, exists: *mut ::BOOL + ) -> ::HRESULT, + fn GetSimulations(&mut self) -> DWRITE_FONT_SIMULATIONS, + fn GetMetrics(&mut self, fontMetrics: *mut DWRITE_FONT_METRICS) -> (), + fn HasCharacter(&mut self, unicodeValue: ::UINT32, exists: *mut ::BOOL) -> ::HRESULT, + fn CreateFontFace(&mut self, fontFace: *mut *mut IDWriteFontFace) -> ::HRESULT +}} +ENUM!{enum DWRITE_READING_DIRECTION { + DWRITE_READING_DIRECTION_LEFT_TO_RIGHT = 0, + DWRITE_READING_DIRECTION_RIGHT_TO_LEFT = 1, + DWRITE_READING_DIRECTION_TOP_TO_BOTTOM = 2, + DWRITE_READING_DIRECTION_BOTTOM_TO_TOP = 3, +}} +ENUM!{enum DWRITE_FLOW_DIRECTION { + DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM = 0, + DWRITE_FLOW_DIRECTION_BOTTOM_TO_TOP = 1, + DWRITE_FLOW_DIRECTION_LEFT_TO_RIGHT = 2, + DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT = 3, +}} +ENUM!{enum DWRITE_TEXT_ALIGNMENT { + DWRITE_TEXT_ALIGNMENT_LEADING, + DWRITE_TEXT_ALIGNMENT_TRAILING, + DWRITE_TEXT_ALIGNMENT_CENTER, + DWRITE_TEXT_ALIGNMENT_JUSTIFIED, +}} +ENUM!{enum DWRITE_PARAGRAPH_ALIGNMENT { + DWRITE_PARAGRAPH_ALIGNMENT_NEAR, + DWRITE_PARAGRAPH_ALIGNMENT_FAR, + DWRITE_PARAGRAPH_ALIGNMENT_CENTER, +}} +ENUM!{enum DWRITE_WORD_WRAPPING { + DWRITE_WORD_WRAPPING_WRAP = 0, + DWRITE_WORD_WRAPPING_NO_WRAP = 1, + DWRITE_WORD_WRAPPING_EMERGENCY_BREAK = 2, + DWRITE_WORD_WRAPPING_WHOLE_WORD = 3, + DWRITE_WORD_WRAPPING_CHARACTER = 4, +}} +ENUM!{enum DWRITE_LINE_SPACING_METHOD { + DWRITE_LINE_SPACING_METHOD_DEFAULT, + DWRITE_LINE_SPACING_METHOD_UNIFORM, + DWRITE_LINE_SPACING_METHOD_PROPORTIONAL, +}} +ENUM!{enum DWRITE_TRIMMING_GRANULARITY { + DWRITE_TRIMMING_GRANULARITY_NONE, + DWRITE_TRIMMING_GRANULARITY_CHARACTER, + DWRITE_TRIMMING_GRANULARITY_WORD, +}} +ENUM!{enum DWRITE_FONT_FEATURE_TAG { + DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS = 0x63726661, // 'afrc' + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS = 0x63703263, // 'c2pc' + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS = 0x63733263, // 'c2sc' + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES = 0x746c6163, // 'calt' + DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS = 0x65736163, // 'case' + DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION = 0x706d6363, // 'ccmp' + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES = 0x67696c63, // 'clig' + DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING = 0x70737063, // 'cpsp' + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH = 0x68777363, // 'cswh' + DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING = 0x73727563, // 'curs' + DWRITE_FONT_FEATURE_TAG_DEFAULT = 0x746c6664, // 'dflt' + DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES = 0x67696c64, // 'dlig' + DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS = 0x74707865, // 'expt' + DWRITE_FONT_FEATURE_TAG_FRACTIONS = 0x63617266, // 'frac' + DWRITE_FONT_FEATURE_TAG_FULL_WIDTH = 0x64697766, // 'fwid' + DWRITE_FONT_FEATURE_TAG_HALF_FORMS = 0x666c6168, // 'half' + DWRITE_FONT_FEATURE_TAG_HALANT_FORMS = 0x6e6c6168, // 'haln' + DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH = 0x746c6168, // 'halt' + DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS = 0x74736968, // 'hist' + DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES = 0x616e6b68, // 'hkna' + DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES = 0x67696c68, // 'hlig' + DWRITE_FONT_FEATURE_TAG_HALF_WIDTH = 0x64697768, // 'hwid' + DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS = 0x6f6a6f68, // 'hojo' + DWRITE_FONT_FEATURE_TAG_JIS04_FORMS = 0x3430706a, // 'jp04' + DWRITE_FONT_FEATURE_TAG_JIS78_FORMS = 0x3837706a, // 'jp78' + DWRITE_FONT_FEATURE_TAG_JIS83_FORMS = 0x3338706a, // 'jp83' + DWRITE_FONT_FEATURE_TAG_JIS90_FORMS = 0x3039706a, // 'jp90' + DWRITE_FONT_FEATURE_TAG_KERNING = 0x6e72656b, // 'kern' + DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES = 0x6167696c, // 'liga' + DWRITE_FONT_FEATURE_TAG_LINING_FIGURES = 0x6d756e6c, // 'lnum' + DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS = 0x6c636f6c, // 'locl' + DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING = 0x6b72616d, // 'mark' + DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK = 0x6b72676d, // 'mgrk' + DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING = 0x6b6d6b6d, // 'mkmk' + DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS = 0x746c616e, // 'nalt' + DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS = 0x6b636c6e, // 'nlck' + DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES = 0x6d756e6f, // 'onum' + DWRITE_FONT_FEATURE_TAG_ORDINALS = 0x6e64726f, // 'ordn' + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH = 0x746c6170, // 'palt' + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS = 0x70616370, // 'pcap' + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES = 0x6d756e70, // 'pnum' + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS = 0x64697770, // 'pwid' + DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS = 0x64697771, // 'qwid' + DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES = 0x67696c72, // 'rlig' + DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS = 0x79627572, // 'ruby' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES = 0x746c6173, // 'salt' + DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS = 0x666e6973, // 'sinf' + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS = 0x70636d73, // 'smcp' + DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS = 0x6c706d73, // 'smpl' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 = 0x31307373, // 'ss01' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 = 0x32307373, // 'ss02' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 = 0x33307373, // 'ss03' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 = 0x34307373, // 'ss04' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 = 0x35307373, // 'ss05' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 = 0x36307373, // 'ss06' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 = 0x37307373, // 'ss07' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 = 0x38307373, // 'ss08' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 = 0x39307373, // 'ss09' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 = 0x30317373, // 'ss10' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 = 0x31317373, // 'ss11' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 = 0x32317373, // 'ss12' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 = 0x33317373, // 'ss13' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 = 0x34317373, // 'ss14' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 = 0x35317373, // 'ss15' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 = 0x36317373, // 'ss16' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 = 0x37317373, // 'ss17' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 = 0x38317373, // 'ss18' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 = 0x39317373, // 'ss19' + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 = 0x30327373, // 'ss20' + DWRITE_FONT_FEATURE_TAG_SUBSCRIPT = 0x73627573, // 'subs' + DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT = 0x73707573, // 'sups' + DWRITE_FONT_FEATURE_TAG_SWASH = 0x68737773, // 'swsh' + DWRITE_FONT_FEATURE_TAG_TITLING = 0x6c746974, // 'titl' + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS = 0x6d616e74, // 'tnam' + DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES = 0x6d756e74, // 'tnum' + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS = 0x64617274, // 'trad' + DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS = 0x64697774, // 'twid' + DWRITE_FONT_FEATURE_TAG_UNICASE = 0x63696e75, // 'unic' + DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING = 0x74726576, // 'vert' + DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION = 0x32747276, // 'vrt2' + DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO = 0x6f72657a, // 'zero' +}} +STRUCT!{struct DWRITE_TEXT_RANGE { + startPosition: ::UINT32, + length: ::UINT32, +}} +STRUCT!{struct DWRITE_FONT_FEATURE { + nameTag: DWRITE_FONT_FEATURE_TAG, + parameter: ::UINT32, +}} +STRUCT!{struct DWRITE_TYPOGRAPHIC_FEATURES { + features: *mut DWRITE_FONT_FEATURE, + featureCount: ::UINT32, +}} +STRUCT!{struct DWRITE_TRIMMING { + granularity: DWRITE_TRIMMING_GRANULARITY, + delimiter: ::UINT32, + delimiterCount: ::UINT32, +}} +RIDL!{interface IDWriteTextFormat(IDWriteTextFormatVtbl): IUnknown(IUnknownVtbl) { + fn SetTextAlignment(&mut self, textAlignment: DWRITE_TEXT_ALIGNMENT) -> ::HRESULT, + fn SetParagraphAlignment( + &mut self, paragraphAlignment: DWRITE_PARAGRAPH_ALIGNMENT + ) -> ::HRESULT, + fn SetWordWrapping(&mut self, wordWrapping: DWRITE_WORD_WRAPPING) -> ::HRESULT, + fn SetReadingDirection(&mut self, readingDirection: DWRITE_READING_DIRECTION) -> ::HRESULT, + fn SetFlowDirection(&mut self, flowDirection: DWRITE_FLOW_DIRECTION) -> ::HRESULT, + fn SetIncrementalTabStop(&mut self, incrementalTabStop: ::FLOAT) -> ::HRESULT, + fn SetTrimming( + &mut self, trimmingOptions: *const DWRITE_TRIMMING, trimmingSign: *mut IDWriteInlineObject + ) -> ::HRESULT, + fn SetLineSpacing( + &mut self, lineSpacingMethod: DWRITE_LINE_SPACING_METHOD, lineSpacing: ::FLOAT, + baseLine: ::FLOAT + ) -> ::HRESULT, + fn GetTextAlignment(&mut self) -> DWRITE_TEXT_ALIGNMENT, + fn GetParagraphAlignment(&mut self) -> DWRITE_PARAGRAPH_ALIGNMENT, + fn GetWordWrapping(&mut self) -> DWRITE_WORD_WRAPPING, + fn GetReadingDirection(&mut self) -> DWRITE_READING_DIRECTION, + fn GetFlowDirection(&mut self) -> DWRITE_FLOW_DIRECTION, + fn GetIncrementalTabStop(&mut self) -> ::FLOAT, + fn GetTrimming( + &mut self, trimmingOptions: *mut DWRITE_TRIMMING, + trimmingSign: *mut *mut IDWriteInlineObject + ) -> ::HRESULT, + fn GetLineSpacing( + &mut self, lineSpacingMethod: *mut DWRITE_LINE_SPACING_METHOD, lineSpacing: *mut ::FLOAT, + baseline: *mut ::FLOAT + ) -> ::HRESULT, + fn GetFontCollection(&mut self, fontCollection: *mut *mut IDWriteFontCollection) -> ::HRESULT, + fn GetFontFamilyNameLength(&mut self) -> ::UINT32, + fn GetFontFamilyName(&mut self, fontFamilyName: *mut ::WCHAR, nameSize: ::UINT32) -> ::HRESULT, + fn GetFontWeight(&mut self) -> DWRITE_FONT_WEIGHT, + fn GetFontStyle(&mut self) -> DWRITE_FONT_STYLE, + fn GetFontStretch(&mut self) -> DWRITE_FONT_STRETCH, + fn GetFontSize(&mut self) -> ::FLOAT, + fn GetLocaleNameLength(&mut self) -> ::UINT32, + fn GetLocaleName(&mut self, localeName: *mut ::WCHAR, nameSize: ::UINT32) -> ::HRESULT +}} +RIDL!{interface IDWriteTypography(IDWriteTypographyVtbl): IUnknown(IUnknownVtbl) { + fn AddFontFeature(&mut self, fontFeature: DWRITE_FONT_FEATURE) -> ::HRESULT, + fn GetFontFeatureCount(&mut self) -> ::UINT32, + fn GetFontFeature( + &mut self, fontFeatureIndex: ::UINT32, fontFeature: *mut DWRITE_FONT_FEATURE + ) -> ::HRESULT +}} +FLAGS!{enum DWRITE_SCRIPT_SHAPES { + DWRITE_SCRIPT_SHAPES_DEFAULT = 0, + DWRITE_SCRIPT_SHAPES_NO_VISUAL = 1, +}} +STRUCT!{struct DWRITE_SCRIPT_ANALYSIS { + script: ::UINT16, + shapes: DWRITE_SCRIPT_SHAPES, +}} +ENUM!{enum DWRITE_BREAK_CONDITION { + DWRITE_BREAK_CONDITION_NEUTRAL, + DWRITE_BREAK_CONDITION_CAN_BREAK, + DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, + DWRITE_BREAK_CONDITION_MUST_BREAK, +}} +STRUCT!{struct DWRITE_LINE_BREAKPOINT { + bit_fields: ::UINT8, +}} +BITFIELD!{DWRITE_LINE_BREAKPOINT bit_fields: ::UINT8 [ + breakConditionBefore set_breakConditionBefore[0..2], + breakConditionAfter set_breakConditionAfter[2..4], + isWhitespace set_isWhitespace[4..5], + isSoftHyphen set_isSoftHyphen[5..6], + padding set_padding[6..8], +]} +ENUM!{enum DWRITE_NUMBER_SUBSTITUTION_METHOD { + DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE, + DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL, + DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE, + DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL, + DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL, +}} +RIDL!{interface IDWriteNumberSubstitution(IDWriteNumberSubstitutionVtbl): IUnknown(IUnknownVtbl) { +}} +STRUCT!{struct DWRITE_SHAPING_TEXT_PROPERTIES { + bit_fields: ::UINT16, +}} +BITFIELD!{DWRITE_SHAPING_TEXT_PROPERTIES bit_fields: ::UINT16 [ + isShapedAlone set_isShapedAlone[0..1], + reserved set_reserved[1..16], +]} +STRUCT!{struct DWRITE_SHAPING_GLYPH_PROPERTIES { + bit_fields: ::UINT16, +}} +BITFIELD!{DWRITE_SHAPING_GLYPH_PROPERTIES bit_fields: ::UINT16 [ + justification set_justification[0..4], + isClusterStart set_isClusterStart[4..5], + isDiacritic set_isDiacritic[5..6], + isZeroWidthSpace set_isZeroWidthSpace[6..7], + reserved set_reserved[7..16], +]} +RIDL!{interface IDWriteTextAnalysisSource(IDWriteTextAnalysisSourceVtbl): IUnknown(IUnknownVtbl) { + fn GetTextAtPosition( + &mut self, textPosition: ::UINT32, textString: *mut *const ::WCHAR, + textLength: *mut ::UINT32 + ) -> ::HRESULT, + fn GetTextBeforePosition( + &mut self, textPosition: ::UINT32, textString: *mut *const ::WCHAR, + textLength: *mut ::UINT32 + ) -> ::HRESULT, + fn GetParagraphReadingDirection(&mut self) -> DWRITE_READING_DIRECTION, + fn GetLocaleName( + &mut self, textPosition: ::UINT32, textLength: *mut ::UINT32, + localeName: *mut *const ::WCHAR + ) -> ::HRESULT, + fn GetNumberSubstitution( + &mut self, textPosition: ::UINT32, textLength: *mut ::UINT32, + numberSubstitution: *mut *mut IDWriteNumberSubstitution + ) -> ::HRESULT +}} +RIDL!{interface IDWriteTextAnalysisSink(IDWriteTextAnalysisSinkVtbl): IUnknown(IUnknownVtbl) { + fn SetScriptAnalysis( + &mut self, textPosition: ::UINT32, textLength: ::UINT32, + scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS + ) -> ::HRESULT, + fn SetLineBreakpoints( + &mut self, textPosition: ::UINT32, textLength: ::UINT32, + lineBreakpoints: *const DWRITE_LINE_BREAKPOINT + ) -> ::HRESULT, + fn SetBidiLevel( + &mut self, textPosition: ::UINT32, textLength: ::UINT32, explicitLevel: ::UINT8, + resolvedLevel: ::UINT8 + ) -> ::HRESULT, + fn SetNumberSubstitution( + &mut self, textPosition: ::UINT32, textLength: ::UINT32, + numberSubstitution: *mut IDWriteNumberSubstitution + ) -> ::HRESULT +}} +RIDL!{interface IDWriteTextAnalyzer(IDWriteTextAnalyzerVtbl): IUnknown(IUnknownVtbl) { + fn AnalyzeScript( + &mut self, analysisSource: *mut IDWriteTextAnalysisSource, textPosition: ::UINT32, + textLength: ::UINT32, analysisSink: *mut IDWriteTextAnalysisSink + ) -> ::HRESULT, + fn AnalyzeBidi( + &mut self, analysisSource: *mut IDWriteTextAnalysisSource, textPosition: ::UINT32, + textLength: ::UINT32, analysisSink: *mut IDWriteTextAnalysisSink + ) -> ::HRESULT, + fn AnalyzeNumberSubstitution( + &mut self, analysisSource: *mut IDWriteTextAnalysisSource, textPosition: ::UINT32, + textLength: ::UINT32, analysisSink: *mut IDWriteTextAnalysisSink + ) -> ::HRESULT, + fn AnalyzeLineBreakpoints( + &mut self, analysisSource: *mut IDWriteTextAnalysisSource, textPosition: ::UINT32, + textLength: ::UINT32, analysisSink: *mut IDWriteTextAnalysisSink + ) -> ::HRESULT, + fn GetGlyphs( + &mut self, textString: *const ::WCHAR, textLength: ::UINT32, + fontFace: *mut IDWriteFontFace, isSideways: ::BOOL, isRightToLeft: ::BOOL, + scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS, localeName: *const ::WCHAR, + numberSubstitution: *mut IDWriteNumberSubstitution, + features: *mut *const DWRITE_TYPOGRAPHIC_FEATURES, featureRangeLengths: *const ::UINT32, + featureRanges: ::UINT32, maxGlyphCount: ::UINT32, clusterMap: *mut ::UINT16, + textProps: *mut DWRITE_SHAPING_TEXT_PROPERTIES, glyphIndices: *mut ::UINT16, + glyphProps: *mut DWRITE_SHAPING_GLYPH_PROPERTIES, actualGlyphCount: *mut ::UINT32 + ) -> ::HRESULT, + fn GetGlyphPlacements( + &mut self, textString: *const ::WCHAR, clusterMap: *const ::UINT16, + textProps: *mut DWRITE_SHAPING_TEXT_PROPERTIES, textLength: ::UINT32, + glyphIndices: *const ::UINT16, glyphProps: *const DWRITE_SHAPING_GLYPH_PROPERTIES, + glyphCount: ::UINT32, fontFace: *mut IDWriteFontFace, fontEmSize: ::FLOAT, + isSideways: ::BOOL, isRightToLeft: ::BOOL, scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS, + localeName: *const ::WCHAR, features: *mut *const DWRITE_TYPOGRAPHIC_FEATURES, + featureRangeLengths: *const ::UINT32, featureRanges: ::UINT32, glyphAdvances: *mut ::FLOAT, + glyphOffsets: *mut DWRITE_GLYPH_OFFSET + ) -> ::HRESULT, + fn GetGdiCompatibleGlyphPlacements( + &mut self, textString: *const ::WCHAR, clusterMap: *const ::UINT16, + textProps: *mut DWRITE_SHAPING_TEXT_PROPERTIES, textLength: ::UINT32, + glyphIndices: *const ::UINT16, glyphProps: *const DWRITE_SHAPING_GLYPH_PROPERTIES, + glyphCount: ::UINT32, fontFace: *mut IDWriteFontFace, fontEmSize: ::FLOAT, + pixelsPerDip: ::FLOAT, transform: *const DWRITE_MATRIX, useGdiNatrual: ::BOOL, + isSideways: ::BOOL, isRightToLeft: ::BOOL, scriptAnalysis: *const DWRITE_SCRIPT_ANALYSIS, + localeName: *const ::WCHAR, features: *mut *const DWRITE_TYPOGRAPHIC_FEATURES, + featureRangeLengths: *const ::UINT32, featureRanges: ::UINT32, glyphAdvances: *mut ::FLOAT, + glyphOffsets: *mut DWRITE_GLYPH_OFFSET + ) -> ::HRESULT +}} +STRUCT!{struct DWRITE_GLYPH_RUN { + fontFace: *mut IDWriteFontFace, + fontEmSize: ::FLOAT, + glyphCount: ::UINT32, + glyphIndices: *const ::UINT16, + glyphAdvances: *const ::FLOAT, + glyphOffsets: *const DWRITE_GLYPH_OFFSET, + isSideways: ::BOOL, + bidiLevel: ::UINT32, +}} +STRUCT!{struct DWRITE_GLYPH_RUN_DESCRIPTION { + localeName: *const ::WCHAR, + string: *const ::WCHAR, + stringLength: ::UINT32, + clusterMap: *const ::UINT16, + textPosition: ::UINT32, +}} +STRUCT!{struct DWRITE_UNDERLINE { + width: ::FLOAT, + thickness: ::FLOAT, + offset: ::FLOAT, + runHeight: ::FLOAT, + readingDirection: DWRITE_READING_DIRECTION, + flowDirection: DWRITE_FLOW_DIRECTION, + localeName: *const ::WCHAR, + measuringMode: ::DWRITE_MEASURING_MODE, +}} +STRUCT!{struct DWRITE_STRIKETHROUGH { + width: ::FLOAT, + thickness: ::FLOAT, + offset: ::FLOAT, + readingDirection: DWRITE_READING_DIRECTION, + flowDirection: DWRITE_FLOW_DIRECTION, + localeName: *const ::WCHAR, + measuringMode: ::DWRITE_MEASURING_MODE, +}} +STRUCT!{struct DWRITE_LINE_METRICS { + length: ::UINT32, + trailingWhitespaceLength: ::UINT32, + newlineLength: ::UINT32, + height: ::FLOAT, + baseline: ::FLOAT, + isTrimmed: ::BOOL, +}} +STRUCT!{struct DWRITE_CLUSTER_METRICS { + width: ::FLOAT, + length: ::UINT16, + bit_fields: ::UINT16, +}} +BITFIELD!{DWRITE_CLUSTER_METRICS bit_fields: ::UINT16 [ + canWrapLineAfter set_canWrapLineAfter[0..1], + isWhitespace set_isWhitespace[1..2], + isNewline set_isNewline[2..3], + isSoftHyphen set_isSoftHyphen[3..4], + isRightToLeft set_isRightToLeft[4..5], + padding set_padding[5..16], +]} +STRUCT!{struct DWRITE_TEXT_METRICS { + left: ::FLOAT, + top: ::FLOAT, + width: ::FLOAT, + widthIncludingTrailingWhitespace: ::FLOAT, + height: ::FLOAT, + layoutWidth: ::FLOAT, + layoutHeight: ::FLOAT, + maxBidiReorderingDepth: ::UINT32, + lineCount: ::UINT32, +}} +STRUCT!{struct DWRITE_INLINE_OBJECT_METRICS { + width: ::FLOAT, + height: ::FLOAT, + baseline: ::FLOAT, + supportsSideways: ::BOOL, +}} +STRUCT!{struct DWRITE_OVERHANG_METRICS { + left: ::FLOAT, + top: ::FLOAT, + right: ::FLOAT, + bottom: ::FLOAT, +}} +STRUCT!{struct DWRITE_HIT_TEST_METRICS { + textPosition: ::UINT32, + length: ::UINT32, + left: ::FLOAT, + top: ::FLOAT, + width: ::FLOAT, + height: ::FLOAT, + bidiLevel: ::UINT32, + isText: ::BOOL, + isTrimmed: ::BOOL, +}} +RIDL!{interface IDWriteInlineObject(IDWriteInlineObjectVtbl): IUnknown(IUnknownVtbl) { + fn Draw( + &mut self, clientDrawingContext: *mut ::c_void, renderer: *mut IDWriteTextRenderer, + originX: ::FLOAT, originY: ::FLOAT, isSideways: ::BOOL, isRightToLeft: ::BOOL, + clientDrawingEffect: *mut ::IUnknown + ) -> ::HRESULT, + fn GetMetrics(&mut self, metrics: *mut DWRITE_INLINE_OBJECT_METRICS) -> ::HRESULT, + fn GetOverhangMetrics(&mut self, overhangs: *mut DWRITE_OVERHANG_METRICS) -> ::HRESULT, + fn GetBreakConditions( + &mut self, breakConditionBefore: *mut DWRITE_BREAK_CONDITION, + breakConditionAfter: *mut DWRITE_BREAK_CONDITION + ) -> ::HRESULT +}} +RIDL!{interface IDWritePixelSnapping(IDWritePixelSnappingVtbl): IUnknown(IUnknownVtbl) { + fn IsPixelSnappingDisabled( + &mut self, clientDrawingContext: *mut ::c_void, isDisabled: *mut ::BOOL + ) -> ::HRESULT, + fn GetCurrentTransform( + &mut self, clientDrawingContext: *mut ::c_void, transform: *mut DWRITE_MATRIX + ) -> ::HRESULT, + fn GetPixelsPerDip( + &mut self, clientDrawingContext: *mut ::c_void, pixelsPerDip: *mut ::FLOAT + ) -> ::HRESULT +}} +RIDL!{interface IDWriteTextRenderer(IDWriteTextRendererVtbl): + IDWritePixelSnapping(IDWritePixelSnappingVtbl) { + fn DrawGlyphRun( + &mut self, clientDrawingContext: *mut ::c_void, baselineOriginX: ::FLOAT, + baselineOriginY: ::FLOAT, measuringMode: ::DWRITE_MEASURING_MODE, + glyphRun: *const DWRITE_GLYPH_RUN, + glyphRunDescription: *const DWRITE_GLYPH_RUN_DESCRIPTION, + clientDrawingEffect: *mut ::IUnknown + ) -> ::HRESULT, + fn DrawUnderline( + &mut self, clientDrawingContext: *mut ::c_void, baselineOriginX: ::FLOAT, + baselineOriginY: ::FLOAT, underline: *const DWRITE_UNDERLINE, + clientDrawingEffect: *mut ::IUnknown + ) -> ::HRESULT, + fn DrawStrikethrough( + &mut self, clientDrawingContext: *mut ::c_void, baselineOriginX: ::FLOAT, + baselineOriginY: ::FLOAT, strikethrough: *const DWRITE_STRIKETHROUGH, + clientDrawingEffect: *mut ::IUnknown + ) -> ::HRESULT, + fn DrawInlineObject( + &mut self, clientDrawingContext: *mut ::c_void, baselineOriginX: ::FLOAT, + baselineOriginY: ::FLOAT, inlineObject: *mut IDWriteInlineObject, + isSideways: ::BOOL, isRightToLeft: ::BOOL, clientDrawingEffect: *mut ::IUnknown + ) -> ::HRESULT +}} +RIDL!{interface IDWriteTextLayout(IDWriteTextLayoutVtbl): + IDWriteTextFormat(IDWriteTextFormatVtbl) { + fn SetMaxWidth(&mut self, maxWidth: ::FLOAT) -> ::HRESULT, + fn SetMaxHeight(&mut self, maxHeight: ::FLOAT) -> ::HRESULT, + fn SetFontCollection( + &mut self, fontCollection: *mut IDWriteFontCollection, textRange: DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn SetFontFamilyName( + &mut self, fontFamilyName: *const ::WCHAR, textRange: DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn SetFontWeight( + &mut self, fontWeight: DWRITE_FONT_WEIGHT, textRange: DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn SetFontStyle( + &mut self, fontStyle: DWRITE_FONT_STYLE, textRange: DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn SetFontStretch( + &mut self, fontStretch: DWRITE_FONT_STRETCH, textRange: DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn SetFontSize(&mut self, fontSize: ::FLOAT, textRange: DWRITE_TEXT_RANGE) -> ::HRESULT, + fn SetUnderline(&mut self, hasUnderline: ::BOOL, textRange: DWRITE_TEXT_RANGE) -> ::HRESULT, + fn SetStrikethrough( + &mut self, hasStrikethrough: ::BOOL, textRange: DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn SetDrawingEffect( + &mut self, drawingEffect: *mut ::IUnknown, textRange: DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn SetInlineObject( + &mut self, inlineObject: *mut IDWriteInlineObject, textRange: DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn SetTypography( + &mut self, typography: *mut IDWriteTypography, textRange: DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn SetLocaleName( + &mut self, localeName: *const ::WCHAR, textRange: DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetMaxWidth(&mut self) -> ::FLOAT, + fn GetMaxHeight(&mut self) -> ::FLOAT, + fn GetFontCollection( + &mut self, currentPosition: ::UINT32, fontCollection: *mut *mut IDWriteFontCollection, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetFontFamilyNameLength( + &mut self, currentPosition: ::UINT32, nameLength: *mut ::UINT32, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetFontFamilyName( + &mut self, currentPosition: ::UINT32, fontFamilyName: *mut ::WCHAR, + nameSize: ::UINT32, textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetFontWeight( + &mut self, currentPosition: ::UINT32, fontWeight: *mut DWRITE_FONT_WEIGHT, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetFontStyle( + &mut self, currentPosition: ::UINT32, fontStyle: *mut DWRITE_FONT_STYLE, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetFontStretch( + &mut self, currentPosition: ::UINT32, fontStretch: *mut DWRITE_FONT_STRETCH, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetFontSize( + &mut self, currentPosition: ::UINT32, fontSize: *mut ::FLOAT, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetUnderline( + &mut self, currentPosition: ::UINT32, hasUnderline: *mut ::BOOL, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetStrikethrough( + &mut self, currentPosition: ::UINT32, hasStrikethrough: *mut ::BOOL, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetDrawingEffect( + &mut self, currentPosition: ::UINT32, drawingEffect: *mut *mut ::IUnknown, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetInlineObject( + &mut self, currentPosition: ::UINT32, inlineObject: *mut *mut IDWriteInlineObject, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetTypography( + &mut self, currentPosition: ::UINT32, typography: *mut *mut IDWriteTypography, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetLocaleNameLength( + &mut self, currentPosition: ::UINT32, nameLength: *mut ::UINT32, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn GetLocaleName( + &mut self, currentPosition: ::UINT32, localeName: *mut ::WCHAR, nameSize: ::UINT32, + textRange: *mut DWRITE_TEXT_RANGE + ) -> ::HRESULT, + fn Draw( + &mut self, clientDrawingContext: *mut ::c_void, renderer: *mut IDWriteTextRenderer, + originX: ::FLOAT, originY: ::FLOAT + ) -> ::HRESULT, + fn GetLineMetrics( + &mut self, lineMetrics: *mut DWRITE_LINE_METRICS, maxLineCount: ::UINT32, + actualLineCount: *mut ::UINT32 + ) -> ::HRESULT, + fn GetMetrics(&mut self, textMetrics: *mut DWRITE_TEXT_METRICS) -> ::HRESULT, + fn GetOverhangMetrics(&mut self, overhangs: *mut DWRITE_OVERHANG_METRICS) -> ::HRESULT, + fn GetClusterMetrics( + &mut self, clusterMetrics: *mut DWRITE_CLUSTER_METRICS, maxClusterCount: ::UINT32, + actualClusterCount: *mut ::UINT32 + ) -> ::HRESULT, + fn DetermineMinWidth(&mut self, minWidth: *mut ::FLOAT) -> ::HRESULT, + fn HitTestPoint( + &mut self, pointX: ::FLOAT, pointY: ::FLOAT, isTrailingHit: *mut ::BOOL, + isInside: *mut ::BOOL, hitTestMetrics: *mut DWRITE_HIT_TEST_METRICS + ) -> ::HRESULT, + fn HitTestTextPosition( + &mut self, textPosition: ::UINT32, isTrailingHit: ::BOOL, pointX: *mut ::FLOAT, + pointY: *mut ::FLOAT, hitTestMetrics: *mut DWRITE_HIT_TEST_METRICS + ) -> ::HRESULT, + fn HitTestTextRange( + &mut self, textPosition: ::UINT32, textLength: ::UINT32, originX: ::FLOAT, + originY: ::FLOAT, hitTestMetrics: *mut DWRITE_HIT_TEST_METRICS, + maxHitTestMetricsCount: ::UINT32, actualHitTestMetricsCount: *mut ::UINT32 + ) -> ::HRESULT +}} +RIDL!{interface IDWriteBitmapRenderTarget(IDWriteBitmapRenderTargetVtbl): IUnknown(IUnknownVtbl) { + fn DrawGlyphRun( + &mut self, baselineOriginX: ::FLOAT, baselineOriginY: ::FLOAT, + measuringMode: ::DWRITE_MEASURING_MODE, glyphRun: *const ::DWRITE_GLYPH_RUN, + renderingParams: *mut IDWriteRenderingParams, textColor: ::COLORREF, + blackBoxRect: *mut ::RECT + ) -> ::HRESULT, + fn GetMemoryDC(&mut self) -> ::HDC, + fn GetPixelsPerDip(&mut self) -> ::FLOAT, + fn SetPixelsPerDip(&mut self, pixelsPerDip: ::FLOAT) -> ::HRESULT, + fn GetCurrentTransform(&mut self, transform: *mut DWRITE_MATRIX) -> ::HRESULT, + fn SetCurrentTransform(&mut self, transform: *const DWRITE_MATRIX) -> ::HRESULT, + fn GetSize(&mut self, size: *mut ::SIZE) -> ::HRESULT, + fn Resize(&mut self, width: ::UINT32, height: ::UINT32) -> ::HRESULT +}} +RIDL!{interface IDWriteGdiInterop(IDWriteGdiInteropVtbl): IUnknown(IUnknownVtbl) { + fn CreateFontFromLOGFONT( + &mut self, logFont: *const ::LOGFONTW, font: *mut *mut IDWriteFont + ) -> ::HRESULT, + fn ConvertFontToLOGFONT( + &mut self, font: *mut IDWriteFont, logFont: *mut ::LOGFONTW, isSystemFont: *mut ::BOOL + ) -> ::HRESULT, + fn ConvertFontFaceToLOGFONT( + &mut self, font: *mut IDWriteFontFace, logFont: *mut ::LOGFONTW + ) -> ::HRESULT, + fn CreateFontFaceFromHdc( + &mut self, hdc: ::HDC, fontFace: *mut *mut IDWriteFontFace + ) -> ::HRESULT, + fn CreateBitmapRenderTarget( + &mut self, hdc: ::HDC, width: ::UINT32, height: ::UINT32, + renderTarget: *mut *mut IDWriteBitmapRenderTarget + ) -> ::HRESULT +}} +ENUM!{enum DWRITE_TEXTURE_TYPE { + DWRITE_TEXTURE_ALIASED_1x1 = 0, + DWRITE_TEXTURE_CLEARTYPE_3x1 = 1, +}} +pub const DWRITE_ALPHA_MAX: ::BYTE = 255; +RIDL!{interface IDWriteGlyphRunAnalysis(IDWriteGlyphRunAnalysisVtbl): IUnknown(IUnknownVtbl) { + fn GetAlphaTextureBounds( + &mut self, textureType: DWRITE_TEXTURE_TYPE, textureBounds: *mut ::RECT + ) -> ::HRESULT, + fn CreateAlphaTexture( + &mut self, textureType: DWRITE_TEXTURE_TYPE, textureBounds: *const ::RECT, + alphaValues: *mut ::BYTE, bufferSize: ::UINT32 + ) -> ::HRESULT, + fn GetAlphaBlendParams( + &mut self, renderingParams: *mut IDWriteRenderingParams, blendGamma: *mut ::FLOAT, + blendEnhancedContrast: *mut ::FLOAT, blendClearTypeLevel: *mut ::FLOAT + ) -> ::HRESULT +}} +RIDL!{interface IDWriteFactory(IDWriteFactoryVtbl): IUnknown(IUnknownVtbl) { + fn GetSystemFontCollection( + &mut self, fontCollection: *mut *mut IDWriteFontCollection, checkForUpdates: ::BOOL + ) -> ::HRESULT, + fn CreateCustomFontCollection( + &mut self, collectionLoader: *mut IDWriteFontCollectionLoader, + collectionKey: *const ::c_void, collectionKeySize: ::UINT32, + fontCollection: *mut *mut IDWriteFontCollection + ) -> ::HRESULT, + fn RegisterFontCollectionLoader( + &mut self, fontCollectionLoader: *mut IDWriteFontCollectionLoader + ) -> ::HRESULT, + fn UnregisterFontCollectionLoader( + &mut self, fontCollectionLoader: *mut IDWriteFontCollectionLoader + ) -> ::HRESULT, + fn CreateFontFileReference( + &mut self, filePath: *const ::WCHAR, lastWriteTime: *const ::FILETIME, + fontFile: *mut *mut IDWriteFontFile + ) -> ::HRESULT, + fn CreateCustomFontFileReference( + &mut self, fontFileReferenceKey: *const ::c_void, fontFileReferenceKeySize: ::UINT32, + fontFileLoader: *mut IDWriteFontFileLoader, fontFile: *mut *mut IDWriteFontFile + ) -> ::HRESULT, + fn CreateFontFace( + &mut self, fontFaceType: DWRITE_FONT_FACE_TYPE, numberOfFiles: ::UINT32, + fontFiles: *const *mut IDWriteFontFile, faceIndex: ::UINT32, + fontFaceSimulationFlags: DWRITE_FONT_SIMULATIONS, fontFace: *mut *mut IDWriteFontFace + ) -> ::HRESULT, + fn CreateRenderingParams( + &mut self, renderingParams: *mut *mut IDWriteRenderingParams + ) -> ::HRESULT, + fn CreateMonitorRenderingParams( + &mut self, monitor: ::HMONITOR, renderingParams: *mut *mut IDWriteRenderingParams + ) -> ::HRESULT, + fn CreateCustomRenderingParams( + &mut self, gamma: ::FLOAT, enhancedContrast: ::FLOAT, clearTypeLevel: ::FLOAT, + pixelGeometry: DWRITE_PIXEL_GEOMETRY, renderingMode: DWRITE_RENDERING_MODE, + renderingParams: *mut *mut IDWriteRenderingParams + ) -> ::HRESULT, + fn RegisterFontFileLoader( + &mut self, fontFileLoader: *mut IDWriteFontFileLoader + ) -> ::HRESULT, + fn UnregisterFontFileLoader( + &mut self, fontFileLoader: *mut IDWriteFontFileLoader + ) -> ::HRESULT, + fn CreateTextFormat( + &mut self, fontFamilyName: *const ::WCHAR, fontCollection: *mut IDWriteFontCollection, + fontWeight: DWRITE_FONT_WEIGHT, fontStyle: DWRITE_FONT_STYLE, + fontStretch: DWRITE_FONT_STRETCH, fontSize: ::FLOAT, localeName: *const ::WCHAR, + textFormat: *mut *mut IDWriteTextFormat + ) -> ::HRESULT, + fn CreateTypography(&mut self, typography: *mut *mut IDWriteTypography) -> ::HRESULT, + fn GetGdiInterop(&mut self, gdiInterop: *mut *mut IDWriteGdiInterop) -> ::HRESULT, + fn CreateTextLayout( + &mut self, string: *const ::WCHAR, stringLength: ::UINT32, + textFormat: *mut IDWriteTextFormat, maxWidth: ::FLOAT, maxHeight: ::FLOAT, + textLayout: *mut *mut IDWriteTextLayout + ) -> ::HRESULT, + fn CreateGdiCompatibleTextLayout( + &mut self, string: *const ::WCHAR, stringLength: ::UINT32, + textFormat: *mut IDWriteTextFormat, layoutWidth: ::FLOAT, layoutHeight: ::FLOAT, + pixelsPerDip: ::FLOAT, transform: *const DWRITE_MATRIX, useGdiNatrual: ::BOOL, + textLayout: *mut *mut IDWriteTextLayout + ) -> ::HRESULT, + fn CreateEllipsisTrimmingSign( + &mut self, textFormat: *mut IDWriteTextFormat, trimmingSign: *mut *mut IDWriteInlineObject + ) -> ::HRESULT, + fn CreateTextAnalyzer(&mut self, textAnalyzer: *mut *mut IDWriteTextAnalyzer) -> ::HRESULT, + fn CreateNumberSubstitution( + &mut self, substitutionMethod: DWRITE_NUMBER_SUBSTITUTION_METHOD, + localeName: *const ::WCHAR, ignoreUserOverride: ::BOOL, + numberSubstitution: *mut *mut IDWriteNumberSubstitution + ) -> ::HRESULT, + fn CreateGlyphRunAnalysis( + &mut self, glyphRun: *const DWRITE_GLYPH_RUN, pixelsPerDip: ::FLOAT, + transform: *const DWRITE_MATRIX, renderingMode: DWRITE_RENDERING_MODE, + measuringMode: ::DWRITE_MEASURING_MODE, baselineOriginX: ::FLOAT, + baselineOriginY: ::FLOAT, glyphRunAnalysis: *mut *mut IDWriteGlyphRunAnalysis + ) -> ::HRESULT +}} +pub const FACILITY_DWRITE: ::HRESULT = 0x898; +pub const DWRITE_ERR_BASE: ::HRESULT = 0x5000; +#[inline] +pub fn MAKE_DWRITE_HR(severity: ::HRESULT, code: ::HRESULT) -> ::HRESULT { + ::MAKE_HRESULT(severity, FACILITY_DWRITE, DWRITE_ERR_BASE + code) +} +#[inline] +pub fn MAKE_DWRITE_HR_ERR(code: ::HRESULT) -> ::HRESULT { + MAKE_DWRITE_HR(::SEVERITY_ERROR, code) +} diff --git a/third_party/rust/winapi-0.2.8/src/dxgi.rs b/third_party/rust/winapi-0.2.8/src/dxgi.rs new file mode 100644 index 0000000000..c81821504c --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dxgi.rs @@ -0,0 +1,240 @@ +// Copyright © 2015; Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of dxgi.h +STRUCT!{struct DXGI_FRAME_STATISTICS { + PresentCount: ::UINT, + PresentRefreshCount: ::UINT, + SyncRefreshCount: ::UINT, + SyncQPCTime: ::LARGE_INTEGER, + SyncGPUTime: ::LARGE_INTEGER, +}} +STRUCT!{struct DXGI_MAPPED_RECT { + Pitch: ::INT, + pBits: *mut ::BYTE, +}} +STRUCT!{nodebug struct DXGI_ADAPTER_DESC { + Description: [::WCHAR; 128], + VectorId: ::UINT, + DeviceId: ::UINT, + SubSysId: ::UINT, + Revision: ::UINT, + DedicatedVideoMemory: ::SIZE_T, + DedicatedSystemMemory: ::SIZE_T, + SharedSystemMemory: ::SIZE_T, + AdapterLuid: ::LUID, +}} +STRUCT!{nodebug struct DXGI_OUTPUT_DESC { + DeviceName: [::WCHAR; 32], + DesktopCoordinates: ::RECT, + AttachedToDesktop: ::BOOL, + Rotation: ::DXGI_MODE_ROTATION, + Monitor: ::HMONITOR, +}} +STRUCT!{struct DXGI_SHARED_RESOURCE { + Handle: ::HANDLE, +}} +pub const DXGI_RESOURCE_PRIORITY_MINIMUM: ::DWORD = 0x28000000; +pub const DXGI_RESOURCE_PRIORITY_LOW: ::DWORD = 0x50000000; +pub const DXGI_RESOURCE_PRIORITY_NORMAL: ::DWORD = 0x78000000; +pub const DXGI_RESOURCE_PRIORITY_HIGH: ::DWORD = 0xa0000000; +pub const DXGI_RESOURCE_PRIORITY_MAXIMUM: ::DWORD = 0xc8000000; +ENUM!{enum DXGI_RESIDENCY { + DXGI_RESIDENCY_FULLY_RESIDENT = 1, + DXGI_RESIDENCY_RESIDENT_IN_SHARED_MEMORY = 2, + DXGI_RESIDENCY_EVICTED_TO_DISK = 3, +}} +STRUCT!{struct DXGI_SURFACE_DESC { + Width: ::UINT, + Height: ::UINT, + Format: ::DXGI_FORMAT, + SampleDesc: ::DXGI_SAMPLE_DESC, +}} +ENUM!{enum DXGI_SWAP_EFFECT { + DXGI_SWAP_EFFECT_DISCARD = 0, + DXGI_SWAP_EFFECT_SEQUENTIAL = 1, + DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL = 3, +}} +FLAGS!{enum DXGI_SWAP_CHAIN_FLAG { + DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1, + DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2, + DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4, + DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8, + DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16, + DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32, + DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64, + DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128, + DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256, + DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512, +}} +STRUCT!{struct DXGI_SWAP_CHAIN_DESC { + BufferDesc: ::DXGI_MODE_DESC, + SampleDesc: ::DXGI_SAMPLE_DESC, + BufferUsage: ::DXGI_USAGE, + BufferCount: ::UINT, + OutputWindow: ::HWND, + Windowed: ::BOOL, + SwapEffect: DXGI_SWAP_EFFECT, + Flags: ::UINT, +}} +RIDL!( +interface IDXGIObject(IDXGIObjectVtbl): IUnknown(IUnknownVtbl) { + fn SetPrivateData( + &mut self, Name: ::REFGUID, DataSize: ::UINT, pData: *const ::c_void + ) -> ::HRESULT, + fn SetPrivateDataInterface(&mut self, Name: ::REFGUID, pUnknown: *const ::IUnknown) -> ::HRESULT, + fn GetPrivateData( + &mut self, Name: ::REFGUID, pDataSize: *mut ::UINT, pData: *mut ::c_void + ) -> ::HRESULT, + fn GetParent( + &mut self, riid: ::REFIID, ppParent: *mut *mut ::c_void + ) -> ::HRESULT +}); +RIDL!( +interface IDXGIDeviceSubObject(IDXGIDeviceSubObjectVtbl): IDXGIObject(IDXGIObjectVtbl) { + fn GetDevice(&mut self, riid: ::REFIID, ppDevice: *mut *mut ::c_void) -> ::HRESULT +}); +RIDL!( +interface IDXGIResource(IDXGIResourceVtbl): IDXGIDeviceSubObject(IDXGIDeviceSubObjectVtbl) { + fn GetSharedHandle(&mut self, pSharedHandle: *mut ::HANDLE) -> ::HRESULT, + fn GetUsage(&mut self, pUsage: *mut ::DXGI_USAGE) -> ::HRESULT, + fn SetEvictionPriority(&mut self, EvictionPriority: ::UINT) -> ::HRESULT, + fn GetEvictionPriority(&mut self, pEvictionPriority: *mut ::UINT) -> ::HRESULT +}); +RIDL!( +interface IDXGIKeyedMutex(IDXGIKeyedMutexVtbl): IDXGIDeviceSubObject(IDXGIDeviceSubObjectVtbl) { + fn AcquireSync(&mut self, Key: ::UINT64, dwMilliseconds: ::DWORD) -> ::HRESULT, + fn ReleaseSync(&mut self, Key: ::UINT64) -> ::HRESULT +}); +RIDL!( +interface IDXGISurface(IDXGISurfaceVtbl): IDXGIDeviceSubObject(IDXGIDeviceSubObjectVtbl) { + fn GetDesc(&mut self, pDesc: *mut DXGI_SURFACE_DESC) -> ::HRESULT, + fn Map(&mut self, pLockedRect: *mut DXGI_MAPPED_RECT, MapFlags: ::UINT) -> ::HRESULT, + fn Unmap(&mut self) -> ::HRESULT +}); +RIDL!( +interface IDXGISurface1(IDXGISurface1Vtbl): IDXGISurface(IDXGISurfaceVtbl) { + fn GetDC(&mut self, Discard: ::BOOL, phdc: *mut ::HDC) -> ::HRESULT, + fn ReleaseDC(&mut self, pDirtyRect: *mut ::RECT) -> ::HRESULT +}); +RIDL!( +interface IDXGIAdapter(IDXGIAdapterVtbl): IDXGIObject(IDXGIObjectVtbl) { + fn EnumOutputs(&mut self, Output: ::UINT, ppOutput: *mut *mut IDXGIOutput) -> ::HRESULT, + fn GetDesc(&mut self, pDesc: *mut DXGI_ADAPTER_DESC) -> ::HRESULT, + fn CheckInterfaceSupport( + &mut self, InterfaceName: ::REFGUID, pUMDVersion: *mut ::LARGE_INTEGER + ) -> ::HRESULT +}); +RIDL!( +interface IDXGIOutput(IDXGIOutputVtbl): IDXGIObject(IDXGIObjectVtbl) { + fn GetDesc(&mut self, pDesc: *mut DXGI_OUTPUT_DESC) -> ::HRESULT, + fn GetDisplayModeList( + &mut self, EnumFormat: ::DXGI_FORMAT, Flags: ::UINT, pNumModes: *mut ::UINT, + pDesc: *mut ::DXGI_MODE_DESC + ) -> ::HRESULT, + fn FindClosestMatchingMode( + &mut self, pModeToMatch: *const ::DXGI_MODE_DESC, pClosestMatch: *mut ::DXGI_MODE_DESC, + pConcernedDevice: *mut ::IUnknown + ) -> ::HRESULT, + fn WaitForVBlank(&mut self) -> ::HRESULT, + fn TakeOwnership(&mut self, pDevice: *mut ::IUnknown, Exclusive: ::BOOL) -> ::HRESULT, + fn ReleaseOwnership(&mut self) -> (), + fn GetGammaControlCapabilities( + &mut self, pGammaCaps: *mut ::DXGI_GAMMA_CONTROL_CAPABILITIES + ) -> ::HRESULT, + fn SetGammaControl(&mut self, pArray: *const ::DXGI_GAMMA_CONTROL) -> ::HRESULT, + fn GetGammaControl(&mut self, pArray: *mut ::DXGI_GAMMA_CONTROL) -> ::HRESULT, + fn SetDisplaySurface(&mut self, pScanoutSurface: *mut IDXGISurface) -> ::HRESULT, + fn GetDisplaySurfaceData(&mut self, pDestination: *mut IDXGISurface) -> ::HRESULT, + fn GetFrameStatistics(&mut self, pStats: *mut DXGI_FRAME_STATISTICS) -> ::HRESULT +}); +pub const DXGI_MAX_SWAP_CHAIN_BUFFERS: ::DWORD = 16; +pub const DXGI_PRESENT_TEST: ::DWORD = 0x00000001; +pub const DXGI_PRESENT_DO_NOT_SEQUENCE: ::DWORD = 0x00000002; +pub const DXGI_PRESENT_RESTART: ::DWORD = 0x00000004; +pub const DXGI_PRESENT_DO_NOT_WAIT: ::DWORD = 0x00000008; +pub const DXGI_PRESENT_STEREO_PREFER_RIGHT: ::DWORD = 0x00000010; +pub const DXGI_PRESENT_STEREO_TEMPORARY_MONO: ::DWORD = 0x00000020; +pub const DXGI_PRESENT_RESTRICT_TO_OUTPUT: ::DWORD = 0x00000040; +pub const DXGI_PRESENT_USE_DURATION: ::DWORD = 0x00000100; +RIDL!( +interface IDXGISwapChain(IDXGISwapChainVtbl): IDXGIDeviceSubObject(IDXGIDeviceSubObjectVtbl) { + fn Present(&mut self, SyncInterval: ::UINT, Flags: ::UINT) -> ::HRESULT, + fn GetBuffer( + &mut self, Buffer: ::UINT, riid: ::REFIID, ppSurface: *mut *mut ::c_void + ) -> ::HRESULT, + fn SetFullscreenState(&mut self, Fullscreen: ::BOOL, pTarget: *mut IDXGIOutput) -> ::HRESULT, + fn GetFullscreenState( + &mut self, pFullscreen: *mut ::BOOL, ppTarget: *mut *mut IDXGIOutput + ) -> ::HRESULT, + fn GetDesc(&mut self, pDesc: *mut DXGI_SWAP_CHAIN_DESC) -> ::HRESULT, + fn ResizeBuffers( + &mut self, BufferCount: ::UINT, Width: ::UINT, Height: ::UINT, NewFormat: ::DXGI_FORMAT, + SwapChainFlags: ::UINT + ) -> ::HRESULT, + fn ResizeTarget(&mut self, pNewTargetParameters: *const ::DXGI_MODE_DESC) -> ::HRESULT, + fn GetContainingOutput(&mut self, ppOutput: *mut *mut IDXGIOutput) -> ::HRESULT, + fn GetFrameStatistics(&mut self, pStats: *mut DXGI_FRAME_STATISTICS) -> ::HRESULT, + fn GetLastPresentCount(&mut self, pLastPresentCount: *mut ::UINT) -> ::HRESULT +}); +RIDL!( +interface IDXGIFactory(IDXGIFactoryVtbl): IDXGIObject(IDXGIObjectVtbl) { + fn EnumAdapters(&mut self, Adapter: ::UINT, ppAdapter: *mut *mut IDXGIAdapter) -> ::HRESULT, + fn MakeWindowAssociation(&mut self, WindowHandle: ::HWND, Flags: ::UINT) -> ::HRESULT, + fn GetWindowAssociation(&mut self, pWindowHandle: *mut ::HWND) -> ::HRESULT, + fn CreateSwapChain( + &mut self, pDevice: *mut ::IUnknown, pDesc: *mut DXGI_SWAP_CHAIN_DESC, + ppSwapChain: *mut *mut IDXGISwapChain + ) -> ::HRESULT, + fn CreateSoftwareAdapter( + &mut self, Module: ::HMODULE, ppAdapter: *mut *mut IDXGIAdapter + ) -> ::HRESULT +}); +RIDL!( +interface IDXGIDevice(IDXGIDeviceVtbl): IDXGIObject(IDXGIObjectVtbl) { + fn GetAdapter(&mut self, pAdapter: *mut *mut IDXGIAdapter) -> ::HRESULT, + fn CreateSurface( + &mut self, pDesc: *const DXGI_SURFACE_DESC, NumSurfaces: ::UINT, Usage: ::DXGI_USAGE, + pSharedResource: *const DXGI_SHARED_RESOURCE, ppSurface: *mut *mut IDXGISurface + ) -> ::HRESULT, + fn QueryResourceResidency( + &mut self, ppResources: *const *mut ::IUnknown, pResidencyStatus: *mut DXGI_RESIDENCY, + NumResources: ::UINT + ) -> ::HRESULT, + fn SetGPUThreadPriority(&mut self, Priority: ::INT) -> ::HRESULT, + fn GetGPUThreadPriority(&mut self, pPriority: *mut ::INT) -> ::HRESULT +}); +ENUM!{enum DXGI_ADAPTER_FLAG { + DXGI_ADAPTER_FLAG_NONE, + DXGI_ADAPTER_FLAG_REMOTE, + DXGI_ADAPTER_FLAG_SOFTWARE, +}} +STRUCT!{nodebug struct DXGI_ADAPTER_DESC1 { + Description: [::WCHAR; 128], + VendorId: ::UINT, + DeviceId: ::UINT, + SubSysId: ::UINT, + Revision: ::UINT, + DedicatedVideoMemory: ::SIZE_T, + DedicatedSystemMemory: ::SIZE_T, + SharedSystemMemory: ::SIZE_T, + AdapterLuid: ::LUID, + Flags: ::UINT, +}} +STRUCT!{struct DXGI_DISPLAY_COLOR_SPACE { + PrimaryCoordinates: [[::FLOAT; 2]; 8], + WhitePoints: [[::FLOAT; 2]; 16], +}} +RIDL!( +interface IDXGIFactory1(IDXGIFactory1Vtbl): IDXGIFactory(IDXGIFactoryVtbl) { + fn EnumAdapters1(&mut self, Adapter: ::UINT, ppAdapter: *mut *mut IDXGIAdapter1) -> ::HRESULT, + fn IsCurrent(&mut self) -> ::BOOL +}); +RIDL!( +interface IDXGIAdapter1(IDXGIAdapter1Vtbl): IDXGIAdapter(IDXGIAdapterVtbl) { + fn GetDesc1(&mut self, pDesc: *mut DXGI_ADAPTER_DESC1) -> ::HRESULT +}); +RIDL!( +interface IDXGIDevice1(IDXGIDevice1Vtbl): IDXGIDevice(IDXGIDeviceVtbl) { + fn SetMaximumFrameLatency(&mut self, MaxLatency: ::UINT) -> ::HRESULT, + fn GetMaximumFrameLatency(&mut self, pMaxLatency: *mut ::UINT) -> ::HRESULT +}); diff --git a/third_party/rust/winapi-0.2.8/src/dxgi1_2.rs b/third_party/rust/winapi-0.2.8/src/dxgi1_2.rs new file mode 100644 index 0000000000..42082747c2 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dxgi1_2.rs @@ -0,0 +1,288 @@ +// Copyright © 2015; Dmitry Roschin +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of dxgi1_2.h + +ENUM!{ enum DXGI_ALPHA_MODE { + DXGI_ALPHA_MODE_UNSPECIFIED = 0, + DXGI_ALPHA_MODE_PREMULTIPLIED = 1, + DXGI_ALPHA_MODE_STRAIGHT = 2, + DXGI_ALPHA_MODE_IGNORE = 3, + DXGI_ALPHA_MODE_FORCE_DWORD = 0xFFFFFFFF, +}} + +ENUM!{ enum DXGI_COMPUTE_PREEMPTION_GRANULARITY { + DXGI_COMPUTE_PREEMPTION_DMA_BUFFER_BOUNDARY = 0, + DXGI_COMPUTE_PREEMPTION_DISPATCH_BOUNDARY = 1, + DXGI_COMPUTE_PREEMPTION_THREAD_GROUP_BOUNDARY = 2, + DXGI_COMPUTE_PREEMPTION_THREAD_BOUNDARY = 3, + DXGI_COMPUTE_PREEMPTION_INSTRUCTION_BOUNDARY = 4, +}} + +ENUM!{ enum DXGI_GRAPHICS_PREEMPTION_GRANULARITY { + DXGI_GRAPHICS_PREEMPTION_DMA_BUFFER_BOUNDARY = 0, + DXGI_GRAPHICS_PREEMPTION_PRIMITIVE_BOUNDARY = 1, + DXGI_GRAPHICS_PREEMPTION_TRIANGLE_BOUNDARY = 2, + DXGI_GRAPHICS_PREEMPTION_PIXEL_BOUNDARY = 3, + DXGI_GRAPHICS_PREEMPTION_INSTRUCTION_BOUNDARY = 4, +}} + +ENUM!{ enum DXGI_OUTDUPL_POINTER_SHAPE_TYPE { + DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MONOCHROME = 1, + DXGI_OUTDUPL_POINTER_SHAPE_TYPE_COLOR = 2, + DXGI_OUTDUPL_POINTER_SHAPE_TYPE_MASKED_COLOR = 4, +}} + +ENUM!{ enum DXGI_SCALING { + DXGI_SCALING_STRETCH = 0, + DXGI_SCALING_NONE = 1, + DXGI_SCALING_ASPECT_RATIO_STRETCH = 2, +}} + +ENUM!{ enum _DXGI_OFFER_RESOURCE_PRIORITY { + DXGI_OFFER_RESOURCE_PRIORITY_LOW = 1, + DXGI_OFFER_RESOURCE_PRIORITY_NORMAL = 2, + DXGI_OFFER_RESOURCE_PRIORITY_HIGH = 3, +}} + +STRUCT!{nodebug struct DXGI_ADAPTER_DESC2 { + Description: [::WCHAR; 128], + VendorId: ::UINT, + DeviceId: ::UINT, + SubSysId: ::UINT, + Revision: ::UINT, + DedicatedVideoMemory: ::SIZE_T, + DedicatedSystemMemory: ::SIZE_T, + SharedSystemMemory: ::SIZE_T, + AdapterLuid: ::LUID, + Flags: ::UINT, + GraphicsPreemptionGranularity: ::DXGI_GRAPHICS_PREEMPTION_GRANULARITY, + ComputePreemptionGranularity: ::DXGI_COMPUTE_PREEMPTION_GRANULARITY, +}} + +STRUCT!{struct DXGI_MODE_DESC1 { + Width: ::UINT, + Height: ::UINT, + RefreshRate: ::DXGI_RATIONAL, + Format: ::DXGI_FORMAT, + ScanlineOrdering: ::DXGI_MODE_SCANLINE_ORDER, + Scaling: ::DXGI_MODE_SCALING, + Stereo: ::BOOL, +}} + +STRUCT!{struct DXGI_OUTDUPL_DESC { + ModeDesc: ::DXGI_MODE_DESC, + Rotation: ::DXGI_MODE_ROTATION, + DesktopImageInSystemMemory: ::BOOL, +}} + +STRUCT!{struct DXGI_OUTDUPL_FRAME_INFO { + LastPresentTime: ::LARGE_INTEGER, + LastMouseUpdateTime: ::LARGE_INTEGER, + AccumulatedFrames: ::UINT, + RectsCoalesced: ::BOOL, + ProtectedContentMaskedOut: ::BOOL, + PointerPosition: ::DXGI_OUTDUPL_POINTER_POSITION, + TotalMetadataBufferSize: ::UINT, + PointerShapeBufferSize: ::UINT, +}} + +STRUCT!{struct DXGI_OUTDUPL_MOVE_RECT { + SourcePoint: ::POINT, + DestinationRect: ::RECT, +}} + +STRUCT!{struct DXGI_OUTDUPL_POINTER_POSITION { + Position: ::POINT, + Visible: ::BOOL, +}} + +STRUCT!{struct DXGI_OUTDUPL_POINTER_SHAPE_INFO { + Type: ::UINT, + Width: ::UINT, + Height: ::UINT, + Pitch: ::UINT, + HotSpot: ::POINT, +}} + +STRUCT!{struct DXGI_PRESENT_PARAMETERS { + DirtyRectsCount: ::UINT, + pDirtyRects: *mut ::RECT, + pScrollRect: *mut ::RECT, + pScrollOffset: *mut ::POINT, +}} + +STRUCT!{struct DXGI_SWAP_CHAIN_DESC1 { + Width: ::UINT, + Height: ::UINT, + Format: ::DXGI_FORMAT, + Stereo: ::BOOL, + SampleDesc: ::DXGI_SAMPLE_DESC, + BufferUsage: ::DXGI_USAGE, + BufferCount: ::UINT, + Scaling: ::DXGI_SCALING, + SwapEffect: ::DXGI_SWAP_EFFECT, + AlphaMode: ::DXGI_ALPHA_MODE, + Flags: ::UINT, +}} + +STRUCT!{struct DXGI_SWAP_CHAIN_FULLSCREEN_DESC { + RefreshRate: ::DXGI_RATIONAL, + ScanlineOrdering: ::DXGI_MODE_SCANLINE_ORDER, + Scaling: ::DXGI_MODE_SCALING, + Windowed: ::BOOL, +}} + +RIDL!( +interface IDXGIAdapter2(IDXGIAdapter2Vtbl): IDXGIAdapter1(IDXGIAdapter1Vtbl) { + fn GetDesc2(&mut self, pDesc: *mut ::DXGI_ADAPTER_DESC2) -> ::HRESULT +}); + +RIDL!( +interface IDXGIDevice2(IDXGIDevice2Vtbl): IDXGIDevice1(IDXGIDevice1Vtbl) { + fn OfferResources( + &mut self, NumResources: ::UINT, ppResources: *mut *mut ::IDXGIResource, + Priority: ::DXGI_OFFER_RESOURCE_PRIORITY + ) -> ::HRESULT, + fn ReclaimResources( + &mut self, NumResources: ::UINT, ppResources: *mut *mut ::IDXGIResource, + pDiscarded: *mut ::BOOL + ) -> ::HRESULT, + fn EnqueueSetEvent(&mut self, hEvent: ::HANDLE) -> ::HRESULT +}); + +RIDL!( +interface IDXGIDisplayControl(IDXGIDisplayControlVtbl): IUnknown(IUnknownVtbl) { + fn IsStereoEnabled(&mut self) -> ::BOOL, + fn SetStereoEnabled(&mut self, enabled: ::BOOL) -> () +}); + +RIDL!( +interface IDXGIFactory2(IDXGIFactory2Vtbl): IDXGIFactory1(IDXGIFactory1Vtbl) { + fn IsWindowedStereoEnabled(&mut self) -> ::BOOL, + fn CreateSwapChainForHwnd( + &mut self, pDevice: *mut ::IUnknown, hWnd: ::HWND, pDesc: *const ::DXGI_SWAP_CHAIN_DESC1, + pFullscreenDesc: *const ::DXGI_SWAP_CHAIN_FULLSCREEN_DESC, + pRestrictToOutput: *mut ::IDXGIOutput, ppSwapChain: *mut *mut ::IDXGISwapChain1 + ) -> ::HRESULT, + fn CreateSwapChainForCoreWindow( + &mut self, pDevice: *mut ::IUnknown, pWindow: *mut ::IUnknown, + pDesc: *const ::DXGI_SWAP_CHAIN_DESC1, pRestrictToOutput: *mut ::IDXGIOutput, + ppSwapChain: *mut *mut ::IDXGISwapChain1 + ) -> ::HRESULT, + fn GetSharedResourceAdapterLuid( + &mut self, hResource: ::HANDLE, pLuid: *mut ::LUID + ) -> ::HRESULT, + fn RegisterStereoStatusWindow( + &mut self, WindowHandle: ::HWND, wMsg: ::UINT, pdwCookie: *mut ::DWORD + ) -> ::HRESULT, + fn RegisterStereoStatusEvent( + &mut self, hEvent: ::HANDLE, pdwCookie: *mut ::DWORD + ) -> ::HRESULT, + fn UnregisterStereoStatus(&mut self, dwCookie: ::DWORD) -> (), + fn RegisterOcclusionStatusWindow( + &mut self, WindowHandle: ::HWND, wMsg: ::UINT, pdwCookie: *mut ::DWORD + ) -> ::HRESULT, + fn RegisterOcclusionStatusEvent( + &mut self, hEvent: ::HANDLE, pdwCookie: *mut ::DWORD + ) -> ::HRESULT, + fn UnregisterOcclusionStatus(&mut self, dwCookie: ::DWORD) -> (), + fn CreateSwapChainForComposition( + &mut self, pDevice: *mut ::IUnknown, pDesc: *const ::DXGI_SWAP_CHAIN_DESC1, + pRestrictToOutput: *mut ::IDXGIOutput, ppSwapChain: *mut *mut ::IDXGISwapChain1 + ) -> ::HRESULT +}); + +RIDL!( +interface IDXGIOutput1(IDXGIOutput1Vtbl): IDXGIOutput(IDXGIOutputVtbl) { + fn GetDisplayModeList1( + &mut self, EnumFormat: ::DXGI_FORMAT, Flags: ::UINT, pNumModes: *mut ::UINT, + pDesc: *mut ::DXGI_MODE_DESC1 + ) -> ::HRESULT, + fn FindClosestMatchingMode1( + &mut self, pModeToMatch: *const ::DXGI_MODE_DESC1, pClosestMatch: *mut ::DXGI_MODE_DESC1, + pConcernedDevice: *mut ::IUnknown + ) -> ::HRESULT, + fn GetDisplaySurfaceData1( + &mut self, pDestination: *mut ::IDXGIResource + ) -> ::HRESULT, + fn DuplicateOutput( + &mut self, pDevice: *mut ::IUnknown, + ppOutputDuplication: *mut *mut ::IDXGIOutputDuplication + ) -> ::HRESULT +}); + +RIDL!( +interface IDXGIOutputDuplication(IDXGIOutputDuplicationVtbl): IDXGIObject(IDXGIObjectVtbl) { + fn GetDesc(&mut self, pDesc: *mut ::DXGI_OUTDUPL_DESC) -> (), + fn AcquireNextFrame( + &mut self, TimeoutInMilliseconds: ::UINT, pFrameInfo: *mut ::DXGI_OUTDUPL_FRAME_INFO, + ppDesktopResource: *mut *mut ::IDXGIResource + ) -> ::HRESULT, + fn GetFrameDirtyRects( + &mut self, DirtyRectsBufferSize: ::UINT, pDirtyRectsBuffer: *mut ::RECT, + pDirtyRectsBufferSizeRequired: *mut ::UINT + ) -> ::HRESULT, + fn GetFrameMoveRects( + &mut self, MoveRectsBufferSize: ::UINT, pMoveRectBuffer: *mut ::DXGI_OUTDUPL_MOVE_RECT, + pMoveRectsBufferSizeRequired: *mut ::UINT + ) -> ::HRESULT, + fn GetFramePointerShape( + &mut self, PointerShapeBufferSize: ::UINT, pPointerShapeBuffer: *mut ::c_void, + pPointerShapeBufferSizeRequired: *mut ::UINT, + pPointerShapeInfo: *mut ::DXGI_OUTDUPL_POINTER_SHAPE_INFO + ) -> ::HRESULT, + fn MapDesktopSurface( + &mut self, pLockedRect: *mut ::DXGI_MAPPED_RECT + ) -> ::HRESULT, + fn UnMapDesktopSurface(&mut self) -> ::HRESULT, + fn ReleaseFrame(&mut self) -> ::HRESULT +}); + +RIDL!( +interface IDXGIResource1(IDXGIResource1Vtbl): IDXGIResource(IDXGIResourceVtbl) { + fn CreateSubresourceSurface( + &mut self, index: ::UINT, ppSurface: *mut *mut ::IDXGISurface2 + ) -> ::HRESULT, + fn CreateSharedHandle( + &mut self, pAttributes: *const ::SECURITY_ATTRIBUTES, dwAccess: ::DWORD, lpName: ::LPCWSTR, + pHandle: *mut ::HANDLE + ) -> ::HRESULT +}); + +RIDL!( +interface IDXGISurface2(IDXGISurface2Vtbl): IDXGISurface1(IDXGISurface1Vtbl) { + fn GetResource( + &mut self, riid: ::REFGUID, ppParentResource: *mut *mut ::c_void, + pSubresourceIndex: *mut ::UINT + ) -> ::HRESULT +}); + +RIDL!( +interface IDXGISwapChain1(IDXGISwapChain1Vtbl): IDXGISwapChain(IDXGISwapChainVtbl) { + fn GetDesc1(&mut self, pDesc: *mut ::DXGI_SWAP_CHAIN_DESC1) -> ::HRESULT, + fn GetFullscreenDesc( + &mut self, pDesc: *mut ::DXGI_SWAP_CHAIN_FULLSCREEN_DESC + ) -> ::HRESULT, + fn GetHwnd(&mut self, pHwnd: *mut ::HWND) -> ::HRESULT, + fn GetCoreWindow( + &mut self, refiid: ::REFGUID, ppUnk: *mut *mut ::c_void + ) -> ::HRESULT, + fn Present1( + &mut self, SyncInterval: ::UINT, PresentFlags: ::UINT, + pPresentParameters: *const ::DXGI_PRESENT_PARAMETERS + ) -> ::HRESULT, + fn IsTemporaryMonoSupported(&mut self) -> ::BOOL, + fn GetRestrictToOutput( + &mut self, ppRestrictToOutput: *mut *mut ::IDXGIOutput + ) -> ::HRESULT, + fn SetBackgroundColor(&mut self, pColor: *const ::DXGI_RGBA) -> ::HRESULT, + fn GetBackgroundColor(&mut self, pColor: *mut ::DXGI_RGBA) -> ::HRESULT, + fn SetRotation(&mut self, Rotation: ::DXGI_MODE_ROTATION) -> ::HRESULT, + fn GetRotation(&mut self, pRotation: *mut ::DXGI_MODE_ROTATION) -> ::HRESULT +}); + +pub type DXGI_OFFER_RESOURCE_PRIORITY = ::_DXGI_OFFER_RESOURCE_PRIORITY; +pub const DXGI_ENUM_MODES_DISABLED_STEREO: ::UINT = 8; +pub const DXGI_ENUM_MODES_STEREO: ::UINT = 4; +pub const DXGI_SHARED_RESOURCE_READ: ::UINT = 0x80000000; +pub const DXGI_SHARED_RESOURCE_WRITE: ::UINT = 1; diff --git a/third_party/rust/winapi-0.2.8/src/dxgi1_3.rs b/third_party/rust/winapi-0.2.8/src/dxgi1_3.rs new file mode 100644 index 0000000000..71acf98c7c --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dxgi1_3.rs @@ -0,0 +1,131 @@ +// Copyright © 2015; Dmitry Roschin +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of dxgi1_3.h + +ENUM!{ enum DXGI_FRAME_PRESENTATION_MODE { + DXGI_FRAME_PRESENTATION_MODE_COMPOSED = 0, + DXGI_FRAME_PRESENTATION_MODE_OVERLAY = 1, + DXGI_FRAME_PRESENTATION_MODE_NONE = 2, + DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE = 3, +}} + +FLAGS!{ enum DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS { + DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_NOMINAL_RANGE = 0x1, + DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_BT709 = 0x2, + DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAG_xvYCC = 0x4, +}} + +FLAGS!{ enum DXGI_OVERLAY_SUPPORT_FLAG { + DXGI_OVERLAY_SUPPORT_FLAG_DIRECT = 0x1, + DXGI_OVERLAY_SUPPORT_FLAG_SCALING = 0x2, +}} + +STRUCT!{struct DXGI_DECODE_SWAP_CHAIN_DESC { + Flags: ::UINT, +}} + +STRUCT!{struct DXGI_FRAME_STATISTICS_MEDIA { + PresentCount: ::UINT, + PresentRefreshCount: ::UINT, + SyncRefreshCount: ::UINT, + SyncQPCTime: ::LARGE_INTEGER, + SyncGPUTime: ::LARGE_INTEGER, + CompositionMode: ::DXGI_FRAME_PRESENTATION_MODE, + ApprovedPresentDuration: ::UINT, +}} + +STRUCT!{struct DXGI_MATRIX_3X2_F { + _11: ::FLOAT, + _12: ::FLOAT, + _21: ::FLOAT, + _22: ::FLOAT, + _31: ::FLOAT, + _32: ::FLOAT, +}} + +RIDL!( +interface IDXGIDecodeSwapChain(IDXGIDecodeSwapChainVtbl): IUnknown(IUnknownVtbl) { + fn PresentBuffer( + &mut self, BufferToPresent: ::UINT, SyncInterval: ::UINT, Flags: ::UINT + ) -> ::HRESULT, + fn SetSourceRect(&mut self, pRect: *const ::RECT) -> ::HRESULT, + fn SetTargetRect(&mut self, pRect: *const ::RECT) -> ::HRESULT, + fn SetDestSize(&mut self, Width: ::UINT, Height: ::UINT) -> ::HRESULT, + fn GetSourceRect(&mut self, pRect: *mut ::RECT) -> ::HRESULT, + fn GetTargetRect(&mut self, pRect: *mut ::RECT) -> ::HRESULT, + fn GetDestSize( + &mut self, pWidth: *mut ::UINT, pHeight: *mut ::UINT + ) -> ::HRESULT, + fn SetColorSpace( + &mut self, ColorSpace: ::DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS + ) -> ::HRESULT, + fn GetColorSpace(&mut self) -> ::DXGI_MULTIPLANE_OVERLAY_YCbCr_FLAGS +}); + +RIDL!( +interface IDXGIDevice3(IDXGIDevice3Vtbl): IDXGIDevice2(IDXGIDevice2Vtbl) { + fn Trim(&mut self) -> () +}); + +RIDL!( +interface IDXGIFactory3(IDXGIFactory3Vtbl): IDXGIFactory2(IDXGIFactory2Vtbl) { + fn GetCreationFlags(&mut self) -> ::UINT +}); + +RIDL!( +interface IDXGIFactoryMedia(IDXGIFactoryMediaVtbl): IUnknown(IUnknownVtbl) { + fn CreateSwapChainForCompositionSurfaceHandle( + &mut self, pDevice: *mut ::IUnknown, hSurface: ::HANDLE, + pDesc: *const ::DXGI_SWAP_CHAIN_DESC1, pRestrictToOutput: *mut ::IDXGIOutput, + ppSwapChain: *mut *mut ::IDXGISwapChain1 + ) -> ::HRESULT, + fn CreateDecodeSwapChainForCompositionSurfaceHandle( + &mut self, pDevice: *mut ::IUnknown, hSurface: ::HANDLE, + pDesc: *mut ::DXGI_DECODE_SWAP_CHAIN_DESC, pYuvDecodeBuffers: *mut ::IDXGIResource, + pRestrictToOutput: *mut ::IDXGIOutput, ppSwapChain: *mut *mut ::IDXGIDecodeSwapChain + ) -> ::HRESULT +}); + +RIDL!( +interface IDXGIOutput2(IDXGIOutput2Vtbl): IDXGIOutput1(IDXGIOutput1Vtbl) { + fn SupportsOverlays(&mut self) -> ::BOOL +}); + +RIDL!( +interface IDXGIOutput3(IDXGIOutput3Vtbl): IDXGIOutput2(IDXGIOutput2Vtbl) { + fn CheckOverlaySupport( + &mut self, EnumFormat: ::DXGI_FORMAT, pConcernedDevice: *mut ::IUnknown, + pFlags: *mut ::UINT + ) -> ::HRESULT +}); + +RIDL!( +interface IDXGISwapChain2(IDXGISwapChain2Vtbl): IDXGISwapChain1(IDXGISwapChain1Vtbl) { + fn SetSourceSize(&mut self, Width: ::UINT, Height: ::UINT) -> ::HRESULT, + fn GetSourceSize( + &mut self, pWidth: *mut ::UINT, pHeight: *mut ::UINT + ) -> ::HRESULT, + fn SetMaximumFrameLatency(&mut self, MaxLatency: ::UINT) -> ::HRESULT, + fn GetMaximumFrameLatency(&mut self, pMaxLatency: *mut ::UINT) -> ::HRESULT, + fn GetFrameLatencyWaitableObject(&mut self) -> ::HANDLE, + fn SetMatrixTransform( + &mut self, pMatrix: *const ::DXGI_MATRIX_3X2_F + ) -> ::HRESULT, + fn GetMatrixTransform( + &mut self, pMatrix: *mut ::DXGI_MATRIX_3X2_F + ) -> ::HRESULT +}); + +RIDL!( +interface IDXGISwapChainMedia(IDXGISwapChainMediaVtbl): IUnknown(IUnknownVtbl) { + fn GetFrameStatisticsMedia( + &mut self, pStats: *mut ::DXGI_FRAME_STATISTICS_MEDIA + ) -> ::HRESULT, + fn SetPresentDuration(&mut self, Duration: ::UINT) -> ::HRESULT, + fn CheckPresentDurationSupport( + &mut self, DesiredPresentDuration: ::UINT, pClosestSmallerPresentDuration: *mut ::UINT, + pClosestLargerPresentDuration: *mut ::UINT + ) -> ::HRESULT +}); + +pub const DXGI_CREATE_FACTORY_DEBUG: ::UINT = 0x1; diff --git a/third_party/rust/winapi-0.2.8/src/dxgi1_4.rs b/third_party/rust/winapi-0.2.8/src/dxgi1_4.rs new file mode 100644 index 0000000000..cbca18f186 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dxgi1_4.rs @@ -0,0 +1,82 @@ +// Copyright © 2015; Dmitry Roschin +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of dxgi1_4.h + +ENUM!{ enum DXGI_MEMORY_SEGMENT_GROUP { + DXGI_MEMORY_SEGMENT_GROUP_LOCAL = 0, + DXGI_MEMORY_SEGMENT_GROUP_NON_LOCAL = 1, +}} + +FLAGS!{ enum DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG { + DXGI_OVERLAY_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1, +}} + +FLAGS!{ enum DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG { + DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT = 0x1, + DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT = 0x2, +}} + +STRUCT!{struct DXGI_QUERY_VIDEO_MEMORY_INFO { + Budget: ::UINT64, + CurrentUsage: ::UINT64, + AvailableForReservation: ::UINT64, + CurrentReservation: ::UINT64, +}} + +RIDL!( +interface IDXGIAdapter3(IDXGIAdapter3Vtbl): IDXGIAdapter2(IDXGIAdapter2Vtbl) { + fn RegisterHardwareContentProtectionTeardownStatusEvent( + &mut self, hEvent: ::HANDLE, pdwCookie: *mut ::DWORD + ) -> ::HRESULT, + fn UnregisterHardwareContentProtectionTeardownStatus( + &mut self, dwCookie: ::DWORD + ) -> (), + fn QueryVideoMemoryInfo( + &mut self, NodeIndex: ::UINT, MemorySegmentGroup: ::DXGI_MEMORY_SEGMENT_GROUP, + pVideoMemoryInfo: *mut ::DXGI_QUERY_VIDEO_MEMORY_INFO + ) -> ::HRESULT, + fn SetVideoMemoryReservation( + &mut self, NodeIndex: ::UINT, MemorySegmentGroup: ::DXGI_MEMORY_SEGMENT_GROUP, + Reservation: ::UINT64 + ) -> ::HRESULT, + fn RegisterVideoMemoryBudgetChangeNotificationEvent( + &mut self, hEvent: ::HANDLE, pdwCookie: *mut ::DWORD + ) -> ::HRESULT, + fn UnregisterVideoMemoryBudgetChangeNotification( + &mut self, dwCookie: ::DWORD + ) -> () +}); + +RIDL!( +interface IDXGIFactory4(IDXGIFactory4Vtbl): IDXGIFactory3(IDXGIFactory3Vtbl) { + fn EnumAdapterByLuid( + &mut self, AdapterLuid: ::LUID, riid: ::REFGUID, ppvAdapter: *mut *mut ::c_void + ) -> ::HRESULT, + fn EnumWarpAdapter( + &mut self, riid: ::REFGUID, ppvAdapter: *mut *mut ::c_void + ) -> ::HRESULT +}); + +RIDL!( +interface IDXGIOutput4(IDXGIOutput4Vtbl): IDXGIOutput3(IDXGIOutput3Vtbl) { + fn CheckOverlayColorSpaceSupport( + &mut self, Format: ::DXGI_FORMAT, ColorSpace: ::DXGI_COLOR_SPACE_TYPE, + pConcernedDevice: *mut ::IUnknown, pFlags: *mut ::UINT + ) -> ::HRESULT +}); + +RIDL!( +interface IDXGISwapChain3(IDXGISwapChain3Vtbl): IDXGISwapChain2(IDXGISwapChain2Vtbl) { + fn GetCurrentBackBufferIndex(&mut self) -> ::UINT, + fn CheckColorSpaceSupport( + &mut self, ColorSpace: ::DXGI_COLOR_SPACE_TYPE, pColorSpaceSupport: *mut ::UINT + ) -> ::HRESULT, + fn SetColorSpace1( + &mut self, ColorSpace: ::DXGI_COLOR_SPACE_TYPE + ) -> ::HRESULT, + fn ResizeBuffers1( + &mut self, BufferCount: ::UINT, Width: ::UINT, Height: ::UINT, Format: ::DXGI_FORMAT, + SwapChainFlags: ::UINT, pCreationNodeMask: *const ::UINT, + ppPresentQueue: *mut *mut ::IUnknown + ) -> ::HRESULT +}); diff --git a/third_party/rust/winapi-0.2.8/src/dxgiformat.rs b/third_party/rust/winapi-0.2.8/src/dxgiformat.rs new file mode 100644 index 0000000000..3e46fc2eda --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dxgiformat.rs @@ -0,0 +1,124 @@ +// Copyright © 2015, Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of dxgiformat.h +ENUM!{enum DXGI_FORMAT { + DXGI_FORMAT_UNKNOWN = 0, + DXGI_FORMAT_R32G32B32A32_TYPELESS = 1, + DXGI_FORMAT_R32G32B32A32_FLOAT = 2, + DXGI_FORMAT_R32G32B32A32_UINT = 3, + DXGI_FORMAT_R32G32B32A32_SINT = 4, + DXGI_FORMAT_R32G32B32_TYPELESS = 5, + DXGI_FORMAT_R32G32B32_FLOAT = 6, + DXGI_FORMAT_R32G32B32_UINT = 7, + DXGI_FORMAT_R32G32B32_SINT = 8, + DXGI_FORMAT_R16G16B16A16_TYPELESS = 9, + DXGI_FORMAT_R16G16B16A16_FLOAT = 10, + DXGI_FORMAT_R16G16B16A16_UNORM = 11, + DXGI_FORMAT_R16G16B16A16_UINT = 12, + DXGI_FORMAT_R16G16B16A16_SNORM = 13, + DXGI_FORMAT_R16G16B16A16_SINT = 14, + DXGI_FORMAT_R32G32_TYPELESS = 15, + DXGI_FORMAT_R32G32_FLOAT = 16, + DXGI_FORMAT_R32G32_UINT = 17, + DXGI_FORMAT_R32G32_SINT = 18, + DXGI_FORMAT_R32G8X24_TYPELESS = 19, + DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20, + DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21, + DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22, + DXGI_FORMAT_R10G10B10A2_TYPELESS = 23, + DXGI_FORMAT_R10G10B10A2_UNORM = 24, + DXGI_FORMAT_R10G10B10A2_UINT = 25, + DXGI_FORMAT_R11G11B10_FLOAT = 26, + DXGI_FORMAT_R8G8B8A8_TYPELESS = 27, + DXGI_FORMAT_R8G8B8A8_UNORM = 28, + DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29, + DXGI_FORMAT_R8G8B8A8_UINT = 30, + DXGI_FORMAT_R8G8B8A8_SNORM = 31, + DXGI_FORMAT_R8G8B8A8_SINT = 32, + DXGI_FORMAT_R16G16_TYPELESS = 33, + DXGI_FORMAT_R16G16_FLOAT = 34, + DXGI_FORMAT_R16G16_UNORM = 35, + DXGI_FORMAT_R16G16_UINT = 36, + DXGI_FORMAT_R16G16_SNORM = 37, + DXGI_FORMAT_R16G16_SINT = 38, + DXGI_FORMAT_R32_TYPELESS = 39, + DXGI_FORMAT_D32_FLOAT = 40, + DXGI_FORMAT_R32_FLOAT = 41, + DXGI_FORMAT_R32_UINT = 42, + DXGI_FORMAT_R32_SINT = 43, + DXGI_FORMAT_R24G8_TYPELESS = 44, + DXGI_FORMAT_D24_UNORM_S8_UINT = 45, + DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46, + DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47, + DXGI_FORMAT_R8G8_TYPELESS = 48, + DXGI_FORMAT_R8G8_UNORM = 49, + DXGI_FORMAT_R8G8_UINT = 50, + DXGI_FORMAT_R8G8_SNORM = 51, + DXGI_FORMAT_R8G8_SINT = 52, + DXGI_FORMAT_R16_TYPELESS = 53, + DXGI_FORMAT_R16_FLOAT = 54, + DXGI_FORMAT_D16_UNORM = 55, + DXGI_FORMAT_R16_UNORM = 56, + DXGI_FORMAT_R16_UINT = 57, + DXGI_FORMAT_R16_SNORM = 58, + DXGI_FORMAT_R16_SINT = 59, + DXGI_FORMAT_R8_TYPELESS = 60, + DXGI_FORMAT_R8_UNORM = 61, + DXGI_FORMAT_R8_UINT = 62, + DXGI_FORMAT_R8_SNORM = 63, + DXGI_FORMAT_R8_SINT = 64, + DXGI_FORMAT_A8_UNORM = 65, + DXGI_FORMAT_R1_UNORM = 66, + DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67, + DXGI_FORMAT_R8G8_B8G8_UNORM = 68, + DXGI_FORMAT_G8R8_G8B8_UNORM = 69, + DXGI_FORMAT_BC1_TYPELESS = 70, + DXGI_FORMAT_BC1_UNORM = 71, + DXGI_FORMAT_BC1_UNORM_SRGB = 72, + DXGI_FORMAT_BC2_TYPELESS = 73, + DXGI_FORMAT_BC2_UNORM = 74, + DXGI_FORMAT_BC2_UNORM_SRGB = 75, + DXGI_FORMAT_BC3_TYPELESS = 76, + DXGI_FORMAT_BC3_UNORM = 77, + DXGI_FORMAT_BC3_UNORM_SRGB = 78, + DXGI_FORMAT_BC4_TYPELESS = 79, + DXGI_FORMAT_BC4_UNORM = 80, + DXGI_FORMAT_BC4_SNORM = 81, + DXGI_FORMAT_BC5_TYPELESS = 82, + DXGI_FORMAT_BC5_UNORM = 83, + DXGI_FORMAT_BC5_SNORM = 84, + DXGI_FORMAT_B5G6R5_UNORM = 85, + DXGI_FORMAT_B5G5R5A1_UNORM = 86, + DXGI_FORMAT_B8G8R8A8_UNORM = 87, + DXGI_FORMAT_B8G8R8X8_UNORM = 88, + DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89, + DXGI_FORMAT_B8G8R8A8_TYPELESS = 90, + DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91, + DXGI_FORMAT_B8G8R8X8_TYPELESS = 92, + DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93, + DXGI_FORMAT_BC6H_TYPELESS = 94, + DXGI_FORMAT_BC6H_UF16 = 95, + DXGI_FORMAT_BC6H_SF16 = 96, + DXGI_FORMAT_BC7_TYPELESS = 97, + DXGI_FORMAT_BC7_UNORM = 98, + DXGI_FORMAT_BC7_UNORM_SRGB = 99, + DXGI_FORMAT_AYUV = 100, + DXGI_FORMAT_Y410 = 101, + DXGI_FORMAT_Y416 = 102, + DXGI_FORMAT_NV12 = 103, + DXGI_FORMAT_P010 = 104, + DXGI_FORMAT_P016 = 105, + DXGI_FORMAT_420_OPAQUE = 106, + DXGI_FORMAT_YUY2 = 107, + DXGI_FORMAT_Y210 = 108, + DXGI_FORMAT_Y216 = 109, + DXGI_FORMAT_NV11 = 110, + DXGI_FORMAT_AI44 = 111, + DXGI_FORMAT_IA44 = 112, + DXGI_FORMAT_P8 = 113, + DXGI_FORMAT_A8P8 = 114, + DXGI_FORMAT_B4G4R4A4_UNORM = 115, + DXGI_FORMAT_P208 = 130, + DXGI_FORMAT_V208 = 131, + DXGI_FORMAT_V408 = 132, +}} diff --git a/third_party/rust/winapi-0.2.8/src/dxgitype.rs b/third_party/rust/winapi-0.2.8/src/dxgitype.rs new file mode 100644 index 0000000000..6c9a2f5a71 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/dxgitype.rs @@ -0,0 +1,86 @@ +// Copyright © 2015; Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of dxgitype.h +pub const DXGI_CPU_ACCESS_NONE: ::DWORD = 0; +pub const DXGI_CPU_ACCESS_DYNAMIC: ::DWORD = 1; +pub const DXGI_CPU_ACCESS_READ_WRITE: ::DWORD = 2; +pub const DXGI_CPU_ACCESS_SCRATCH: ::DWORD = 3; +pub const DXGI_CPU_ACCESS_FIELD: ::DWORD = 15; +FLAGS!{enum DXGI_USAGE { + DXGI_USAGE_SHADER_INPUT = 1 << (0 + 4), + DXGI_USAGE_RENDER_TARGET_OUTPUT = 1 << (1 + 4), + DXGI_USAGE_BACK_BUFFER = 1 << (2 + 4), + DXGI_USAGE_SHARED = 1 << (3 + 4), + DXGI_USAGE_READ_ONLY = 1 << (4 + 4), + DXGI_USAGE_DISCARD_ON_PRESENT = 1 << (5 + 4), + DXGI_USAGE_UNORDERED_ACCESS = 1 << (6 + 4), +}} +STRUCT!{struct DXGI_RGB { + Red: f32, + Green: f32, + Blue: f32, +}} +pub type DXGI_RGBA = ::D3DCOLORVALUE; +STRUCT!{nodebug struct DXGI_GAMMA_CONTROL { + Scale: DXGI_RGB, + Offset: DXGI_RGB, + GammaCurve: [DXGI_RGB; 1025], +}} +STRUCT!{nodebug struct DXGI_GAMMA_CONTROL_CAPABILITIES { + ScaleAndOffsetSupported: ::BOOL, + MaxConvertedValue: f32, + MinConvertedValue: f32, + NumGammaControlPoints: ::UINT, + ControlPointPositions: [f32; 1025], +}} +STRUCT!{struct DXGI_RATIONAL { + Numerator: ::UINT, + Denominator: ::UINT, +}} +ENUM!{enum DXGI_MODE_SCANLINE_ORDER { + DXGI_MODE_SCANLINE_ORDER_UNSPECIFIED, + DXGI_MODE_SCANLINE_ORDER_PROGRESSIVE, + DXGI_MODE_SCANLINE_ORDER_UPPER_FIELD_FIRST, + DXGI_MODE_SCANLINE_ORDER_LOWER_FIELD_FIRST, +}} +ENUM!{enum DXGI_MODE_SCALING { + DXGI_MODE_SCALING_UNSPECIFIED, + DXGI_MODE_SCALING_CENTERED, + DXGI_MODE_SCALING_STRETCHED, +}} +ENUM!{enum DXGI_MODE_ROTATION { + DXGI_MODE_ROTATION_UNSPECIFIED, + DXGI_MODE_ROTATION_IDENTITY, + DXGI_MODE_ROTATION_ROTATE90, + DXGI_MODE_ROTATION_ROTATE180, + DXGI_MODE_ROTATION_ROTATE270, +}} +STRUCT!{struct DXGI_MODE_DESC { + Width: ::UINT, + Height: ::UINT, + RefreshRate: DXGI_RATIONAL, + Format: ::DXGI_FORMAT, + ScanlineOrdering: DXGI_MODE_SCANLINE_ORDER, + Scaling: DXGI_MODE_SCALING, +}} +STRUCT!{struct DXGI_SAMPLE_DESC { + Count: ::UINT, + Quality: ::UINT, +}} +ENUM!{enum DXGI_COLOR_SPACE_TYPE { + DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709 = 0x0, + DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709 = 0x1, + DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709 = 0x2, + DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020 = 0x3, + DXGI_COLOR_SPACE_RESERVED = 0x4, + DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 = 0x5, + DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601 = 0x6, + DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601 = 0x7, + DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709 = 0x8, + DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709 = 0x9, + DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020 = 0xA, + DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020 = 0xB, + DXGI_COLOR_SPACE_CUSTOM = 0xFFFFFFFF, +}} +pub const DXGI_CENTER_MULTISAMPLE_QUALITY_PATTERN: ::UINT = 0xfffffffe; +pub const DXGI_STANDARD_MULTISAMPLE_QUALITY_PATTERN: ::UINT = 0xffffffff; diff --git a/third_party/rust/winapi-0.2.8/src/errhandlingapi.rs b/third_party/rust/winapi-0.2.8/src/errhandlingapi.rs new file mode 100644 index 0000000000..fbdde40afa --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/errhandlingapi.rs @@ -0,0 +1,7 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! ApiSet Contract for api-ms-win-core-errorhandling-l1 +pub type PTOP_LEVEL_EXCEPTION_FILTER = Option<unsafe extern "system" fn( + ExceptionInfo: *mut ::EXCEPTION_POINTERS, +) -> ::LONG>; +pub type LPTOP_LEVEL_EXCEPTION_FILTER = PTOP_LEVEL_EXCEPTION_FILTER; diff --git a/third_party/rust/winapi-0.2.8/src/excpt.rs b/third_party/rust/winapi-0.2.8/src/excpt.rs new file mode 100644 index 0000000000..53ea3ffc5c --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/excpt.rs @@ -0,0 +1,14 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +ENUM!{enum EXCEPTION_DISPOSITION { + ExceptionContinueExecution = 0, + ExceptionContinueSearch = 1, + ExceptionNestedException = 2, + ExceptionCollidedUnwind = 3, +}} +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct _EXCEPTION_RECORD; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct _CONTEXT; +#[cfg(target_arch = "x86_64")] #[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct _DISPATCHER_CONTEXT; diff --git a/third_party/rust/winapi-0.2.8/src/fileapi.rs b/third_party/rust/winapi-0.2.8/src/fileapi.rs new file mode 100644 index 0000000000..764a7f65e4 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/fileapi.rs @@ -0,0 +1,152 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! ApiSet Contract for api-ms-win-core-file-l1 +pub const CREATE_NEW: ::DWORD = 1; +pub const CREATE_ALWAYS: ::DWORD = 2; +pub const OPEN_EXISTING: ::DWORD = 3; +pub const OPEN_ALWAYS: ::DWORD = 4; +pub const TRUNCATE_EXISTING: ::DWORD = 5; +pub const INVALID_FILE_SIZE: ::DWORD = 0xFFFFFFFF; +pub const INVALID_SET_FILE_POINTER: ::DWORD = 0xFFFFFFFF; +pub const INVALID_FILE_ATTRIBUTES: ::DWORD = 0xFFFFFFFF; +STRUCT!{struct WIN32_FILE_ATTRIBUTE_DATA { + dwFileAttributes: ::DWORD, + ftCreationTime: ::FILETIME, + ftLastAccessTime: ::FILETIME, + ftLastWriteTime: ::FILETIME, + nFileSizeHigh: ::DWORD, + nFileSizeLow: ::DWORD, +}} +pub type LPWIN32_FILE_ATTRIBUTE_DATA = *mut WIN32_FILE_ATTRIBUTE_DATA; +STRUCT!{struct BY_HANDLE_FILE_INFORMATION { + dwFileAttributes: ::DWORD, + ftCreationTime: ::FILETIME, + ftLastAccessTime: ::FILETIME, + ftLastWriteTime: ::FILETIME, + dwVolumeSerialNumber: ::DWORD, + nFileSizeHigh: ::DWORD, + nFileSizeLow: ::DWORD, + nNumberOfLinks: ::DWORD, + nFileIndexHigh: ::DWORD, + nFileIndexLow: ::DWORD, +}} +pub type PBY_HANDLE_FILE_INFORMATION = *mut BY_HANDLE_FILE_INFORMATION; +pub type LPBY_HANDLE_FILE_INFORMATION = *mut BY_HANDLE_FILE_INFORMATION; +STRUCT!{struct CREATEFILE2_EXTENDED_PARAMETERS { + dwSize: ::DWORD, + dwFileAttributes: ::DWORD, + dwFileFlags: ::DWORD, + dwSecurityQosFlags: ::DWORD, + lpSecurityAttributes: ::LPSECURITY_ATTRIBUTES, + hTemplateFile: ::HANDLE, +}} +pub type PCREATEFILE2_EXTENDED_PARAMETERS = *mut CREATEFILE2_EXTENDED_PARAMETERS; +pub type LPCREATEFILE2_EXTENDED_PARAMETERS = *mut CREATEFILE2_EXTENDED_PARAMETERS; +ENUM!{enum PRIORITY_HINT { + IoPriorityHintVeryLow = 0, + IoPriorityHintLow = 1, + IoPriorityHintNormal = 2, + MaximumIoPriorityHintType = 3, +}} +STRUCT!{struct FILE_BASIC_INFO { + CreationTime: ::LARGE_INTEGER, + LastAccessTime: ::LARGE_INTEGER, + LastWriteTime: ::LARGE_INTEGER, + ChangeTime: ::LARGE_INTEGER, + FileAttributes: ::DWORD, +}} +STRUCT!{struct FILE_STANDARD_INFO { + AllocationSize: ::LARGE_INTEGER, + EndOfFile: ::LARGE_INTEGER, + NumberOfLinks: ::DWORD, + DeletePending: ::BOOLEAN, + Directory: ::BOOLEAN, +}} +STRUCT!{struct FILE_NAME_INFO { + FileNameLength: ::DWORD, + FileName: [::WCHAR; 0], +}} +STRUCT!{struct FILE_RENAME_INFO { + ReplaceIfExists: ::BOOL, + RootDirectory: ::HANDLE, + FileNameLength: ::DWORD, + FileName: [::WCHAR; 0], +}} +STRUCT!{struct FILE_DISPOSITION_INFO { + DeleteFile: ::BOOL, +}} +STRUCT!{struct FILE_ALLOCATION_INFO { + AllocationSize: ::LARGE_INTEGER, +}} +STRUCT!{struct FILE_END_OF_FILE_INFO { + EndOfFile: ::LARGE_INTEGER, +}} +STRUCT!{struct FILE_STREAM_INFO { + NextEntryOffset: ::DWORD, + StreamNameLength: ::DWORD, + StreamSize: ::DWORD, + StreamAllocationSize: ::DWORD, + StreamName: [::WCHAR; 0], +}} +STRUCT!{struct FILE_COMPRESSION_INFO { + CompressedFileSize: ::LARGE_INTEGER, + CompressionFormat: ::WORD, + CompressionUnitShift: ::UCHAR, + ChunkShift: ::UCHAR, + ClusterShift: ::UCHAR, + Reserved: [::UCHAR; 3], +}} +STRUCT!{struct FILE_ATTRIBUTE_TAG_INFO { + NextEntryOffset: ::DWORD, + ReparseTag: ::DWORD, +}} +STRUCT!{struct FILE_ID_BOTH_DIR_INFO { + NextEntryOffset: ::DWORD, + FileIndex: ::DWORD, + CreationTime: ::LARGE_INTEGER, + LastAccessTime: ::LARGE_INTEGER, + LastWriteTime: ::LARGE_INTEGER, + ChangeTime: ::LARGE_INTEGER, + EndOfFile: ::LARGE_INTEGER, + AllocationSize: ::LARGE_INTEGER, + FileAttributes: ::DWORD, + FileNameLength: ::DWORD, + EaSize: ::DWORD, + ShortNameLength: ::CCHAR, + ShortName: [::WCHAR; 12], + FileId: ::LARGE_INTEGER, + FileName: [::WCHAR; 0], +}} +STRUCT!{struct FILE_IO_PRIORITY_HINT_INFO { + PriorityHint: ::PRIORITY_HINT, +}} +STRUCT!{struct FILE_FULL_DIR_INFO { + NextEntryOffset: ::ULONG, + FileIndex: ::ULONG, + CreationTime: ::LARGE_INTEGER, + LastAccessTime: ::LARGE_INTEGER, + LastWriteTime: ::LARGE_INTEGER, + ChangeTime: ::LARGE_INTEGER, + EndOfFile: ::LARGE_INTEGER, + AllocationSize: ::LARGE_INTEGER, + FileAttributes: ::ULONG, + FileNameLength: ::ULONG, + EaSize: ::ULONG, + FileName: [::WCHAR; 0], +}} +STRUCT!{struct FILE_STORAGE_INFO { + LogicalBytesPerSector: ::ULONG, + PhysicalBytesPerSectorForAtomicity: ::ULONG, + PhysicalBytesPerSectorForPerformance: ::ULONG, + FileSystemEffectivePhysicalBytesPerSectorForAtomicity: ::ULONG, + Flags: ::ULONG, + ByteOffsetForSectorAlignment: ::ULONG, + ByteOffsetForPartitionAlignment: ::ULONG, +}} +STRUCT!{struct FILE_ALIGNMENT_INFO { + AlignmentRequirement: ::ULONG, +}} +STRUCT!{struct FILE_ID_INFO { + VolumeSerialNumber: ::ULONGLONG, + FileId: ::FILE_ID_128, +}} diff --git a/third_party/rust/winapi-0.2.8/src/gl.rs b/third_party/rust/winapi-0.2.8/src/gl.rs new file mode 100644 index 0000000000..006c37e417 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/gl.rs @@ -0,0 +1,35 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//48 +pub type GLenum = ::c_uint; +pub type GLboolean = ::c_uchar; +pub type GLbitfield = ::c_uint; +pub type GLbyte = ::c_schar; +pub type GLshort = ::c_short; +pub type GLint = ::c_int; +pub type GLsizei = ::c_int; +pub type GLubyte = ::c_uchar; +pub type GLushort = ::c_ushort; +pub type GLuint = ::c_uint; +pub type GLfloat = ::c_float; +pub type GLclampf = ::c_float; +pub type GLdouble = ::c_double; +pub type GLclampd = ::c_double; +pub type GLvoid = ::c_void; +//63 +//68 +//AccumOp +pub const GL_ACCUM: GLenum = 0x0100; +pub const GL_LOAD: GLenum = 0x0101; +pub const GL_RETURN: GLenum = 0x0102; +pub const GL_MULT: GLenum = 0x0103; +pub const GL_ADD: GLenum = 0x0104; +//AlphaFunction +pub const GL_NEVER: GLenum = 0x0200; +pub const GL_LESS: GLenum = 0x0201; +pub const GL_EQUAL: GLenum = 0x0202; +pub const GL_LEQUAL: GLenum = 0x0203; +pub const GL_GREATER: GLenum = 0x0204; +pub const GL_NOTEQUAL: GLenum = 0x0205; +pub const GL_GEQUAL: GLenum = 0x0206; +pub const GL_ALWAYS: GLenum = 0x0207; diff --git a/third_party/rust/winapi-0.2.8/src/guiddef.rs b/third_party/rust/winapi-0.2.8/src/guiddef.rs new file mode 100644 index 0000000000..8b436cdda5 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/guiddef.rs @@ -0,0 +1,20 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +STRUCT!{struct GUID { + Data1: ::c_ulong, + Data2: ::c_ushort, + Data3: ::c_ushort, + Data4: [::c_uchar; 8], +}} +pub type LPGUID = *mut GUID; +pub type LPCGUID = *const GUID; +pub type IID = GUID; +pub type LPIID = *mut IID; +pub type CLSID = GUID; +pub type LPCLSID = *mut CLSID; +pub type FMTID = GUID; +pub type LPFMTID = *mut FMTID; +pub type REFGUID = *const GUID; +pub type REFIID = *const IID; +pub type REFCLSID = *const IID; +pub type REFFMTID = *const IID; diff --git a/third_party/rust/winapi-0.2.8/src/heapapi.rs b/third_party/rust/winapi-0.2.8/src/heapapi.rs new file mode 100644 index 0000000000..6f631c515a --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/heapapi.rs @@ -0,0 +1,12 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! ApiSet Contract for api-ms-win-core-heap-l1 +STRUCT!{struct HEAP_SUMMARY { + cb: ::DWORD, + cbAllocated: ::SIZE_T, + cbCommitted: ::SIZE_T, + cbReserved: ::SIZE_T, + cbMaxReserve: ::SIZE_T, +}} +pub type PHEAP_SUMMARY = *mut HEAP_SUMMARY; +pub type LPHEAP_SUMMARY = PHEAP_SUMMARY; diff --git a/third_party/rust/winapi-0.2.8/src/hidclass.rs b/third_party/rust/winapi-0.2.8/src/hidclass.rs new file mode 100644 index 0000000000..0851d5febb --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/hidclass.rs @@ -0,0 +1,56 @@ +// Copyright © 2015, Peter Atashian and Alex Daniel Jones +// Licensed under the MIT License <LICENSE.md> +DEFINE_GUID!{GUID_DEVINTERFACE_HID, 0x4D1E55B2, 0xF16F, 0x11CF, + 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30} +pub const GUID_CLASS_INPUT: ::GUID = GUID_DEVINTERFACE_HID; +DEFINE_GUID!{GUID_HID_INTERFACE_NOTIFY, 0x2c4e2e88, 0x25e6, 0x4c33, 0x88, 0x2f, 0x3d, 0x82, 0xe6, 0x07, 0x36, 0x81} +DEFINE_GUID!{GUID_HID_INTERFACE_HIDPARSE, 0xf5c315a5, 0x69ac, 0x4bc2, 0x92, 0x79, 0xd0, 0xb6, 0x45, 0x76, 0xf4, 0x4b} +// FIXME devpropkey stuff +pub const HID_REVISION: ::DWORD = 0x00000001; +pub const IOCTL_HID_GET_DRIVER_CONFIG: ::DWORD = HID_BUFFER_CTL_CODE!(100); +pub const IOCTL_HID_SET_DRIVER_CONFIG: ::DWORD = HID_BUFFER_CTL_CODE!(101); +pub const IOCTL_HID_GET_POLL_FREQUENCY_MSEC: ::DWORD = HID_BUFFER_CTL_CODE!(102); +pub const IOCTL_HID_SET_POLL_FREQUENCY_MSEC: ::DWORD = HID_BUFFER_CTL_CODE!(103); +pub const IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS: ::DWORD = HID_BUFFER_CTL_CODE!(104); +pub const IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS: ::DWORD = HID_BUFFER_CTL_CODE!(105); +pub const IOCTL_HID_GET_COLLECTION_INFORMATION: ::DWORD = HID_BUFFER_CTL_CODE!(106); +pub const IOCTL_HID_ENABLE_WAKE_ON_SX: ::DWORD = HID_BUFFER_CTL_CODE!(107); +pub const IOCTL_HID_SET_S0_IDLE_TIMEOUT: ::DWORD = HID_BUFFER_CTL_CODE!(108); +pub const IOCTL_HID_GET_COLLECTION_DESCRIPTOR: ::DWORD = HID_CTL_CODE!(100); +pub const IOCTL_HID_FLUSH_QUEUE: ::DWORD = HID_CTL_CODE!(101); +pub const IOCTL_HID_SET_FEATURE: ::DWORD = HID_IN_CTL_CODE!(100); +pub const IOCTL_HID_SET_OUTPUT_REPORT: ::DWORD = HID_IN_CTL_CODE!(101); +pub const IOCTL_HID_GET_FEATURE: ::DWORD = HID_OUT_CTL_CODE!(100); +pub const IOCTL_GET_PHYSICAL_DESCRIPTOR: ::DWORD = HID_OUT_CTL_CODE!(102); +pub const IOCTL_HID_GET_HARDWARE_ID: ::DWORD = HID_OUT_CTL_CODE!(103); +pub const IOCTL_HID_GET_INPUT_REPORT: ::DWORD = HID_OUT_CTL_CODE!(104); +pub const IOCTL_HID_GET_OUTPUT_REPORT: ::DWORD = HID_OUT_CTL_CODE!(105); +pub const IOCTL_HID_GET_MANUFACTURER_STRING: ::DWORD = HID_OUT_CTL_CODE!(110); +pub const IOCTL_HID_GET_PRODUCT_STRING: ::DWORD = HID_OUT_CTL_CODE!(111); +pub const IOCTL_HID_GET_SERIALNUMBER_STRING: ::DWORD = HID_OUT_CTL_CODE!(112); +pub const IOCTL_HID_GET_INDEXED_STRING: ::DWORD = HID_OUT_CTL_CODE!(120); +pub const IOCTL_HID_GET_MS_GENRE_DESCRIPTOR: ::DWORD = HID_OUT_CTL_CODE!(121); +pub const IOCTL_HID_ENABLE_SECURE_READ: ::DWORD = HID_CTL_CODE!(130); +pub const IOCTL_HID_DISABLE_SECURE_READ: ::DWORD = HID_CTL_CODE!(131); +pub const IOCTL_HID_DEVICERESET_NOTIFICATION: ::DWORD = HID_CTL_CODE!(140); +STRUCT!{struct HID_XFER_PACKET { + reportBuffer: ::PUCHAR, + reportBufferLen: ::ULONG, + reportId: ::UCHAR, +}} +pub type PHID_XFER_PACKET = *mut HID_XFER_PACKET; +//FIXME Stuff for NT_INCLUDED +STRUCT!{struct HID_COLLECTION_INFORMATION { + DescriptorSize: ::ULONG, + Polled: ::BOOLEAN, + Reserved1: [::UCHAR; 1], + VendorID: ::USHORT, + ProductID: ::USHORT, + VersionNumber: ::USHORT, +}} +pub type PHID_COLLECTION_INFORMATION = *mut HID_COLLECTION_INFORMATION; +STRUCT!{struct HID_DRIVER_CONFIG { + Size: ::ULONG, + RingBufferSize: ::ULONG, +}} +pub type PHID_DRIVER_CONFIG = *mut HID_DRIVER_CONFIG; diff --git a/third_party/rust/winapi-0.2.8/src/hidpi.rs b/third_party/rust/winapi-0.2.8/src/hidpi.rs new file mode 100644 index 0000000000..b2321ea9e9 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/hidpi.rs @@ -0,0 +1,182 @@ +// Copyright © 2015, Peter Atashian and Alex Daniel Jones +// Licensed under the MIT License <LICENSE.md> +pub const HIDP_LINK_COLLECTION_ROOT: ::USHORT = -1i16 as u16; +pub const HIDP_LINK_COLLECTION_UNSPECIFIED: ::USHORT = 0; +ENUM!{enum HIDP_REPORT_TYPE { + HidP_Input, + HidP_Output, + HidP_Feature, +}} +STRUCT!{struct USAGE_AND_PAGE { + Usage: ::USAGE, + UsagePage: ::USAGE, +}} +pub type PUSAGE_AND_PAGE = *mut USAGE_AND_PAGE; +STRUCT!{struct HIDP_BUTTON_CAPS { + UsagePage: ::USAGE, + ReportID: ::UCHAR, + IsAlias: ::BOOLEAN, + BitField: ::USHORT, + LinkCollection: ::USHORT, + LinkUsage: ::USAGE, + LinkUsagePage: ::USAGE, + IsRange: ::BOOLEAN, + IsStringRange: ::BOOLEAN, + IsDesignatorRange: ::BOOLEAN, + IsAbsolute: ::BOOLEAN, + Reserved: [::ULONG; 10], + S_un: [u16; 8], +}} +UNION!{HIDP_BUTTON_CAPS, S_un, Range, Range_mut, HIDP_RANGE_STRUCT} +UNION!{HIDP_BUTTON_CAPS, S_un, NotRange, NotRange_mut, HIDP_NOTRANGE_STRUCT} +pub type PHIDP_BUTTON_CAPS = *mut HIDP_BUTTON_CAPS; +STRUCT!{struct HIDP_RANGE_STRUCT { + UsageMin: ::USAGE, + UsageMax: ::USAGE, + StringMin: ::USHORT, + StringMax: ::USHORT, + DesignatorMin: ::USHORT, + DesignatorMax: ::USHORT, + DataIndexMin: ::USHORT, + DataIndexMax: ::USHORT, +}} +STRUCT!{struct HIDP_NOTRANGE_STRUCT { + Usage: ::USAGE, + Reserved1: ::USAGE, + StringIndex: ::USHORT, + Reserved2: ::USHORT, + DesignatorIndex: ::USHORT, + Reserved3: ::USHORT, + DataIndex: ::USHORT, + Reserved4: ::USHORT, +}} +STRUCT!{struct HIDP_VALUE_CAPS { + UsagePage: ::USAGE, + ReportID: ::UCHAR, + IsAlias: ::BOOLEAN, + BitField: ::USHORT, + LinkCollection: ::USHORT, + LinkUsage: ::USAGE, + LinkUsagePage: ::USAGE, + IsRange: ::BOOLEAN, + IsStringRange: ::BOOLEAN, + IsDesignatorRange: ::BOOLEAN, + IsAbsolute: ::BOOLEAN, + HasNull: ::BOOLEAN, + Reserved: ::UCHAR, + BitSize: ::USHORT, + ReportCount: ::USHORT, + Reserved2: [::USHORT; 5], + UnitsExp: ::ULONG, + Units: ::ULONG, + LogicalMin: ::LONG, + LogicalMax: ::LONG, + PhysicalMin: ::LONG, + PhysicalMax: ::LONG, + S_un: [u16; 8], +}} +UNION!{HIDP_VALUE_CAPS, S_un, Range, Range_mut, HIDP_RANGE_STRUCT} +UNION!{HIDP_VALUE_CAPS, S_un, NotRange, NotRange_mut, HIDP_NOTRANGE_STRUCT} +pub type PHIDP_VALUE_CAPS = *mut HIDP_VALUE_CAPS; +STRUCT!{struct HIDP_LINK_COLLECTION_NODE { + LinkUsage: ::USAGE, + LinkUsagePage: ::USAGE, + Parent: ::USHORT, + NumberOfChildren: ::USHORT, + NextSibling: ::USHORT, + FirstChild: ::USHORT, + bit_fields: ::ULONG, + UserContext: ::PVOID, +}} +BITFIELD!{HIDP_LINK_COLLECTION_NODE bit_fields: ::ULONG [ + CollectionType set_CollectionType[0..8], + IsAlias set_IsAlias[8..9], +]} +pub type PHIDP_LINK_COLLECTION_NODE = *mut HIDP_LINK_COLLECTION_NODE; +pub type PHIDP_REPORT_DESCRIPTOR = ::PUCHAR; +pub enum HIDP_PREPARSED_DATA{} +pub type PHIDP_PREPARSED_DATA = *mut HIDP_PREPARSED_DATA; +STRUCT!{struct HIDP_CAPS { + Usage: ::USAGE, + UsagePage: ::USAGE, + InputReportByteLength: ::USHORT, + OutputReportByteLength: ::USHORT, + FeatureReportByteLength: ::USHORT, + Reserved: [::USHORT; 17], + NumberLinkCollectionNodes: ::USHORT, + NumberInputButtonCaps: ::USHORT, + NumberInputValueCaps: ::USHORT, + NumberInputDataIndices: ::USHORT, + NumberOutputButtonCaps: ::USHORT, + NumberOutputValueCaps: ::USHORT, + NumberOutputDataIndices: ::USHORT, + NumberFeatureButtonCaps: ::USHORT, + NumberFeatureValueCaps: ::USHORT, + NumberFeatureDataIndices: ::USHORT, +}} +pub type PHIDP_CAPS = *mut HIDP_CAPS; +STRUCT!{struct HIDP_DATA { + DataIndex: ::USHORT, + Reserved: ::USHORT, + S_un: [u32; 1], +}} +UNION!{HIDP_DATA, S_un, RawValue, RawValue_mut, ::ULONG} +UNION!{HIDP_DATA, S_un, On, On_mut, ::BOOLEAN} +pub type PHIDP_DATA = *mut HIDP_DATA; +STRUCT!{struct HIDP_UNKNOWN_TOKEN { + Token: ::UCHAR, + Reserved: [::UCHAR; 3], + BitField: ::ULONG, +}} +pub type PHIDP_UNKNOWN_TOKEN = *mut HIDP_UNKNOWN_TOKEN; +STRUCT!{struct HIDP_EXTENDED_ATTRIBUTES { + NumGlobalUnknowns: ::UCHAR, + Reserved: [::UCHAR; 3], + GlobalUnknowns: PHIDP_UNKNOWN_TOKEN, + Data: [::ULONG; 1], +}} +pub type PHIDP_EXTENDED_ATTRIBUTES = *mut HIDP_EXTENDED_ATTRIBUTES; +ENUM!{enum HIDP_KEYBOARD_DIRECTION { + HidP_Keyboard_Break, + HidP_Keyboard_Make, +}} +STRUCT!{struct HIDP_KEYBOARD_MODIFIER_STATE { + ul: ::ULONG, +}} +BITFIELD!{HIDP_KEYBOARD_MODIFIER_STATE ul: ::ULONG [ + LeftControl set_LeftControl[0..1], + LeftShift set_LeftShift[1..2], + LeftAlt set_LeftAlt[2..3], + LeftGUI set_LeftGUI[3..4], + RightControl set_RightControl[4..5], + RightShift set_RightShift[5..6], + RightAlt set_RightAlt[6..7], + RigthGUI set_RigthGUI[7..8], + CapsLock set_CapsLock[8..9], + ScollLock set_ScollLock[9..10], + NumLock set_NumLock[10..11], +]} +pub type PHIDP_KEYBOARD_MODIFIER_STATE = *mut HIDP_KEYBOARD_MODIFIER_STATE; +pub type PHIDP_INSERT_SCANCODES = Option<unsafe extern "C" fn( + Context: ::PVOID, NewScanCodes: ::PCHAR, Length: ::ULONG, +) -> ::BOOLEAN>; +pub const HIDP_STATUS_SUCCESS: ::NTSTATUS = HIDP_ERROR_CODES!(0x0, 0); +pub const HIDP_STATUS_NULL: ::NTSTATUS = HIDP_ERROR_CODES!(0x8, 1); +pub const HIDP_STATUS_INVALID_PREPARSED_DATA: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 1); +pub const HIDP_STATUS_INVALID_REPORT_TYPE: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 2); +pub const HIDP_STATUS_INVALID_REPORT_LENGTH: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 3); +pub const HIDP_STATUS_USAGE_NOT_FOUND: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 4); +pub const HIDP_STATUS_VALUE_OUT_OF_RANGE: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 5); +pub const HIDP_STATUS_BAD_LOG_PHY_VALUES: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 6); +pub const HIDP_STATUS_BUFFER_TOO_SMALL: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 7); +pub const HIDP_STATUS_INTERNAL_ERROR: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 8); +pub const HIDP_STATUS_I8042_TRANS_UNKNOWN: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 9); +pub const HIDP_STATUS_INCOMPATIBLE_REPORT_ID: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xA); +pub const HIDP_STATUS_NOT_VALUE_ARRAY: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xB); +pub const HIDP_STATUS_IS_VALUE_ARRAY: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xC); +pub const HIDP_STATUS_DATA_INDEX_NOT_FOUND: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xD); +pub const HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xE); +pub const HIDP_STATUS_BUTTON_NOT_PRESSED: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 0xF); +pub const HIDP_STATUS_REPORT_DOES_NOT_EXIST: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 0x10); +pub const HIDP_STATUS_NOT_IMPLEMENTED: ::NTSTATUS = HIDP_ERROR_CODES!(0xC, 0x20); +pub const HIDP_STATUS_I8242_TRANS_UNKNOWN: ::NTSTATUS = HIDP_STATUS_I8042_TRANS_UNKNOWN; diff --git a/third_party/rust/winapi-0.2.8/src/hidsdi.rs b/third_party/rust/winapi-0.2.8/src/hidsdi.rs new file mode 100644 index 0000000000..1b421f038a --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/hidsdi.rs @@ -0,0 +1,15 @@ +// Copyright © 2015, Peter Atashian and Alex Daniel Jones +// Licensed under the MIT License <LICENSE.md> +STRUCT!{struct HIDD_CONFIGURATION { + cookie: ::PVOID, + size: ::ULONG, + RingBufferSize: ::ULONG, +}} +pub type PHIDD_CONFIGURATION = *mut HIDD_CONFIGURATION; +STRUCT!{struct HIDD_ATTRIBUTES { + Size: ::ULONG, + VendorID: ::USHORT, + ProductID: ::USHORT, + VersionNumber: ::USHORT, +}} +pub type PHIDD_ATTRIBUTES = *mut HIDD_ATTRIBUTES; diff --git a/third_party/rust/winapi-0.2.8/src/hidusage.rs b/third_party/rust/winapi-0.2.8/src/hidusage.rs new file mode 100644 index 0000000000..4d76509ece --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/hidusage.rs @@ -0,0 +1,270 @@ +// Copyright © 2015, Peter Atashian and Alex Daniel Jones +// Licensed under the MIT License <LICENSE.md> +pub type USAGE = ::USHORT; +pub type PUSAGE = *mut USAGE; +pub const HID_USAGE_PAGE_UNDEFINED: ::USAGE = 0x00; +pub const HID_USAGE_PAGE_GENERIC: ::USAGE = 0x01; +pub const HID_USAGE_PAGE_SIMULATION: ::USAGE = 0x02; +pub const HID_USAGE_PAGE_VR: ::USAGE = 0x03; +pub const HID_USAGE_PAGE_SPORT: ::USAGE = 0x04; +pub const HID_USAGE_PAGE_GAME: ::USAGE = 0x05; +pub const HID_USAGE_PAGE_KEYBOARD: ::USAGE = 0x07; +pub const HID_USAGE_PAGE_LED: ::USAGE = 0x08; +pub const HID_USAGE_PAGE_BUTTON: ::USAGE = 0x09; +pub const HID_USAGE_PAGE_ORDINAL: ::USAGE = 0x0A; +pub const HID_USAGE_PAGE_TELEPHONY: ::USAGE = 0x0B; +pub const HID_USAGE_PAGE_CONSUMER: ::USAGE = 0x0C; +pub const HID_USAGE_PAGE_DIGITIZER: ::USAGE = 0x0D; +pub const HID_USAGE_PAGE_UNICODE: ::USAGE = 0x10; +pub const HID_USAGE_PAGE_ALPHANUMERIC: ::USAGE = 0x14; +pub const HID_USAGE_PAGE_SENSOR: ::USAGE = 0x20; +pub const HID_USAGE_PAGE_BARCODE_SCANNER: ::USAGE = 0x8C; +pub const HID_USAGE_PAGE_WEIGHING_DEVICE: ::USAGE = 0x8D; +pub const HID_USAGE_PAGE_MAGNETIC_STRIPE_READER: ::USAGE = 0x8E; +pub const HID_USAGE_PAGE_CAMERA_CONTROL: ::USAGE = 0x90; +pub const HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE: ::USAGE = 0xFFF3; +pub const HID_USAGE_PAGE_VENDOR_DEFINED_BEGIN: ::USAGE = 0xFF00; +pub const HID_USAGE_PAGE_VENDOR_DEFINED_END: ::USAGE = 0xFFFF; +pub const HID_USAGE_GENERIC_POINTER: ::USAGE = 0x01; +pub const HID_USAGE_GENERIC_MOUSE: ::USAGE = 0x02; +pub const HID_USAGE_GENERIC_JOYSTICK: ::USAGE = 0x04; +pub const HID_USAGE_GENERIC_GAMEPAD: ::USAGE = 0x05; +pub const HID_USAGE_GENERIC_KEYBOARD: ::USAGE = 0x06; +pub const HID_USAGE_GENERIC_KEYPAD: ::USAGE = 0x07; +pub const HID_USAGE_GENERIC_PORTABLE_DEVICE_CONTROL: ::USAGE = 0x0D; +pub const HID_USAGE_GENERIC_SYSTEM_CTL: ::USAGE = 0x80; +pub const HID_USAGE_GENERIC_X: ::USAGE = 0x30; +pub const HID_USAGE_GENERIC_Y: ::USAGE = 0x31; +pub const HID_USAGE_GENERIC_Z: ::USAGE = 0x32; +pub const HID_USAGE_GENERIC_RX: ::USAGE = 0x33; +pub const HID_USAGE_GENERIC_RY: ::USAGE = 0x34; +pub const HID_USAGE_GENERIC_RZ: ::USAGE = 0x35; +pub const HID_USAGE_GENERIC_SLIDER: ::USAGE = 0x36; +pub const HID_USAGE_GENERIC_DIAL: ::USAGE = 0x37; +pub const HID_USAGE_GENERIC_WHEEL: ::USAGE = 0x38; +pub const HID_USAGE_GENERIC_HATSWITCH: ::USAGE = 0x39; +pub const HID_USAGE_GENERIC_COUNTED_BUFFER: ::USAGE = 0x3A; +pub const HID_USAGE_GENERIC_BYTE_COUNT: ::USAGE = 0x3B; +pub const HID_USAGE_GENERIC_MOTION_WAKEUP: ::USAGE = 0x3C; +pub const HID_USAGE_GENERIC_VX: ::USAGE = 0x40; +pub const HID_USAGE_GENERIC_VY: ::USAGE = 0x41; +pub const HID_USAGE_GENERIC_VZ: ::USAGE = 0x42; +pub const HID_USAGE_GENERIC_VBRX: ::USAGE = 0x43; +pub const HID_USAGE_GENERIC_VBRY: ::USAGE = 0x44; +pub const HID_USAGE_GENERIC_VBRZ: ::USAGE = 0x45; +pub const HID_USAGE_GENERIC_VNO: ::USAGE = 0x46; +pub const HID_USAGE_GENERIC_RESOLUTION_MULTIPLIER: ::USAGE = 0x48; +pub const HID_USAGE_GENERIC_SYSCTL_POWER: ::USAGE = 0x81; +pub const HID_USAGE_GENERIC_SYSCTL_SLEEP: ::USAGE = 0x82; +pub const HID_USAGE_GENERIC_SYSCTL_WAKE: ::USAGE = 0x83; +pub const HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU: ::USAGE = 0x84; +pub const HID_USAGE_GENERIC_SYSCTL_MAIN_MENU: ::USAGE = 0x85; +pub const HID_USAGE_GENERIC_SYSCTL_APP_MENU: ::USAGE = 0x86; +pub const HID_USAGE_GENERIC_SYSCTL_HELP_MENU: ::USAGE = 0x87; +pub const HID_USAGE_GENERIC_SYSCTL_MENU_EXIT: ::USAGE = 0x88; +pub const HID_USAGE_GENERIC_SYSCTL_MENU_SELECT: ::USAGE = 0x89; +pub const HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT: ::USAGE = 0x8A; +pub const HID_USAGE_GENERIC_SYSCTL_MENU_LEFT: ::USAGE = 0x8B; +pub const HID_USAGE_GENERIC_SYSCTL_MENU_UP: ::USAGE = 0x8C; +pub const HID_USAGE_GENERIC_SYSCTL_MENU_DOWN: ::USAGE = 0x8D; +pub const HID_USAGE_GENERIC_SYSTEM_DISPLAY_ROTATION_LOCK_BUTTON: ::USAGE = 0xC9; +pub const HID_USAGE_GENERIC_SYSTEM_DISPLAY_ROTATION_LOCK_SLIDER_SWITCH: ::USAGE = 0xCA; +pub const HID_USAGE_GENERIC_CONTROL_ENABLE: ::USAGE = 0xCB; +pub const HID_USAGE_SIMULATION_RUDDER: ::USAGE = 0xBA; +pub const HID_USAGE_SIMULATION_THROTTLE: ::USAGE = 0xBB; +pub const HID_USAGE_KEYBOARD_NOEVENT: ::USAGE = 0x00; +pub const HID_USAGE_KEYBOARD_ROLLOVER: ::USAGE = 0x01; +pub const HID_USAGE_KEYBOARD_POSTFAIL: ::USAGE = 0x02; +pub const HID_USAGE_KEYBOARD_UNDEFINED: ::USAGE = 0x03; +pub const HID_USAGE_KEYBOARD_aA: ::USAGE = 0x04; +pub const HID_USAGE_KEYBOARD_zZ: ::USAGE = 0x1D; +pub const HID_USAGE_KEYBOARD_ONE: ::USAGE = 0x1E; +pub const HID_USAGE_KEYBOARD_ZERO: ::USAGE = 0x27; +pub const HID_USAGE_KEYBOARD_LCTRL: ::USAGE = 0xE0; +pub const HID_USAGE_KEYBOARD_LSHFT: ::USAGE = 0xE1; +pub const HID_USAGE_KEYBOARD_LALT: ::USAGE = 0xE2; +pub const HID_USAGE_KEYBOARD_LGUI: ::USAGE = 0xE3; +pub const HID_USAGE_KEYBOARD_RCTRL: ::USAGE = 0xE4; +pub const HID_USAGE_KEYBOARD_RSHFT: ::USAGE = 0xE5; +pub const HID_USAGE_KEYBOARD_RALT: ::USAGE = 0xE6; +pub const HID_USAGE_KEYBOARD_RGUI: ::USAGE = 0xE7; +pub const HID_USAGE_KEYBOARD_SCROLL_LOCK: ::USAGE = 0x47; +pub const HID_USAGE_KEYBOARD_NUM_LOCK: ::USAGE = 0x53; +pub const HID_USAGE_KEYBOARD_CAPS_LOCK: ::USAGE = 0x39; +pub const HID_USAGE_KEYBOARD_F1: ::USAGE = 0x3A; +pub const HID_USAGE_KEYBOARD_F2: ::USAGE = 0x3B; +pub const HID_USAGE_KEYBOARD_F3: ::USAGE = 0x3C; +pub const HID_USAGE_KEYBOARD_F4: ::USAGE = 0x3D; +pub const HID_USAGE_KEYBOARD_F5: ::USAGE = 0x3E; +pub const HID_USAGE_KEYBOARD_F6: ::USAGE = 0x3F; +pub const HID_USAGE_KEYBOARD_F7: ::USAGE = 0x40; +pub const HID_USAGE_KEYBOARD_F8: ::USAGE = 0x41; +pub const HID_USAGE_KEYBOARD_F9: ::USAGE = 0x42; +pub const HID_USAGE_KEYBOARD_F10: ::USAGE = 0x43; +pub const HID_USAGE_KEYBOARD_F11: ::USAGE = 0x44; +pub const HID_USAGE_KEYBOARD_F12: ::USAGE = 0x45; +pub const HID_USAGE_KEYBOARD_F13: ::USAGE = 0x68; +pub const HID_USAGE_KEYBOARD_F14: ::USAGE = 0x69; +pub const HID_USAGE_KEYBOARD_F15: ::USAGE = 0x6A; +pub const HID_USAGE_KEYBOARD_F16: ::USAGE = 0x6B; +pub const HID_USAGE_KEYBOARD_F17: ::USAGE = 0x6C; +pub const HID_USAGE_KEYBOARD_F18: ::USAGE = 0x6D; +pub const HID_USAGE_KEYBOARD_F19: ::USAGE = 0x6E; +pub const HID_USAGE_KEYBOARD_F20: ::USAGE = 0x6F; +pub const HID_USAGE_KEYBOARD_F21: ::USAGE = 0x70; +pub const HID_USAGE_KEYBOARD_F22: ::USAGE = 0x71; +pub const HID_USAGE_KEYBOARD_F23: ::USAGE = 0x72; +pub const HID_USAGE_KEYBOARD_F24: ::USAGE = 0x73; +pub const HID_USAGE_KEYBOARD_RETURN: ::USAGE = 0x28; +pub const HID_USAGE_KEYBOARD_ESCAPE: ::USAGE = 0x29; +pub const HID_USAGE_KEYBOARD_DELETE: ::USAGE = 0x2A; +pub const HID_USAGE_KEYBOARD_PRINT_SCREEN: ::USAGE = 0x46; +pub const HID_USAGE_KEYBOARD_DELETE_FORWARD: ::USAGE = 0x4C; +pub const HID_USAGE_LED_NUM_LOCK: ::USAGE = 0x01; +pub const HID_USAGE_LED_CAPS_LOCK: ::USAGE = 0x02; +pub const HID_USAGE_LED_SCROLL_LOCK: ::USAGE = 0x03; +pub const HID_USAGE_LED_COMPOSE: ::USAGE = 0x04; +pub const HID_USAGE_LED_KANA: ::USAGE = 0x05; +pub const HID_USAGE_LED_POWER: ::USAGE = 0x06; +pub const HID_USAGE_LED_SHIFT: ::USAGE = 0x07; +pub const HID_USAGE_LED_DO_NOT_DISTURB: ::USAGE = 0x08; +pub const HID_USAGE_LED_MUTE: ::USAGE = 0x09; +pub const HID_USAGE_LED_TONE_ENABLE: ::USAGE = 0x0A; +pub const HID_USAGE_LED_HIGH_CUT_FILTER: ::USAGE = 0x0B; +pub const HID_USAGE_LED_LOW_CUT_FILTER: ::USAGE = 0x0C; +pub const HID_USAGE_LED_EQUALIZER_ENABLE: ::USAGE = 0x0D; +pub const HID_USAGE_LED_SOUND_FIELD_ON: ::USAGE = 0x0E; +pub const HID_USAGE_LED_SURROUND_FIELD_ON: ::USAGE = 0x0F; +pub const HID_USAGE_LED_REPEAT: ::USAGE = 0x10; +pub const HID_USAGE_LED_STEREO: ::USAGE = 0x11; +pub const HID_USAGE_LED_SAMPLING_RATE_DETECT: ::USAGE = 0x12; +pub const HID_USAGE_LED_SPINNING: ::USAGE = 0x13; +pub const HID_USAGE_LED_CAV: ::USAGE = 0x14; +pub const HID_USAGE_LED_CLV: ::USAGE = 0x15; +pub const HID_USAGE_LED_RECORDING_FORMAT_DET: ::USAGE = 0x16; +pub const HID_USAGE_LED_OFF_HOOK: ::USAGE = 0x17; +pub const HID_USAGE_LED_RING: ::USAGE = 0x18; +pub const HID_USAGE_LED_MESSAGE_WAITING: ::USAGE = 0x19; +pub const HID_USAGE_LED_DATA_MODE: ::USAGE = 0x1A; +pub const HID_USAGE_LED_BATTERY_OPERATION: ::USAGE = 0x1B; +pub const HID_USAGE_LED_BATTERY_OK: ::USAGE = 0x1C; +pub const HID_USAGE_LED_BATTERY_LOW: ::USAGE = 0x1D; +pub const HID_USAGE_LED_SPEAKER: ::USAGE = 0x1E; +pub const HID_USAGE_LED_HEAD_SET: ::USAGE = 0x1F; +pub const HID_USAGE_LED_HOLD: ::USAGE = 0x20; +pub const HID_USAGE_LED_MICROPHONE: ::USAGE = 0x21; +pub const HID_USAGE_LED_COVERAGE: ::USAGE = 0x22; +pub const HID_USAGE_LED_NIGHT_MODE: ::USAGE = 0x23; +pub const HID_USAGE_LED_SEND_CALLS: ::USAGE = 0x24; +pub const HID_USAGE_LED_CALL_PICKUP: ::USAGE = 0x25; +pub const HID_USAGE_LED_CONFERENCE: ::USAGE = 0x26; +pub const HID_USAGE_LED_STAND_BY: ::USAGE = 0x27; +pub const HID_USAGE_LED_CAMERA_ON: ::USAGE = 0x28; +pub const HID_USAGE_LED_CAMERA_OFF: ::USAGE = 0x29; +pub const HID_USAGE_LED_ON_LINE: ::USAGE = 0x2A; +pub const HID_USAGE_LED_OFF_LINE: ::USAGE = 0x2B; +pub const HID_USAGE_LED_BUSY: ::USAGE = 0x2C; +pub const HID_USAGE_LED_READY: ::USAGE = 0x2D; +pub const HID_USAGE_LED_PAPER_OUT: ::USAGE = 0x2E; +pub const HID_USAGE_LED_PAPER_JAM: ::USAGE = 0x2F; +pub const HID_USAGE_LED_REMOTE: ::USAGE = 0x30; +pub const HID_USAGE_LED_FORWARD: ::USAGE = 0x31; +pub const HID_USAGE_LED_REVERSE: ::USAGE = 0x32; +pub const HID_USAGE_LED_STOP: ::USAGE = 0x33; +pub const HID_USAGE_LED_REWIND: ::USAGE = 0x34; +pub const HID_USAGE_LED_FAST_FORWARD: ::USAGE = 0x35; +pub const HID_USAGE_LED_PLAY: ::USAGE = 0x36; +pub const HID_USAGE_LED_PAUSE: ::USAGE = 0x37; +pub const HID_USAGE_LED_RECORD: ::USAGE = 0x38; +pub const HID_USAGE_LED_ERROR: ::USAGE = 0x39; +pub const HID_USAGE_LED_SELECTED_INDICATOR: ::USAGE = 0x3A; +pub const HID_USAGE_LED_IN_USE_INDICATOR: ::USAGE = 0x3B; +pub const HID_USAGE_LED_MULTI_MODE_INDICATOR: ::USAGE = 0x3C; +pub const HID_USAGE_LED_INDICATOR_ON: ::USAGE = 0x3D; +pub const HID_USAGE_LED_INDICATOR_FLASH: ::USAGE = 0x3E; +pub const HID_USAGE_LED_INDICATOR_SLOW_BLINK: ::USAGE = 0x3F; +pub const HID_USAGE_LED_INDICATOR_FAST_BLINK: ::USAGE = 0x40; +pub const HID_USAGE_LED_INDICATOR_OFF: ::USAGE = 0x41; +pub const HID_USAGE_LED_FLASH_ON_TIME: ::USAGE = 0x42; +pub const HID_USAGE_LED_SLOW_BLINK_ON_TIME: ::USAGE = 0x43; +pub const HID_USAGE_LED_SLOW_BLINK_OFF_TIME: ::USAGE = 0x44; +pub const HID_USAGE_LED_FAST_BLINK_ON_TIME: ::USAGE = 0x45; +pub const HID_USAGE_LED_FAST_BLINK_OFF_TIME: ::USAGE = 0x46; +pub const HID_USAGE_LED_INDICATOR_COLOR: ::USAGE = 0x47; +pub const HID_USAGE_LED_RED: ::USAGE = 0x48; +pub const HID_USAGE_LED_GREEN: ::USAGE = 0x49; +pub const HID_USAGE_LED_AMBER: ::USAGE = 0x4A; +pub const HID_USAGE_LED_GENERIC_INDICATOR: ::USAGE = 0x4B; +pub const HID_USAGE_TELEPHONY_PHONE: ::USAGE = 0x01; +pub const HID_USAGE_TELEPHONY_ANSWERING_MACHINE: ::USAGE = 0x02; +pub const HID_USAGE_TELEPHONY_MESSAGE_CONTROLS: ::USAGE = 0x03; +pub const HID_USAGE_TELEPHONY_HANDSET: ::USAGE = 0x04; +pub const HID_USAGE_TELEPHONY_HEADSET: ::USAGE = 0x05; +pub const HID_USAGE_TELEPHONY_KEYPAD: ::USAGE = 0x06; +pub const HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON: ::USAGE = 0x07; +pub const HID_USAGE_TELEPHONY_REDIAL: ::USAGE = 0x24; +pub const HID_USAGE_TELEPHONY_TRANSFER: ::USAGE = 0x25; +pub const HID_USAGE_TELEPHONY_DROP: ::USAGE = 0x26; +pub const HID_USAGE_TELEPHONY_LINE: ::USAGE = 0x2A; +pub const HID_USAGE_TELEPHONY_RING_ENABLE: ::USAGE = 0x2D; +pub const HID_USAGE_TELEPHONY_SEND: ::USAGE = 0x31; +pub const HID_USAGE_TELEPHONY_KEYPAD_0: ::USAGE = 0xB0; +pub const HID_USAGE_TELEPHONY_KEYPAD_D: ::USAGE = 0xBF; +pub const HID_USAGE_TELEPHONY_HOST_AVAILABLE: ::USAGE = 0xF1; +pub const HID_USAGE_CONSUMERCTRL: ::USAGE = 0x01; +pub const HID_USAGE_CONSUMER_CHANNEL_INCREMENT: ::USAGE = 0x9C; +pub const HID_USAGE_CONSUMER_CHANNEL_DECREMENT: ::USAGE = 0x9D; +pub const HID_USAGE_CONSUMER_PLAY: ::USAGE = 0xB0; +pub const HID_USAGE_CONSUMER_PAUSE: ::USAGE = 0xB1; +pub const HID_USAGE_CONSUMER_RECORD: ::USAGE = 0xB2; +pub const HID_USAGE_CONSUMER_FAST_FORWARD: ::USAGE = 0xB3; +pub const HID_USAGE_CONSUMER_REWIND: ::USAGE = 0xB4; +pub const HID_USAGE_CONSUMER_SCAN_NEXT_TRACK: ::USAGE = 0xB5; +pub const HID_USAGE_CONSUMER_SCAN_PREV_TRACK: ::USAGE = 0xB6; +pub const HID_USAGE_CONSUMER_STOP: ::USAGE = 0xB7; +pub const HID_USAGE_CONSUMER_PLAY_PAUSE: ::USAGE = 0xCD; +pub const HID_USAGE_CONSUMER_VOLUME: ::USAGE = 0xE0; +pub const HID_USAGE_CONSUMER_BALANCE: ::USAGE = 0xE1; +pub const HID_USAGE_CONSUMER_MUTE: ::USAGE = 0xE2; +pub const HID_USAGE_CONSUMER_BASS: ::USAGE = 0xE3; +pub const HID_USAGE_CONSUMER_TREBLE: ::USAGE = 0xE4; +pub const HID_USAGE_CONSUMER_BASS_BOOST: ::USAGE = 0xE5; +pub const HID_USAGE_CONSUMER_SURROUND_MODE: ::USAGE = 0xE6; +pub const HID_USAGE_CONSUMER_LOUDNESS: ::USAGE = 0xE7; +pub const HID_USAGE_CONSUMER_MPX: ::USAGE = 0xE8; +pub const HID_USAGE_CONSUMER_VOLUME_INCREMENT: ::USAGE = 0xE9; +pub const HID_USAGE_CONSUMER_VOLUME_DECREMENT: ::USAGE = 0xEA; +pub const HID_USAGE_CONSUMER_BASS_INCREMENT: ::USAGE = 0x152; +pub const HID_USAGE_CONSUMER_BASS_DECREMENT: ::USAGE = 0x153; +pub const HID_USAGE_CONSUMER_TREBLE_INCREMENT: ::USAGE = 0x154; +pub const HID_USAGE_CONSUMER_TREBLE_DECREMENT: ::USAGE = 0x155; +pub const HID_USAGE_CONSUMER_AL_CONFIGURATION: ::USAGE = 0x183; +pub const HID_USAGE_CONSUMER_AL_EMAIL: ::USAGE = 0x18A; +pub const HID_USAGE_CONSUMER_AL_CALCULATOR: ::USAGE = 0x192; +pub const HID_USAGE_CONSUMER_AL_BROWSER: ::USAGE = 0x194; +pub const HID_USAGE_CONSUMER_AC_SEARCH: ::USAGE = 0x221; +pub const HID_USAGE_CONSUMER_AC_GOTO: ::USAGE = 0x222; +pub const HID_USAGE_CONSUMER_AC_HOME: ::USAGE = 0x223; +pub const HID_USAGE_CONSUMER_AC_BACK: ::USAGE = 0x224; +pub const HID_USAGE_CONSUMER_AC_FORWARD: ::USAGE = 0x225; +pub const HID_USAGE_CONSUMER_AC_STOP: ::USAGE = 0x226; +pub const HID_USAGE_CONSUMER_AC_REFRESH: ::USAGE = 0x227; +pub const HID_USAGE_CONSUMER_AC_PREVIOUS: ::USAGE = 0x228; +pub const HID_USAGE_CONSUMER_AC_NEXT: ::USAGE = 0x229; +pub const HID_USAGE_CONSUMER_AC_BOOKMARKS: ::USAGE = 0x22A; +pub const HID_USAGE_CONSUMER_AC_PAN: ::USAGE = 0x238; +pub const HID_USAGE_CONSUMER_EXTENDED_KEYBOARD_ATTRIBUTES_COLLECTION: ::USAGE = 0x2C0; +pub const HID_USAGE_CONSUMER_KEYBOARD_FORM_FACTOR: ::USAGE = 0x2C1; +pub const HID_USAGE_CONSUMER_KEYBOARD_KEY_TYPE: ::USAGE = 0x2C2; +pub const HID_USAGE_CONSUMER_KEYBOARD_PHYSICAL_LAYOUT: ::USAGE = 0x2C3; +pub const HID_USAGE_CONSUMER_VENDOR_SPECIFIC_KEYBOARD_PHYSICAL_LAYOUT: ::USAGE = 0x2C4; +pub const HID_USAGE_CONSUMER_KEYBOARD_IETF_LANGUAGE_TAG_INDEX: ::USAGE = 0x2C5; +pub const HID_USAGE_CONSUMER_IMPLEMENTED_KEYBOARD_INPUT_ASSIST_CONTROLS: ::USAGE = 0x2C6; +pub const HID_USAGE_DIGITIZER_PEN: ::USAGE = 0x02; +pub const HID_USAGE_DIGITIZER_IN_RANGE: ::USAGE = 0x32; +pub const HID_USAGE_DIGITIZER_TIP_SWITCH: ::USAGE = 0x42; +pub const HID_USAGE_DIGITIZER_BARREL_SWITCH: ::USAGE = 0x44; +pub const HID_USAGE_CAMERA_AUTO_FOCUS: ::USAGE = 0x20; +pub const HID_USAGE_CAMERA_SHUTTER: ::USAGE = 0x21; +pub const HID_USAGE_MS_BTH_HF_DIALNUMBER: ::USAGE = 0x21; +pub const HID_USAGE_MS_BTH_HF_DIALMEMORY: ::USAGE = 0x22; diff --git a/third_party/rust/winapi-0.2.8/src/hstring.rs b/third_party/rust/winapi-0.2.8/src/hstring.rs new file mode 100644 index 0000000000..01cfc6d302 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/hstring.rs @@ -0,0 +1,16 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! This interface definition contains typedefs for Windows Runtime data types. +DECLARE_HANDLE!(HSTRING, HSTRING__); +#[cfg(target_arch = "x86_64")] +STRUCT!{struct HSTRING_HEADER { + Reserved: [::PVOID; 0], // For alignment + Reserved2: [::c_char; 24], +}} +#[cfg(target_arch = "x86")] +STRUCT!{struct HSTRING_HEADER { + Reserved: [::PVOID; 0], // For alignment + Reserved2: [::c_char; 20], +}} +UNION!(HSTRING_HEADER, Reserved2, Reserved1, Reserved1_mut, ::PVOID); +DECLARE_HANDLE!(HSTRING_BUFFER, HSTRING_BUFFER__); diff --git a/third_party/rust/winapi-0.2.8/src/http.rs b/third_party/rust/winapi-0.2.8/src/http.rs new file mode 100644 index 0000000000..b0020f9cab --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/http.rs @@ -0,0 +1,828 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! HTTP API specification +pub const HTTP_INITIALIZE_SERVER: ::ULONG = 0x00000001; +pub const HTTP_INITIALIZE_CONFIG: ::ULONG = 0x00000002; +pub const HTTP_DEMAND_CBT: ::ULONG = 0x00000004; +ENUM!{enum HTTP_SERVER_PROPERTY { + HttpServerAuthenticationProperty, + HttpServerLoggingProperty, + HttpServerQosProperty, + HttpServerTimeoutsProperty, + HttpServerQueueLengthProperty, + HttpServerStateProperty, + HttpServer503VerbosityProperty, + HttpServerBindingProperty, + HttpServerExtendedAuthenticationProperty, + HttpServerListenEndpointProperty, + HttpServerChannelBindProperty, + HttpServerProtectionLevelProperty, +}} +pub type PHTTP_SERVER_PROPERTY = *mut HTTP_SERVER_PROPERTY; +STRUCT!{struct HTTP_PROPERTY_FLAGS { + BitFields: ::ULONG, +}} +BITFIELD!(HTTP_PROPERTY_FLAGS BitFields: ::ULONG [ + Present set_Present[0..1], +]); +pub type PHTTP_PROPERTY_FLAGS = *mut HTTP_PROPERTY_FLAGS; +ENUM!{enum HTTP_ENABLED_STATE { + HttpEnabledStateActive, + HttpEnabledStateInactive, +}} +pub type PHTTP_ENABLED_STATE = *mut HTTP_ENABLED_STATE; +STRUCT!{struct HTTP_STATE_INFO { + Flags: HTTP_PROPERTY_FLAGS, + State: HTTP_ENABLED_STATE, +}} +pub type PHTTP_STATE_INFO = *mut HTTP_STATE_INFO; +ENUM!{enum HTTP_503_RESPONSE_VERBOSITY { + Http503ResponseVerbosityBasic, + Http503ResponseVerbosityLimited, + Http503ResponseVerbosityFull, +}} +pub type PHTTP_503_RESPONSE_VERBOSITY = *mut HTTP_503_RESPONSE_VERBOSITY; +ENUM!{enum HTTP_QOS_SETTING_TYPE { + HttpQosSettingTypeBandwidth, + HttpQosSettingTypeConnectionLimit, + HttpQosSettingTypeFlowRate, +}} +pub type PHTTP_QOS_SETTING_TYPE = *mut HTTP_QOS_SETTING_TYPE; +STRUCT!{struct HTTP_QOS_SETTING_INFO { + QosType: HTTP_QOS_SETTING_TYPE, + QosSetting: ::PVOID, +}} +pub type PHTTP_QOS_SETTING_INFO = *mut HTTP_QOS_SETTING_INFO; +STRUCT!{struct HTTP_CONNECTION_LIMIT_INFO { + Flags: HTTP_PROPERTY_FLAGS, + MaxConnections: ::ULONG, +}} +pub type PHTTP_CONNECTION_LIMIT_INFO = *mut HTTP_CONNECTION_LIMIT_INFO; +STRUCT!{struct HTTP_BANDWIDTH_LIMIT_INFO { + Flags: HTTP_PROPERTY_FLAGS, + MaxBandwidth: ::ULONG, +}} +pub type PHTTP_BANDWIDTH_LIMIT_INFO = *mut HTTP_BANDWIDTH_LIMIT_INFO; +STRUCT!{struct HTTP_FLOWRATE_INFO { + Flags: HTTP_PROPERTY_FLAGS, + MaxBandwidth: ::ULONG, + MaxPeakBandwidth: ::ULONG, + BurstSize: ::ULONG, +}} +pub type PHTTP_FLOWRATE_INFO = *mut HTTP_FLOWRATE_INFO; +pub const HTTP_MIN_ALLOWED_BANDWIDTH_THROTTLING_RATE: ::ULONG = 1024; +pub const HTTP_LIMIT_INFINITE: ::ULONG = !0; +ENUM!{enum HTTP_SERVICE_CONFIG_TIMEOUT_KEY { + IdleConnectionTimeout = 0, + HeaderWaitTimeout, +}} +pub type PHTTP_SERVICE_CONFIG_TIMEOUT_KEY = *mut HTTP_SERVICE_CONFIG_TIMEOUT_KEY; +pub type HTTP_SERVICE_CONFIG_TIMEOUT_PARAM = ::USHORT; +pub type PHTTP_SERVICE_CONFIG_TIMEOUT_PARAM = *mut ::USHORT; +STRUCT!{struct HTTP_SERVICE_CONFIG_TIMEOUT_SET { + KeyDesc: HTTP_SERVICE_CONFIG_TIMEOUT_KEY, + ParamDesc: HTTP_SERVICE_CONFIG_TIMEOUT_PARAM, +}} +pub type PHTTP_SERVICE_CONFIG_TIMEOUT_SET = *mut HTTP_SERVICE_CONFIG_TIMEOUT_SET; +STRUCT!{struct HTTP_TIMEOUT_LIMIT_INFO { + Flags: HTTP_PROPERTY_FLAGS, + EntityBody: ::USHORT, + DrainEntityBody: ::USHORT, + RequestQueue: ::USHORT, + IdleConnection: ::USHORT, + HeaderWait: ::USHORT, + MinSendRate: ::ULONG, +}} +pub type PHTTP_TIMEOUT_LIMIT_INFO = *mut HTTP_TIMEOUT_LIMIT_INFO; +STRUCT!{struct HTTP_LISTEN_ENDPOINT_INFO { + Flags: HTTP_PROPERTY_FLAGS, + EnableSharing: ::BOOLEAN, +}} +pub type PHTTP_LISTEN_ENDPOINT_INFO = *mut HTTP_LISTEN_ENDPOINT_INFO; +STRUCT!{struct HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS { + DomainNameLength: ::USHORT, + DomainName: ::PWSTR, + RealmLength: ::USHORT, + Realm: ::PWSTR, +}} +pub type PHTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS = *mut HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS; +STRUCT!{struct HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS { + RealmLength: ::USHORT, + Realm: ::PWSTR, +}} +pub type PHTTP_SERVER_AUTHENTICATION_BASIC_PARAMS = *mut HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS; +pub const HTTP_AUTH_ENABLE_BASIC: ::ULONG = 0x00000001; +pub const HTTP_AUTH_ENABLE_DIGEST: ::ULONG = 0x00000002; +pub const HTTP_AUTH_ENABLE_NTLM: ::ULONG = 0x00000004; +pub const HTTP_AUTH_ENABLE_NEGOTIATE: ::ULONG = 0x00000008; +pub const HTTP_AUTH_ENABLE_KERBEROS: ::ULONG = 0x00000010; +pub const HTTP_AUTH_ENABLE_ALL: ::ULONG = HTTP_AUTH_ENABLE_BASIC | HTTP_AUTH_ENABLE_DIGEST | + HTTP_AUTH_ENABLE_NTLM | HTTP_AUTH_ENABLE_NEGOTIATE | HTTP_AUTH_ENABLE_KERBEROS; +pub const HTTP_AUTH_EX_FLAG_ENABLE_KERBEROS_CREDENTIAL_CACHING: ::UCHAR = 0x01; +pub const HTTP_AUTH_EX_FLAG_CAPTURE_CREDENTIAL: ::UCHAR = 0x02; +STRUCT!{struct HTTP_SERVER_AUTHENTICATION_INFO { + Flags: HTTP_PROPERTY_FLAGS, + AuthSchemes: ::ULONG, + ReceiveMutualAuth: ::BOOLEAN, + ReceiveContextHandle: ::BOOLEAN, + DisableNTLMCredentialCaching: ::BOOLEAN, + ExFlags: ::UCHAR, + DigestParams: HTTP_SERVER_AUTHENTICATION_DIGEST_PARAMS, + BasicParams: HTTP_SERVER_AUTHENTICATION_BASIC_PARAMS, +}} +pub type PHTTP_SERVER_AUTHENTICATION_INFO = *mut HTTP_SERVER_AUTHENTICATION_INFO; +ENUM!{enum HTTP_SERVICE_BINDING_TYPE { + HttpServiceBindingTypeNone = 0, + HttpServiceBindingTypeW, + HttpServiceBindingTypeA, +}} +STRUCT!{struct HTTP_SERVICE_BINDING_BASE { + Type: HTTP_SERVICE_BINDING_TYPE, +}} +pub type PHTTP_SERVICE_BINDING_BASE = *mut HTTP_SERVICE_BINDING_BASE; +STRUCT!{struct HTTP_SERVICE_BINDING_A { + Base: HTTP_SERVICE_BINDING_BASE, + Buffer: ::PCHAR, + BufferSize: ::ULONG, +}} +pub type PHTTP_SERVICE_BINDING_A = *mut HTTP_SERVICE_BINDING_A; +STRUCT!{struct HTTP_SERVICE_BINDING_W { + Base: HTTP_SERVICE_BINDING_BASE, + Buffer: ::PWCHAR, + BufferSize: ::ULONG, +}} +pub type PHTTP_SERVICE_BINDING_W = *mut HTTP_SERVICE_BINDING_W; +ENUM!{enum HTTP_AUTHENTICATION_HARDENING_LEVELS { + HttpAuthenticationHardeningLegacy = 0, + HttpAuthenticationHardeningMedium, + HttpAuthenticationHardeningStrict, +}} +pub const HTTP_CHANNEL_BIND_PROXY: ::ULONG = 0x1; +pub const HTTP_CHANNEL_BIND_PROXY_COHOSTING: ::ULONG = 0x20; +pub const HTTP_CHANNEL_BIND_NO_SERVICE_NAME_CHECK: ::ULONG = 0x2; +pub const HTTP_CHANNEL_BIND_DOTLESS_SERVICE: ::ULONG = 0x4; +pub const HTTP_CHANNEL_BIND_SECURE_CHANNEL_TOKEN: ::ULONG = 0x8; +pub const HTTP_CHANNEL_BIND_CLIENT_SERVICE: ::ULONG = 0x10; +STRUCT!{struct HTTP_CHANNEL_BIND_INFO { + Hardening: HTTP_AUTHENTICATION_HARDENING_LEVELS, + Flags: ::ULONG, + ServiceNames: *mut PHTTP_SERVICE_BINDING_BASE, + NumberOfServiceNames: ::ULONG, +}} +pub type PHTTP_CHANNEL_BIND_INFO = *mut HTTP_CHANNEL_BIND_INFO; +STRUCT!{struct HTTP_REQUEST_CHANNEL_BIND_STATUS { + ServiceName: PHTTP_SERVICE_BINDING_BASE, + ChannelToken: ::PUCHAR, + ChannelTokenSize: ::ULONG, + Flags: ::ULONG, +}} +pub type PHTTP_REQUEST_CHANNEL_BIND_STATUS = *mut HTTP_REQUEST_CHANNEL_BIND_STATUS; +pub const HTTP_LOG_FIELD_DATE: ::ULONG = 0x00000001; +pub const HTTP_LOG_FIELD_TIME: ::ULONG = 0x00000002; +pub const HTTP_LOG_FIELD_CLIENT_IP: ::ULONG = 0x00000004; +pub const HTTP_LOG_FIELD_USER_NAME: ::ULONG = 0x00000008; +pub const HTTP_LOG_FIELD_SITE_NAME: ::ULONG = 0x00000010; +pub const HTTP_LOG_FIELD_COMPUTER_NAME: ::ULONG = 0x00000020; +pub const HTTP_LOG_FIELD_SERVER_IP: ::ULONG = 0x00000040; +pub const HTTP_LOG_FIELD_METHOD: ::ULONG = 0x00000080; +pub const HTTP_LOG_FIELD_URI_STEM: ::ULONG = 0x00000100; +pub const HTTP_LOG_FIELD_URI_QUERY: ::ULONG = 0x00000200; +pub const HTTP_LOG_FIELD_STATUS: ::ULONG = 0x00000400; +pub const HTTP_LOG_FIELD_WIN32_STATUS: ::ULONG = 0x00000800; +pub const HTTP_LOG_FIELD_BYTES_SENT: ::ULONG = 0x00001000; +pub const HTTP_LOG_FIELD_BYTES_RECV: ::ULONG = 0x00002000; +pub const HTTP_LOG_FIELD_TIME_TAKEN: ::ULONG = 0x00004000; +pub const HTTP_LOG_FIELD_SERVER_PORT: ::ULONG = 0x00008000; +pub const HTTP_LOG_FIELD_USER_AGENT: ::ULONG = 0x00010000; +pub const HTTP_LOG_FIELD_COOKIE: ::ULONG = 0x00020000; +pub const HTTP_LOG_FIELD_REFERER: ::ULONG = 0x00040000; +pub const HTTP_LOG_FIELD_VERSION: ::ULONG = 0x00080000; +pub const HTTP_LOG_FIELD_HOST: ::ULONG = 0x00100000; +pub const HTTP_LOG_FIELD_SUB_STATUS: ::ULONG = 0x00200000; +pub const HTTP_LOG_FIELD_CLIENT_PORT: ::ULONG = 0x00400000; +pub const HTTP_LOG_FIELD_URI: ::ULONG = 0x00800000; +pub const HTTP_LOG_FIELD_SITE_ID: ::ULONG = 0x01000000; +pub const HTTP_LOG_FIELD_REASON: ::ULONG = 0x02000000; +pub const HTTP_LOG_FIELD_QUEUE_NAME: ::ULONG = 0x04000000; +ENUM!{enum HTTP_LOGGING_TYPE { + HttpLoggingTypeW3C, + HttpLoggingTypeIIS, + HttpLoggingTypeNCSA, + HttpLoggingTypeRaw, +}} +ENUM!{enum HTTP_LOGGING_ROLLOVER_TYPE { + HttpLoggingRolloverSize, + HttpLoggingRolloverDaily, + HttpLoggingRolloverWeekly, + HttpLoggingRolloverMonthly, + HttpLoggingRolloverHourly, +}} +pub const HTTP_MIN_ALLOWED_LOG_FILE_ROLLOVER_SIZE: ::ULONG = (1 * 1024 * 1024) as ::ULONG; +pub const HTTP_LOGGING_FLAG_LOCAL_TIME_ROLLOVER: ::ULONG = 0x00000001; +pub const HTTP_LOGGING_FLAG_USE_UTF8_CONVERSION: ::ULONG = 0x00000002; +pub const HTTP_LOGGING_FLAG_LOG_ERRORS_ONLY: ::ULONG = 0x00000004; +pub const HTTP_LOGGING_FLAG_LOG_SUCCESS_ONLY: ::ULONG = 0x00000008; +STRUCT!{struct HTTP_LOGGING_INFO { + Flags: HTTP_PROPERTY_FLAGS, + LoggingFlags: ::ULONG, + SoftwareName: ::PCWSTR, + SoftwareNameLength: ::USHORT, + DirectoryNameLength: ::USHORT, + DirectoryName: ::PCWSTR, + Format: HTTP_LOGGING_TYPE, + Fields: ::ULONG, + pExtFields: ::PVOID, + NumOfExtFields: ::USHORT, + MaxRecordSize: ::USHORT, + RolloverType: HTTP_LOGGING_ROLLOVER_TYPE, + RolloverSize: ::ULONG, + pSecurityDescriptor: ::PSECURITY_DESCRIPTOR, +}} +pub type PHTTP_LOGGING_INFO = *mut HTTP_LOGGING_INFO; +STRUCT!{struct HTTP_BINDING_INFO { + Flags: HTTP_PROPERTY_FLAGS, + RequestQueueHandle: ::HANDLE, +}} +pub type PHTTP_BINDING_INFO = *mut HTTP_BINDING_INFO; +ENUM!{enum HTTP_PROTECTION_LEVEL_TYPE { + HttpProtectionLevelUnrestricted, + HttpProtectionLevelEdgeRestricted, + HttpProtectionLevelRestricted, +}} +pub type PHTTP_PROTECTION_LEVEL_TYPE = *mut HTTP_PROTECTION_LEVEL_TYPE; +STRUCT!{struct HTTP_PROTECTION_LEVEL_INFO { + Flags: HTTP_PROPERTY_FLAGS, + Level: HTTP_PROTECTION_LEVEL_TYPE, +}} +pub type PHTTP_PROTECTION_LEVEL_INFO = *mut HTTP_PROTECTION_LEVEL_INFO; +pub const HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING: ::ULONG = 0x00000001; +pub const HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER: ::ULONG = 0x00000002; +pub const HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY: ::ULONG = 0x00000001; +pub const HTTP_RECEIVE_REQUEST_FLAG_FLUSH_BODY: ::ULONG = 0x00000002; +pub const HTTP_RECEIVE_REQUEST_ENTITY_BODY_FLAG_FILL_BUFFER: ::ULONG = 0x00000001; +pub const HTTP_SEND_RESPONSE_FLAG_DISCONNECT: ::ULONG = 0x00000001; +pub const HTTP_SEND_RESPONSE_FLAG_MORE_DATA: ::ULONG = 0x00000002; +pub const HTTP_SEND_RESPONSE_FLAG_BUFFER_DATA: ::ULONG = 0x00000004; +pub const HTTP_SEND_RESPONSE_FLAG_ENABLE_NAGLING: ::ULONG = 0x00000008; +pub const HTTP_SEND_RESPONSE_FLAG_PROCESS_RANGES: ::ULONG = 0x00000020; +pub const HTTP_SEND_RESPONSE_FLAG_OPAQUE: ::ULONG = 0x00000040; +pub const HTTP_FLUSH_RESPONSE_FLAG_RECURSIVE: ::ULONG = 0x00000001; +pub type HTTP_OPAQUE_ID = ::ULONGLONG; +pub type PHTTP_OPAQUE_ID = *mut ::ULONGLONG; +pub type HTTP_REQUEST_ID = HTTP_OPAQUE_ID; +pub type PHTTP_REQUEST_ID = *mut HTTP_OPAQUE_ID; +pub type HTTP_CONNECTION_ID = HTTP_OPAQUE_ID; +pub type PHTTP_CONNECTION_ID = *mut HTTP_OPAQUE_ID; +pub type HTTP_RAW_CONNECTION_ID = HTTP_OPAQUE_ID; +pub type PHTTP_RAW_CONNECTION_ID = *mut HTTP_OPAQUE_ID; +pub type HTTP_URL_GROUP_ID = HTTP_OPAQUE_ID; +pub type PHTTP_URL_GROUP_ID = *mut HTTP_OPAQUE_ID; +pub type HTTP_SERVER_SESSION_ID = HTTP_OPAQUE_ID; +pub type PHTTP_SERVER_SESSION_ID = *mut HTTP_OPAQUE_ID; +pub const HTTP_BYTE_RANGE_TO_EOF: ::ULONGLONG = !0; +STRUCT!{struct HTTP_BYTE_RANGE { + StartingOffset: ::ULARGE_INTEGER, + Length: ::ULARGE_INTEGER, +}} +pub type PHTTP_BYTE_RANGE = *mut HTTP_BYTE_RANGE; +STRUCT!{struct HTTP_VERSION { + MajorVersion: ::USHORT, + MinorVersion: ::USHORT, +}} +pub type PHTTP_VERSION = *mut HTTP_VERSION; +pub const HTTP_VERSION_UNKNOWN: HTTP_VERSION = HTTP_VERSION { MajorVersion: 0, MinorVersion: 0 }; +pub const HTTP_VERSION_0_9: HTTP_VERSION = HTTP_VERSION { MajorVersion: 0, MinorVersion: 9 }; +pub const HTTP_VERSION_1_0: HTTP_VERSION = HTTP_VERSION { MajorVersion: 1, MinorVersion: 0 }; +pub const HTTP_VERSION_1_1: HTTP_VERSION = HTTP_VERSION { MajorVersion: 1, MinorVersion: 1 }; +#[inline] #[allow(dead_code)] +pub fn HTTP_SET_VERSION(mut version: HTTP_VERSION, major: ::USHORT, minor: ::USHORT) { + version.MajorVersion = major; + version.MinorVersion = minor; +} +#[inline] #[allow(dead_code)] +pub fn HTTP_EQUAL_VERSION(version: HTTP_VERSION, major: ::USHORT, minor: ::USHORT) -> bool { + version.MajorVersion == major && version.MinorVersion == minor +} +#[inline] #[allow(dead_code)] +pub fn HTTP_GREATER_VERSION(version: HTTP_VERSION, major: ::USHORT, minor: ::USHORT) -> bool { + version.MajorVersion > major || (version.MajorVersion == major && version.MinorVersion > minor) +} +#[inline] #[allow(dead_code)] +pub fn HTTP_LESS_VERSION(version: HTTP_VERSION, major: ::USHORT, minor: ::USHORT) -> bool { + version.MajorVersion < major || (version.MajorVersion == major && version.MinorVersion < minor) +} +#[inline] #[allow(dead_code)] +pub fn HTTP_NOT_EQUAL_VERSION(version: HTTP_VERSION, major: ::USHORT, minor: ::USHORT) -> bool { + !HTTP_EQUAL_VERSION(version, major, minor) +} +#[inline] #[allow(dead_code)] +pub fn HTTP_GREATER_EQUAL_VERSION(version: HTTP_VERSION, major: ::USHORT, minor: ::USHORT) -> bool { + !HTTP_LESS_VERSION(version, major, minor) +} +#[inline] #[allow(dead_code)] +pub fn HTTP_LESS_EQUAL_VERSION(version: HTTP_VERSION, major: ::USHORT, minor: ::USHORT) -> bool { + !HTTP_GREATER_VERSION(version, major, minor) +} +ENUM!{enum HTTP_VERB { + HttpVerbUnparsed, + HttpVerbUnknown, + HttpVerbInvalid, + HttpVerbOPTIONS, + HttpVerbGET, + HttpVerbHEAD, + HttpVerbPOST, + HttpVerbPUT, + HttpVerbDELETE, + HttpVerbTRACE, + HttpVerbCONNECT, + HttpVerbTRACK, + HttpVerbMOVE, + HttpVerbCOPY, + HttpVerbPROPFIND, + HttpVerbPROPPATCH, + HttpVerbMKCOL, + HttpVerbLOCK, + HttpVerbUNLOCK, + HttpVerbSEARCH, + HttpVerbMaximum, +}} +pub type PHTTP_VERB = *mut HTTP_VERB; +ENUM!{enum HTTP_HEADER_ID { + HttpHeaderCacheControl = 0, + HttpHeaderConnection = 1, + HttpHeaderDate = 2, + HttpHeaderKeepAlive = 3, + HttpHeaderPragma = 4, + HttpHeaderTrailer = 5, + HttpHeaderTransferEncoding = 6, + HttpHeaderUpgrade = 7, + HttpHeaderVia = 8, + HttpHeaderWarning = 9, + HttpHeaderAllow = 10, + HttpHeaderContentLength = 11, + HttpHeaderContentType = 12, + HttpHeaderContentEncoding = 13, + HttpHeaderContentLanguage = 14, + HttpHeaderContentLocation = 15, + HttpHeaderContentMd5 = 16, + HttpHeaderContentRange = 17, + HttpHeaderExpires = 18, + HttpHeaderLastModified = 19, + HttpHeaderAccept = 20, + HttpHeaderAcceptCharset = 21, + HttpHeaderAcceptEncoding = 22, + HttpHeaderAcceptLanguage = 23, + HttpHeaderAuthorization = 24, + HttpHeaderCookie = 25, + HttpHeaderExpect = 26, + HttpHeaderFrom = 27, + HttpHeaderHost = 28, + HttpHeaderIfMatch = 29, + HttpHeaderIfModifiedSince = 30, + HttpHeaderIfNoneMatch = 31, + HttpHeaderIfRange = 32, + HttpHeaderIfUnmodifiedSince = 33, + HttpHeaderMaxForwards = 34, + HttpHeaderProxyAuthorization = 35, + HttpHeaderReferer = 36, + HttpHeaderRange = 37, + HttpHeaderTe = 38, + HttpHeaderTranslate = 39, + HttpHeaderUserAgent = 40, + HttpHeaderRequestMaximum = 41, + HttpHeaderAcceptRanges = 20, + HttpHeaderAge = 21, + HttpHeaderEtag = 22, + HttpHeaderLocation = 23, + HttpHeaderProxyAuthenticate = 24, + HttpHeaderRetryAfter = 25, + HttpHeaderServer = 26, + HttpHeaderSetCookie = 27, + HttpHeaderVary = 28, + HttpHeaderWwwAuthenticate = 29, + HttpHeaderResponseMaximum = 30, + HttpHeaderMaximum = 41, +}} +pub type PHTTP_HEADER_ID = *mut HTTP_HEADER_ID; +STRUCT!{struct HTTP_KNOWN_HEADER { + RawValueLength: ::USHORT, + pRawValue: ::PCSTR, +}} +pub type PHTTP_KNOWN_HEADER = *mut HTTP_KNOWN_HEADER; +STRUCT!{struct HTTP_UNKNOWN_HEADER { + NameLength: ::USHORT, + RawValueLength: ::USHORT, + pName: ::PCSTR, + pRawValue: ::PCSTR, +}} +pub type PHTTP_UNKNOWN_HEADER = *mut HTTP_UNKNOWN_HEADER; +ENUM!{enum HTTP_LOG_DATA_TYPE { + HttpLogDataTypeFields = 0, +}} +pub type PHTTP_LOG_DATA_TYPE = *mut HTTP_LOG_DATA_TYPE; +STRUCT!{struct HTTP_LOG_DATA { + Type: HTTP_LOG_DATA_TYPE, +}} +pub type PHTTP_LOG_DATA = *mut HTTP_LOG_DATA; +STRUCT!{struct HTTP_LOG_FIELDS_DATA { + Base: HTTP_LOG_DATA, + UserNameLength: ::USHORT, + UriStemLength: ::USHORT, + ClientIpLength: ::USHORT, + ServerNameLength: ::USHORT, + ServiceNameLength: ::USHORT, + ServerIpLength: ::USHORT, + MethodLength: ::USHORT, + UriQueryLength: ::USHORT, + HostLength: ::USHORT, + UserAgentLength: ::USHORT, + CookieLength: ::USHORT, + ReferrerLength: ::USHORT, + UserName: ::PWCHAR, + UriStem: ::PWCHAR, + ClientIp: ::PCHAR, + ServerName: ::PCHAR, + ServiceName: ::PCHAR, + ServerIp: ::PCHAR, + Method: ::PCHAR, + UriQuery: ::PCHAR, + Host: ::PCHAR, + UserAgent: ::PCHAR, + Cookie: ::PCHAR, + Referrer: ::PCHAR, + ServerPort: ::USHORT, + ProtocolStatus: ::USHORT, + Win32Status: ::ULONG, + MethodNum: HTTP_VERB, + SubStatus: ::USHORT, +}} +pub type PHTTP_LOG_FIELDS_DATA = *mut HTTP_LOG_FIELDS_DATA; +ENUM!{enum HTTP_DATA_CHUNK_TYPE { + HttpDataChunkFromMemory, + HttpDataChunkFromFileHandle, + HttpDataChunkFromFragmentCache, + HttpDataChunkFromFragmentCacheEx, + HttpDataChunkMaximum, +}} +pub type PHTTP_DATA_CHUNK_TYPE = *mut HTTP_DATA_CHUNK_TYPE; +STRUCT!{struct HTTP_DATA_CHUNK_FromMemory { + pBuffer: ::PVOID, + BufferLength: ::ULONG, +}} +STRUCT!{struct HTTP_DATA_CHUNK_FromFileHandle { + ByteRange: HTTP_BYTE_RANGE, + FileHandle: ::HANDLE, +}} +STRUCT!{struct HTTP_DATA_CHUNK_FromFragmentCache { + FragmentNameLength: ::USHORT, + pFragmentName: ::PCWSTR, +}} +STRUCT!{struct HTTP_DATA_CHUNK_FromFragmentCacheEx { + ByteRange: HTTP_BYTE_RANGE, + pFragmentName: ::PCWSTR, +}} +STRUCT!{struct HTTP_DATA_CHUNK { + DataChunkType: HTTP_DATA_CHUNK_TYPE, + FromFileHandle: HTTP_DATA_CHUNK_FromFileHandle, +}} +UNION!(HTTP_DATA_CHUNK, FromFileHandle, FromMemory, FromMemory_mut, HTTP_DATA_CHUNK_FromMemory); +UNION!( + HTTP_DATA_CHUNK, FromFileHandle, FromFragmentCache, FromFragmentCache_mut, + HTTP_DATA_CHUNK_FromFragmentCache +); +UNION!( + HTTP_DATA_CHUNK, FromFileHandle, FromFragmentCacheEx, FromFragmentCacheEx_mut, + HTTP_DATA_CHUNK_FromFragmentCacheEx +); +pub type PHTTP_DATA_CHUNK = *mut HTTP_DATA_CHUNK; +STRUCT!{nodebug struct HTTP_REQUEST_HEADERS { + UnknownHeaderCount: ::USHORT, + pUnknownHeaders: PHTTP_UNKNOWN_HEADER, + TrailerCount: ::USHORT, + pTrailers: PHTTP_UNKNOWN_HEADER, + KnownHeaders: [HTTP_KNOWN_HEADER; 41], // FIXME HttpHeaderRequestMaximum +}} +pub type PHTTP_REQUEST_HEADERS = *mut HTTP_REQUEST_HEADERS; +STRUCT!{nodebug struct HTTP_RESPONSE_HEADERS { + UnknownHeaderCount: ::USHORT, + pUnknownHeaders: PHTTP_UNKNOWN_HEADER, + TrailerCount: ::USHORT, + pTrailers: PHTTP_UNKNOWN_HEADER, + KnownHeaders: [HTTP_KNOWN_HEADER; 30], // FIXME HttpHeaderResponseMaximum +}} +pub type PHTTP_RESPONSE_HEADERS = *mut HTTP_RESPONSE_HEADERS; +STRUCT!{struct HTTP_TRANSPORT_ADDRESS { + pRemoteAddress: ::PSOCKADDR, + pLocalAddress: ::PSOCKADDR, +}} +pub type PHTTP_TRANSPORT_ADDRESS = *mut HTTP_TRANSPORT_ADDRESS; +STRUCT!{struct HTTP_COOKED_URL { + FullUrlLength: ::USHORT, + HostLength: ::USHORT, + AbsPathLength: ::USHORT, + QueryStringLength: ::USHORT, + pFullUrl: ::PCWSTR, + pHost: ::PCWSTR, + pAbsPath: ::PCWSTR, + pQueryString: ::PCWSTR, +}} +pub type PHTTP_COOKED_URL = *mut HTTP_COOKED_URL; +pub type HTTP_URL_CONTEXT = ::ULONGLONG; +pub const HTTP_URL_FLAG_REMOVE_ALL: ::ULONG = 0x00000001; +ENUM!{enum HTTP_AUTH_STATUS { + HttpAuthStatusSuccess, + HttpAuthStatusNotAuthenticated, + HttpAuthStatusFailure, +}} +pub type PHTTP_AUTH_STATUS = *mut HTTP_AUTH_STATUS; +ENUM!{enum HTTP_REQUEST_AUTH_TYPE { + HttpRequestAuthTypeNone = 0, + HttpRequestAuthTypeBasic, + HttpRequestAuthTypeDigest, + HttpRequestAuthTypeNTLM, + HttpRequestAuthTypeNegotiate, + HttpRequestAuthTypeKerberos, +}} +pub type PHTTP_REQUEST_AUTH_TYPE = *mut HTTP_REQUEST_AUTH_TYPE; +STRUCT!{struct HTTP_SSL_CLIENT_CERT_INFO { + CertFlags: ::ULONG, + CertEncodedSize: ::ULONG, + pCertEncoded: ::PUCHAR, + Token: ::HANDLE, + CertDeniedByMapper: ::BOOLEAN, +}} +pub type PHTTP_SSL_CLIENT_CERT_INFO = *mut HTTP_SSL_CLIENT_CERT_INFO; +pub const HTTP_RECEIVE_SECURE_CHANNEL_TOKEN: ::ULONG = 0x1; +STRUCT!{struct HTTP_SSL_INFO { + ServerCertKeySize: ::USHORT, + ConnectionKeySize: ::USHORT, + ServerCertIssuerSize: ::ULONG, + ServerCertSubjectSize: ::ULONG, + pServerCertIssuer: ::PCSTR, + pServerCertSubject: ::PCSTR, + pClientCertInfo: PHTTP_SSL_CLIENT_CERT_INFO, + SslClientCertNegotiated: ::ULONG, +}} +pub type PHTTP_SSL_INFO = *mut HTTP_SSL_INFO; +ENUM!{enum HTTP_REQUEST_INFO_TYPE { + HttpRequestInfoTypeAuth, + HttpRequestInfoTypeChannelBind, +}} +STRUCT!{struct HTTP_REQUEST_INFO { + InfoType: HTTP_REQUEST_INFO_TYPE, + InfoLength: ::ULONG, + pInfo: ::PVOID, +}} +pub type PHTTP_REQUEST_INFO = *mut HTTP_REQUEST_INFO; +pub const HTTP_REQUEST_AUTH_FLAG_TOKEN_FOR_CACHED_CRED: ::ULONG = 0x00000001; +STRUCT!{struct HTTP_REQUEST_AUTH_INFO { + AuthStatus: HTTP_AUTH_STATUS, + SecStatus: ::SECURITY_STATUS, + Flags: ::ULONG, + AuthType: HTTP_REQUEST_AUTH_TYPE, + AccessToken: ::HANDLE, + ContextAttributes: ::ULONG, + PackedContextLength: ::ULONG, + PackedContextType: ::ULONG, + PackedContext: ::PVOID, + MutualAuthDataLength: ::ULONG, + pMutualAuthData: ::PCHAR, + PackageNameLength: ::USHORT, + pPackageName: ::PWSTR, +}} +pub type PHTTP_REQUEST_AUTH_INFO = *mut HTTP_REQUEST_AUTH_INFO; +STRUCT!{nodebug struct HTTP_REQUEST_V1 { + Flags: ::ULONG, + ConnectionId: HTTP_CONNECTION_ID, + RequestId: HTTP_REQUEST_ID, + UrlContext: HTTP_URL_CONTEXT, + Version: HTTP_VERSION, + Verb: HTTP_VERB, + UnknownVerbLength: ::USHORT, + RawUrlLength: ::USHORT, + pUnknownVerb: ::PCSTR, + pRawUrl: ::PCSTR, + CookedUrl: HTTP_COOKED_URL, + Address: HTTP_TRANSPORT_ADDRESS, + Headers: HTTP_REQUEST_HEADERS, + BytesReceived: ::ULONGLONG, + EntityChunkCount: ::USHORT, + pEntityChunks: PHTTP_DATA_CHUNK, + RawConnectionId: HTTP_RAW_CONNECTION_ID, + pSslInfo: PHTTP_SSL_INFO, +}} +pub type PHTTP_REQUEST_V1 = *mut HTTP_REQUEST_V1; +STRUCT!{nodebug struct HTTP_REQUEST_V2 { + Base: HTTP_REQUEST_V1, + RequestInfoCount: ::USHORT, + pRequestInfo: PHTTP_REQUEST_INFO, +}} +pub type PHTTP_REQUEST_V2 = *mut HTTP_REQUEST_V2; +pub type HTTP_REQUEST = HTTP_REQUEST_V2; +pub type PHTTP_REQUEST = *mut HTTP_REQUEST; +pub const HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS: ::ULONG = 0x00000001; +pub const HTTP_REQUEST_FLAG_IP_ROUTED: ::ULONG = 0x00000002; +STRUCT!{nodebug struct HTTP_RESPONSE_V1 { + Flags: ::ULONG, + Version: HTTP_VERSION, + StatusCode: ::USHORT, + ReasonLength: ::USHORT, + pReason: ::PCSTR, + Headers: HTTP_RESPONSE_HEADERS, + EntityChunkCount: ::USHORT, + pEntityChunks: PHTTP_DATA_CHUNK, +}} +pub type PHTTP_RESPONSE_V1 = *mut HTTP_RESPONSE_V1; +pub const HTTP_RESPONSE_FLAG_MULTIPLE_ENCODINGS_AVAILABLE: ::ULONG = 0x00000001; +ENUM!{enum HTTP_RESPONSE_INFO_TYPE { + HttpResponseInfoTypeMultipleKnownHeaders, + HttpResponseInfoTypeAuthenticationProperty, + HttpResponseInfoTypeQoSProperty, + HttpResponseInfoTypeChannelBind, +}} +pub type PHTTP_RESPONSE_INFO_TYPE = *mut HTTP_RESPONSE_INFO_TYPE; +STRUCT!{struct HTTP_RESPONSE_INFO { + Type: HTTP_RESPONSE_INFO_TYPE, + Length: ::ULONG, + pInfo: ::PVOID, +}} +pub type PHTTP_RESPONSE_INFO = *mut HTTP_RESPONSE_INFO; +pub const HTTP_RESPONSE_INFO_FLAGS_PRESERVE_ORDER: ::ULONG = 0x00000001; +STRUCT!{struct HTTP_MULTIPLE_KNOWN_HEADERS { + HeaderId: HTTP_HEADER_ID, + Flags: ::ULONG, + KnownHeaderCount: ::USHORT, + KnownHeaders: PHTTP_KNOWN_HEADER, +}} +pub type PHTTP_MULTIPLE_KNOWN_HEADERS = *mut HTTP_MULTIPLE_KNOWN_HEADERS; +STRUCT!{nodebug struct HTTP_RESPONSE_V2 { + Base: HTTP_RESPONSE_V1, + ResponseInfoCount: ::USHORT, + pResponseInfo: PHTTP_RESPONSE_INFO, +}} +pub type PHTTP_RESPONSE_V2 = *mut HTTP_RESPONSE_V2; +pub type HTTP_RESPONSE = HTTP_RESPONSE_V2; +pub type PHTTP_RESPONSE = *mut HTTP_RESPONSE; +STRUCT!{struct HTTPAPI_VERSION { + HttpApiMajorVersion: ::USHORT, + HttpApiMinorVersion: ::USHORT, +}} +pub type PHTTPAPI_VERSION = *mut HTTPAPI_VERSION; +pub const HTTPAPI_VERSION_2: HTTPAPI_VERSION = HTTPAPI_VERSION { + HttpApiMajorVersion: 2, HttpApiMinorVersion: 0, +}; +pub const HTTPAPI_VERSION_1: HTTPAPI_VERSION = HTTPAPI_VERSION { + HttpApiMajorVersion: 1, HttpApiMinorVersion: 0, +}; +#[inline] #[allow(dead_code)] +pub fn HTTPAPI_EQUAL_VERSION(version: HTTPAPI_VERSION, major: ::USHORT, minor: ::USHORT) -> bool { + version.HttpApiMajorVersion == major && version.HttpApiMinorVersion == minor +} +#[inline] #[allow(dead_code)] +pub fn HTTPAPI_GREATER_VERSION(version: HTTPAPI_VERSION, major: ::USHORT, minor: ::USHORT) -> bool { + version.HttpApiMajorVersion > major || + (version.HttpApiMajorVersion == major && version.HttpApiMinorVersion > minor) +} +#[inline] #[allow(dead_code)] +pub fn HTTPAPI_LESS_VERSION(version: HTTPAPI_VERSION, major: ::USHORT, minor: ::USHORT) -> bool { + version.HttpApiMajorVersion < major || + (version.HttpApiMajorVersion == major && version.HttpApiMinorVersion < minor) +} +#[inline] #[allow(dead_code)] +pub fn HTTPAPI_VERSION_GREATER_OR_EQUAL( + version: HTTPAPI_VERSION, major: ::USHORT, minor: ::USHORT +) -> bool { + !HTTPAPI_LESS_VERSION(version, major, minor) +} +ENUM!{enum HTTP_CACHE_POLICY_TYPE { + HttpCachePolicyNocache, + HttpCachePolicyUserInvalidates, + HttpCachePolicyTimeToLive, + HttpCachePolicyMaximum, +}} +pub type PHTTP_CACHE_POLICY_TYPE = *mut HTTP_CACHE_POLICY_TYPE; +STRUCT!{struct HTTP_CACHE_POLICY { + Policy: HTTP_CACHE_POLICY_TYPE, + SecondsToLive: ::ULONG, +}} +pub type PHTTP_CACHE_POLICY = *mut HTTP_CACHE_POLICY; +ENUM!{enum HTTP_SERVICE_CONFIG_ID { + HttpServiceConfigIPListenList, + HttpServiceConfigSSLCertInfo, + HttpServiceConfigUrlAclInfo, + HttpServiceConfigTimeout, + HttpServiceConfigCache, + HttpServiceConfigSslSniCertInfo, + HttpServiceConfigSslCcsCertInfo, + HttpServiceConfigMax, +}} +pub type PHTTP_SERVICE_CONFIG_ID = *mut HTTP_SERVICE_CONFIG_ID; +ENUM!{enum HTTP_SERVICE_CONFIG_QUERY_TYPE { + HttpServiceConfigQueryExact, + HttpServiceConfigQueryNext, + HttpServiceConfigQueryMax, +}} +pub type PHTTP_SERVICE_CONFIG_QUERY_TYPE = *mut HTTP_SERVICE_CONFIG_QUERY_TYPE; +STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_KEY { + pIpPort: ::PSOCKADDR, +}} +pub type PHTTP_SERVICE_CONFIG_SSL_KEY = *mut HTTP_SERVICE_CONFIG_SSL_KEY; +STRUCT!{nodebug struct HTTP_SERVICE_CONFIG_SSL_SNI_KEY { + IpPort: ::SOCKADDR_STORAGE, + Host: ::PWSTR, +}} +pub type PHTTP_SERVICE_CONFIG_SSL_SNI_KEY = *mut HTTP_SERVICE_CONFIG_SSL_SNI_KEY; +STRUCT!{nodebug struct HTTP_SERVICE_CONFIG_SSL_CCS_KEY { + LocalAddress: ::SOCKADDR_STORAGE, +}} +pub type PHTTP_SERVICE_CONFIG_SSL_CCS_KEY = *mut HTTP_SERVICE_CONFIG_SSL_CCS_KEY; +STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_PARAM { + SslHashLength: ::ULONG, + pSslHash: ::PVOID, + AppId: ::GUID, + pSslCertStoreName: ::PWSTR, + DefaultCertCheckMode: ::DWORD, + DefaultRevocationFreshnessTime: ::DWORD, + DefaultRevocationUrlRetrievalTimeout: ::DWORD, + pDefaultSslCtlIdentifier: ::PWSTR, + pDefaultSslCtlStoreName: ::PWSTR, + DefaultFlags: ::DWORD, +}} +pub type PHTTP_SERVICE_CONFIG_SSL_PARAM = *mut HTTP_SERVICE_CONFIG_SSL_PARAM; +pub const HTTP_SERVICE_CONFIG_SSL_FLAG_USE_DS_MAPPER: ::DWORD = 0x00000001; +pub const HTTP_SERVICE_CONFIG_SSL_FLAG_NEGOTIATE_CLIENT_CERT: ::DWORD = 0x00000002; +pub const HTTP_SERVICE_CONFIG_SSL_FLAG_NO_RAW_FILTER: ::DWORD = 0x00000004; +STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_SET { + KeyDesc: HTTP_SERVICE_CONFIG_SSL_KEY, + ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM, +}} +pub type PHTTP_SERVICE_CONFIG_SSL_SET = *mut HTTP_SERVICE_CONFIG_SSL_SET; +STRUCT!{nodebug struct HTTP_SERVICE_CONFIG_SSL_SNI_SET { + KeyDesc: HTTP_SERVICE_CONFIG_SSL_SNI_KEY, + ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM, +}} +pub type PHTTP_SERVICE_CONFIG_SSL_SNI_SET = *mut HTTP_SERVICE_CONFIG_SSL_SNI_SET; +STRUCT!{nodebug struct HTTP_SERVICE_CONFIG_SSL_CCS_SET { + KeyDesc: HTTP_SERVICE_CONFIG_SSL_CCS_KEY, + ParamDesc: HTTP_SERVICE_CONFIG_SSL_PARAM, +}} +pub type PHTTP_SERVICE_CONFIG_SSL_CCS_SET = *mut HTTP_SERVICE_CONFIG_SSL_CCS_SET; +STRUCT!{struct HTTP_SERVICE_CONFIG_SSL_QUERY { + QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE, + KeyDesc: HTTP_SERVICE_CONFIG_SSL_KEY, + dwToken: ::DWORD, +}} +pub type PHTTP_SERVICE_CONFIG_SSL_QUERY = *mut HTTP_SERVICE_CONFIG_SSL_QUERY; +STRUCT!{nodebug struct HTTP_SERVICE_CONFIG_SSL_SNI_QUERY { + QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE, + KeyDesc: HTTP_SERVICE_CONFIG_SSL_SNI_KEY, + dwToken: ::DWORD, +}} +pub type PHTTP_SERVICE_CONFIG_SSL_SNI_QUERY = *mut HTTP_SERVICE_CONFIG_SSL_SNI_QUERY; +STRUCT!{nodebug struct HTTP_SERVICE_CONFIG_SSL_CCS_QUERY { + QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE, + KeyDesc: HTTP_SERVICE_CONFIG_SSL_CCS_KEY, + dwToken: ::DWORD, +}} +pub type PHTTP_SERVICE_CONFIG_SSL_CCS_QUERY = *mut HTTP_SERVICE_CONFIG_SSL_CCS_QUERY; +STRUCT!{struct HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM { + AddrLength: ::USHORT, + pAddress: ::PSOCKADDR, +}} +pub type PHTTP_SERVICE_CONFIG_IP_LISTEN_PARAM = *mut HTTP_SERVICE_CONFIG_IP_LISTEN_PARAM; +STRUCT!{nodebug struct HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY { + AddrCount: ::ULONG, + AddrList: [::SOCKADDR_STORAGE; ::ANYSIZE_ARRAY], +}} +pub type PHTTP_SERVICE_CONFIG_IP_LISTEN_QUERY = *mut HTTP_SERVICE_CONFIG_IP_LISTEN_QUERY; +STRUCT!{struct HTTP_SERVICE_CONFIG_URLACL_KEY { + pUrlPrefix: ::PWSTR, +}} +pub type PHTTP_SERVICE_CONFIG_URLACL_KEY = *mut HTTP_SERVICE_CONFIG_URLACL_KEY; +STRUCT!{struct HTTP_SERVICE_CONFIG_URLACL_PARAM { + pStringSecurityDescriptor: ::PWSTR, +}} +pub type PHTTP_SERVICE_CONFIG_URLACL_PARAM = *mut HTTP_SERVICE_CONFIG_URLACL_PARAM; +STRUCT!{struct HTTP_SERVICE_CONFIG_URLACL_SET { + KeyDesc: HTTP_SERVICE_CONFIG_URLACL_KEY, + ParamDesc: HTTP_SERVICE_CONFIG_URLACL_PARAM, +}} +pub type PHTTP_SERVICE_CONFIG_URLACL_SET = *mut HTTP_SERVICE_CONFIG_URLACL_SET; +STRUCT!{struct HTTP_SERVICE_CONFIG_URLACL_QUERY { + QueryDesc: HTTP_SERVICE_CONFIG_QUERY_TYPE, + KeyDesc: HTTP_SERVICE_CONFIG_URLACL_KEY, + dwToken: ::DWORD, +}} +pub type PHTTP_SERVICE_CONFIG_URLACL_QUERY = *mut HTTP_SERVICE_CONFIG_URLACL_QUERY; +ENUM!{enum HTTP_SERVICE_CONFIG_CACHE_KEY { + MaxCacheResponseSize = 0, + CacheRangeChunkSize, +}} +pub type PHTTP_SERVICE_CONFIG_CACHE_KEY = *mut HTTP_SERVICE_CONFIG_CACHE_KEY; +pub type HTTP_SERVICE_CONFIG_CACHE_PARAM = ::ULONG; +pub type PHTTP_SERVICE_CONFIG_CACHE_PARAM = *mut ::ULONG; +STRUCT!{struct HTTP_SERVICE_CONFIG_CACHE_SET { + KeyDesc: HTTP_SERVICE_CONFIG_CACHE_KEY, + ParamDesc: HTTP_SERVICE_CONFIG_CACHE_PARAM, +}} +pub type PHTTP_SERVICE_CONFIG_CACHE_SET = *mut HTTP_SERVICE_CONFIG_CACHE_SET; diff --git a/third_party/rust/winapi-0.2.8/src/imm.rs b/third_party/rust/winapi-0.2.8/src/imm.rs new file mode 100644 index 0000000000..cadf6cf7ff --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/imm.rs @@ -0,0 +1,3 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +pub type LPUINT = *mut ::c_uint; diff --git a/third_party/rust/winapi-0.2.8/src/inaddr.rs b/third_party/rust/winapi-0.2.8/src/inaddr.rs new file mode 100644 index 0000000000..f89e9babe6 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/inaddr.rs @@ -0,0 +1,22 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! IPv4 Internet address +STRUCT!{struct in_addr_S_un_b { + s_b1: ::UCHAR, + s_b2: ::UCHAR, + s_b3: ::UCHAR, + s_b4: ::UCHAR, +}} +STRUCT!{struct in_addr_S_un_w { + s_w1: ::USHORT, + s_w2: ::USHORT, +}} +STRUCT!{struct in_addr { + S_un: ::ULONG, +}} +UNION!(in_addr, S_un, S_un_b, S_un_b_mut, in_addr_S_un_b); +UNION!(in_addr, S_un, S_un_w, S_un_w_mut, in_addr_S_un_w); +UNION!(in_addr, S_un, S_addr, S_addr_mut, ::ULONG); +pub type IN_ADDR = in_addr; +pub type PIN_ADDR = *mut in_addr; +pub type LPIN_ADDR = *mut in_addr; diff --git a/third_party/rust/winapi-0.2.8/src/inspectable.rs b/third_party/rust/winapi-0.2.8/src/inspectable.rs new file mode 100644 index 0000000000..36575e1e50 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/inspectable.rs @@ -0,0 +1,15 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +pub type LPINSPECTABLE = *mut IInspectable; +ENUM!{enum TrustLevel { + BaseTrust = 0, + PartialTrust, + FullTrust, +}} +RIDL!( +interface IInspectable(IInspectableVtbl): IUnknown(IUnknownVtbl) { + fn GetIids(&mut self, iidCount: *mut ::ULONG, iids: *mut *mut ::IID) -> ::HRESULT, + fn GetRuntimeClassName(&mut self, className: *mut ::HSTRING) -> ::HRESULT, + fn GetTrustLevel(&mut self, trustLevel: *mut TrustLevel) -> ::HRESULT +} +); diff --git a/third_party/rust/winapi-0.2.8/src/ksmedia.rs b/third_party/rust/winapi-0.2.8/src/ksmedia.rs new file mode 100644 index 0000000000..8ef2700716 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/ksmedia.rs @@ -0,0 +1,18 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +DEFINE_GUID!(KSDATAFORMAT_SUBTYPE_ANALOG, 0x6DBA3190, 0x67BD, 0x11CF, + 0xA0, 0xF7, 0x00, 0x20, 0xAF, 0xD1, 0x56, 0xE4); +DEFINE_GUID!(KSDATAFORMAT_SUBTYPE_PCM, 0x00000001, 0x0000, 0x0010, + 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); +DEFINE_GUID!(KSDATAFORMAT_SUBTYPE_IEEE_FLOAT, 0x00000003, 0x0000, 0x0010, + 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); +DEFINE_GUID!(KSDATAFORMAT_SUBTYPE_DRM, 0x00000009, 0x0000, 0x0010, + 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); +DEFINE_GUID!(KSDATAFORMAT_SUBTYPE_ALAW, 0x00000006, 0x0000, 0x0010, + 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); +DEFINE_GUID!(KSDATAFORMAT_SUBTYPE_MULAW, 0x00000007, 0x0000, 0x0010, + 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); +DEFINE_GUID!(KSDATAFORMAT_SUBTYPE_ADPCM, 0x00000002, 0x0000, 0x0010, + 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); +DEFINE_GUID!(KSDATAFORMAT_SUBTYPE_MPEG, 0x00000050, 0x0000, 0x0010, + 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); diff --git a/third_party/rust/winapi-0.2.8/src/lib.rs b/third_party/rust/winapi-0.2.8/src/lib.rs new file mode 100644 index 0000000000..0e99f815a8 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/lib.rs @@ -0,0 +1,368 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Types and constants for WinAPI bindings. +#![allow(bad_style)] +#![warn(trivial_casts, trivial_numeric_casts)] +#![warn(unused_qualifications, unused)] +#![cfg(windows)] +//------------------------------------------------------------------------------------------------- +// Imports +//------------------------------------------------------------------------------------------------- +pub use std::os::raw::{ + c_void, + c_char, + c_schar, + c_uchar, + c_short, + c_ushort, + c_int, + c_uint, + c_long, + c_ulong, + c_longlong, + c_ulonglong, + c_float, + c_double, +}; +pub use activation::*; +pub use audioclient::*; +pub use audiosessiontypes::*; +pub use basetsd::*; +pub use bcrypt::*; +pub use cfg::*; +pub use cfgmgr32::*; +pub use combaseapi::*; +pub use commctrl::*; +pub use commdlg::*; +pub use corsym::*; +pub use d2d1::*; +pub use d2dbasetypes::*; +pub use d3d9::*; +pub use d3d9caps::*; +pub use d3d9types::*; +pub use d3d11::*; +pub use d3d10shader::*; +pub use d3d11shader::*; +pub use d3d12::*; +pub use d3d12sdklayers::*; +pub use d3d12shader::*; +pub use d3dcommon::*; +pub use d3dcompiler::*; +pub use dbghelp::*; +pub use dcommon::*; +pub use devpropdef::*; +pub use docobj::*; +pub use dpapi::*; +pub use dsgetdc::*; +pub use dsound::*; +pub use dsrole::*; +pub use dwmapi::*; +pub use dwrite::*; +pub use dxgi::*; +pub use dxgi1_2::*; +pub use dxgi1_3::*; +pub use dxgi1_4::*; +pub use dxgiformat::*; +pub use dxgitype::*; +pub use errhandlingapi::*; +pub use excpt::*; +pub use fileapi::*; +pub use gl::*; +pub use guiddef::*; +pub use heapapi::*; +pub use hidclass::*; +pub use hidpi::*; +pub use hidsdi::*; +pub use hidusage::*; +pub use hstring::*; +pub use http::*; +pub use imm::*; +pub use inaddr::*; +pub use inspectable::*; +pub use ksmedia::*; +pub use libloaderapi::*; +pub use lmaccess::*; +pub use lmcons::*; +pub use lmdfs::*; +pub use lmerrlog::*; +pub use lmjoin::*; +pub use lsalookup::*; +pub use memoryapi::*; +pub use minschannel::*; +pub use minwinbase::*; +pub use minwindef::*; +pub use mmdeviceapi::*; +pub use mmreg::*; +pub use mmsystem::*; +pub use mscat::*; +pub use mssip::*; +pub use nb30::*; +pub use ncrypt::*; +pub use ntdef::*; +pub use ntsecapi::*; +pub use ntstatus::*; +pub use oaidl::*; +pub use objbase::*; +pub use objidl::*; +pub use objidlbase::*; +pub use olectl::*; +pub use pdh::*; +pub use playsoundapi::*; +pub use processsnapshot::*; +pub use processthreadsapi::*; +pub use propidl::*; +pub use propsys::*; +pub use prsht::*; +pub use psapi::*; +pub use qos::*; +pub use reason::*; +pub use restrictederrorinfo::*; +pub use roapi::*; +pub use roerrorapi::*; +pub use rpc::*; +pub use rpcdce::*; +pub use sapi::*; +pub use schannel::*; +pub use servprov::*; +pub use setupapi::*; +pub use shellapi::*; +pub use shellscalingapi::*; +pub use shlguid::*; +pub use shlobj::*; +pub use shobjidl::*; +pub use shtypes::*; +pub use spapidef::*; +pub use sqltypes::*; +pub use sspi::*; +pub use strmif::*; +pub use subauth::*; +pub use synchapi::*; +pub use sysinfoapi::*; +pub use threadpoolapi::*; +pub use timezoneapi::*; +pub use tlhelp32::*; +pub use unknwnbase::*; +pub use urlhist::*; +pub use urlmon::*; +pub use usb::*; +pub use usbspec::*; +pub use usp10::*; +pub use vadefs::*; +pub use vsbackup::*; +pub use vss::*; +pub use vsserror::*; +pub use vswriter::*; +pub use werapi::*; +pub use winbase::*; +pub use wincon::*; +pub use wincred::*; +pub use wincrypt::*; +pub use windowsx::*; +pub use windef::*; +pub use windowscodecs::*; +pub use winerror::*; +pub use winevt::*; +pub use wingdi::*; +pub use winhttp::*; +pub use winioctl::*; +pub use winnetwk::*; +pub use winnls::*; +pub use winnt::*; +pub use winreg::*; +pub use winscard::*; +pub use winsmcrd::*; +pub use winsock2::*; +pub use winspool::*; +pub use winstring::*; +pub use winsvc::*; +pub use winusb::*; +pub use winusbio::*; +pub use winuser::*; +pub use ws2def::*; +pub use ws2ipdef::*; +pub use ws2spi::*; +pub use ws2tcpip::*; +pub use wtypes::*; +pub use wtypesbase::*; +pub use xinput::*; +//------------------------------------------------------------------------------------------------- +// Modules +//------------------------------------------------------------------------------------------------- +#[macro_use] mod macros; +pub mod activation; +pub mod audioclient; +pub mod audiosessiontypes; +pub mod basetsd; +pub mod bcrypt; +pub mod cfg; +pub mod cfgmgr32; +pub mod combaseapi; +pub mod commctrl; +pub mod commdlg; +pub mod corsym; +pub mod d2d1; +pub mod d2dbasetypes; +pub mod d3d9; +pub mod d3d9caps; +pub mod d3d9types; +pub mod d3d11; +pub mod d3d10shader; +pub mod d3d11shader; +pub mod d3d12; +pub mod d3d12sdklayers; +pub mod d3d12shader; +pub mod d3dcommon; +pub mod d3dcompiler; +pub mod dbghelp; +pub mod dcommon; +pub mod devpropdef; +pub mod docobj; +pub mod dpapi; +pub mod dsgetdc; +pub mod dsound; +pub mod dsrole; +pub mod dwmapi; +pub mod dwrite; +pub mod dxgi; +pub mod dxgi1_2; +pub mod dxgi1_3; +pub mod dxgi1_4; +pub mod dxgiformat; +pub mod dxgitype; +pub mod errhandlingapi; +pub mod excpt; +pub mod fileapi; +pub mod gl; +pub mod guiddef; +pub mod heapapi; +pub mod hidclass; +pub mod hidpi; +pub mod hidsdi; +pub mod hidusage; +pub mod hstring; +pub mod http; +pub mod imm; +pub mod inaddr; +pub mod inspectable; +pub mod ksmedia; +pub mod libloaderapi; +pub mod lmaccess; +pub mod lmcons; +pub mod lmdfs; +pub mod lmerrlog; +pub mod lmjoin; +pub mod lsalookup; +pub mod memoryapi; +pub mod minschannel; +pub mod minwinbase; +pub mod minwindef; +pub mod mmdeviceapi; +pub mod mmreg; +pub mod mmsystem; +pub mod mscat; +pub mod mssip; +pub mod nb30; +pub mod ncrypt; +pub mod ntdef; +pub mod ntsecapi; +pub mod ntstatus; +pub mod oaidl; +pub mod objbase; +pub mod objidl; +pub mod objidlbase; +pub mod olectl; +pub mod pdh; +pub mod playsoundapi; +pub mod processsnapshot; +pub mod processthreadsapi; +pub mod propidl; +pub mod propsys; +pub mod prsht; +pub mod psapi; +pub mod qos; +pub mod reason; +pub mod restrictederrorinfo; +pub mod roapi; +pub mod roerrorapi; +pub mod rpc; +pub mod rpcdce; +pub mod sapi; +pub mod schannel; +pub mod servprov; +pub mod setupapi; +pub mod shellapi; +pub mod shellscalingapi; +pub mod shlguid; +pub mod shlobj; +pub mod shobjidl; +pub mod shtypes; +pub mod spapidef; +pub mod sqltypes; +pub mod sspi; +pub mod strmif; +pub mod subauth; +pub mod synchapi; +pub mod sysinfoapi; +pub mod threadpoolapi; +pub mod timezoneapi; +pub mod tlhelp32; +pub mod unknwnbase; +pub mod urlhist; +pub mod urlmon; +pub mod usb; +pub mod usbspec; +pub mod usp10; +pub mod vadefs; +pub mod vsbackup; +pub mod vss; +pub mod vsserror; +pub mod vswriter; +pub mod werapi; +pub mod winbase; +pub mod wincon; +pub mod wincred; +pub mod wincrypt; +pub mod windef; +pub mod windowscodecs; +pub mod windowsx; +pub mod winerror; +pub mod winevt; +pub mod wingdi; +pub mod winhttp; +pub mod winioctl; +pub mod winnetwk; +pub mod winnls; +pub mod winnt; +pub mod winreg; +pub mod winscard; +pub mod winsmcrd; +pub mod winsock2; +pub mod winspool; +pub mod winstring; +pub mod winsvc; +pub mod winusb; +pub mod winusbio; +pub mod winuser; +pub mod ws2def; +pub mod ws2ipdef; +pub mod ws2spi; +pub mod ws2tcpip; +pub mod wtypes; +pub mod wtypesbase; +pub mod xinput; +//------------------------------------------------------------------------------------------------- +// Primitive types not provided by std +//------------------------------------------------------------------------------------------------- +pub type __int8 = i8; +pub type __uint8 = u8; +pub type __int16 = i16; +pub type __uint16 = u16; +pub type __int32 = i32; +pub type __uint32 = u32; +pub type __int64 = i64; +pub type __uint64 = u64; +pub type wchar_t = c_ushort; +#[cfg(target_arch = "x86")] +pub type size_t = c_uint; +#[cfg(target_arch = "x86_64")] +pub type size_t = __uint64; diff --git a/third_party/rust/winapi-0.2.8/src/libloaderapi.rs b/third_party/rust/winapi-0.2.8/src/libloaderapi.rs new file mode 100644 index 0000000000..9b47b0af88 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/libloaderapi.rs @@ -0,0 +1,23 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! ApiSet Contract for api-ms-win-core-libraryloader-l1 +pub type DLL_DIRECTORY_COOKIE = ::PVOID; +pub type PDLL_DIRECTORY_COOKIE = *mut ::PVOID; +pub type ENUMRESLANGPROCA = Option<unsafe extern "system" fn( + hModule: ::HMODULE, lpType: ::LPCSTR, lpName: ::LPCSTR, wLanguage: ::WORD, lParam: ::LONG_PTR, +) -> ::BOOL>; +pub type ENUMRESLANGPROCW = Option<unsafe extern "system" fn( + hModule: ::HMODULE, lpType: ::LPCWSTR, lpName: ::LPCWSTR, wLanguage: ::WORD, lParam: ::LONG_PTR, +) -> ::BOOL>; +pub type ENUMRESNAMEPROCA = Option<unsafe extern "system" fn( + hModule: ::HMODULE, lpType: ::LPCSTR, lpName: ::LPSTR, lParam: ::LONG_PTR, +) -> ::BOOL>; +pub type ENUMRESNAMEPROCW = Option<unsafe extern "system" fn( + hModule: ::HMODULE, lpType: ::LPCWSTR, lpName: ::LPWSTR, lParam: ::LONG_PTR, +) -> ::BOOL>; +pub type ENUMRESTYPEPROCA = Option<unsafe extern "system" fn( + hModule: ::HMODULE, lpType: ::LPSTR, lParam: ::LONG_PTR, +) -> ::BOOL>; +pub type ENUMRESTYPEPROCW = Option<unsafe extern "system" fn( + hModule: ::HMODULE, lpType: ::LPWSTR, lParam: ::LONG_PTR, +) -> ::BOOL>; diff --git a/third_party/rust/winapi-0.2.8/src/lmaccess.rs b/third_party/rust/winapi-0.2.8/src/lmaccess.rs new file mode 100644 index 0000000000..2768f8c32e --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/lmaccess.rs @@ -0,0 +1,853 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +// This file contains structures, function prototypes, and definitions +// for the NetUser, NetUserModals, NetGroup, NetAccess, and NetLogon API. +STRUCT!{struct USER_INFO_0 { + usri0_name: ::LPWSTR, +}} +pub type PUSER_INFO_0 = *mut USER_INFO_0; +pub type LPUSER_INFO_0 = *mut USER_INFO_0; +STRUCT!{struct USER_INFO_1 { + usri1_name: ::LPWSTR, + usri1_password: ::LPWSTR, + usri1_password_age: ::DWORD, + usri1_priv: ::DWORD, + usri1_home_dir: ::LPWSTR, + usri1_comment: ::LPWSTR, + usri1_flags: ::DWORD, + usri1_script_path: ::LPWSTR, +}} +pub type PUSER_INFO_1 = *mut USER_INFO_1; +pub type LPUSER_INFO_1 = *mut USER_INFO_1; +STRUCT!{struct USER_INFO_2 { + usri2_name: ::LPWSTR, + usri2_password: ::LPWSTR, + usri2_password_age: ::DWORD, + usri2_priv: ::DWORD, + usri2_home_dir: ::LPWSTR, + usri2_comment: ::LPWSTR, + usri2_flags: ::DWORD, + usri2_script_path: ::LPWSTR, + usri2_auth_flags: ::DWORD, + usri2_full_name: ::LPWSTR, + usri2_usr_comment: ::LPWSTR, + usri2_parms: ::LPWSTR, + usri2_workstations: ::LPWSTR, + usri2_last_logon: ::DWORD, + usri2_last_logoff: ::DWORD, + usri2_acct_expires: ::DWORD, + usri2_max_storage: ::DWORD, + usri2_units_per_week: ::DWORD, + usri2_logon_hours: ::PBYTE, + usri2_bad_pw_count: ::DWORD, + usri2_num_logons: ::DWORD, + usri2_logon_server: ::LPWSTR, + usri2_country_code: ::DWORD, + usri2_code_page: ::DWORD, +}} +pub type PUSER_INFO_2 = *mut USER_INFO_2; +pub type LPUSER_INFO_2 = *mut USER_INFO_2; +STRUCT!{struct USER_INFO_3 { + usri3_name: ::LPWSTR, + usri3_password: ::LPWSTR, + usri3_password_age: ::DWORD, + usri3_priv: ::DWORD, + usri3_home_dir: ::LPWSTR, + usri3_comment: ::LPWSTR, + usri3_flags: ::DWORD, + usri3_script_path: ::LPWSTR, + usri3_auth_flags: ::DWORD, + usri3_full_name: ::LPWSTR, + usri3_usr_comment: ::LPWSTR, + usri3_parms: ::LPWSTR, + usri3_workstations: ::LPWSTR, + usri3_last_logon: ::DWORD, + usri3_last_logoff: ::DWORD, + usri3_acct_expires: ::DWORD, + usri3_max_storage: ::DWORD, + usri3_units_per_week: ::DWORD, + usri3_logon_hours: ::PBYTE, + usri3_bad_pw_count: ::DWORD, + usri3_num_logons: ::DWORD, + usri3_logon_server: ::LPWSTR, + usri3_country_code: ::DWORD, + usri3_code_page: ::DWORD, + usri3_user_id: ::DWORD, + usri3_primary_group_id: ::DWORD, + usri3_profile: ::LPWSTR, + usri3_home_dir_drive: ::LPWSTR, + usri3_password_expired: ::DWORD, +}} +pub type PUSER_INFO_3 = *mut USER_INFO_3; +pub type LPUSER_INFO_3 = *mut USER_INFO_3; +STRUCT!{struct USER_INFO_4 { + usri4_name: ::LPWSTR, + usri4_password: ::LPWSTR, + usri4_password_age: ::DWORD, + usri4_priv: ::DWORD, + usri4_home_dir: ::LPWSTR, + usri4_comment: ::LPWSTR, + usri4_flags: ::DWORD, + usri4_script_path: ::LPWSTR, + usri4_auth_flags: ::DWORD, + usri4_full_name: ::LPWSTR, + usri4_usr_comment: ::LPWSTR, + usri4_parms: ::LPWSTR, + usri4_workstations: ::LPWSTR, + usri4_last_logon: ::DWORD, + usri4_last_logoff: ::DWORD, + usri4_acct_expires: ::DWORD, + usri4_max_storage: ::DWORD, + usri4_units_per_week: ::DWORD, + usri4_logon_hours: ::PBYTE, + usri4_bad_pw_count: ::DWORD, + usri4_num_logons: ::DWORD, + usri4_logon_server: ::LPWSTR, + usri4_country_code: ::DWORD, + usri4_code_page: ::DWORD, + usri4_user_sid: ::PSID, + usri4_primary_group_id: ::DWORD, + usri4_profile: ::LPWSTR, + usri4_home_dir_drive: ::LPWSTR, + usri4_password_expired: ::DWORD, +}} +pub type PUSER_INFO_4 = *mut USER_INFO_4; +pub type LPUSER_INFO_4 = *mut USER_INFO_4; +STRUCT!{struct USER_INFO_10 { + usri10_name: ::LPWSTR, + usri10_comment: ::LPWSTR, + usri10_usr_comment: ::LPWSTR, + usri10_full_name: ::LPWSTR, +}} +pub type PUSER_INFO_10 = *mut USER_INFO_10; +pub type LPUSER_INFO_10 = *mut USER_INFO_10; +STRUCT!{struct USER_INFO_11 { + usri11_name: ::LPWSTR, + usri11_comment: ::LPWSTR, + usri11_usr_comment: ::LPWSTR, + usri11_full_name: ::LPWSTR, + usri11_priv: ::DWORD, + usri11_auth_flags: ::DWORD, + usri11_password_age: ::DWORD, + usri11_home_dir: ::LPWSTR, + usri11_parms: ::LPWSTR, + usri11_last_logon: ::DWORD, + usri11_last_logoff: ::DWORD, + usri11_bad_pw_count: ::DWORD, + usri11_num_logons: ::DWORD, + usri11_logon_server: ::LPWSTR, + usri11_country_code: ::DWORD, + usri11_workstations: ::LPWSTR, + usri11_max_storage: ::DWORD, + usri11_units_per_week: ::DWORD, + usri11_logon_hours: ::PBYTE, + usri11_code_page: ::DWORD, +}} +pub type PUSER_INFO_11 = *mut USER_INFO_11; +pub type LPUSER_INFO_11 = *mut USER_INFO_11; +STRUCT!{struct USER_INFO_20 { + usri20_name: ::LPWSTR, + usri20_full_name: ::LPWSTR, + usri20_comment: ::LPWSTR, + usri20_flags: ::DWORD, + usri20_user_id: ::DWORD, +}} +pub type PUSER_INFO_20 = *mut USER_INFO_20; +pub type LPUSER_INFO_20 = *mut USER_INFO_20; +STRUCT!{struct USER_INFO_21 { + usri21_password: [::BYTE; ::ENCRYPTED_PWLEN], +}} +pub type PUSER_INFO_21 = *mut USER_INFO_21; +pub type LPUSER_INFO_21 = *mut USER_INFO_21; +STRUCT!{struct USER_INFO_22 { + usri22_name: ::LPWSTR, + usri22_password: [::BYTE; ::ENCRYPTED_PWLEN], + usri22_password_age: ::DWORD, + usri22_priv: ::DWORD, + usri22_home_dir: ::LPWSTR, + usri22_comment: ::LPWSTR, + usri22_flags: ::DWORD, + usri22_script_path: ::LPWSTR, + usri22_auth_flags: ::DWORD, + usri22_full_name: ::LPWSTR, + usri22_usr_comment: ::LPWSTR, + usri22_parms: ::LPWSTR, + usri22_workstations: ::LPWSTR, + usri22_last_logon: ::DWORD, + usri22_last_logoff: ::DWORD, + usri22_acct_expires: ::DWORD, + usri22_max_storage: ::DWORD, + usri22_units_per_week: ::DWORD, + usri22_logon_hours: ::PBYTE, + usri22_bad_pw_count: ::DWORD, + usri22_num_logons: ::DWORD, + usri22_logon_server: ::LPWSTR, + usri22_country_code: ::DWORD, + usri22_code_page: ::DWORD, +}} +pub type PUSER_INFO_22 = *mut USER_INFO_22; +pub type LPUSER_INFO_22 = *mut USER_INFO_22; +STRUCT!{struct USER_INFO_23 { + usri23_name: ::LPWSTR, + usri23_full_name: ::LPWSTR, + usri23_comment: ::LPWSTR, + usri23_flags: ::DWORD, + usri23_user_sid: ::PSID, +}} +pub type PUSER_INFO_23 = *mut USER_INFO_23; +pub type LPUSER_INFO_23 = *mut USER_INFO_23; +STRUCT!{struct USER_INFO_24 { + usri24_internet_identity: ::BOOL, + usri24_flags: ::DWORD, + usri24_internet_provider_name: ::LPWSTR, + usri24_internet_principal_name: ::LPWSTR, + usri24_user_sid: ::PSID, +}} +pub type PUSER_INFO_24 = *mut USER_INFO_24; +pub type LPUSER_INFO_24 = *mut USER_INFO_24; +STRUCT!{struct USER_INFO_1003 { + usri1003_password: ::LPWSTR, +}} +pub type PUSER_INFO_1003 = *mut USER_INFO_1003; +pub type LPUSER_INFO_1003 = *mut USER_INFO_1003; +STRUCT!{struct USER_INFO_1005 { + usri1005_priv: ::DWORD, +}} +pub type PUSER_INFO_1005 = *mut USER_INFO_1005; +pub type LPUSER_INFO_1005 = *mut USER_INFO_1005; +STRUCT!{struct USER_INFO_1006 { + usri1006_home_dir: ::LPWSTR, +}} +pub type PUSER_INFO_1006 = *mut USER_INFO_1006; +pub type LPUSER_INFO_1006 = *mut USER_INFO_1006; +STRUCT!{struct USER_INFO_1007 { + usri1007_comment: ::LPWSTR, +}} +pub type PUSER_INFO_1007 = *mut USER_INFO_1007; +pub type LPUSER_INFO_1007 = *mut USER_INFO_1007; +STRUCT!{struct USER_INFO_1008 { + usri1008_flags: ::DWORD, +}} +pub type PUSER_INFO_1008 = *mut USER_INFO_1008; +pub type LPUSER_INFO_1008 = *mut USER_INFO_1008; +STRUCT!{struct USER_INFO_1009 { + usri1009_script_path: ::LPWSTR, +}} +pub type PUSER_INFO_1009 = *mut USER_INFO_1009; +pub type LPUSER_INFO_1009 = *mut USER_INFO_1009; +STRUCT!{struct USER_INFO_1010 { + usri1010_auth_flags: ::DWORD, +}} +pub type PUSER_INFO_1010 = *mut USER_INFO_1010; +pub type LPUSER_INFO_1010 = *mut USER_INFO_1010; +STRUCT!{struct USER_INFO_1011 { + usri1011_full_name: ::LPWSTR, +}} +pub type PUSER_INFO_1011 = *mut USER_INFO_1011; +pub type LPUSER_INFO_1011 = *mut USER_INFO_1011; +STRUCT!{struct USER_INFO_1012 { + usri1012_usr_comment: ::LPWSTR, +}} +pub type PUSER_INFO_1012 = *mut USER_INFO_1012; +pub type LPUSER_INFO_1012 = *mut USER_INFO_1012; +STRUCT!{struct USER_INFO_1013 { + usri1013_parms: ::LPWSTR, +}} +pub type PUSER_INFO_1013 = *mut USER_INFO_1013; +pub type LPUSER_INFO_1013 = *mut USER_INFO_1013; +STRUCT!{struct USER_INFO_1014 { + usri1014_workstations: ::LPWSTR, +}} +pub type PUSER_INFO_1014 = *mut USER_INFO_1014; +pub type LPUSER_INFO_1014 = *mut USER_INFO_1014; +STRUCT!{struct USER_INFO_1017 { + usri1017_acct_expires: ::DWORD, +}} +pub type PUSER_INFO_1017 = *mut USER_INFO_1017; +pub type LPUSER_INFO_1017 = *mut USER_INFO_1017; +STRUCT!{struct USER_INFO_1018 { + usri1018_max_storage: ::DWORD, +}} +pub type PUSER_INFO_1018 = *mut USER_INFO_1018; +pub type LPUSER_INFO_1018 = *mut USER_INFO_1018; +STRUCT!{struct USER_INFO_1020 { + usri1020_units_per_week: ::DWORD, + usri1020_logon_hours: ::LPBYTE, +}} +pub type PUSER_INFO_1020 = *mut USER_INFO_1020; +pub type LPUSER_INFO_1020 = *mut USER_INFO_1020; +STRUCT!{struct USER_INFO_1023 { + usri1023_logon_server: ::LPWSTR, +}} +pub type PUSER_INFO_1023 = *mut USER_INFO_1023; +pub type LPUSER_INFO_1023 = *mut USER_INFO_1023; +STRUCT!{struct USER_INFO_1024 { + usri1024_country_code: ::DWORD, +}} +pub type PUSER_INFO_1024 = *mut USER_INFO_1024; +pub type LPUSER_INFO_1024 = *mut USER_INFO_1024; +STRUCT!{struct USER_INFO_1025 { + usri1025_code_page: ::DWORD, +}} +pub type PUSER_INFO_1025 = *mut USER_INFO_1025; +pub type LPUSER_INFO_1025 = *mut USER_INFO_1025; +STRUCT!{struct USER_INFO_1051 { + usri1051_primary_group_id: ::DWORD, +}} +pub type PUSER_INFO_1051 = *mut USER_INFO_1051; +pub type LPUSER_INFO_1051 = *mut USER_INFO_1051; +STRUCT!{struct USER_INFO_1052 { + usri1052_profile: ::LPWSTR, +}} +pub type PUSER_INFO_1052 = *mut USER_INFO_1052; +pub type LPUSER_INFO_1052 = *mut USER_INFO_1052; +STRUCT!{struct USER_INFO_1053 { + usri1053_home_dir_drive: ::LPWSTR, +}} +pub type PUSER_INFO_1053 = *mut USER_INFO_1053; +pub type LPUSER_INFO_1053 = *mut USER_INFO_1053; +STRUCT!{struct USER_MODALS_INFO_0 { + usrmod0_min_passwd_len: ::DWORD, + usrmod0_max_passwd_age: ::DWORD, + usrmod0_min_passwd_age: ::DWORD, + usrmod0_force_logoff: ::DWORD, + usrmod0_password_hist_len: ::DWORD, +}} +pub type PUSER_MODALS_INFO_0 = *mut USER_MODALS_INFO_0; +pub type LPUSER_MODALS_INFO_0 = *mut USER_MODALS_INFO_0; +STRUCT!{struct USER_MODALS_INFO_1 { + usrmod1_role: ::DWORD, + usrmod1_primary: ::LPWSTR, +}} +pub type PUSER_MODALS_INFO_1 = *mut USER_MODALS_INFO_1; +pub type LPUSER_MODALS_INFO_1 = *mut USER_MODALS_INFO_1; +STRUCT!{struct USER_MODALS_INFO_2 { + usrmod2_domain_name: ::LPWSTR, + usrmod2_domain_id: ::PSID, +}} +pub type PUSER_MODALS_INFO_2 = *mut USER_MODALS_INFO_2; +pub type LPUSER_MODALS_INFO_2 = *mut USER_MODALS_INFO_2; +STRUCT!{struct USER_MODALS_INFO_3 { + usrmod3_lockout_duration: ::DWORD, + usrmod3_lockout_observation_window: ::DWORD, + usrmod3_lockout_threshold: ::DWORD, +}} +pub type PUSER_MODALS_INFO_3 = *mut USER_MODALS_INFO_3; +pub type LPUSER_MODALS_INFO_3 = *mut USER_MODALS_INFO_3; +STRUCT!{struct USER_MODALS_INFO_1001 { + usrmod1001_min_passwd_len: ::DWORD, +}} +pub type PUSER_MODALS_INFO_1001 = *mut USER_MODALS_INFO_1001; +pub type LPUSER_MODALS_INFO_1001 = *mut USER_MODALS_INFO_1001; +STRUCT!{struct USER_MODALS_INFO_1002 { + usrmod1002_max_passwd_age: ::DWORD, +}} +pub type PUSER_MODALS_INFO_1002 = *mut USER_MODALS_INFO_1002; +pub type LPUSER_MODALS_INFO_1002 = *mut USER_MODALS_INFO_1002; +STRUCT!{struct USER_MODALS_INFO_1003 { + usrmod1003_min_passwd_age: ::DWORD, +}} +pub type PUSER_MODALS_INFO_1003 = *mut USER_MODALS_INFO_1003; +pub type LPUSER_MODALS_INFO_1003 = *mut USER_MODALS_INFO_1003; +STRUCT!{struct USER_MODALS_INFO_1004 { + usrmod1004_force_logoff: ::DWORD, +}} +pub type PUSER_MODALS_INFO_1004 = *mut USER_MODALS_INFO_1004; +pub type LPUSER_MODALS_INFO_1004 = *mut USER_MODALS_INFO_1004; +STRUCT!{struct USER_MODALS_INFO_1005 { + usrmod1005_password_hist_len: ::DWORD, +}} +pub type PUSER_MODALS_INFO_1005 = *mut USER_MODALS_INFO_1005; +pub type LPUSER_MODALS_INFO_1005 = *mut USER_MODALS_INFO_1005; +STRUCT!{struct USER_MODALS_INFO_1006 { + usrmod1006_role: ::DWORD, +}} +pub type PUSER_MODALS_INFO_1006 = *mut USER_MODALS_INFO_1006; +pub type LPUSER_MODALS_INFO_1006 = *mut USER_MODALS_INFO_1006; +STRUCT!{struct USER_MODALS_INFO_1007 { + usrmod1007_primary: ::LPWSTR, +}} +pub type PUSER_MODALS_INFO_1007 = *mut USER_MODALS_INFO_1007; +pub type LPUSER_MODALS_INFO_1007 = *mut USER_MODALS_INFO_1007; +pub const UF_SCRIPT: ::DWORD = 0x0001; +pub const UF_ACCOUNTDISABLE: ::DWORD = 0x0002; +pub const UF_HOMEDIR_REQUIRED: ::DWORD = 0x0008; +pub const UF_LOCKOUT: ::DWORD = 0x0010; +pub const UF_PASSWD_NOTREQD: ::DWORD = 0x0020; +pub const UF_PASSWD_CANT_CHANGE: ::DWORD = 0x0040; +pub const UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED: ::DWORD = 0x0080; +pub const UF_TEMP_DUPLICATE_ACCOUNT: ::DWORD = 0x0100; +pub const UF_NORMAL_ACCOUNT: ::DWORD = 0x0200; +pub const UF_INTERDOMAIN_TRUST_ACCOUNT: ::DWORD = 0x0800; +pub const UF_WORKSTATION_TRUST_ACCOUNT: ::DWORD = 0x1000; +pub const UF_SERVER_TRUST_ACCOUNT: ::DWORD = 0x2000; +pub const UF_MACHINE_ACCOUNT_MASK: ::DWORD = UF_INTERDOMAIN_TRUST_ACCOUNT + | UF_WORKSTATION_TRUST_ACCOUNT | UF_SERVER_TRUST_ACCOUNT; +pub const UF_ACCOUNT_TYPE_MASK: ::DWORD = UF_TEMP_DUPLICATE_ACCOUNT | UF_NORMAL_ACCOUNT + | UF_INTERDOMAIN_TRUST_ACCOUNT | UF_WORKSTATION_TRUST_ACCOUNT | UF_SERVER_TRUST_ACCOUNT; +pub const UF_DONT_EXPIRE_PASSWD: ::DWORD = 0x10000; +pub const UF_MNS_LOGON_ACCOUNT: ::DWORD = 0x20000; +pub const UF_SMARTCARD_REQUIRED: ::DWORD = 0x40000; +pub const UF_TRUSTED_FOR_DELEGATION: ::DWORD = 0x80000; +pub const UF_NOT_DELEGATED: ::DWORD = 0x100000; +pub const UF_USE_DES_KEY_ONLY: ::DWORD = 0x200000; +pub const UF_DONT_REQUIRE_PREAUTH: ::DWORD = 0x400000; +pub const UF_PASSWORD_EXPIRED: ::DWORD = 0x800000; +pub const UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION: ::DWORD = 0x1000000; +pub const UF_NO_AUTH_DATA_REQUIRED: ::DWORD = 0x2000000; +pub const UF_PARTIAL_SECRETS_ACCOUNT: ::DWORD = 0x4000000; +pub const UF_USE_AES_KEYS: ::DWORD = 0x8000000; +pub const UF_SETTABLE_BITS: ::DWORD = UF_SCRIPT | UF_ACCOUNTDISABLE | UF_LOCKOUT + | UF_HOMEDIR_REQUIRED | UF_PASSWD_NOTREQD | UF_PASSWD_CANT_CHANGE | UF_ACCOUNT_TYPE_MASK + | UF_DONT_EXPIRE_PASSWD | UF_MNS_LOGON_ACCOUNT | UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED + | UF_SMARTCARD_REQUIRED | UF_TRUSTED_FOR_DELEGATION | UF_NOT_DELEGATED | UF_USE_DES_KEY_ONLY + | UF_DONT_REQUIRE_PREAUTH | UF_PASSWORD_EXPIRED | UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION + | UF_NO_AUTH_DATA_REQUIRED | UF_USE_AES_KEYS | UF_PARTIAL_SECRETS_ACCOUNT; +pub const FILTER_TEMP_DUPLICATE_ACCOUNT: ::DWORD = 0x0001; +pub const FILTER_NORMAL_ACCOUNT: ::DWORD = 0x0002; +pub const FILTER_INTERDOMAIN_TRUST_ACCOUNT: ::DWORD = 0x0008; +pub const FILTER_WORKSTATION_TRUST_ACCOUNT: ::DWORD = 0x0010; +pub const FILTER_SERVER_TRUST_ACCOUNT: ::DWORD = 0x0020; +pub const LG_INCLUDE_INDIRECT: ::DWORD = 0x0001; +pub const AF_OP_PRINT: ::DWORD = 0x1; +pub const AF_OP_COMM: ::DWORD = 0x2; +pub const AF_OP_SERVER: ::DWORD = 0x4; +pub const AF_OP_ACCOUNTS: ::DWORD = 0x8; +pub const AF_SETTABLE_BITS: ::DWORD = AF_OP_PRINT | AF_OP_COMM | AF_OP_SERVER | AF_OP_ACCOUNTS; +pub const UAS_ROLE_STANDALONE: ::DWORD = 0; +pub const UAS_ROLE_MEMBER: ::DWORD = 1; +pub const UAS_ROLE_BACKUP: ::DWORD = 2; +pub const UAS_ROLE_PRIMARY: ::DWORD = 3; +pub const USER_NAME_PARMNUM: ::DWORD = 1; +pub const USER_PASSWORD_PARMNUM: ::DWORD = 3; +pub const USER_PASSWORD_AGE_PARMNUM: ::DWORD = 4; +pub const USER_PRIV_PARMNUM: ::DWORD = 5; +pub const USER_HOME_DIR_PARMNUM: ::DWORD = 6; +pub const USER_COMMENT_PARMNUM: ::DWORD = 7; +pub const USER_FLAGS_PARMNUM: ::DWORD = 8; +pub const USER_SCRIPT_PATH_PARMNUM: ::DWORD = 9; +pub const USER_AUTH_FLAGS_PARMNUM: ::DWORD = 10; +pub const USER_FULL_NAME_PARMNUM: ::DWORD = 11; +pub const USER_USR_COMMENT_PARMNUM: ::DWORD = 12; +pub const USER_PARMS_PARMNUM: ::DWORD = 13; +pub const USER_WORKSTATIONS_PARMNUM: ::DWORD = 14; +pub const USER_LAST_LOGON_PARMNUM: ::DWORD = 15; +pub const USER_LAST_LOGOFF_PARMNUM: ::DWORD = 16; +pub const USER_ACCT_EXPIRES_PARMNUM: ::DWORD = 17; +pub const USER_MAX_STORAGE_PARMNUM: ::DWORD = 18; +pub const USER_UNITS_PER_WEEK_PARMNUM: ::DWORD = 19; +pub const USER_LOGON_HOURS_PARMNUM: ::DWORD = 20; +pub const USER_PAD_PW_COUNT_PARMNUM: ::DWORD = 21; +pub const USER_NUM_LOGONS_PARMNUM: ::DWORD = 22; +pub const USER_LOGON_SERVER_PARMNUM: ::DWORD = 23; +pub const USER_COUNTRY_CODE_PARMNUM: ::DWORD = 24; +pub const USER_CODE_PAGE_PARMNUM: ::DWORD = 25; +pub const USER_PRIMARY_GROUP_PARMNUM: ::DWORD = 51; +pub const USER_PROFILE: ::DWORD = 52; +pub const USER_PROFILE_PARMNUM: ::DWORD = 52; +pub const USER_HOME_DIR_DRIVE_PARMNUM: ::DWORD = 53; +pub const USER_NAME_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_NAME_PARMNUM; +pub const USER_PASSWORD_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_PASSWORD_PARMNUM; +pub const USER_PASSWORD_AGE_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_PASSWORD_AGE_PARMNUM; +pub const USER_PRIV_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_PRIV_PARMNUM; +pub const USER_HOME_DIR_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_HOME_DIR_PARMNUM; +pub const USER_COMMENT_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_COMMENT_PARMNUM; +pub const USER_FLAGS_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_FLAGS_PARMNUM; +pub const USER_SCRIPT_PATH_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_SCRIPT_PATH_PARMNUM; +pub const USER_AUTH_FLAGS_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_AUTH_FLAGS_PARMNUM; +pub const USER_FULL_NAME_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_FULL_NAME_PARMNUM; +pub const USER_USR_COMMENT_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_USR_COMMENT_PARMNUM; +pub const USER_PARMS_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_PARMS_PARMNUM; +pub const USER_WORKSTATIONS_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_WORKSTATIONS_PARMNUM; +pub const USER_LAST_LOGON_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_LAST_LOGON_PARMNUM; +pub const USER_LAST_LOGOFF_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_LAST_LOGOFF_PARMNUM; +pub const USER_ACCT_EXPIRES_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_ACCT_EXPIRES_PARMNUM; +pub const USER_MAX_STORAGE_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_MAX_STORAGE_PARMNUM; +pub const USER_UNITS_PER_WEEK_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_UNITS_PER_WEEK_PARMNUM; +pub const USER_LOGON_HOURS_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_LOGON_HOURS_PARMNUM; +pub const USER_PAD_PW_COUNT_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_PAD_PW_COUNT_PARMNUM; +pub const USER_NUM_LOGONS_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_NUM_LOGONS_PARMNUM; +pub const USER_LOGON_SERVER_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_LOGON_SERVER_PARMNUM; +pub const USER_COUNTRY_CODE_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_COUNTRY_CODE_PARMNUM; +pub const USER_CODE_PAGE_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + USER_CODE_PAGE_PARMNUM; +pub const USER_PRIMARY_GROUP_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_PRIMARY_GROUP_PARMNUM; +pub const USER_HOME_DIR_DRIVE_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + USER_HOME_DIR_DRIVE_PARMNUM; +pub const TIMEQ_FOREVER: ::DWORD = -1i32 as ::DWORD; +pub const USER_MAXSTORAGE_UNLIMITED: ::DWORD = -1i32 as ::DWORD; +pub const USER_NO_LOGOFF: ::DWORD = -1i32 as ::DWORD; +pub const UNITS_PER_DAY: ::DWORD = 24; +pub const UNITS_PER_WEEK: ::DWORD = UNITS_PER_DAY * 7; +pub const USER_PRIV_MASK: ::DWORD = 0x3; +pub const USER_PRIV_GUEST: ::DWORD = 0; +pub const USER_PRIV_USER: ::DWORD = 1; +pub const USER_PRIV_ADMIN: ::DWORD = 2; +pub const MAX_PASSWD_LEN: ::DWORD = ::PWLEN; +pub const DEF_MIN_PWLEN: ::DWORD = 6; +pub const DEF_PWUNIQUENESS: ::DWORD = 5; +pub const DEF_MAX_PWHIST: ::DWORD = 8; +pub const DEF_MAX_PWAGE: ::DWORD = TIMEQ_FOREVER; +pub const DEF_MIN_PWAGE: ::DWORD = 0; +pub const DEF_FORCE_LOGOFF: ::DWORD = 0xffffffff; +pub const DEF_MAX_BADPW: ::DWORD = 0; +pub const ONE_DAY: ::DWORD = 1 * 24 * 3600; +pub const VALIDATED_LOGON: ::DWORD = 0; +pub const PASSWORD_EXPIRED: ::DWORD = 2; +pub const NON_VALIDATED_LOGON: ::DWORD = 3; +pub const VALID_LOGOFF: ::DWORD = 1; +pub const MODALS_MIN_PASSWD_LEN_PARMNUM: ::DWORD = 1; +pub const MODALS_MAX_PASSWD_AGE_PARMNUM: ::DWORD = 2; +pub const MODALS_MIN_PASSWD_AGE_PARMNUM: ::DWORD = 3; +pub const MODALS_FORCE_LOGOFF_PARMNUM: ::DWORD = 4; +pub const MODALS_PASSWD_HIST_LEN_PARMNUM: ::DWORD = 5; +pub const MODALS_ROLE_PARMNUM: ::DWORD = 6; +pub const MODALS_PRIMARY_PARMNUM: ::DWORD = 7; +pub const MODALS_DOMAIN_NAME_PARMNUM: ::DWORD = 8; +pub const MODALS_DOMAIN_ID_PARMNUM: ::DWORD = 9; +pub const MODALS_LOCKOUT_DURATION_PARMNUM: ::DWORD = 10; +pub const MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM: ::DWORD = 11; +pub const MODALS_LOCKOUT_THRESHOLD_PARMNUM: ::DWORD = 12; +pub const MODALS_MIN_PASSWD_LEN_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + MODALS_MIN_PASSWD_LEN_PARMNUM; +pub const MODALS_MAX_PASSWD_AGE_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + MODALS_MAX_PASSWD_AGE_PARMNUM; +pub const MODALS_MIN_PASSWD_AGE_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + MODALS_MIN_PASSWD_AGE_PARMNUM; +pub const MODALS_FORCE_LOGOFF_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + MODALS_FORCE_LOGOFF_PARMNUM; +pub const MODALS_PASSWD_HIST_LEN_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + MODALS_PASSWD_HIST_LEN_PARMNUM; +pub const MODALS_ROLE_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + MODALS_ROLE_PARMNUM; +pub const MODALS_PRIMARY_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + MODALS_PRIMARY_PARMNUM; +pub const MODALS_DOMAIN_NAME_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + MODALS_DOMAIN_NAME_PARMNUM; +pub const MODALS_DOMAIN_ID_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + MODALS_DOMAIN_ID_PARMNUM; +STRUCT!{struct GROUP_INFO_0 { + grpi0_name: ::LPWSTR, +}} +pub type PGROUP_INFO_0 = *mut GROUP_INFO_0; +pub type LPGROUP_INFO_0 = *mut GROUP_INFO_0; +STRUCT!{struct GROUP_INFO_1 { + grpi1_name: ::LPWSTR, + grpi1_comment: ::LPWSTR, +}} +pub type PGROUP_INFO_1 = *mut GROUP_INFO_1; +pub type LPGROUP_INFO_1 = *mut GROUP_INFO_1; +STRUCT!{struct GROUP_INFO_2 { + grpi2_name: ::LPWSTR, + grpi2_comment: ::LPWSTR, + grpi2_group_id: ::DWORD, + grpi2_attributes: ::DWORD, +}} +pub type PGROUP_INFO_2 = *mut GROUP_INFO_2; +STRUCT!{struct GROUP_INFO_3 { + grpi3_name: ::LPWSTR, + grpi3_comment: ::LPWSTR, + grpi3_group_sid: ::PSID, + grpi3_attributes: ::DWORD, +}} +pub type PGROUP_INFO_3 = *mut GROUP_INFO_3; +STRUCT!{struct GROUP_INFO_1002 { + grpi1002_comment: ::LPWSTR, +}} +pub type PGROUP_INFO_1002 = *mut GROUP_INFO_1002; +pub type LPGROUP_INFO_1002 = *mut GROUP_INFO_1002; +STRUCT!{struct GROUP_INFO_1005 { + grpi1005_attributes: ::DWORD, +}} +pub type PGROUP_INFO_1005 = *mut GROUP_INFO_1005; +pub type LPGROUP_INFO_1005 = *mut GROUP_INFO_1005; +STRUCT!{struct GROUP_USERS_INFO_0 { + grui0_name: ::LPWSTR, +}} +pub type PGROUP_USERS_INFO_0 = *mut GROUP_USERS_INFO_0; +pub type LPGROUP_USERS_INFO_0 = *mut GROUP_USERS_INFO_0; +STRUCT!{struct GROUP_USERS_INFO_1 { + grui1_name: ::LPWSTR, + grui1_attributes: ::DWORD, +}} +pub type PGROUP_USERS_INFO_1 = *mut GROUP_USERS_INFO_1; +pub type LPGROUP_USERS_INFO_1 = *mut GROUP_USERS_INFO_1; +pub const GROUPIDMASK: ::DWORD = 0x8000; +pub const GROUP_SPECIALGRP_USERS: &'static str = "USERS"; +pub const GROUP_SPECIALGRP_ADMINS: &'static str = "ADMINS"; +pub const GROUP_SPECIALGRP_GUESTS: &'static str = "GUESTS"; +pub const GROUP_SPECIALGRP_LOCAL: &'static str = "LOCAL"; +pub const GROUP_ALL_PARMNUM: ::DWORD = 0; +pub const GROUP_NAME_PARMNUM: ::DWORD = 1; +pub const GROUP_COMMENT_PARMNUM: ::DWORD = 2; +pub const GROUP_ATTRIBUTES_PARMNUM: ::DWORD = 3; +pub const GROUP_ALL_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + GROUP_ALL_PARMNUM; +pub const GROUP_NAME_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + GROUP_NAME_PARMNUM; +pub const GROUP_COMMENT_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + GROUP_COMMENT_PARMNUM; +pub const GROUP_ATTRIBUTES_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + GROUP_ATTRIBUTES_PARMNUM; +STRUCT!{struct LOCALGROUP_INFO_0 { + lgrpi0_name: ::LPWSTR, +}} +pub type PLOCALGROUP_INFO_0 = *mut LOCALGROUP_INFO_0; +pub type LPLOCALGROUP_INFO_0 = *mut LOCALGROUP_INFO_0; +STRUCT!{struct LOCALGROUP_INFO_1 { + lgrpi1_name: ::LPWSTR, + lgrpi1_comment: ::LPWSTR, +}} +pub type PLOCALGROUP_INFO_1 = *mut LOCALGROUP_INFO_1; +pub type LPLOCALGROUP_INFO_1 = *mut LOCALGROUP_INFO_1; +STRUCT!{struct LOCALGROUP_INFO_1002 { + lgrpi1002_comment: ::LPWSTR, +}} +pub type PLOCALGROUP_INFO_1002 = *mut LOCALGROUP_INFO_1002; +pub type LPLOCALGROUP_INFO_1002 = *mut LOCALGROUP_INFO_1002; +STRUCT!{struct LOCALGROUP_MEMBERS_INFO_0 { + lgrmi0_sid: ::PSID, +}} +pub type PLOCALGROUP_MEMBERS_INFO_0 = *mut LOCALGROUP_MEMBERS_INFO_0; +pub type LPLOCALGROUP_MEMBERS_INFO_0 = *mut LOCALGROUP_MEMBERS_INFO_0; +STRUCT!{struct LOCALGROUP_MEMBERS_INFO_1 { + lgrmi1_sid: ::PSID, + lgrmi1_sidusage: ::SID_NAME_USE, + lgrmi1_name: ::LPWSTR, +}} +pub type PLOCALGROUP_MEMBERS_INFO_1 = *mut LOCALGROUP_MEMBERS_INFO_1; +pub type LPLOCALGROUP_MEMBERS_INFO_1 = *mut LOCALGROUP_MEMBERS_INFO_1; +STRUCT!{struct LOCALGROUP_MEMBERS_INFO_2 { + lgrmi2_sid: ::PSID, + lgrmi2_sidusage: ::SID_NAME_USE, + lgrmi2_domainandname: ::LPWSTR, +}} +pub type PLOCALGROUP_MEMBERS_INFO_2 = *mut LOCALGROUP_MEMBERS_INFO_2; +pub type LPLOCALGROUP_MEMBERS_INFO_2 = *mut LOCALGROUP_MEMBERS_INFO_2; +STRUCT!{struct LOCALGROUP_MEMBERS_INFO_3 { + lgrmi3_domainandname: ::LPWSTR, +}} +pub type PLOCALGROUP_MEMBERS_INFO_3 = *mut LOCALGROUP_MEMBERS_INFO_3; +pub type LPLOCALGROUP_MEMBERS_INFO_3 = *mut LOCALGROUP_MEMBERS_INFO_3; +STRUCT!{struct LOCALGROUP_USERS_INFO_0 { + lgrui0_name: ::LPWSTR, +}} +pub type PLOCALGROUP_USERS_INFO_0 = *mut LOCALGROUP_USERS_INFO_0; +pub type LPLOCALGROUP_USERS_INFO_0 = *mut LOCALGROUP_USERS_INFO_0; +pub const LOCALGROUP_NAME_PARMNUM: ::DWORD = 1; +pub const LOCALGROUP_COMMENT_PARMNUM: ::DWORD = 2; +STRUCT!{struct NET_DISPLAY_USER { + usri1_name: ::LPWSTR, + usri1_comment: ::LPWSTR, + usri1_flags: ::DWORD, + usri1_full_name: ::LPWSTR, + usri1_user_id: ::DWORD, + usri1_next_index: ::DWORD, +}} +pub type PNET_DISPLAY_USER = *mut NET_DISPLAY_USER; +STRUCT!{struct NET_DISPLAY_MACHINE { + usri2_name: ::LPWSTR, + usri2_comment: ::LPWSTR, + usri2_flags: ::DWORD, + usri2_user_id: ::DWORD, + usri2_next_index: ::DWORD, +}} +pub type PNET_DISPLAY_MACHINE = *mut NET_DISPLAY_MACHINE; +STRUCT!{struct NET_DISPLAY_GROUP { + usri3_name: ::LPWSTR, + usri3_comment: ::LPWSTR, + grpi3_group_id: ::DWORD, + grpi3_attributes: ::DWORD, + grpi3_next_index: ::DWORD, +}} +pub type PNET_DISPLAY_GROUP = *mut NET_DISPLAY_GROUP; +STRUCT!{struct ACCESS_INFO_0 { + acc0_resource_name: ::LPWSTR, +}} +pub type PACCESS_INFO_0 = *mut ACCESS_INFO_0; +pub type LPACCESS_INFO_0 = *mut ACCESS_INFO_0; +STRUCT!{struct ACCESS_INFO_1 { + acc1_resource_name: ::LPWSTR, + acc1_attr: ::DWORD, + acc1_count: ::DWORD, +}} +pub type PACCESS_INFO_1 = *mut ACCESS_INFO_1; +pub type LPACCESS_INFO_1 = *mut ACCESS_INFO_1; +STRUCT!{struct ACCESS_INFO_1002 { + acc1002_attr: ::DWORD, +}} +pub type PACCESS_INFO_1002 = *mut ACCESS_INFO_1002; +pub type LPACCESS_INFO_1002 = *mut ACCESS_INFO_1002; +STRUCT!{struct ACCESS_LIST { + acl_ugname: ::LPWSTR, + acl_access: ::DWORD, +}} +pub type PACCESS_LIST = *mut ACCESS_LIST; +pub type LPACCESS_LIST = *mut ACCESS_LIST; +pub const ACCESS_NONE: ::DWORD = 0; +pub const ACCESS_ALL: ::DWORD = ACCESS_READ | ACCESS_WRITE | ACCESS_CREATE | ACCESS_EXEC + | ACCESS_DELETE | ACCESS_ATRIB | ACCESS_PERM; +pub const ACCESS_READ: ::DWORD = 0x01; +pub const ACCESS_WRITE: ::DWORD = 0x02; +pub const ACCESS_CREATE: ::DWORD = 0x04; +pub const ACCESS_EXEC: ::DWORD = 0x08; +pub const ACCESS_DELETE: ::DWORD = 0x10; +pub const ACCESS_ATRIB: ::DWORD = 0x20; +pub const ACCESS_PERM: ::DWORD = 0x40; +pub const ACCESS_GROUP: ::DWORD = 0x8000; +pub const ACCESS_AUDIT: ::DWORD = 0x1; +pub const ACCESS_SUCCESS_OPEN: ::DWORD = 0x10; +pub const ACCESS_SUCCESS_WRITE: ::DWORD = 0x20; +pub const ACCESS_SUCCESS_DELETE: ::DWORD = 0x40; +pub const ACCESS_SUCCESS_ACL: ::DWORD = 0x80; +pub const ACCESS_SUCCESS_MASK: ::DWORD = 0xF0; +pub const ACCESS_FAIL_OPEN: ::DWORD = 0x100; +pub const ACCESS_FAIL_WRITE: ::DWORD = 0x200; +pub const ACCESS_FAIL_DELETE: ::DWORD = 0x400; +pub const ACCESS_FAIL_ACL: ::DWORD = 0x800; +pub const ACCESS_FAIL_MASK: ::DWORD = 0xF00; +pub const ACCESS_FAIL_SHIFT: ::DWORD = 4; +pub const ACCESS_RESOURCE_NAME_PARMNUM: ::DWORD = 1; +pub const ACCESS_ATTR_PARMNUM: ::DWORD = 2; +pub const ACCESS_COUNT_PARMNUM: ::DWORD = 3; +pub const ACCESS_ACCESS_LIST_PARMNUM: ::DWORD = 4; +pub const ACCESS_RESOURCE_NAME_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + ACCESS_RESOURCE_NAME_PARMNUM; +pub const ACCESS_ATTR_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + ACCESS_ATTR_PARMNUM; +pub const ACCESS_COUNT_INFOLEVEL: ::DWORD = ::PARMNUM_BASE_INFOLEVEL + ACCESS_COUNT_PARMNUM; +pub const ACCESS_ACCESS_LIST_INFOLEVEL: ::DWORD = + ::PARMNUM_BASE_INFOLEVEL + ACCESS_ACCESS_LIST_PARMNUM; +ENUM!{enum NET_VALIDATE_PASSWORD_TYPE { + NetValidateAuthentication = 1, + NetValidatePasswordChange, + NetValidatePasswordReset, +}} +pub type PNET_VALIDATE_PASSWORD_TYPE = *mut NET_VALIDATE_PASSWORD_TYPE; +STRUCT!{struct NET_VALIDATE_PASSWORD_HASH { + Length: ::ULONG, + Hash: ::LPBYTE, +}} +pub type PNET_VALIDATE_PASSWORD_HASH = *mut NET_VALIDATE_PASSWORD_HASH; +pub const NET_VALIDATE_PASSWORD_LAST_SET: ::ULONG = 0x00000001; +pub const NET_VALIDATE_BAD_PASSWORD_TIME: ::ULONG = 0x00000002; +pub const NET_VALIDATE_LOCKOUT_TIME: ::ULONG = 0x00000004; +pub const NET_VALIDATE_BAD_PASSWORD_COUNT: ::ULONG = 0x00000008; +pub const NET_VALIDATE_PASSWORD_HISTORY_LENGTH: ::ULONG = 0x00000010; +pub const NET_VALIDATE_PASSWORD_HISTORY: ::ULONG = 0x00000020; +STRUCT!{struct NET_VALIDATE_PERSISTED_FIELDS { + PresentFields: ::ULONG, + PasswordLastSet: ::FILETIME, + BadPasswordTime: ::FILETIME, + LockoutTime: ::FILETIME, + BadPasswordCount: ::ULONG, + PasswordHistoryLength: ::ULONG, + PasswordHistory: PNET_VALIDATE_PASSWORD_HASH, +}} +pub type PNET_VALIDATE_PERSISTED_FIELDS = *mut NET_VALIDATE_PERSISTED_FIELDS; +STRUCT!{struct NET_VALIDATE_OUTPUT_ARG { + ChangedPersistedFields: NET_VALIDATE_PERSISTED_FIELDS, + ValidationStatus: ::NET_API_STATUS, +}} +pub type PNET_VALIDATE_OUTPUT_ARG = *mut NET_VALIDATE_OUTPUT_ARG; +STRUCT!{struct NET_VALIDATE_AUTHENTICATION_INPUT_ARG { + InputPersistedFields: NET_VALIDATE_PERSISTED_FIELDS, + PasswordMatched: ::BOOLEAN, +}} +pub type PNET_VALIDATE_AUTHENTICATION_INPUT_ARG = *mut NET_VALIDATE_AUTHENTICATION_INPUT_ARG; +STRUCT!{struct NET_VALIDATE_PASSWORD_CHANGE_INPUT_ARG { + InputPersistedFields: NET_VALIDATE_PERSISTED_FIELDS, + ClearPassword: ::LPWSTR, + UserAccountName: ::LPWSTR, + HashedPassword: NET_VALIDATE_PASSWORD_HASH, + PasswordMatch: ::BOOLEAN, +}} +pub type PNET_VALIDATE_PASSWORD_CHANGE_INPUT_ARG = *mut NET_VALIDATE_PASSWORD_CHANGE_INPUT_ARG; +STRUCT!{struct NET_VALIDATE_PASSWORD_RESET_INPUT_ARG { + InputPersistedFields: NET_VALIDATE_PERSISTED_FIELDS, + ClearPassword: ::LPWSTR, + UserAccountName: ::LPWSTR, + HashedPassword: NET_VALIDATE_PASSWORD_HASH, + PasswordMustChangeAtNextLogon: ::BOOLEAN, + ClearLockout: ::BOOLEAN, +}} +pub type PNET_VALIDATE_PASSWORD_RESET_INPUT_ARG = *mut NET_VALIDATE_PASSWORD_RESET_INPUT_ARG; +pub const NETLOGON_CONTROL_QUERY: ::DWORD = 1; +pub const NETLOGON_CONTROL_REPLICATE: ::DWORD = 2; +pub const NETLOGON_CONTROL_SYNCHRONIZE: ::DWORD = 3; +pub const NETLOGON_CONTROL_PDC_REPLICATE: ::DWORD = 4; +pub const NETLOGON_CONTROL_REDISCOVER: ::DWORD = 5; +pub const NETLOGON_CONTROL_TC_QUERY: ::DWORD = 6; +pub const NETLOGON_CONTROL_TRANSPORT_NOTIFY: ::DWORD = 7; +pub const NETLOGON_CONTROL_FIND_USER: ::DWORD = 8; +pub const NETLOGON_CONTROL_CHANGE_PASSWORD: ::DWORD = 9; +pub const NETLOGON_CONTROL_TC_VERIFY: ::DWORD = 10; +pub const NETLOGON_CONTROL_FORCE_DNS_REG: ::DWORD = 11; +pub const NETLOGON_CONTROL_QUERY_DNS_REG: ::DWORD = 12; +pub const NETLOGON_CONTROL_UNLOAD_NETLOGON_DLL: ::DWORD = 0xFFFB; +pub const NETLOGON_CONTROL_BACKUP_CHANGE_LOG: ::DWORD = 0xFFFC; +pub const NETLOGON_CONTROL_TRUNCATE_LOG: ::DWORD = 0xFFFD; +pub const NETLOGON_CONTROL_SET_DBFLAG: ::DWORD = 0xFFFE; +pub const NETLOGON_CONTROL_BREAKPOINT: ::DWORD = 0xFFFF; +STRUCT!{struct NETLOGON_INFO_1 { + netlog1_flags: ::DWORD, + netlog1_pdc_connection_status: ::NET_API_STATUS, +}} +pub type PNETLOGON_INFO_1 = *mut NETLOGON_INFO_1; +STRUCT!{struct NETLOGON_INFO_2 { + netlog2_flags: ::DWORD, + netlog2_pdc_connection_status: ::NET_API_STATUS, + netlog2_trusted_dc_name: ::LPWSTR, + netlog2_tc_connection_status: ::NET_API_STATUS, +}} +pub type PNETLOGON_INFO_2 = *mut NETLOGON_INFO_2; +STRUCT!{struct NETLOGON_INFO_3 { + netlog3_flags: ::DWORD, + netlog3_logon_attempts: ::DWORD, + netlog3_reserved1: ::DWORD, + netlog3_reserved2: ::DWORD, + netlog3_reserved3: ::DWORD, + netlog3_reserved4: ::DWORD, + netlog3_reserved5: ::DWORD, +}} +pub type PNETLOGON_INFO_3 = *mut NETLOGON_INFO_3; +STRUCT!{struct NETLOGON_INFO_4 { + netlog4_trusted_dc_name: ::LPWSTR, + netlog4_trusted_domain_name: ::LPWSTR, +}} +pub type PNETLOGON_INFO_4 = *mut NETLOGON_INFO_4; +pub const NETLOGON_REPLICATION_NEEDED: ::DWORD = 0x01; +pub const NETLOGON_REPLICATION_IN_PROGRESS: ::DWORD = 0x02; +pub const NETLOGON_FULL_SYNC_REPLICATION: ::DWORD = 0x04; +pub const NETLOGON_REDO_NEEDED: ::DWORD = 0x08; +pub const NETLOGON_HAS_IP: ::DWORD = 0x10; +pub const NETLOGON_HAS_TIMESERV: ::DWORD = 0x20; +pub const NETLOGON_DNS_UPDATE_FAILURE: ::DWORD = 0x40; +pub const NETLOGON_VERIFY_STATUS_RETURNED: ::DWORD = 0x80; +DEFINE_GUID!(ServiceAccountPasswordGUID, 0x262E99C9, 0x6160, 0x4871, + 0xAC, 0xEC, 0x4E, 0x61, 0x73, 0x6B, 0x6F, 0x21); +pub const SERVICE_ACCOUNT_FLAG_LINK_TO_HOST_ONLY: ::DWORD = 0x00000001; +pub const SERVICE_ACCOUNT_FLAG_ADD_AGAINST_RODC: ::DWORD = 0x00000002; +pub const SERVICE_ACCOUNT_FLAG_UNLINK_FROM_HOST_ONLY: ::DWORD = 0x00000001; +pub const SERVICE_ACCOUNT_FLAG_REMOVE_OFFLINE: ::DWORD = 0x00000002; +ENUM!{enum MSA_INFO_LEVEL { + MsaInfoLevel0 = 0, + MsaInfoLevelMax, +}} +pub type PMSA_INFO_LEVEL = *mut MSA_INFO_LEVEL; +ENUM!{enum MSA_INFO_STATE { + MsaInfoNotExist = 1, + MsaInfoNotService, + MsaInfoCannotInstall, + MsaInfoCanInstall, + MsaInfoInstalled, +}} +pub type PMSA_INFO_STATE = *mut MSA_INFO_STATE; +STRUCT!{struct MSA_INFO_0 { + State: MSA_INFO_STATE, +}} +pub type PMSA_INFO_0 = *mut MSA_INFO_0; +pub type LPMSA_INFO_0 = *mut MSA_INFO_0; diff --git a/third_party/rust/winapi-0.2.8/src/lmcons.rs b/third_party/rust/winapi-0.2.8/src/lmcons.rs new file mode 100644 index 0000000000..267db8bfb1 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/lmcons.rs @@ -0,0 +1,55 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! This file contains constants used throughout the LAN Manager API header files. +pub const CNLEN: ::DWORD = 15; +pub const LM20_CNLEN: ::DWORD = 15; +pub const DNLEN: ::DWORD = CNLEN; +pub const LM20_DNLEN: ::DWORD = LM20_CNLEN; +pub const UNCLEN: ::DWORD = CNLEN + 2; +pub const LM20_UNCLEN: ::DWORD = LM20_CNLEN + 2; +pub const NNLEN: ::DWORD = 80; +pub const LM20_NNLEN: ::DWORD = 12; +pub const RMLEN: ::DWORD = UNCLEN + 1 + NNLEN; +pub const LM20_RMLEN: ::DWORD = LM20_UNCLEN + 1 + LM20_NNLEN; +pub const SNLEN: ::DWORD = 80; +pub const LM20_SNLEN: ::DWORD = 15; +pub const STXTLEN: ::DWORD = 256; +pub const LM20_STXTLEN: ::DWORD = 63; +pub const PATHLEN: ::DWORD = 256; +pub const LM20_PATHLEN: ::DWORD = 256; +pub const DEVLEN: ::DWORD = 80; +pub const LM20_DEVLEN: ::DWORD = 8; +pub const EVLEN: ::DWORD = 16; +pub const UNLEN: ::DWORD = 256; +pub const LM20_UNLEN: ::DWORD = 20; +pub const GNLEN: ::DWORD = UNLEN; +pub const LM20_GNLEN: ::DWORD = LM20_UNLEN; +pub const PWLEN: ::DWORD = 256; +pub const LM20_PWLEN: ::DWORD = 14; +pub const SHPWLEN: ::DWORD = 8; +pub const CLTYPE_LEN: ::DWORD = 12; +pub const MAXCOMMENTSZ: ::DWORD = 256; +pub const LM20_MAXCOMMENTSZ: ::DWORD = 48; +pub const QNLEN: ::DWORD = NNLEN; +pub const LM20_QNLEN: ::DWORD = LM20_NNLEN; +pub const ALERTSZ: ::DWORD = 128; +pub const MAXDEVENTRIES: ::DWORD = 4 * 8; // FIXME: sizeof(int) instead of 4 +pub const NETBIOS_NAME_LEN: ::DWORD = 16; +pub const MAX_PREFERRED_LENGTH: ::DWORD = -1i32 as ::DWORD; +pub const CRYPT_KEY_LEN: ::DWORD = 7; +pub const CRYPT_TXT_LEN: ::DWORD = 8; +pub const ENCRYPTED_PWLEN: usize = 16; +pub const SESSION_PWLEN: ::DWORD = 24; +pub const SESSION_CRYPT_KLEN: ::DWORD = 21; +pub const PARM_ERROR_UNKNOWN: ::DWORD = -1i32 as ::DWORD; +pub const PARM_ERROR_NONE: ::DWORD = 0; +pub const PARMNUM_BASE_INFOLEVEL: ::DWORD = 1000; +pub type LMSTR = ::LPWSTR; +pub type LMCSTR = ::LPCWSTR; +pub type NET_API_STATUS = ::DWORD; +pub type API_RET_TYPE = NET_API_STATUS; +pub const PLATFORM_ID_DOS: ::DWORD = 300; +pub const PLATFORM_ID_OS2: ::DWORD = 400; +pub const PLATFORM_ID_NT: ::DWORD = 500; +pub const PLATFORM_ID_OSF: ::DWORD = 600; +pub const PLATFORM_ID_VMS: ::DWORD = 700; diff --git a/third_party/rust/winapi-0.2.8/src/lmdfs.rs b/third_party/rust/winapi-0.2.8/src/lmdfs.rs new file mode 100644 index 0000000000..b74c647890 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/lmdfs.rs @@ -0,0 +1,311 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +// This file contains structures, function prototypes, and definitions for the NetDfs API +pub const DFS_VOLUME_STATES: ::DWORD = 0xF; +pub const DFS_VOLUME_STATE_OK: ::DWORD = 1; +pub const DFS_VOLUME_STATE_INCONSISTENT: ::DWORD = 2; +pub const DFS_VOLUME_STATE_OFFLINE: ::DWORD = 3; +pub const DFS_VOLUME_STATE_ONLINE: ::DWORD = 4; +pub const DFS_VOLUME_STATE_RESYNCHRONIZE: ::DWORD = 0x10; +pub const DFS_VOLUME_STATE_STANDBY: ::DWORD = 0x20; +pub const DFS_VOLUME_STATE_FORCE_SYNC: ::DWORD = 0x40; +pub const DFS_VOLUME_FLAVORS: ::DWORD = 0x0300; +pub const DFS_VOLUME_FLAVOR_UNUSED1: ::DWORD = 0x0000; +pub const DFS_VOLUME_FLAVOR_STANDALONE: ::DWORD = 0x0100; +pub const DFS_VOLUME_FLAVOR_AD_BLOB: ::DWORD = 0x0200; +pub const DFS_STORAGE_FLAVOR_UNUSED2: ::DWORD = 0x0300; +pub const DFS_STORAGE_STATES: ::ULONG = 0xF; +pub const DFS_STORAGE_STATE_OFFLINE: ::ULONG = 1; +pub const DFS_STORAGE_STATE_ONLINE: ::ULONG = 2; +pub const DFS_STORAGE_STATE_ACTIVE: ::ULONG = 4; +ENUM!{enum DFS_TARGET_PRIORITY_CLASS { + DfsInvalidPriorityClass = -1i32 as u32, + DfsSiteCostNormalPriorityClass = 0, + DfsGlobalHighPriorityClass, + DfsSiteCostHighPriorityClass, + DfsSiteCostLowPriorityClass, + DfsGlobalLowPriorityClass, +}} +STRUCT!{struct DFS_TARGET_PRIORITY { + TargetPriorityClass: DFS_TARGET_PRIORITY_CLASS, + TargetPriorityRank: ::USHORT, + Reserved: ::USHORT, +}} +pub type PDFS_TARGET_PRIORITY = *mut DFS_TARGET_PRIORITY; +STRUCT!{struct DFS_INFO_1 { + EntryPath: ::LPWSTR, +}} +pub type PDFS_INFO_1 = *mut DFS_INFO_1; +pub type LPDFS_INFO_1 = *mut DFS_INFO_1; +#[cfg(target_arch="x86_64")] STRUCT!{struct DFS_INFO_1_32 { + EntryPath: ::ULONG, +}} +#[cfg(target_arch="x86_64")] +pub type PDFS_INFO_1_32 = *mut DFS_INFO_1_32; +#[cfg(target_arch="x86_64")] +pub type LPDFS_INFO_1_32 = *mut DFS_INFO_1_32; +STRUCT!{struct DFS_INFO_2 { + EntryPath: ::LPWSTR, + Comment: ::LPWSTR, + State: ::DWORD, + NumberOfStorages: ::DWORD, +}} +pub type PDFS_INFO_2 = *mut DFS_INFO_2; +pub type LPDFS_INFO_2 = *mut DFS_INFO_2; +#[cfg(target_arch="x86_64")] STRUCT!{struct DFS_INFO_2_32 { + EntryPath: ::ULONG, + Comment: ::ULONG, + State: ::DWORD, + NumberOfStorages: ::DWORD, +}} +#[cfg(target_arch="x86_64")] +pub type PDFS_INFO_2_32 = *mut DFS_INFO_2_32; +#[cfg(target_arch="x86_64")] +pub type LPDFS_INFO_2_32 = *mut DFS_INFO_2_32; +STRUCT!{struct DFS_STORAGE_INFO { + State: ::ULONG, + ServerName: ::LPWSTR, + ShareName: ::LPWSTR, +}} +pub type PDFS_STORAGE_INFO = *mut DFS_STORAGE_INFO; +pub type LPDFS_STORAGE_INFO = *mut DFS_STORAGE_INFO; +#[cfg(target_arch="x86_64")] STRUCT!{struct DFS_STORAGE_INFO_0_32 { + State: ::ULONG, + ServerName: ::ULONG, + ShareName: ::ULONG, +}} +#[cfg(target_arch="x86_64")] +pub type PDFS_STORAGE_INFO_0_32 = *mut DFS_STORAGE_INFO_0_32; +#[cfg(target_arch="x86_64")] +pub type LPDFS_STORAGE_INFO_0_32 = *mut DFS_STORAGE_INFO_0_32; +STRUCT!{struct DFS_STORAGE_INFO_1 { + State: ::ULONG, + ServerName: ::LPWSTR, + ShareName: ::LPWSTR, + TargetPriority: DFS_TARGET_PRIORITY, +}} +pub type PDFS_STORAGE_INFO_1 = *mut DFS_STORAGE_INFO_1; +pub type LPDFS_STORAGE_INFO_1 = *mut DFS_STORAGE_INFO_1; +STRUCT!{struct DFS_INFO_3 { + EntryPath: ::LPWSTR, + Comment: ::LPWSTR, + State: ::DWORD, + NumberOfStorages: ::DWORD, + Storage: LPDFS_STORAGE_INFO, +}} +pub type PDFS_INFO_3 = *mut DFS_INFO_3; +pub type LPDFS_INFO_3 = *mut DFS_INFO_3; +#[cfg(target_arch="x86_64")] STRUCT!{struct DFS_INFO_3_32 { + EntryPath: ::ULONG, + Comment: ::ULONG, + State: ::DWORD, + NumberOfStorages: ::DWORD, + Storage: ::ULONG, +}} +#[cfg(target_arch="x86_64")] +pub type PDFS_INFO_3_32 = *mut DFS_INFO_3_32; +#[cfg(target_arch="x86_64")] +pub type LPDFS_INFO_3_32 = *mut DFS_INFO_3_32; +STRUCT!{struct DFS_INFO_4 { + EntryPath: ::LPWSTR, + Comment: ::LPWSTR, + State: ::DWORD, + Timeout: ::ULONG, + Guid: ::GUID, + NumberOfStorages: ::DWORD, + Storage: LPDFS_STORAGE_INFO, +}} +pub type PDFS_INFO_4 = *mut DFS_INFO_4; +pub type LPDFS_INFO_4 = *mut DFS_INFO_4; +#[cfg(target_arch="x86_64")] STRUCT!{struct DFS_INFO_4_32 { + EntryPath: ::ULONG, + Comment: ::ULONG, + State: ::DWORD, + Timeout: ::ULONG, + Guid: ::GUID, + NumberOfStorages: ::DWORD, + Storage: ::ULONG, +}} +#[cfg(target_arch="x86_64")] +pub type PDFS_INFO_4_32 = *mut DFS_INFO_4_32; +#[cfg(target_arch="x86_64")] +pub type LPDFS_INFO_4_32 = *mut DFS_INFO_4_32; +STRUCT!{struct DFS_INFO_5 { + EntryPath: ::LPWSTR, + Comment: ::LPWSTR, + State: ::DWORD, + Timeout: ::ULONG, + Guid: ::GUID, + PropertyFlags: ::ULONG, + MetadataSize: ::ULONG, + NumberOfStorages: ::DWORD, +}} +pub type PDFS_INFO_5 = *mut DFS_INFO_5; +pub type LPDFS_INFO_5 = *mut DFS_INFO_5; +STRUCT!{struct DFS_INFO_6 { + EntryPath: ::LPWSTR, + Comment: ::LPWSTR, + State: ::DWORD, + Timeout: ::ULONG, + Guid: ::GUID, + PropertyFlags: ::ULONG, + MetadataSize: ::ULONG, + NumberOfStorages: ::DWORD, + Storage: LPDFS_STORAGE_INFO, +}} +pub type PDFS_INFO_6 = *mut DFS_INFO_6; +pub type LPDFS_INFO_6 = *mut DFS_INFO_6; +STRUCT!{struct DFS_INFO_7 { + GenerationGuid: ::GUID, +}} +pub type PDFS_INFO_7 = *mut DFS_INFO_7; +pub type LPDFS_INFO_7 = *mut DFS_INFO_7; +STRUCT!{struct DFS_INFO_8 { + EntryPath: ::LPWSTR, + Comment: ::LPWSTR, + State: ::DWORD, + Timeout: ::ULONG, + Guid: ::GUID, + PropertyFlags: ::ULONG, + MetadataSize: ::ULONG, + SdLengthReserved: ::ULONG, + pSecurityDescriptor: ::PSECURITY_DESCRIPTOR, + NumberOfStorages: ::DWORD, +}} +pub type PDFS_INFO_8 = *mut DFS_INFO_8; +pub type LPDFS_INFO_8 = *mut DFS_INFO_8; +STRUCT!{struct DFS_INFO_9 { + EntryPath: ::LPWSTR, + Comment: ::LPWSTR, + State: ::DWORD, + Timeout: ::ULONG, + Guid: ::GUID, + PropertyFlags: ::ULONG, + MetadataSize: ::ULONG, + SdLengthReserved: ::ULONG, + pSecurityDescriptor: ::PSECURITY_DESCRIPTOR, + NumberOfStorages: ::DWORD, + Storage: LPDFS_STORAGE_INFO, +}} +pub type PDFS_INFO_9 = *mut DFS_INFO_9; +pub type LPDFS_INFO_9 = *mut DFS_INFO_9; +pub const DFS_PROPERTY_FLAG_INSITE_REFERRALS: ::ULONG = 0x00000001; +pub const DFS_PROPERTY_FLAG_ROOT_SCALABILITY: ::ULONG = 0x00000002; +pub const DFS_PROPERTY_FLAG_SITE_COSTING: ::ULONG = 0x00000004; +pub const DFS_PROPERTY_FLAG_TARGET_FAILBACK: ::ULONG = 0x00000008; +pub const DFS_PROPERTY_FLAG_CLUSTER_ENABLED: ::ULONG = 0x00000010; +pub const DFS_PROPERTY_FLAG_ABDE: ::ULONG = 0x00000020; +pub const DFS_VALID_PROPERTY_FLAGS: ::ULONG = DFS_PROPERTY_FLAG_INSITE_REFERRALS + | DFS_PROPERTY_FLAG_ROOT_SCALABILITY | DFS_PROPERTY_FLAG_SITE_COSTING + | DFS_PROPERTY_FLAG_TARGET_FAILBACK | DFS_PROPERTY_FLAG_CLUSTER_ENABLED + | DFS_PROPERTY_FLAG_ABDE; +STRUCT!{struct DFS_INFO_50 { + NamespaceMajorVersion: ::ULONG, + NamespaceMinorVersion: ::ULONG, + NamespaceCapabilities: ::ULONGLONG, +}} +pub type PDFS_INFO_50 = *mut DFS_INFO_50; +pub type LPDFS_INFO_50 = *mut DFS_INFO_50; +STRUCT!{struct DFS_INFO_100 { + Comment: ::LPWSTR, +}} +pub type PDFS_INFO_100 = *mut DFS_INFO_100; +pub type LPDFS_INFO_100 = *mut DFS_INFO_100; +STRUCT!{struct DFS_INFO_101 { + State: ::DWORD, +}} +pub type PDFS_INFO_101 = *mut DFS_INFO_101; +pub type LPDFS_INFO_101 = *mut DFS_INFO_101; +STRUCT!{struct DFS_INFO_102 { + Timeout: ::ULONG, +}} +pub type PDFS_INFO_102 = *mut DFS_INFO_102; +pub type LPDFS_INFO_102 = *mut DFS_INFO_102; +STRUCT!{struct DFS_INFO_103 { + PropertyFlagMask: ::ULONG, + PropertyFlags: ::ULONG, +}} +pub type PDFS_INFO_103 = *mut DFS_INFO_103; +pub type LPDFS_INFO_103 = *mut DFS_INFO_103; +STRUCT!{struct DFS_INFO_104 { + TargetPriority: DFS_TARGET_PRIORITY, +}} +pub type PDFS_INFO_104 = *mut DFS_INFO_104; +pub type LPDFS_INFO_104 = *mut DFS_INFO_104; +STRUCT!{struct DFS_INFO_105 { + Comment: ::LPWSTR, + State: ::DWORD, + Timeout: ::ULONG, + PropertyFlagMask: ::ULONG, + PropertyFlags: ::ULONG, +}} +pub type PDFS_INFO_105 = *mut DFS_INFO_105; +pub type LPDFS_INFO_105 = *mut DFS_INFO_105; +STRUCT!{struct DFS_INFO_106 { + State: ::DWORD, + TargetPriority: DFS_TARGET_PRIORITY, +}} +pub type PDFS_INFO_106 = *mut DFS_INFO_106; +pub type LPDFS_INFO_106 = *mut DFS_INFO_106; +STRUCT!{struct DFS_INFO_107 { + Comment: ::LPWSTR, + State: ::DWORD, + Timeout: ::ULONG, + PropertyFlagMask: ::ULONG, + PropertyFlags: ::ULONG, + SdLengthReserved: ::ULONG, + pSecurityDescriptor: ::PSECURITY_DESCRIPTOR, +}} +pub type PDFS_INFO_107 = *mut DFS_INFO_107; +pub type LPDFS_INFO_107 = *mut DFS_INFO_107; +STRUCT!{struct DFS_INFO_150 { + SdLengthReserved: ::ULONG, + pSecurityDescriptor: ::PSECURITY_DESCRIPTOR, +}} +pub type PDFS_INFO_150 = *mut DFS_INFO_150; +pub type LPDFS_INFO_150 = *mut DFS_INFO_150; +STRUCT!{struct DFS_INFO_200 { + FtDfsName: ::LPWSTR, +}} +pub type PDFS_INFO_200 = *mut DFS_INFO_200; +pub type LPDFS_INFO_200 = *mut DFS_INFO_200; +STRUCT!{struct DFS_INFO_300 { + Flags: ::DWORD, + DfsName: ::LPWSTR, +}} +pub type PDFS_INFO_300 = *mut DFS_INFO_300; +pub type LPDFS_INFO_300 = *mut DFS_INFO_300; +pub const DFS_ADD_VOLUME: ::DWORD = 1; +pub const DFS_RESTORE_VOLUME: ::DWORD = 2; +pub const NET_DFS_SETDC_FLAGS: ::DWORD = 0x00000000; +pub const NET_DFS_SETDC_TIMEOUT: ::DWORD = 0x00000001; +pub const NET_DFS_SETDC_INITPKT: ::DWORD = 0x00000002; +STRUCT!{struct DFS_SITENAME_INFO { + SiteFlags: ::ULONG, + SiteName: ::LPWSTR, +}} +pub type PDFS_SITENAME_INFO = *mut DFS_SITENAME_INFO; +pub type LPDFS_SITENAME_INFO = *mut DFS_SITENAME_INFO; +pub const DFS_SITE_PRIMARY: ::ULONG = 0x1; +STRUCT!{struct DFS_SITELIST_INFO { + cSites: ::ULONG, + Site: [DFS_SITENAME_INFO; 1], +}} +pub type PDFS_SITELIST_INFO = *mut DFS_SITELIST_INFO; +pub type LPDFS_SITELIST_INFO = *mut DFS_SITELIST_INFO; +ENUM!{enum DFS_NAMESPACE_VERSION_ORIGIN { + DFS_NAMESPACE_VERSION_ORIGIN_COMBINED = 0, + DFS_NAMESPACE_VERSION_ORIGIN_SERVER, + DFS_NAMESPACE_VERSION_ORIGIN_DOMAIN, +}} +pub type PDFS_NAMESPACE_VERSION_ORIGIN = *mut DFS_NAMESPACE_VERSION_ORIGIN; +pub const DFS_NAMESPACE_CAPABILITY_ABDE: ::ULONGLONG = 0x0000000000000001; +STRUCT!{struct DFS_SUPPORTED_NAMESPACE_VERSION_INFO { + DomainDfsMajorVersion: ::ULONG, + DomainDfsMinorVersion: ::ULONG, + DomainDfsCapabilities: ::ULONGLONG, + StandaloneDfsMajorVersion: ::ULONG, + StandaloneDfsMinorVersion: ::ULONG, + StandaloneDfsCapabilities: ::ULONGLONG, +}} +pub type PDFS_SUPPORTED_NAMESPACE_VERSION_INFO = *mut DFS_SUPPORTED_NAMESPACE_VERSION_INFO; diff --git a/third_party/rust/winapi-0.2.8/src/lmerrlog.rs b/third_party/rust/winapi-0.2.8/src/lmerrlog.rs new file mode 100644 index 0000000000..ebbe3b0fef --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/lmerrlog.rs @@ -0,0 +1,263 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +STRUCT!{struct ERROR_LOG { + el_len: ::DWORD, + el_reserved: ::DWORD, + el_time: ::DWORD, + el_error: ::DWORD, + el_name: ::LPWSTR, + el_text: ::LPWSTR, + el_data: ::LPBYTE, + el_data_size: ::DWORD, + el_nstrings: ::DWORD, +}} +pub type PERROR_LOG = *mut ERROR_LOG; +pub type LPERROR_LOG = *mut ERROR_LOG; +STRUCT!{struct HLOG { + time: ::DWORD, + last_flags: ::DWORD, + offset: ::DWORD, + rec_offset: ::DWORD, +}} +pub type PHLOG = *mut HLOG; +pub type LPHLOG = *mut HLOG; +pub const LOGFLAGS_FORWARD: ::DWORD = 0; +pub const LOGFLAGS_BACKWARD: ::DWORD = 0x1; +pub const LOGFLAGS_SEEK: ::DWORD = 0x2; +pub const ERRLOG_BASE: ::DWORD = 3100; +pub const NELOG_Internal_Error: ::DWORD = ERRLOG_BASE + 0; +pub const NELOG_Resource_Shortage: ::DWORD = ERRLOG_BASE + 1; +pub const NELOG_Unable_To_Lock_Segment: ::DWORD = ERRLOG_BASE + 2; +pub const NELOG_Unable_To_Unlock_Segment: ::DWORD = ERRLOG_BASE + 3; +pub const NELOG_Uninstall_Service: ::DWORD = ERRLOG_BASE + 4; +pub const NELOG_Init_Exec_Fail: ::DWORD = ERRLOG_BASE + 5; +pub const NELOG_Ncb_Error: ::DWORD = ERRLOG_BASE + 6; +pub const NELOG_Net_Not_Started: ::DWORD = ERRLOG_BASE + 7; +pub const NELOG_Ioctl_Error: ::DWORD = ERRLOG_BASE + 8; +pub const NELOG_System_Semaphore: ::DWORD = ERRLOG_BASE + 9; +pub const NELOG_Init_OpenCreate_Err: ::DWORD = ERRLOG_BASE + 10; +pub const NELOG_NetBios: ::DWORD = ERRLOG_BASE + 11; +pub const NELOG_SMB_Illegal: ::DWORD = ERRLOG_BASE + 12; +pub const NELOG_Service_Fail: ::DWORD = ERRLOG_BASE + 13; +pub const NELOG_Entries_Lost: ::DWORD = ERRLOG_BASE + 14; +pub const NELOG_Init_Seg_Overflow: ::DWORD = ERRLOG_BASE + 20; +pub const NELOG_Srv_No_Mem_Grow: ::DWORD = ERRLOG_BASE + 21; +pub const NELOG_Access_File_Bad: ::DWORD = ERRLOG_BASE + 22; +pub const NELOG_Srvnet_Not_Started: ::DWORD = ERRLOG_BASE + 23; +pub const NELOG_Init_Chardev_Err: ::DWORD = ERRLOG_BASE + 24; +pub const NELOG_Remote_API: ::DWORD = ERRLOG_BASE + 25; +pub const NELOG_Ncb_TooManyErr: ::DWORD = ERRLOG_BASE + 26; +pub const NELOG_Mailslot_err: ::DWORD = ERRLOG_BASE + 27; +pub const NELOG_ReleaseMem_Alert: ::DWORD = ERRLOG_BASE + 28; +pub const NELOG_AT_cannot_write: ::DWORD = ERRLOG_BASE + 29; +pub const NELOG_Cant_Make_Msg_File: ::DWORD = ERRLOG_BASE + 30; +pub const NELOG_Exec_Netservr_NoMem: ::DWORD = ERRLOG_BASE + 31; +pub const NELOG_Server_Lock_Failure: ::DWORD = ERRLOG_BASE + 32; +pub const NELOG_Msg_Shutdown: ::DWORD = ERRLOG_BASE + 40; +pub const NELOG_Msg_Sem_Shutdown: ::DWORD = ERRLOG_BASE + 41; +pub const NELOG_Msg_Log_Err: ::DWORD = ERRLOG_BASE + 50; +pub const NELOG_VIO_POPUP_ERR: ::DWORD = ERRLOG_BASE + 51; +pub const NELOG_Msg_Unexpected_SMB_Type: ::DWORD = ERRLOG_BASE + 52; +pub const NELOG_Wksta_Infoseg: ::DWORD = ERRLOG_BASE + 60; +pub const NELOG_Wksta_Compname: ::DWORD = ERRLOG_BASE + 61; +pub const NELOG_Wksta_BiosThreadFailure: ::DWORD = ERRLOG_BASE + 62; +pub const NELOG_Wksta_IniSeg: ::DWORD = ERRLOG_BASE + 63; +pub const NELOG_Wksta_HostTab_Full: ::DWORD = ERRLOG_BASE + 64; +pub const NELOG_Wksta_Bad_Mailslot_SMB: ::DWORD = ERRLOG_BASE + 65; +pub const NELOG_Wksta_UASInit: ::DWORD = ERRLOG_BASE + 66; +pub const NELOG_Wksta_SSIRelogon: ::DWORD = ERRLOG_BASE + 67; +pub const NELOG_Build_Name: ::DWORD = ERRLOG_BASE + 70; +pub const NELOG_Name_Expansion: ::DWORD = ERRLOG_BASE + 71; +pub const NELOG_Message_Send: ::DWORD = ERRLOG_BASE + 72; +pub const NELOG_Mail_Slt_Err: ::DWORD = ERRLOG_BASE + 73; +pub const NELOG_AT_cannot_read: ::DWORD = ERRLOG_BASE + 74; +pub const NELOG_AT_sched_err: ::DWORD = ERRLOG_BASE + 75; +pub const NELOG_AT_schedule_file_created: ::DWORD = ERRLOG_BASE + 76; +pub const NELOG_Srvnet_NB_Open: ::DWORD = ERRLOG_BASE + 77; +pub const NELOG_AT_Exec_Err: ::DWORD = ERRLOG_BASE + 78; +pub const NELOG_Lazy_Write_Err: ::DWORD = ERRLOG_BASE + 80; +pub const NELOG_HotFix: ::DWORD = ERRLOG_BASE + 81; +pub const NELOG_HardErr_From_Server: ::DWORD = ERRLOG_BASE + 82; +pub const NELOG_LocalSecFail1: ::DWORD = ERRLOG_BASE + 83; +pub const NELOG_LocalSecFail2: ::DWORD = ERRLOG_BASE + 84; +pub const NELOG_LocalSecFail3: ::DWORD = ERRLOG_BASE + 85; +pub const NELOG_LocalSecGeneralFail: ::DWORD = ERRLOG_BASE + 86; +pub const NELOG_NetWkSta_Internal_Error: ::DWORD = ERRLOG_BASE + 90; +pub const NELOG_NetWkSta_No_Resource: ::DWORD = ERRLOG_BASE + 91; +pub const NELOG_NetWkSta_SMB_Err: ::DWORD = ERRLOG_BASE + 92; +pub const NELOG_NetWkSta_VC_Err: ::DWORD = ERRLOG_BASE + 93; +pub const NELOG_NetWkSta_Stuck_VC_Err: ::DWORD = ERRLOG_BASE + 94; +pub const NELOG_NetWkSta_NCB_Err: ::DWORD = ERRLOG_BASE + 95; +pub const NELOG_NetWkSta_Write_Behind_Err: ::DWORD = ERRLOG_BASE + 96; +pub const NELOG_NetWkSta_Reset_Err: ::DWORD = ERRLOG_BASE + 97; +pub const NELOG_NetWkSta_Too_Many: ::DWORD = ERRLOG_BASE + 98; +pub const NELOG_Srv_Thread_Failure: ::DWORD = ERRLOG_BASE + 104; +pub const NELOG_Srv_Close_Failure: ::DWORD = ERRLOG_BASE + 105; +pub const NELOG_ReplUserCurDir: ::DWORD = ERRLOG_BASE + 106; +pub const NELOG_ReplCannotMasterDir: ::DWORD = ERRLOG_BASE + 107; +pub const NELOG_ReplUpdateError: ::DWORD = ERRLOG_BASE + 108; +pub const NELOG_ReplLostMaster: ::DWORD = ERRLOG_BASE + 109; +pub const NELOG_NetlogonAuthDCFail: ::DWORD = ERRLOG_BASE + 110; +pub const NELOG_ReplLogonFailed: ::DWORD = ERRLOG_BASE + 111; +pub const NELOG_ReplNetErr: ::DWORD = ERRLOG_BASE + 112; +pub const NELOG_ReplMaxFiles: ::DWORD = ERRLOG_BASE + 113; +pub const NELOG_ReplMaxTreeDepth: ::DWORD = ERRLOG_BASE + 114; +pub const NELOG_ReplBadMsg: ::DWORD = ERRLOG_BASE + 115; +pub const NELOG_ReplSysErr: ::DWORD = ERRLOG_BASE + 116; +pub const NELOG_ReplUserLoged: ::DWORD = ERRLOG_BASE + 117; +pub const NELOG_ReplBadImport: ::DWORD = ERRLOG_BASE + 118; +pub const NELOG_ReplBadExport: ::DWORD = ERRLOG_BASE + 119; +pub const NELOG_ReplSignalFileErr: ::DWORD = ERRLOG_BASE + 120; +pub const NELOG_DiskFT: ::DWORD = ERRLOG_BASE + 121; +pub const NELOG_ReplAccessDenied: ::DWORD = ERRLOG_BASE + 122; +pub const NELOG_NetlogonFailedPrimary: ::DWORD = ERRLOG_BASE + 123; +pub const NELOG_NetlogonPasswdSetFailed: ::DWORD = ERRLOG_BASE + 124; +pub const NELOG_NetlogonTrackingError: ::DWORD = ERRLOG_BASE + 125; +pub const NELOG_NetlogonSyncError: ::DWORD = ERRLOG_BASE + 126; +pub const NELOG_NetlogonRequireSignOrSealError: ::DWORD = ERRLOG_BASE + 127; +pub const NELOG_UPS_PowerOut: ::DWORD = ERRLOG_BASE + 130; +pub const NELOG_UPS_Shutdown: ::DWORD = ERRLOG_BASE + 131; +pub const NELOG_UPS_CmdFileError: ::DWORD = ERRLOG_BASE + 132; +pub const NELOG_UPS_CannotOpenDriver: ::DWORD = ERRLOG_BASE+133; +pub const NELOG_UPS_PowerBack: ::DWORD = ERRLOG_BASE + 134; +pub const NELOG_UPS_CmdFileConfig: ::DWORD = ERRLOG_BASE + 135; +pub const NELOG_UPS_CmdFileExec: ::DWORD = ERRLOG_BASE + 136; +pub const NELOG_Missing_Parameter: ::DWORD = ERRLOG_BASE + 150; +pub const NELOG_Invalid_Config_Line: ::DWORD = ERRLOG_BASE + 151; +pub const NELOG_Invalid_Config_File: ::DWORD = ERRLOG_BASE + 152; +pub const NELOG_File_Changed: ::DWORD = ERRLOG_BASE + 153; +pub const NELOG_Files_Dont_Fit: ::DWORD = ERRLOG_BASE + 154; +pub const NELOG_Wrong_DLL_Version: ::DWORD = ERRLOG_BASE + 155; +pub const NELOG_Error_in_DLL: ::DWORD = ERRLOG_BASE + 156; +pub const NELOG_System_Error: ::DWORD = ERRLOG_BASE + 157; +pub const NELOG_FT_ErrLog_Too_Large: ::DWORD = ERRLOG_BASE + 158; +pub const NELOG_FT_Update_In_Progress: ::DWORD = ERRLOG_BASE + 159; +pub const NELOG_Joined_Domain: ::DWORD = ERRLOG_BASE + 160; +pub const NELOG_Joined_Workgroup: ::DWORD = ERRLOG_BASE + 161; +pub const NELOG_OEM_Code: ::DWORD = ERRLOG_BASE + 199; +pub const ERRLOG2_BASE: ::DWORD = 5700; +pub const NELOG_NetlogonSSIInitError: ::DWORD = ERRLOG2_BASE + 0; +pub const NELOG_NetlogonFailedToUpdateTrustList: ::DWORD = ERRLOG2_BASE + 1; +pub const NELOG_NetlogonFailedToAddRpcInterface: ::DWORD = ERRLOG2_BASE + 2; +pub const NELOG_NetlogonFailedToReadMailslot: ::DWORD = ERRLOG2_BASE + 3; +pub const NELOG_NetlogonFailedToRegisterSC: ::DWORD = ERRLOG2_BASE + 4; +pub const NELOG_NetlogonChangeLogCorrupt: ::DWORD = ERRLOG2_BASE + 5; +pub const NELOG_NetlogonFailedToCreateShare: ::DWORD = ERRLOG2_BASE + 6; +pub const NELOG_NetlogonDownLevelLogonFailed: ::DWORD = ERRLOG2_BASE + 7; +pub const NELOG_NetlogonDownLevelLogoffFailed: ::DWORD = ERRLOG2_BASE + 8; +pub const NELOG_NetlogonNTLogonFailed: ::DWORD = ERRLOG2_BASE + 9; +pub const NELOG_NetlogonNTLogoffFailed: ::DWORD = ERRLOG2_BASE + 10; +pub const NELOG_NetlogonPartialSyncCallSuccess: ::DWORD = ERRLOG2_BASE + 11; +pub const NELOG_NetlogonPartialSyncCallFailed: ::DWORD = ERRLOG2_BASE + 12; +pub const NELOG_NetlogonFullSyncCallSuccess: ::DWORD = ERRLOG2_BASE + 13; +pub const NELOG_NetlogonFullSyncCallFailed: ::DWORD = ERRLOG2_BASE + 14; +pub const NELOG_NetlogonPartialSyncSuccess: ::DWORD = ERRLOG2_BASE + 15; +pub const NELOG_NetlogonPartialSyncFailed: ::DWORD = ERRLOG2_BASE + 16; +pub const NELOG_NetlogonFullSyncSuccess: ::DWORD = ERRLOG2_BASE + 17; +pub const NELOG_NetlogonFullSyncFailed: ::DWORD = ERRLOG2_BASE + 18; +pub const NELOG_NetlogonAuthNoDomainController: ::DWORD = ERRLOG2_BASE + 19; +pub const NELOG_NetlogonAuthNoTrustLsaSecret: ::DWORD = ERRLOG2_BASE + 20; +pub const NELOG_NetlogonAuthNoTrustSamAccount: ::DWORD = ERRLOG2_BASE + 21; +pub const NELOG_NetlogonServerAuthFailed: ::DWORD = ERRLOG2_BASE + 22; +pub const NELOG_NetlogonServerAuthNoTrustSamAccount: ::DWORD = ERRLOG2_BASE + 23; +pub const NELOG_FailedToRegisterSC: ::DWORD = ERRLOG2_BASE + 24; +pub const NELOG_FailedToSetServiceStatus: ::DWORD = ERRLOG2_BASE + 25; +pub const NELOG_FailedToGetComputerName: ::DWORD = ERRLOG2_BASE + 26; +pub const NELOG_DriverNotLoaded: ::DWORD = ERRLOG2_BASE + 27; +pub const NELOG_NoTranportLoaded: ::DWORD = ERRLOG2_BASE + 28; +pub const NELOG_NetlogonFailedDomainDelta: ::DWORD = ERRLOG2_BASE + 29; +pub const NELOG_NetlogonFailedGlobalGroupDelta: ::DWORD = ERRLOG2_BASE + 30; +pub const NELOG_NetlogonFailedLocalGroupDelta: ::DWORD = ERRLOG2_BASE + 31; +pub const NELOG_NetlogonFailedUserDelta: ::DWORD = ERRLOG2_BASE + 32; +pub const NELOG_NetlogonFailedPolicyDelta: ::DWORD = ERRLOG2_BASE + 33; +pub const NELOG_NetlogonFailedTrustedDomainDelta: ::DWORD = ERRLOG2_BASE + 34; +pub const NELOG_NetlogonFailedAccountDelta: ::DWORD = ERRLOG2_BASE + 35; +pub const NELOG_NetlogonFailedSecretDelta: ::DWORD = ERRLOG2_BASE + 36; +pub const NELOG_NetlogonSystemError: ::DWORD = ERRLOG2_BASE + 37; +pub const NELOG_NetlogonDuplicateMachineAccounts: ::DWORD = ERRLOG2_BASE + 38; +pub const NELOG_NetlogonTooManyGlobalGroups: ::DWORD = ERRLOG2_BASE + 39; +pub const NELOG_NetlogonBrowserDriver: ::DWORD = ERRLOG2_BASE + 40; +pub const NELOG_NetlogonAddNameFailure: ::DWORD = ERRLOG2_BASE + 41; +pub const NELOG_RplMessages: ::DWORD = ERRLOG2_BASE + 42; +pub const NELOG_RplXnsBoot: ::DWORD = ERRLOG2_BASE + 43; +pub const NELOG_RplSystem: ::DWORD = ERRLOG2_BASE + 44; +pub const NELOG_RplWkstaTimeout: ::DWORD = ERRLOG2_BASE + 45; +pub const NELOG_RplWkstaFileOpen: ::DWORD = ERRLOG2_BASE + 46; +pub const NELOG_RplWkstaFileRead: ::DWORD = ERRLOG2_BASE + 47; +pub const NELOG_RplWkstaMemory: ::DWORD = ERRLOG2_BASE + 48; +pub const NELOG_RplWkstaFileChecksum: ::DWORD = ERRLOG2_BASE + 49; +pub const NELOG_RplWkstaFileLineCount: ::DWORD = ERRLOG2_BASE + 50; +pub const NELOG_RplWkstaBbcFile: ::DWORD = ERRLOG2_BASE + 51; +pub const NELOG_RplWkstaFileSize: ::DWORD = ERRLOG2_BASE + 52; +pub const NELOG_RplWkstaInternal: ::DWORD = ERRLOG2_BASE + 53; +pub const NELOG_RplWkstaWrongVersion: ::DWORD = ERRLOG2_BASE + 54; +pub const NELOG_RplWkstaNetwork: ::DWORD = ERRLOG2_BASE + 55; +pub const NELOG_RplAdapterResource: ::DWORD = ERRLOG2_BASE + 56; +pub const NELOG_RplFileCopy: ::DWORD = ERRLOG2_BASE + 57; +pub const NELOG_RplFileDelete: ::DWORD = ERRLOG2_BASE + 58; +pub const NELOG_RplFilePerms: ::DWORD = ERRLOG2_BASE + 59; +pub const NELOG_RplCheckConfigs: ::DWORD = ERRLOG2_BASE + 60; +pub const NELOG_RplCreateProfiles: ::DWORD = ERRLOG2_BASE + 61; +pub const NELOG_RplRegistry: ::DWORD = ERRLOG2_BASE + 62; +pub const NELOG_RplReplaceRPLDISK: ::DWORD = ERRLOG2_BASE + 63; +pub const NELOG_RplCheckSecurity: ::DWORD = ERRLOG2_BASE + 64; +pub const NELOG_RplBackupDatabase: ::DWORD = ERRLOG2_BASE + 65; +pub const NELOG_RplInitDatabase: ::DWORD = ERRLOG2_BASE + 66; +pub const NELOG_RplRestoreDatabaseFailure: ::DWORD = ERRLOG2_BASE + 67; +pub const NELOG_RplRestoreDatabaseSuccess: ::DWORD = ERRLOG2_BASE + 68; +pub const NELOG_RplInitRestoredDatabase: ::DWORD = ERRLOG2_BASE + 69; +pub const NELOG_NetlogonSessionTypeWrong: ::DWORD = ERRLOG2_BASE + 70; +pub const NELOG_RplUpgradeDBTo40: ::DWORD = ERRLOG2_BASE + 71; +pub const NELOG_NetlogonLanmanBdcsNotAllowed: ::DWORD = ERRLOG2_BASE + 72; +pub const NELOG_NetlogonNoDynamicDns: ::DWORD = ERRLOG2_BASE + 73; +pub const NELOG_NetlogonDynamicDnsRegisterFailure: ::DWORD = ERRLOG2_BASE + 74; +pub const NELOG_NetlogonDynamicDnsDeregisterFailure: ::DWORD = ERRLOG2_BASE + 75; +pub const NELOG_NetlogonFailedFileCreate: ::DWORD = ERRLOG2_BASE + 76; +pub const NELOG_NetlogonGetSubnetToSite: ::DWORD = ERRLOG2_BASE + 77; +pub const NELOG_NetlogonNoSiteForClient: ::DWORD = ERRLOG2_BASE + 78; +pub const NELOG_NetlogonBadSiteName: ::DWORD = ERRLOG2_BASE + 79; +pub const NELOG_NetlogonBadSubnetName: ::DWORD = ERRLOG2_BASE + 80; +pub const NELOG_NetlogonDynamicDnsServerFailure: ::DWORD = ERRLOG2_BASE + 81; +pub const NELOG_NetlogonDynamicDnsFailure: ::DWORD = ERRLOG2_BASE + 82; +pub const NELOG_NetlogonRpcCallCancelled: ::DWORD = ERRLOG2_BASE + 83; +pub const NELOG_NetlogonDcSiteCovered: ::DWORD = ERRLOG2_BASE + 84; +pub const NELOG_NetlogonDcSiteNotCovered: ::DWORD = ERRLOG2_BASE + 85; +pub const NELOG_NetlogonGcSiteCovered: ::DWORD = ERRLOG2_BASE + 86; +pub const NELOG_NetlogonGcSiteNotCovered: ::DWORD = ERRLOG2_BASE + 87; +pub const NELOG_NetlogonFailedSpnUpdate: ::DWORD = ERRLOG2_BASE + 88; +pub const NELOG_NetlogonFailedDnsHostNameUpdate: ::DWORD = ERRLOG2_BASE + 89; +pub const NELOG_NetlogonAuthNoUplevelDomainController: ::DWORD = ERRLOG2_BASE + 90; +pub const NELOG_NetlogonAuthDomainDowngraded: ::DWORD = ERRLOG2_BASE + 91; +pub const NELOG_NetlogonNdncSiteCovered: ::DWORD = ERRLOG2_BASE + 92; +pub const NELOG_NetlogonNdncSiteNotCovered: ::DWORD = ERRLOG2_BASE + 93; +pub const NELOG_NetlogonDcOldSiteCovered: ::DWORD = ERRLOG2_BASE + 94; +pub const NELOG_NetlogonDcSiteNotCoveredAuto: ::DWORD = ERRLOG2_BASE + 95; +pub const NELOG_NetlogonGcOldSiteCovered: ::DWORD = ERRLOG2_BASE + 96; +pub const NELOG_NetlogonGcSiteNotCoveredAuto: ::DWORD = ERRLOG2_BASE + 97; +pub const NELOG_NetlogonNdncOldSiteCovered: ::DWORD = ERRLOG2_BASE + 98; +pub const NELOG_NetlogonNdncSiteNotCoveredAuto: ::DWORD = ERRLOG2_BASE + 99; +pub const NELOG_NetlogonSpnMultipleSamAccountNames: ::DWORD = ERRLOG2_BASE + 100; +pub const NELOG_NetlogonSpnCrackNamesFailure: ::DWORD = ERRLOG2_BASE + 101; +pub const NELOG_NetlogonNoAddressToSiteMapping: ::DWORD = ERRLOG2_BASE + 102; +pub const NELOG_NetlogonInvalidGenericParameterValue: ::DWORD = ERRLOG2_BASE + 103; +pub const NELOG_NetlogonInvalidDwordParameterValue: ::DWORD = ERRLOG2_BASE + 104; +pub const NELOG_NetlogonServerAuthFailedNoAccount: ::DWORD = ERRLOG2_BASE + 105; +pub const NELOG_NetlogonNoDynamicDnsManual: ::DWORD = ERRLOG2_BASE + 106; +pub const NELOG_NetlogonNoSiteForClients: ::DWORD = ERRLOG2_BASE + 107; +pub const NELOG_NetlogonDnsDeregAborted: ::DWORD = ERRLOG2_BASE + 108; +pub const NELOG_NetlogonRpcPortRequestFailure: ::DWORD = ERRLOG2_BASE + 109; +pub const NELOG_NetlogonPartialSiteMappingForClients: ::DWORD = ERRLOG2_BASE + 110; +pub const NELOG_NetlogonRemoteDynamicDnsRegisterFailure: ::DWORD = ERRLOG2_BASE + 111; +pub const NELOG_NetlogonRemoteDynamicDnsDeregisterFailure: ::DWORD = ERRLOG2_BASE + 112; +pub const NELOG_NetlogonRejectedRemoteDynamicDnsRegister: ::DWORD = ERRLOG2_BASE + 113; +pub const NELOG_NetlogonRejectedRemoteDynamicDnsDeregister: ::DWORD = ERRLOG2_BASE + 114; +pub const NELOG_NetlogonRemoteDynamicDnsUpdateRequestFailure: ::DWORD = ERRLOG2_BASE + 115; +pub const NELOG_NetlogonUserValidationReqInitialTimeOut: ::DWORD = ERRLOG2_BASE + 116; +pub const NELOG_NetlogonUserValidationReqRecurringTimeOut: ::DWORD = ERRLOG2_BASE + 117; +pub const NELOG_NetlogonUserValidationReqWaitInitialWarning: ::DWORD = ERRLOG2_BASE + 118; +pub const NELOG_NetlogonUserValidationReqWaitRecurringWarning: ::DWORD = ERRLOG2_BASE + 119; +pub const NELOG_NetlogonFailedToAddAuthzRpcInterface: ::DWORD = ERRLOG2_BASE + 120; +pub const NELOG_NetLogonFailedToInitializeAuthzRm: ::DWORD = ERRLOG2_BASE + 121; +pub const NELOG_NetLogonFailedToInitializeRPCSD: ::DWORD = ERRLOG2_BASE + 122; +pub const NELOG_NetlogonMachinePasswdSetSucceeded: ::DWORD = ERRLOG2_BASE + 123; +pub const NELOG_NetlogonMsaPasswdSetSucceeded: ::DWORD = ERRLOG2_BASE + 124; diff --git a/third_party/rust/winapi-0.2.8/src/lmjoin.rs b/third_party/rust/winapi-0.2.8/src/lmjoin.rs new file mode 100644 index 0000000000..12b8a1014b --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/lmjoin.rs @@ -0,0 +1,80 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +// Definitions and prototypes for the Net setup apis +ENUM!{enum NETSETUP_NAME_TYPE { + NetSetupUnknown = 0, + NetSetupMachine, + NetSetupWorkgroup, + NetSetupDomain, + NetSetupNonExistentDomain, + NetSetupDnsMachine, +}} +pub type PNETSETUP_NAME_TYPE = *mut NETSETUP_NAME_TYPE; +ENUM!{enum NETSETUP_JOIN_STATUS { + NetSetupUnknownStatus = 0, + NetSetupUnjoined, + NetSetupWorkgroupName, + NetSetupDomainName, +}} +pub type PNETSETUP_JOIN_STATUS = *mut NETSETUP_JOIN_STATUS; +pub const NETSETUP_JOIN_DOMAIN: ::DWORD = 0x00000001; +pub const NETSETUP_ACCT_CREATE: ::DWORD = 0x00000002; +pub const NETSETUP_ACCT_DELETE: ::DWORD = 0x00000004; +pub const NETSETUP_WIN9X_UPGRADE: ::DWORD = 0x00000010; +pub const NETSETUP_DOMAIN_JOIN_IF_JOINED: ::DWORD = 0x00000020; +pub const NETSETUP_JOIN_UNSECURE: ::DWORD = 0x00000040; +pub const NETSETUP_MACHINE_PWD_PASSED: ::DWORD = 0x00000080; +pub const NETSETUP_DEFER_SPN_SET: ::DWORD = 0x00000100; +pub const NETSETUP_JOIN_DC_ACCOUNT: ::DWORD = 0x00000200; +pub const NETSETUP_JOIN_WITH_NEW_NAME: ::DWORD = 0x00000400; +pub const NETSETUP_JOIN_READONLY: ::DWORD = 0x00000800; +pub const NETSETUP_DNS_NAME_CHANGES_ONLY: ::DWORD = 0x00001000; +pub const NETSETUP_INSTALL_INVOCATION: ::DWORD = 0x00040000; +pub const NETSETUP_AMBIGUOUS_DC: ::DWORD = 0x00001000; +pub const NETSETUP_NO_NETLOGON_CACHE: ::DWORD = 0x00002000; +pub const NETSETUP_DONT_CONTROL_SERVICES: ::DWORD = 0x00004000; +pub const NETSETUP_SET_MACHINE_NAME: ::DWORD = 0x00008000; +pub const NETSETUP_FORCE_SPN_SET: ::DWORD = 0x00010000; +pub const NETSETUP_NO_ACCT_REUSE: ::DWORD = 0x00020000; +pub const NETSETUP_ALT_SAMACCOUNTNAME: ::DWORD = 0x00020000; +pub const NETSETUP_IGNORE_UNSUPPORTED_FLAGS: ::DWORD = 0x10000000; +pub const NETSETUP_VALID_UNJOIN_FLAGS: ::DWORD = NETSETUP_ACCT_DELETE + | NETSETUP_IGNORE_UNSUPPORTED_FLAGS | NETSETUP_JOIN_DC_ACCOUNT; +pub const NETSETUP_PROCESS_OFFLINE_FLAGS: ::DWORD = NETSETUP_JOIN_DOMAIN + | NETSETUP_DOMAIN_JOIN_IF_JOINED | NETSETUP_JOIN_WITH_NEW_NAME | NETSETUP_DONT_CONTROL_SERVICES + | NETSETUP_MACHINE_PWD_PASSED; +pub const NETSETUP_PROVISION_DOWNLEVEL_PRIV_SUPPORT: ::DWORD = 0x00000001; +pub const NETSETUP_PROVISION_REUSE_ACCOUNT: ::DWORD = 0x00000002; +pub const NETSETUP_PROVISION_USE_DEFAULT_PASSWORD: ::DWORD = 0x00000004; +pub const NETSETUP_PROVISION_SKIP_ACCOUNT_SEARCH: ::DWORD = 0x00000008; +pub const NETSETUP_PROVISION_ROOT_CA_CERTS: ::DWORD = 0x00000010; +pub const NETSETUP_PROVISION_PERSISTENTSITE: ::DWORD = 0x00000020; +pub const NETSETUP_PROVISION_ONLINE_CALLER: ::DWORD = 0x40000000; +pub const NETSETUP_PROVISION_CHECK_PWD_ONLY: ::DWORD = 0x80000000; +pub const NETSETUP_PROVISIONING_PARAMS_WIN8_VERSION: ::DWORD = 0x00000001; +pub const NETSETUP_PROVISIONING_PARAMS_CURRENT_VERSION: ::DWORD = 0x00000002; +STRUCT!{struct NETSETUP_PROVISIONING_PARAMS { + dwVersion: ::DWORD, + lpDomain: ::LPCWSTR, + lpHostName: ::LPCWSTR, + lpMachineAccountOU: ::LPCWSTR, + lpDcName: ::LPCWSTR, + dwProvisionOptions: ::DWORD, + aCertTemplateNames: *mut ::LPCWSTR, + cCertTemplateNames: ::DWORD, + aMachinePolicyNames: *mut ::LPCWSTR, + cMachinePolicyNames: ::DWORD, + aMachinePolicyPaths: *mut ::LPCWSTR, + cMachinePolicyPaths: ::DWORD, + lpNetbiosName: ::LPWSTR, + lpSiteName: ::LPWSTR, + lpPrimaryDNSDomain: ::LPWSTR, +}} +pub type PNETSETUP_PROVISIONING_PARAMS = *mut NETSETUP_PROVISIONING_PARAMS; +ENUM!{enum NET_COMPUTER_NAME_TYPE { + NetPrimaryComputerName, + NetAlternateComputerNames, + NetAllComputerNames, + NetComputerNameTypeMax, +}} +pub type PNET_COMPUTER_NAME_TYPE = *mut NET_COMPUTER_NAME_TYPE; diff --git a/third_party/rust/winapi-0.2.8/src/lsalookup.rs b/third_party/rust/winapi-0.2.8/src/lsalookup.rs new file mode 100644 index 0000000000..039d72a3a0 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/lsalookup.rs @@ -0,0 +1,69 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! LSA Policy Lookup API +STRUCT!{struct LSA_UNICODE_STRING { + Length: ::USHORT, + MaximumLength: ::USHORT, + Buffer: ::PWSTR, +}} +pub type PLSA_UNICODE_STRING = *mut LSA_UNICODE_STRING; +STRUCT!{struct LSA_STRING { + Length: ::USHORT, + MaximumLength: ::USHORT, + Buffer: ::PCHAR, +}} +pub type PLSA_STRING = *mut LSA_STRING; +STRUCT!{struct LSA_OBJECT_ATTRIBUTES { + Length: ::ULONG, + RootDirectory: ::HANDLE, + ObjectName: PLSA_UNICODE_STRING, + Attributes: ::ULONG, + SecurityDescriptor: ::PVOID, + SecurityQualityOfService: ::PVOID, +}} +pub type PLSA_OBJECT_ATTRIBUTES = *mut LSA_OBJECT_ATTRIBUTES; +STRUCT!{struct LSA_TRUST_INFORMATION { + Name: LSA_UNICODE_STRING, + Sid: ::PSID, +}} +pub type PLSA_TRUST_INFORMATION = *mut LSA_TRUST_INFORMATION; +STRUCT!{struct LSA_REFERENCED_DOMAIN_LIST { + Entries: ::ULONG, + Domains: PLSA_TRUST_INFORMATION, +}} +pub type PLSA_REFERENCED_DOMAIN_LIST = *mut LSA_REFERENCED_DOMAIN_LIST; +STRUCT!{struct LSA_TRANSLATED_SID2 { + Use: ::SID_NAME_USE, + Sid: ::PSID, + DomainIndex: ::LONG, + Flags: ::ULONG, +}} +pub type PLSA_TRANSLATED_SID2 = *mut LSA_TRANSLATED_SID2; +STRUCT!{struct LSA_TRANSLATED_NAME { + Use: ::SID_NAME_USE, + Name: LSA_UNICODE_STRING, + DomainIndex: ::LONG, +}} +pub type PLSA_TRANSLATED_NAME = *mut LSA_TRANSLATED_NAME; +STRUCT!{struct POLICY_ACCOUNT_DOMAIN_INFO { + DomainName: LSA_UNICODE_STRING, + DomainSid: ::PSID, +}} +pub type PPOLICY_ACCOUNT_DOMAIN_INFO = *mut POLICY_ACCOUNT_DOMAIN_INFO; +STRUCT!{struct POLICY_DNS_DOMAIN_INFO { + Name: LSA_UNICODE_STRING, + DnsDomainName: LSA_UNICODE_STRING, + DnsForestName: LSA_UNICODE_STRING, + DomainGuid: ::GUID, + Sid: ::PSID, +}} +pub type PPOLICY_DNS_DOMAIN_INFO = *mut POLICY_DNS_DOMAIN_INFO; +pub const LOOKUP_VIEW_LOCAL_INFORMATION: ::ACCESS_MASK = 0x00000001; +pub const LOOKUP_TRANSLATE_NAMES: ::ACCESS_MASK = 0x00000800; +ENUM!{enum LSA_LOOKUP_DOMAIN_INFO_CLASS { + AccountDomainInformation = 5, + DnsDomainInformation = 12, +}} +pub type PLSA_LOOKUP_DOMAIN_INFO_CLASS = *mut LSA_LOOKUP_DOMAIN_INFO_CLASS; +pub type LSA_LOOKUP_HANDLE = ::PVOID; +pub type PLSA_LOOKUP_HANDLE = *mut ::PVOID; diff --git a/third_party/rust/winapi-0.2.8/src/macros.rs b/third_party/rust/winapi-0.2.8/src/macros.rs new file mode 100644 index 0000000000..0bbd6aabff --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/macros.rs @@ -0,0 +1,270 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Macros to make things easier to define +macro_rules! DECLARE_HANDLE { + ($name:ident, $inner:ident) => { + #[allow(missing_copy_implementations)] pub enum $inner { } + pub type $name = *mut $inner; + }; +} +macro_rules! MAKE_HRESULT { + ($sev:expr, $fac:expr, $code:expr) => { + ($sev << 31) | ($fac << 16) | $code + } +} +macro_rules! MAKE_SCODE { + ($sev:expr, $fac:expr, $code:expr) => { + ($sev << 31) | ($fac << 16) | $code + } +} +macro_rules! HIDP_ERROR_CODES { + ($sev:expr, $code:expr) => { + ($sev << 28) | (::FACILITY_HID_ERROR_CODE << 16) | $code + } +} +macro_rules! MAKEFOURCC { + ($a:expr, $b:expr, $c:expr, $d:expr) => { + ($a as i32) | (($b as i32) << 8) | (($c as i32) << 16) | (($d as i32) << 24) + } +} +#[macro_export] +macro_rules! DEFINE_GUID { + ( + $name:ident, $l:expr, $w1:expr, $w2:expr, $b1:expr, $b2:expr, $b3:expr, $b4:expr, $b5:expr, + $b6:expr, $b7:expr, $b8:expr + ) => { + pub const $name: $crate::GUID = $crate::GUID { + Data1: $l, + Data2: $w1, + Data3: $w2, + Data4: [$b1, $b2, $b3, $b4, $b5, $b6, $b7, $b8], + }; + } +} +macro_rules! CTL_CODE { + ($DeviceType:expr, $Function:expr, $Method:expr, $Access:expr) => { + ($DeviceType << 16) | ($Access << 14) | ($Function << 2) | $Method + } +} +macro_rules! HID_CTL_CODE { + ($id:expr) => { + CTL_CODE!(::FILE_DEVICE_KEYBOARD, $id, ::METHOD_NEITHER, ::FILE_ANY_ACCESS) + } +} +macro_rules! HID_BUFFER_CTL_CODE { + ($id:expr) => { + CTL_CODE!(::FILE_DEVICE_KEYBOARD, $id, ::METHOD_BUFFERED, ::FILE_ANY_ACCESS) + } +} +macro_rules! HID_IN_CTL_CODE { + ($id:expr) => { + CTL_CODE!(::FILE_DEVICE_KEYBOARD, $id, ::METHOD_IN_DIRECT, ::FILE_ANY_ACCESS) + } +} +macro_rules! HID_OUT_CTL_CODE { + ($id:expr) => { + CTL_CODE!(::FILE_DEVICE_KEYBOARD, $id, ::METHOD_OUT_DIRECT, ::FILE_ANY_ACCESS) + } +} +macro_rules! AUDCLNT_ERR { + ($n:expr) => { + MAKE_HRESULT!(::SEVERITY_ERROR, ::FACILITY_AUDCLNT, $n) + }; +} +macro_rules! AUDCLNT_SUCCESS { + ($n:expr) => { + MAKE_SCODE!(::SEVERITY_SUCCESS, ::FACILITY_AUDCLNT, $n) + }; +} +macro_rules! BCRYPT_MAKE_INTERFACE_VERSION { + ($major:expr, $minor:expr) => { + ::BCRYPT_INTERFACE_VERSION { MajorVersion: $major, MinorVersion: $minor } + } +} +#[macro_export] +macro_rules! RIDL { + (interface $interface:ident ($vtbl:ident) + {$( + fn $method:ident(&mut self $(,$p:ident : $t:ty)*) -> $rtr:ty + ),+} + ) => { + #[repr(C)] #[allow(missing_copy_implementations)] + pub struct $vtbl { + $(pub $method: unsafe extern "system" fn( + This: *mut $interface + $(,$p: $t)* + ) -> $rtr),+ + } + #[repr(C)] #[derive(Debug)] #[allow(missing_copy_implementations)] + pub struct $interface { + pub lpVtbl: *const $vtbl + } + impl $interface { + #[inline] + $(pub unsafe fn $method(&mut self $(,$p: $t)*) -> $rtr { + ((*self.lpVtbl).$method)(self $(,$p)*) + })+ + } + }; + (interface $interface:ident ($vtbl:ident) : $pinterface:ident ($pvtbl:ident) { + }) => { + #[repr(C)] #[allow(missing_copy_implementations)] + pub struct $vtbl { + pub parent: $crate::$pvtbl + } + #[repr(C)] #[derive(Debug)] #[allow(missing_copy_implementations)] + pub struct $interface { + pub lpVtbl: *const $vtbl + } + impl ::std::ops::Deref for $interface { + type Target = $crate::$pinterface; + #[inline] + fn deref(&self) -> &$crate::$pinterface { + unsafe { ::std::mem::transmute(self) } + } + } + impl ::std::ops::DerefMut for $interface { + #[inline] + fn deref_mut(&mut self) -> &mut $crate::$pinterface { + unsafe { ::std::mem::transmute(self) } + } + } + }; + (interface $interface:ident ($vtbl:ident) : $pinterface:ident ($pvtbl:ident) + {$( + fn $method:ident(&mut self $(,$p:ident : $t:ty)*) -> $rtr:ty + ),+} + ) => { + #[repr(C)] #[allow(missing_copy_implementations)] + pub struct $vtbl { + pub parent: $crate::$pvtbl + $(,pub $method: unsafe extern "system" fn( + This: *mut $interface + $(,$p: $t)* + ) -> $rtr)+ + } + #[repr(C)] #[derive(Debug)] #[allow(missing_copy_implementations)] + pub struct $interface { + pub lpVtbl: *const $vtbl + } + impl $interface { + #[inline] + $(pub unsafe fn $method(&mut self $(,$p: $t)*) -> $rtr { + ((*self.lpVtbl).$method)(self $(,$p)*) + })+ + } + impl ::std::ops::Deref for $interface { + type Target = $crate::$pinterface; + #[inline] + fn deref(&self) -> &$crate::$pinterface { + unsafe { ::std::mem::transmute(self) } + } + } + impl ::std::ops::DerefMut for $interface { + #[inline] + fn deref_mut(&mut self) -> &mut $crate::$pinterface { + unsafe { ::std::mem::transmute(self) } + } + } + }; +} +macro_rules! UNION { + ($base:ident, $field:ident, $variant:ident, $variantmut:ident, $fieldtype:ty) => { + impl $base { + #[inline] + pub unsafe fn $variant(&self) -> &$fieldtype { + ::std::mem::transmute(&self.$field) + } + #[inline] + pub unsafe fn $variantmut(&mut self) -> &mut $fieldtype { + ::std::mem::transmute(&mut self.$field) + } + } + } +} +macro_rules! BITFIELD { + ($base:ident $field:ident: $fieldtype:ty [ + $($thing:ident $set_thing:ident[$r:expr],)+ + ]) => { + impl $base {$( + #[inline] + pub fn $thing(&self) -> $fieldtype { + let size = ::std::mem::size_of::<$fieldtype>() * 8; + self.$field << (size - $r.end) >> (size - $r.end + $r.start) + } + #[inline] + pub fn $set_thing(&mut self, val: $fieldtype) { + let mask = ((1 << ($r.end - $r.start)) - 1) << $r.start; + self.$field &= !mask; + self.$field |= (val << $r.start) & mask; + } + )+} + } +} +#[macro_export] +macro_rules! ENUM { + {enum $name:ident { $($variant:ident = $value:expr,)+ }} => { + #[repr(C)] #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] + pub struct $name(pub u32); + $(pub const $variant: $name = $name($value);)+ + }; + {enum $name:ident { $variant:ident = $value:expr, $($rest:tt)* }} => { + #[repr(C)] #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] + pub struct $name(pub u32); + pub const $variant: $name = $name($value); + ENUM!{@gen $name, $variant, $($rest)*} + }; + {enum $name:ident { $variant:ident, $($rest:tt)* }} => { + ENUM!{enum $name { $variant = 0, $($rest)* }} + }; + {@gen $name:ident, $base:ident,} => {}; + {@gen $name:ident, $base:ident, $variant:ident = $value:expr, $($rest:tt)*} => { + pub const $variant: $name = $name($value); + ENUM!{@gen $name, $variant, $($rest)*} + }; + {@gen $name:ident, $base:ident, $variant:ident, $($rest:tt)*} => { + pub const $variant: $name = $name($base.0 + 1u32); + ENUM!{@gen $name, $variant, $($rest)*} + }; +} +macro_rules! FLAGS { + {enum $name:ident { $($variant:ident = $value:expr,)+ }} => { + #[repr(C)] #[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)] + pub struct $name(pub u32); + $(pub const $variant: $name = $name($value);)+ + impl ::std::ops::BitAnd<$name> for $name { + type Output = $name; + fn bitand(self, o: $name) -> $name { $name(self.0 & o.0) } + } + impl ::std::ops::BitOr<$name> for $name { + type Output = $name; + fn bitor(self, o: $name) -> $name { $name(self.0 | o.0) } + } + impl ::std::ops::BitXor<$name> for $name { + type Output = $name; + fn bitxor(self, o: $name) -> $name { $name(self.0 ^ o.0) } + } + impl ::std::ops::Not for $name { + type Output = $name; + fn not(self) -> $name { $name(!self.0) } + } + } +} +macro_rules! STRUCT { + {$(#[$attrs:meta])* nodebug struct $name:ident { $($field:ident: $ftype:ty,)+ }} => { + #[repr(C)] $(#[$attrs])* + pub struct $name { + $(pub $field: $ftype,)+ + } + impl Copy for $name {} + impl Clone for $name { fn clone(&self) -> $name { *self } } + }; + {$(#[$attrs:meta])* struct $name:ident { $($field:ident: $ftype:ty,)+ }} => { + #[repr(C)] #[derive(Debug)] $(#[$attrs])* + pub struct $name { + $(pub $field: $ftype,)+ + } + impl Copy for $name {} + impl Clone for $name { fn clone(&self) -> $name { *self } } + }; +} diff --git a/third_party/rust/winapi-0.2.8/src/memoryapi.rs b/third_party/rust/winapi-0.2.8/src/memoryapi.rs new file mode 100644 index 0000000000..30cefea5a6 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/memoryapi.rs @@ -0,0 +1,19 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! ApiSet Contract for api-ms-win-core-memory-l1-1-0 +pub const FILE_MAP_WRITE: ::DWORD = ::SECTION_MAP_WRITE; +pub const FILE_MAP_READ: ::DWORD = ::SECTION_MAP_READ; +pub const FILE_MAP_ALL_ACCESS: ::DWORD = ::SECTION_ALL_ACCESS; +pub const FILE_MAP_EXECUTE: ::DWORD = ::SECTION_MAP_EXECUTE_EXPLICIT; +pub const FILE_MAP_COPY: ::DWORD = 0x00000001; +pub const FILE_MAP_RESERVE: ::DWORD = 0x80000000; +ENUM!{enum MEMORY_RESOURCE_NOTIFICATION_TYPE { + LowMemoryResourceNotification, + HighMemoryResourceNotification, +}} +STRUCT!{struct WIN32_MEMORY_RANGE_ENTRY { + VirtualAddress: ::PVOID, + NumberOfBytes: ::SIZE_T, +}} +pub type PWIN32_MEMORY_RANGE_ENTRY = *mut WIN32_MEMORY_RANGE_ENTRY; +pub type PBAD_MEMORY_CALLBACK_ROUTINE = Option<unsafe extern "system" fn()>; diff --git a/third_party/rust/winapi-0.2.8/src/minschannel.rs b/third_party/rust/winapi-0.2.8/src/minschannel.rs new file mode 100644 index 0000000000..828f1be6a7 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/minschannel.rs @@ -0,0 +1,56 @@ +// Copyright © 2015, Peter Atashian
+// Licensed under the MIT License <LICENSE.md>
+//! Public Definitions for MIN SCHANNEL Security Provider
+
+pub const SECPKG_ATTR_ISSUER_LIST: ::DWORD = 0x50;
+pub const SECPKG_ATTR_REMOTE_CRED: ::DWORD = 0x51;
+pub const SECPKG_ATTR_LOCAL_CRED: ::DWORD = 0x52;
+pub const SECPKG_ATTR_REMOTE_CERT_CONTEXT: ::DWORD = 0x53;
+pub const SECPKG_ATTR_LOCAL_CERT_CONTEXT: ::DWORD = 0x54;
+pub const SECPKG_ATTR_ROOT_STORE: ::DWORD = 0x55;
+pub const SECPKG_ATTR_SUPPORTED_ALGS: ::DWORD = 0x56;
+pub const SECPKG_ATTR_CIPHER_STRENGTHS: ::DWORD = 0x57;
+pub const SECPKG_ATTR_SUPPORTED_PROTOCOLS: ::DWORD = 0x58;
+pub const SECPKG_ATTR_ISSUER_LIST_EX: ::DWORD = 0x59;
+pub const SECPKG_ATTR_CONNECTION_INFO: ::DWORD = 0x5a;
+pub const SECPKG_ATTR_EAP_KEY_BLOCK: ::DWORD = 0x5b;
+pub const SECPKG_ATTR_MAPPED_CRED_ATTR: ::DWORD = 0x5c;
+pub const SECPKG_ATTR_SESSION_INFO: ::DWORD = 0x5d;
+pub const SECPKG_ATTR_APP_DATA: ::DWORD = 0x5e;
+pub const SECPKG_ATTR_REMOTE_CERTIFICATES: ::DWORD = 0x5F;
+pub const SECPKG_ATTR_CLIENT_CERT_POLICY: ::DWORD = 0x60;
+pub const SECPKG_ATTR_CC_POLICY_RESULT: ::DWORD = 0x61;
+pub const SECPKG_ATTR_USE_NCRYPT: ::DWORD = 0x62;
+pub const SECPKG_ATTR_LOCAL_CERT_INFO: ::DWORD = 0x63;
+pub const SECPKG_ATTR_CIPHER_INFO: ::DWORD = 0x64;
+pub const SECPKG_ATTR_EAP_PRF_INFO: ::DWORD = 0x65;
+pub const SECPKG_ATTR_SUPPORTED_SIGNATURES: ::DWORD = 0x66;
+pub const SECPKG_ATTR_REMOTE_CERT_CHAIN: ::DWORD = 0x67;
+pub const SECPKG_ATTR_UI_INFO: ::DWORD = 0x68;
+pub const SECPKG_ATTR_EARLY_START: ::DWORD = 0x69;
+
+STRUCT!{struct SecPkgCred_SupportedAlgs {
+ cSupportedAlgs: ::DWORD,
+ palgSupportedAlgs: ::ALG_ID,
+}}
+
+STRUCT!{struct SecPkgCred_CipherStrengths {
+ dwMinimumCipherStrength: ::DWORD,
+ dwMaximumCipherStrength: ::DWORD,
+}}
+
+STRUCT!{struct SecPkgCred_SupportedProtocols {
+ grbitProtocol: ::DWORD,
+}}
+
+STRUCT!{struct SecPkgCred_ClientCertPolicy {
+ dwFlags: ::DWORD,
+ guidPolicyId: ::GUID,
+ dwCertFlags: ::DWORD,
+ dwUrlRetrievalTimeout: ::DWORD,
+ fCheckRevocationFreshnessTime: ::BOOL,
+ dwRevocationFreshnessTime: ::DWORD,
+ fOmitUsageCheck: ::BOOL,
+ pwszSslCtlStoreName: ::LPWSTR,
+ pwszSslCtlIdentifier: ::LPWSTR,
+}}
\ No newline at end of file diff --git a/third_party/rust/winapi-0.2.8/src/minwinbase.rs b/third_party/rust/winapi-0.2.8/src/minwinbase.rs new file mode 100644 index 0000000000..f6317fa254 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/minwinbase.rs @@ -0,0 +1,253 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! This module defines the 32-Bit Windows Base APIs +STRUCT!{struct SECURITY_ATTRIBUTES { + nLength: ::DWORD, + lpSecurityDescriptor: ::LPVOID, + bInheritHandle: ::BOOL, +}} +pub type PSECURITY_ATTRIBUTES = *mut SECURITY_ATTRIBUTES; +pub type LPSECURITY_ATTRIBUTES = *mut SECURITY_ATTRIBUTES; +STRUCT!{struct OVERLAPPED { + Internal: ::ULONG_PTR, + InternalHigh: ::ULONG_PTR, + Offset: ::DWORD, + OffsetHigh: ::DWORD, + hEvent: ::HANDLE, +}} +UNION!(OVERLAPPED, Offset, Pointer, Pointer_mut, ::PVOID); +pub type LPOVERLAPPED = *mut OVERLAPPED; +STRUCT!{struct OVERLAPPED_ENTRY { + lpCompletionKey: ::ULONG_PTR, + lpOverlapped: LPOVERLAPPED, + Internal: ::ULONG_PTR, + dwNumberOfBytesTransferred: ::DWORD, +}} +pub type LPOVERLAPPED_ENTRY = *mut OVERLAPPED_ENTRY; +STRUCT!{struct SYSTEMTIME { + wYear: ::WORD, + wMonth: ::WORD, + wDayOfWeek: ::WORD, + wDay: ::WORD, + wHour: ::WORD, + wMinute: ::WORD, + wSecond: ::WORD, + wMilliseconds: ::WORD, +}} +pub type PSYSTEMTIME = *mut SYSTEMTIME; +pub type LPSYSTEMTIME = *mut SYSTEMTIME; +STRUCT!{nodebug struct WIN32_FIND_DATAA { + dwFileAttributes: ::DWORD, + ftCreationTime: ::FILETIME, + ftLastAccessTime: ::FILETIME, + ftLastWriteTime: ::FILETIME, + nFileSizeHigh: ::DWORD, + nFileSizeLow: ::DWORD, + dwReserved0: ::DWORD, + dwReserved1: ::DWORD, + cFileName: [::CHAR; ::MAX_PATH], + cAlternateFileName: [::CHAR; 14], +}} +pub type PWIN32_FIND_DATAA = *mut WIN32_FIND_DATAA; +pub type LPWIN32_FIND_DATAA = *mut WIN32_FIND_DATAA; +STRUCT!{nodebug struct WIN32_FIND_DATAW { + dwFileAttributes: ::DWORD, + ftCreationTime: ::FILETIME, + ftLastAccessTime: ::FILETIME, + ftLastWriteTime: ::FILETIME, + nFileSizeHigh: ::DWORD, + nFileSizeLow: ::DWORD, + dwReserved0: ::DWORD, + dwReserved1: ::DWORD, + cFileName: [::WCHAR; ::MAX_PATH], + cAlternateFileName: [::WCHAR; 14], +}} +pub type PWIN32_FIND_DATAW = *mut WIN32_FIND_DATAW; +pub type LPWIN32_FIND_DATAW = *mut WIN32_FIND_DATAW; +ENUM!{enum FINDEX_INFO_LEVELS { + FindExInfoStandard, + FindExInfoBasic, + FindExInfoMaxInfoLevel, +}} +pub const FIND_FIRST_EX_CASE_SENSITIVE: ::DWORD = 0x00000001; +pub const FIND_FIRST_EX_LARGE_FETCH: ::DWORD = 0x00000002; +ENUM!{enum FINDEX_SEARCH_OPS { + FindExSearchNameMatch, + FindExSearchLimitToDirectories, + FindExSearchLimitToDevices, + FindExSearchMaxSearchOp, +}} +ENUM!{enum GET_FILEEX_INFO_LEVELS { + GetFileExInfoStandard, + GetFileExMaxInfoLevel, +}} +ENUM!{enum FILE_INFO_BY_HANDLE_CLASS { + FileBasicInfo, + FileStandardInfo, + FileNameInfo, + FileRenameInfo, + FileDispositionInfo, + FileAllocationInfo, + FileEndOfFileInfo, + FileStreamInfo, + FileCompressionInfo, + FileAttributeTagInfo, + FileIdBothDirectoryInfo, + FileIdBothDirectoryRestartInfo, + FileIoPriorityHintInfo, + FileRemoteProtocolInfo, + FileFullDirectoryInfo, + FileFullDirectoryRestartInfo, + FileStorageInfo, + FileAlignmentInfo, + FileIdInfo, + FileIdExtdDirectoryInfo, + FileIdExtdDirectoryRestartInfo, + MaximumFileInfoByHandleClass, +}} +pub type PFILE_INFO_BY_HANDLE_CLASS = *mut FILE_INFO_BY_HANDLE_CLASS; +pub type CRITICAL_SECTION = ::RTL_CRITICAL_SECTION; +pub type PCRITICAL_SECTION = ::PRTL_CRITICAL_SECTION; +pub type LPCRITICAL_SECTION = ::PRTL_CRITICAL_SECTION; +pub type CRITICAL_SECTION_DEBUG = ::RTL_CRITICAL_SECTION_DEBUG; +pub type PCRITICAL_SECTION_DEBUG = ::PRTL_CRITICAL_SECTION_DEBUG; +pub type LPCRITICAL_SECTION_DEBUG = ::PRTL_CRITICAL_SECTION_DEBUG; +pub type LPOVERLAPPED_COMPLETION_ROUTINE = Option<unsafe extern "system" fn( + dwErrorCode: ::DWORD, dwNumberOfBytesTransfered: ::DWORD, lpOverlapped: LPOVERLAPPED, +)>; +pub const LOCKFILE_FAIL_IMMEDIATELY: ::DWORD = 0x00000001; +pub const LOCKFILE_EXCLUSIVE_LOCK: ::DWORD = 0x00000002; +STRUCT!{struct PROCESS_HEAP_ENTRY_Block { + hMem: ::HANDLE, + dwReserved: [::DWORD; 3], +}} +STRUCT!{struct PROCESS_HEAP_ENTRY_Region { + dwCommittedSize: ::DWORD, + dwUnCommittedSize: ::DWORD, + lpFirstBlock: ::LPVOID, + lpLastBlock: ::LPVOID, +}} +STRUCT!{struct PROCESS_HEAP_ENTRY { + lpData: ::PVOID, + cbData: ::DWORD, + cbOverhead: ::BYTE, + iRegionIndex: ::BYTE, + wFlags: ::WORD, + Region: PROCESS_HEAP_ENTRY_Region, +}} +UNION!(PROCESS_HEAP_ENTRY, Region, Block, Block_mut, PROCESS_HEAP_ENTRY_Block); +pub type LPPROCESS_HEAP_ENTRY = *mut PROCESS_HEAP_ENTRY; +pub type PPROCESS_HEAP_ENTRY = *mut PROCESS_HEAP_ENTRY; +pub const PROCESS_HEAP_REGION: ::WORD = 0x0001; +pub const PROCESS_HEAP_UNCOMMITTED_RANGE: ::WORD = 0x0002; +pub const PROCESS_HEAP_ENTRY_BUSY: ::WORD = 0x0004; +pub const PROCESS_HEAP_SEG_ALLOC: ::WORD = 0x0008; +pub const PROCESS_HEAP_ENTRY_MOVEABLE: ::WORD = 0x0010; +pub const PROCESS_HEAP_ENTRY_DDESHARE: ::WORD = 0x0020; +pub type PTHREAD_START_ROUTINE = Option<unsafe extern "system" fn( + lpThreadParameter: ::LPVOID, +) -> ::DWORD>; +pub type LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE; +pub type LPCONTEXT = ::PCONTEXT; +STRUCT!{struct REASON_CONTEXT_Detailed { + LocalizedReasonModule: ::HMODULE, + LocalizedReasonId: ::ULONG, + ReasonStringCount: ::ULONG, + ReasonStrings: *mut ::LPWSTR, +}} +STRUCT!{struct REASON_CONTEXT { + Version: ::ULONG, + Flags: ::DWORD, + Reason: REASON_CONTEXT_Detailed, +}} +UNION!(REASON_CONTEXT, Reason, SimpleReasonString, SimpleReasonString_mut, ::LPWSTR); +pub type PREASON_CONTEXT = *mut REASON_CONTEXT; +pub const EXCEPTION_DEBUG_EVENT: ::DWORD = 1; +pub const CREATE_THREAD_DEBUG_EVENT: ::DWORD = 2; +pub const CREATE_PROCESS_DEBUG_EVENT: ::DWORD = 3; +pub const EXIT_THREAD_DEBUG_EVENT: ::DWORD = 4; +pub const EXIT_PROCESS_DEBUG_EVENT: ::DWORD = 5; +pub const LOAD_DLL_DEBUG_EVENT: ::DWORD = 6; +pub const UNLOAD_DLL_DEBUG_EVENT: ::DWORD = 7; +pub const OUTPUT_DEBUG_STRING_EVENT: ::DWORD = 8; +pub const RIP_EVENT: ::DWORD = 9; +STRUCT!{struct EXCEPTION_DEBUG_INFO { + ExceptionRecord: ::EXCEPTION_RECORD, + dwFirstChance: ::DWORD, +}} +pub type LPEXCEPTION_DEBUG_INFO = *mut EXCEPTION_DEBUG_INFO; +STRUCT!{nodebug struct CREATE_THREAD_DEBUG_INFO { + hThread: ::HANDLE, + lpThreadLocalBase: ::LPVOID, + lpStartAddress: LPTHREAD_START_ROUTINE, +}} +pub type LPCREATE_THREAD_DEBUG_INFO = *mut CREATE_THREAD_DEBUG_INFO; +STRUCT!{nodebug struct CREATE_PROCESS_DEBUG_INFO { + hFile: ::HANDLE, + hProcess: ::HANDLE, + hThread: ::HANDLE, + lpBaseOfImage: ::LPVOID, + dwDebugInfoFileOffset: ::DWORD, + nDebugInfoSize: ::DWORD, + lpThreadLocalBase: ::LPVOID, + lpStartAddress: LPTHREAD_START_ROUTINE, + lpImageName: ::LPVOID, + fUnicode: ::WORD, +}} +pub type LPCREATE_PROCESS_DEBUG_INFO = *mut CREATE_PROCESS_DEBUG_INFO; +STRUCT!{struct EXIT_THREAD_DEBUG_INFO { + dwExitCode: ::DWORD, +}} +pub type LPEXIT_THREAD_DEBUG_INFO = *mut EXIT_THREAD_DEBUG_INFO; +STRUCT!{struct EXIT_PROCESS_DEBUG_INFO { + dwExitCode: ::DWORD, +}} +pub type LPEXIT_PROCESS_DEBUG_INFO = *mut EXIT_PROCESS_DEBUG_INFO; +STRUCT!{struct LOAD_DLL_DEBUG_INFO { + hFile: ::HANDLE, + lpBaseOfDll: ::LPVOID, + dwDebugInfoFileOffset: ::DWORD, + nDebugInfoSize: ::DWORD, + lpImageName: ::LPVOID, + fUnicode: ::WORD, +}} +pub type LPLOAD_DLL_DEBUG_INFO = *mut LOAD_DLL_DEBUG_INFO; +STRUCT!{struct UNLOAD_DLL_DEBUG_INFO { + lpBaseOfDll: ::LPVOID, +}} +pub type LPUNLOAD_DLL_DEBUG_INFO = *mut UNLOAD_DLL_DEBUG_INFO; +STRUCT!{struct OUTPUT_DEBUG_STRING_INFO { + lpDebugStringData: ::LPSTR, + fUnicode: ::WORD, + nDebugStringLength: ::WORD, +}} +pub type LPOUTPUT_DEBUG_STRING_INFO = *mut OUTPUT_DEBUG_STRING_INFO; +STRUCT!{struct RIP_INFO { + dwError: ::DWORD, + dwType: ::DWORD, +}} +pub type LPRIP_INFO = *mut RIP_INFO; +#[cfg(target_arch="x86_64")] +STRUCT!{nodebug struct DEBUG_EVENT { + dwDebugEventCode: ::DWORD, + dwProcessId: ::DWORD, + dwThreadId: ::DWORD, + u: [u8; 160], +}} +#[cfg(target_arch="x86")] +STRUCT!{nodebug struct DEBUG_EVENT { + dwDebugEventCode: ::DWORD, + dwProcessId: ::DWORD, + dwThreadId: ::DWORD, + u: [u8; 84], +}} +UNION!(DEBUG_EVENT, u, Exception, Exception_mut, EXCEPTION_DEBUG_INFO); +UNION!(DEBUG_EVENT, u, CreateThread, CreateThread_mut, CREATE_THREAD_DEBUG_INFO); +UNION!(DEBUG_EVENT, u, CreateProcessInfo, CreateProcessInfo_mut, CREATE_PROCESS_DEBUG_INFO); +UNION!(DEBUG_EVENT, u, ExitThread, ExitThread_mut, EXIT_THREAD_DEBUG_INFO); +UNION!(DEBUG_EVENT, u, ExitProcess, ExitProcess_mut, EXIT_PROCESS_DEBUG_INFO); +UNION!(DEBUG_EVENT, u, LoadDll, LoadDll_mut, LOAD_DLL_DEBUG_INFO); +UNION!(DEBUG_EVENT, u, UnloadDll, UnloadDll_mut, UNLOAD_DLL_DEBUG_INFO); +UNION!(DEBUG_EVENT, u, DebugString, DebugString_mut, OUTPUT_DEBUG_STRING_INFO); +UNION!(DEBUG_EVENT, u, RipInfo, RipInfo_mut, RIP_INFO); +pub type LPDEBUG_EVENT = *mut DEBUG_EVENT; diff --git a/third_party/rust/winapi-0.2.8/src/minwindef.rs b/third_party/rust/winapi-0.2.8/src/minwindef.rs new file mode 100644 index 0000000000..a5ed01771e --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/minwindef.rs @@ -0,0 +1,89 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Basic Windows Type Definitions for minwin partition +pub type ULONG = ::c_ulong; +pub type PULONG = *mut ULONG; +pub type USHORT = ::c_ushort; +pub type PUSHORT = *mut USHORT; +pub type UCHAR = ::c_uchar; +pub type PUCHAR = *mut UCHAR; +pub type PSZ = *mut ::c_char; +pub const MAX_PATH: usize = 260; +pub const FALSE: BOOL = 0; +pub const TRUE: BOOL = 1; +pub type DWORD = ::c_ulong; +pub type BOOL = ::c_int; +pub type BYTE = ::c_uchar; +pub type WORD = ::c_ushort; +pub type FLOAT = ::c_float; +pub type PFLOAT = *mut FLOAT; +pub type PBOOL = *mut BOOL; +pub type LPBOOL = *mut BOOL; +pub type PBYTE = *mut BYTE; +pub type LPBYTE = *mut BYTE; +pub type PINT = *mut ::c_int; +pub type LPINT = *mut ::c_int; +pub type PWORD = *mut WORD; +pub type LPWORD = *mut WORD; +pub type LPLONG = *mut ::c_long; +pub type PDWORD = *mut DWORD; +pub type LPDWORD = *mut DWORD; +pub type LPVOID = *mut ::c_void; +pub type LPCVOID = *const ::c_void; +pub type INT = ::c_int; +pub type UINT = ::c_uint; +pub type PUINT = *mut ::c_uint; +pub type WPARAM = ::UINT_PTR; +pub type LPARAM = ::LONG_PTR; +pub type LRESULT = ::LONG_PTR; +pub fn MAKEWORD(a: BYTE, b: BYTE) -> WORD { + (a as WORD) | ((b as WORD) << 8) +} +pub fn MAKELONG(a: WORD, b: WORD) -> ::LONG { + ((a as DWORD) | ((b as DWORD) << 16)) as ::LONG +} +pub fn LOWORD(l: DWORD) -> WORD { + (l & 0xffff) as WORD +} +pub fn HIWORD(l: DWORD) -> WORD { + ((l >> 16) & 0xffff) as WORD +} +pub fn LOBYTE(l: WORD) -> BYTE { + (l & 0xff) as BYTE +} +pub fn HIBYTE(l: WORD) -> BYTE { + ((l >> 8) & 0xff) as BYTE +} +pub type SPHANDLE = *mut ::HANDLE; +pub type LPHANDLE = *mut ::HANDLE; +pub type HGLOBAL = ::HANDLE; +pub type HLOCAL = ::HANDLE; +pub type GLOBALHANDLE = ::HANDLE; +pub type LOCALHANDLE = ::HANDLE; +/// Pointer to probably a function with unknown type signature. +pub type FARPROC = *const ::c_void; +/// Pointer to probably a function with unknown type signature. +pub type NEARPROC = *const ::c_void; +/// Pointer to probably a function with unknown type signature. +pub type PROC = *const ::c_void; +pub type ATOM = WORD; +DECLARE_HANDLE!(HKEY, HKEY__); +pub type PHKEY = *mut HKEY; +DECLARE_HANDLE!(HMETAFILE, HMETAFILE__); +DECLARE_HANDLE!(HINSTANCE, HINSTANCE__); +pub type HMODULE = HINSTANCE; +DECLARE_HANDLE!(HRGN, HRGN__); +DECLARE_HANDLE!(HRSRC, HRSRC__); +DECLARE_HANDLE!(HSPRITE, HSPRITE__); +DECLARE_HANDLE!(HLSURF, HLSURF__); +DECLARE_HANDLE!(HSTR, HSTR__); +DECLARE_HANDLE!(HTASK, HTASK__); +DECLARE_HANDLE!(HWINSTA, HWINSTA__); +DECLARE_HANDLE!(HKL, HKL__); +pub type HFILE = ::c_int; +STRUCT!{struct FILETIME { + dwLowDateTime: DWORD, + dwHighDateTime: DWORD, +}} +pub type PFILETIME = *mut FILETIME; +pub type LPFILETIME = *mut FILETIME; diff --git a/third_party/rust/winapi-0.2.8/src/mmdeviceapi.rs b/third_party/rust/winapi-0.2.8/src/mmdeviceapi.rs new file mode 100644 index 0000000000..9fc85a7d20 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/mmdeviceapi.rs @@ -0,0 +1,63 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! this ALWAYS GENERATED file contains the definitions for the interfaces +pub const DEVICE_STATE_ACTIVE: ::DWORD = 0x00000001; +pub const DEVICE_STATE_DISABLED: ::DWORD = 0x00000002; +pub const DEVICE_STATE_NOTPRESENT: ::DWORD = 0x00000004; +pub const DEVICE_STATE_UNPLUGGED: ::DWORD = 0x00000008; +pub const DEVICE_STATEMASK_ALL: ::DWORD = 0x0000000F; +ENUM!{enum EDataFlow { + eRender, + eCapture, + eAll, + EDataFlow_enum_count, +}} +ENUM!{enum ERole { + eConsole, + eMultimedia, + eCommunications, + ERole_enum_count, +}} +DEFINE_GUID!(CLSID_MMDeviceEnumerator, 0xBCDE0395, 0xE52F, 0x467C, + 0x8E, 0x3D, 0xC4, 0x57, 0x92, 0x91, 0x69, 0x2E); +DEFINE_GUID!(IID_IMMDeviceEnumerator, 0xA95664D2, 0x9614, 0x4F35, + 0xA7, 0x46, 0xDE, 0x8D, 0xB6, 0x36, 0x17, 0xE6); +RIDL!( +interface IMMDevice(IMMDeviceVtbl): IUnknown(IUnknownVtbl) { + fn Activate( + &mut self, iid: ::REFIID, dwClsCtx: ::DWORD, pActivationParams: *mut ::PROPVARIANT, + ppInterface: *mut ::LPVOID + ) -> ::HRESULT, + fn OpenPropertyStore( + &mut self, stgmAccess: ::DWORD, ppProperties: *mut *mut ::IPropertyStore + ) -> ::HRESULT, + fn GetId(&mut self, ppstrId: *mut ::LPWSTR) -> ::HRESULT, + fn GetState(&mut self, pdwState: *mut ::DWORD) -> ::HRESULT +} +); +RIDL!( +interface IMMDeviceEnumerator(IMMDeviceEnumeratorVtbl): IUnknown(IUnknownVtbl) { + fn EnumAudioEndpoints( + &mut self, dataFlow: EDataFlow, dwStateMask: ::DWORD, + ppDevices: *mut *mut IMMDeviceCollection + ) -> ::HRESULT, + fn GetDefaultAudioEndpoint( + &mut self, dataFlow: EDataFlow, role: ERole, ppEndpoint: *mut *mut IMMDevice + ) -> ::HRESULT, + fn GetDevice(&mut self, pwstrId: ::LPCWSTR, ppDevices: *mut *mut IMMDevice) -> ::HRESULT, + fn RegisterEndpointNotificationCallback( + &mut self, pClient: *mut IMMNotificationClient + ) -> ::HRESULT, + fn UnregisterEndpointNotificationCallback( + &mut self, pClient: *mut IMMNotificationClient + ) -> ::HRESULT +} +); +RIDL!( +interface IMMDeviceCollection(IMMDeviceCollectionVtbl): IUnknown(IUnknownVtbl) { + fn GetCount(&mut self, pcDevices: *const ::UINT) -> ::HRESULT, + fn Item(&mut self, nDevice: ::UINT, ppDevice: *mut *mut IMMDevice) -> ::HRESULT +} +); +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IMMNotificationClient; diff --git a/third_party/rust/winapi-0.2.8/src/mmreg.rs b/third_party/rust/winapi-0.2.8/src/mmreg.rs new file mode 100644 index 0000000000..826d96d50b --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/mmreg.rs @@ -0,0 +1,304 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +pub const WAVE_FORMAT_UNKNOWN: ::WORD = 0x0000; +pub const WAVE_FORMAT_PCM: ::WORD = 0x0001; +pub const WAVE_FORMAT_ADPCM: ::WORD = 0x0002; +pub const WAVE_FORMAT_IEEE_FLOAT: ::WORD = 0x0003; +pub const WAVE_FORMAT_VSELP: ::WORD = 0x0004; +pub const WAVE_FORMAT_IBM_CVSD: ::WORD = 0x0005; +pub const WAVE_FORMAT_ALAW: ::WORD = 0x0006; +pub const WAVE_FORMAT_MULAW: ::WORD = 0x0007; +pub const WAVE_FORMAT_DTS: ::WORD = 0x0008; +pub const WAVE_FORMAT_DRM: ::WORD = 0x0009; +pub const WAVE_FORMAT_WMAVOICE9: ::WORD = 0x000A; +pub const WAVE_FORMAT_WMAVOICE10: ::WORD = 0x000B; +pub const WAVE_FORMAT_OKI_ADPCM: ::WORD = 0x0010; +pub const WAVE_FORMAT_DVI_ADPCM: ::WORD = 0x0011; +pub const WAVE_FORMAT_IMA_ADPCM: ::WORD = WAVE_FORMAT_DVI_ADPCM; +pub const WAVE_FORMAT_MEDIASPACE_ADPCM: ::WORD = 0x0012; +pub const WAVE_FORMAT_SIERRA_ADPCM: ::WORD = 0x0013; +pub const WAVE_FORMAT_G723_ADPCM: ::WORD = 0x0014; +pub const WAVE_FORMAT_DIGISTD: ::WORD = 0x0015; +pub const WAVE_FORMAT_DIGIFIX: ::WORD = 0x0016; +pub const WAVE_FORMAT_DIALOGIC_OKI_ADPCM: ::WORD = 0x0017; +pub const WAVE_FORMAT_MEDIAVISION_ADPCM: ::WORD = 0x0018; +pub const WAVE_FORMAT_CU_CODEC: ::WORD = 0x0019; +pub const WAVE_FORMAT_HP_DYN_VOICE: ::WORD = 0x001A; +pub const WAVE_FORMAT_YAMAHA_ADPCM: ::WORD = 0x0020; +pub const WAVE_FORMAT_SONARC: ::WORD = 0x0021; +pub const WAVE_FORMAT_DSPGROUP_TRUESPEECH: ::WORD = 0x0022; +pub const WAVE_FORMAT_ECHOSC1: ::WORD = 0x0023; +pub const WAVE_FORMAT_AUDIOFILE_AF36: ::WORD = 0x0024; +pub const WAVE_FORMAT_APTX: ::WORD = 0x0025; +pub const WAVE_FORMAT_AUDIOFILE_AF10: ::WORD = 0x0026; +pub const WAVE_FORMAT_PROSODY_1612: ::WORD = 0x0027; +pub const WAVE_FORMAT_LRC: ::WORD = 0x0028; +pub const WAVE_FORMAT_DOLBY_AC2: ::WORD = 0x0030; +pub const WAVE_FORMAT_GSM610: ::WORD = 0x0031; +pub const WAVE_FORMAT_MSNAUDIO: ::WORD = 0x0032; +pub const WAVE_FORMAT_ANTEX_ADPCME: ::WORD = 0x0033; +pub const WAVE_FORMAT_CONTROL_RES_VQLPC: ::WORD = 0x0034; +pub const WAVE_FORMAT_DIGIREAL: ::WORD = 0x0035; +pub const WAVE_FORMAT_DIGIADPCM: ::WORD = 0x0036; +pub const WAVE_FORMAT_CONTROL_RES_CR10: ::WORD = 0x0037; +pub const WAVE_FORMAT_NMS_VBXADPCM: ::WORD = 0x0038; +pub const WAVE_FORMAT_CS_IMAADPCM: ::WORD = 0x0039; +pub const WAVE_FORMAT_ECHOSC3: ::WORD = 0x003A; +pub const WAVE_FORMAT_ROCKWELL_ADPCM: ::WORD = 0x003B; +pub const WAVE_FORMAT_ROCKWELL_DIGITALK: ::WORD = 0x003C; +pub const WAVE_FORMAT_XEBEC: ::WORD = 0x003D; +pub const WAVE_FORMAT_G721_ADPCM: ::WORD = 0x0040; +pub const WAVE_FORMAT_G728_CELP: ::WORD = 0x0041; +pub const WAVE_FORMAT_MSG723: ::WORD = 0x0042; +pub const WAVE_FORMAT_INTEL_G723_1: ::WORD = 0x0043; +pub const WAVE_FORMAT_INTEL_G729: ::WORD = 0x0044; +pub const WAVE_FORMAT_SHARP_G726: ::WORD = 0x0045; +pub const WAVE_FORMAT_MPEG: ::WORD = 0x0050; +pub const WAVE_FORMAT_RT24: ::WORD = 0x0052; +pub const WAVE_FORMAT_PAC: ::WORD = 0x0053; +pub const WAVE_FORMAT_MPEGLAYER3: ::WORD = 0x0055; +pub const WAVE_FORMAT_LUCENT_G723: ::WORD = 0x0059; +pub const WAVE_FORMAT_CIRRUS: ::WORD = 0x0060; +pub const WAVE_FORMAT_ESPCM: ::WORD = 0x0061; +pub const WAVE_FORMAT_VOXWARE: ::WORD = 0x0062; +pub const WAVE_FORMAT_CANOPUS_ATRAC: ::WORD = 0x0063; +pub const WAVE_FORMAT_G726_ADPCM: ::WORD = 0x0064; +pub const WAVE_FORMAT_G722_ADPCM: ::WORD = 0x0065; +pub const WAVE_FORMAT_DSAT: ::WORD = 0x0066; +pub const WAVE_FORMAT_DSAT_DISPLAY: ::WORD = 0x0067; +pub const WAVE_FORMAT_VOXWARE_BYTE_ALIGNED: ::WORD = 0x0069; +pub const WAVE_FORMAT_VOXWARE_AC8: ::WORD = 0x0070; +pub const WAVE_FORMAT_VOXWARE_AC10: ::WORD = 0x0071; +pub const WAVE_FORMAT_VOXWARE_AC16: ::WORD = 0x0072; +pub const WAVE_FORMAT_VOXWARE_AC20: ::WORD = 0x0073; +pub const WAVE_FORMAT_VOXWARE_RT24: ::WORD = 0x0074; +pub const WAVE_FORMAT_VOXWARE_RT29: ::WORD = 0x0075; +pub const WAVE_FORMAT_VOXWARE_RT29HW: ::WORD = 0x0076; +pub const WAVE_FORMAT_VOXWARE_VR12: ::WORD = 0x0077; +pub const WAVE_FORMAT_VOXWARE_VR18: ::WORD = 0x0078; +pub const WAVE_FORMAT_VOXWARE_TQ40: ::WORD = 0x0079; +pub const WAVE_FORMAT_VOXWARE_SC3: ::WORD = 0x007A; +pub const WAVE_FORMAT_VOXWARE_SC3_1: ::WORD = 0x007B; +pub const WAVE_FORMAT_SOFTSOUND: ::WORD = 0x0080; +pub const WAVE_FORMAT_VOXWARE_TQ60: ::WORD = 0x0081; +pub const WAVE_FORMAT_MSRT24: ::WORD = 0x0082; +pub const WAVE_FORMAT_G729A: ::WORD = 0x0083; +pub const WAVE_FORMAT_MVI_MVI2: ::WORD = 0x0084; +pub const WAVE_FORMAT_DF_G726: ::WORD = 0x0085; +pub const WAVE_FORMAT_DF_GSM610: ::WORD = 0x0086; +pub const WAVE_FORMAT_ISIAUDIO: ::WORD = 0x0088; +pub const WAVE_FORMAT_ONLIVE: ::WORD = 0x0089; +pub const WAVE_FORMAT_MULTITUDE_FT_SX20: ::WORD = 0x008A; +pub const WAVE_FORMAT_INFOCOM_ITS_G721_ADPCM: ::WORD = 0x008B; +pub const WAVE_FORMAT_CONVEDIA_G729: ::WORD = 0x008C; +pub const WAVE_FORMAT_CONGRUENCY: ::WORD = 0x008D; +pub const WAVE_FORMAT_SBC24: ::WORD = 0x0091; +pub const WAVE_FORMAT_DOLBY_AC3_SPDIF: ::WORD = 0x0092; +pub const WAVE_FORMAT_MEDIASONIC_G723: ::WORD = 0x0093; +pub const WAVE_FORMAT_PROSODY_8KBPS: ::WORD = 0x0094; +pub const WAVE_FORMAT_ZYXEL_ADPCM: ::WORD = 0x0097; +pub const WAVE_FORMAT_PHILIPS_LPCBB: ::WORD = 0x0098; +pub const WAVE_FORMAT_PACKED: ::WORD = 0x0099; +pub const WAVE_FORMAT_MALDEN_PHONYTALK: ::WORD = 0x00A0; +pub const WAVE_FORMAT_RACAL_RECORDER_GSM: ::WORD = 0x00A1; +pub const WAVE_FORMAT_RACAL_RECORDER_G720_A: ::WORD = 0x00A2; +pub const WAVE_FORMAT_RACAL_RECORDER_G723_1: ::WORD = 0x00A3; +pub const WAVE_FORMAT_RACAL_RECORDER_TETRA_ACELP: ::WORD = 0x00A4; +pub const WAVE_FORMAT_NEC_AAC: ::WORD = 0x00B0; +pub const WAVE_FORMAT_RAW_AAC1: ::WORD = 0x00FF; +pub const WAVE_FORMAT_RHETOREX_ADPCM: ::WORD = 0x0100; +pub const WAVE_FORMAT_IRAT: ::WORD = 0x0101; +pub const WAVE_FORMAT_VIVO_G723: ::WORD = 0x0111; +pub const WAVE_FORMAT_VIVO_SIREN: ::WORD = 0x0112; +pub const WAVE_FORMAT_PHILIPS_CELP: ::WORD = 0x0120; +pub const WAVE_FORMAT_PHILIPS_GRUNDIG: ::WORD = 0x0121; +pub const WAVE_FORMAT_DIGITAL_G723: ::WORD = 0x0123; +pub const WAVE_FORMAT_SANYO_LD_ADPCM: ::WORD = 0x0125; +pub const WAVE_FORMAT_SIPROLAB_ACEPLNET: ::WORD = 0x0130; +pub const WAVE_FORMAT_SIPROLAB_ACELP4800: ::WORD = 0x0131; +pub const WAVE_FORMAT_SIPROLAB_ACELP8V3: ::WORD = 0x0132; +pub const WAVE_FORMAT_SIPROLAB_G729: ::WORD = 0x0133; +pub const WAVE_FORMAT_SIPROLAB_G729A: ::WORD = 0x0134; +pub const WAVE_FORMAT_SIPROLAB_KELVIN: ::WORD = 0x0135; +pub const WAVE_FORMAT_VOICEAGE_AMR: ::WORD = 0x0136; +pub const WAVE_FORMAT_G726ADPCM: ::WORD = 0x0140; +pub const WAVE_FORMAT_DICTAPHONE_CELP68: ::WORD = 0x0141; +pub const WAVE_FORMAT_DICTAPHONE_CELP54: ::WORD = 0x0142; +pub const WAVE_FORMAT_QUALCOMM_PUREVOICE: ::WORD = 0x0150; +pub const WAVE_FORMAT_QUALCOMM_HALFRATE: ::WORD = 0x0151; +pub const WAVE_FORMAT_TUBGSM: ::WORD = 0x0155; +pub const WAVE_FORMAT_MSAUDIO1: ::WORD = 0x0160; +pub const WAVE_FORMAT_WMAUDIO2: ::WORD = 0x0161; +pub const WAVE_FORMAT_WMAUDIO3: ::WORD = 0x0162; +pub const WAVE_FORMAT_WMAUDIO_LOSSLESS: ::WORD = 0x0163; +pub const WAVE_FORMAT_WMASPDIF: ::WORD = 0x0164; +pub const WAVE_FORMAT_UNISYS_NAP_ADPCM: ::WORD = 0x0170; +pub const WAVE_FORMAT_UNISYS_NAP_ULAW: ::WORD = 0x0171; +pub const WAVE_FORMAT_UNISYS_NAP_ALAW: ::WORD = 0x0172; +pub const WAVE_FORMAT_UNISYS_NAP_16K: ::WORD = 0x0173; +pub const WAVE_FORMAT_SYCOM_ACM_SYC008: ::WORD = 0x0174; +pub const WAVE_FORMAT_SYCOM_ACM_SYC701_G726L: ::WORD = 0x0175; +pub const WAVE_FORMAT_SYCOM_ACM_SYC701_CELP54: ::WORD = 0x0176; +pub const WAVE_FORMAT_SYCOM_ACM_SYC701_CELP68: ::WORD = 0x0177; +pub const WAVE_FORMAT_KNOWLEDGE_ADVENTURE_ADPCM: ::WORD = 0x0178; +pub const WAVE_FORMAT_FRAUNHOFER_IIS_MPEG2_AAC: ::WORD = 0x0180; +pub const WAVE_FORMAT_DTS_DS: ::WORD = 0x0190; +pub const WAVE_FORMAT_CREATIVE_ADPCM: ::WORD = 0x0200; +pub const WAVE_FORMAT_CREATIVE_FASTSPEECH8: ::WORD = 0x0202; +pub const WAVE_FORMAT_CREATIVE_FASTSPEECH10: ::WORD = 0x0203; +pub const WAVE_FORMAT_UHER_ADPCM: ::WORD = 0x0210; +pub const WAVE_FORMAT_ULEAD_DV_AUDIO: ::WORD = 0x0215; +pub const WAVE_FORMAT_ULEAD_DV_AUDIO_1: ::WORD = 0x0216; +pub const WAVE_FORMAT_QUARTERDECK: ::WORD = 0x0220; +pub const WAVE_FORMAT_ILINK_VC: ::WORD = 0x0230; +pub const WAVE_FORMAT_RAW_SPORT: ::WORD = 0x0240; +pub const WAVE_FORMAT_ESST_AC3: ::WORD = 0x0241; +pub const WAVE_FORMAT_GENERIC_PASSTHRU: ::WORD = 0x0249; +pub const WAVE_FORMAT_IPI_HSX: ::WORD = 0x0250; +pub const WAVE_FORMAT_IPI_RPELP: ::WORD = 0x0251; +pub const WAVE_FORMAT_CS2: ::WORD = 0x0260; +pub const WAVE_FORMAT_SONY_SCX: ::WORD = 0x0270; +pub const WAVE_FORMAT_SONY_SCY: ::WORD = 0x0271; +pub const WAVE_FORMAT_SONY_ATRAC3: ::WORD = 0x0272; +pub const WAVE_FORMAT_SONY_SPC: ::WORD = 0x0273; +pub const WAVE_FORMAT_TELUM_AUDIO: ::WORD = 0x0280; +pub const WAVE_FORMAT_TELUM_IA_AUDIO: ::WORD = 0x0281; +pub const WAVE_FORMAT_NORCOM_VOICE_SYSTEMS_ADPCM: ::WORD = 0x0285; +pub const WAVE_FORMAT_FM_TOWNS_SND: ::WORD = 0x0300; +pub const WAVE_FORMAT_MICRONAS: ::WORD = 0x0350; +pub const WAVE_FORMAT_MICRONAS_CELP833: ::WORD = 0x0351; +pub const WAVE_FORMAT_BTV_DIGITAL: ::WORD = 0x0400; +pub const WAVE_FORMAT_INTEL_MUSIC_CODER: ::WORD = 0x0401; +pub const WAVE_FORMAT_INDEO_AUDIO: ::WORD = 0x0402; +pub const WAVE_FORMAT_QDESIGN_MUSIC: ::WORD = 0x0450; +pub const WAVE_FORMAT_ON2_VP7_AUDIO: ::WORD = 0x0500; +pub const WAVE_FORMAT_ON2_VP6_AUDIO: ::WORD = 0x0501; +pub const WAVE_FORMAT_VME_VMPCM: ::WORD = 0x0680; +pub const WAVE_FORMAT_TPC: ::WORD = 0x0681; +pub const WAVE_FORMAT_LIGHTWAVE_LOSSLESS: ::WORD = 0x08AE; +pub const WAVE_FORMAT_OLIGSM: ::WORD = 0x1000; +pub const WAVE_FORMAT_OLIADPCM: ::WORD = 0x1001; +pub const WAVE_FORMAT_OLICELP: ::WORD = 0x1002; +pub const WAVE_FORMAT_OLISBC: ::WORD = 0x1003; +pub const WAVE_FORMAT_OLIOPR: ::WORD = 0x1004; +pub const WAVE_FORMAT_LH_CODEC: ::WORD = 0x1100; +pub const WAVE_FORMAT_LH_CODEC_CELP: ::WORD = 0x1101; +pub const WAVE_FORMAT_LH_CODEC_SBC8: ::WORD = 0x1102; +pub const WAVE_FORMAT_LH_CODEC_SBC12: ::WORD = 0x1103; +pub const WAVE_FORMAT_LH_CODEC_SBC16: ::WORD = 0x1104; +pub const WAVE_FORMAT_NORRIS: ::WORD = 0x1400; +pub const WAVE_FORMAT_ISIAUDIO_2: ::WORD = 0x1401; +pub const WAVE_FORMAT_SOUNDSPACE_MUSICOMPRESS: ::WORD = 0x1500; +pub const WAVE_FORMAT_MPEG_ADTS_AAC: ::WORD = 0x1600; +pub const WAVE_FORMAT_MPEG_RAW_AAC: ::WORD = 0x1601; +pub const WAVE_FORMAT_MPEG_LOAS: ::WORD = 0x1602; +pub const WAVE_FORMAT_NOKIA_MPEG_ADTS_AAC: ::WORD = 0x1608; +pub const WAVE_FORMAT_NOKIA_MPEG_RAW_AAC: ::WORD = 0x1609; +pub const WAVE_FORMAT_VODAFONE_MPEG_ADTS_AAC: ::WORD = 0x160A; +pub const WAVE_FORMAT_VODAFONE_MPEG_RAW_AAC: ::WORD = 0x160B; +pub const WAVE_FORMAT_MPEG_HEAAC: ::WORD = 0x1610; +pub const WAVE_FORMAT_VOXWARE_RT24_SPEECH: ::WORD = 0x181C; +pub const WAVE_FORMAT_SONICFOUNDRY_LOSSLESS: ::WORD = 0x1971; +pub const WAVE_FORMAT_INNINGS_TELECOM_ADPCM: ::WORD = 0x1979; +pub const WAVE_FORMAT_LUCENT_SX8300P: ::WORD = 0x1C07; +pub const WAVE_FORMAT_LUCENT_SX5363S: ::WORD = 0x1C0C; +pub const WAVE_FORMAT_CUSEEME: ::WORD = 0x1F03; +pub const WAVE_FORMAT_NTCSOFT_ALF2CM_ACM: ::WORD = 0x1FC4; +pub const WAVE_FORMAT_DVM: ::WORD = 0x2000; +pub const WAVE_FORMAT_DTS2: ::WORD = 0x2001; +pub const WAVE_FORMAT_MAKEAVIS: ::WORD = 0x3313; +pub const WAVE_FORMAT_DIVIO_MPEG4_AAC: ::WORD = 0x4143; +pub const WAVE_FORMAT_NOKIA_ADAPTIVE_MULTIRATE: ::WORD = 0x4201; +pub const WAVE_FORMAT_DIVIO_G726: ::WORD = 0x4243; +pub const WAVE_FORMAT_LEAD_SPEECH: ::WORD = 0x434C; +pub const WAVE_FORMAT_LEAD_VORBIS: ::WORD = 0x564C; +pub const WAVE_FORMAT_WAVPACK_AUDIO: ::WORD = 0x5756; +pub const WAVE_FORMAT_OGG_VORBIS_MODE_1: ::WORD = 0x674F; +pub const WAVE_FORMAT_OGG_VORBIS_MODE_2: ::WORD = 0x6750; +pub const WAVE_FORMAT_OGG_VORBIS_MODE_3: ::WORD = 0x6751; +pub const WAVE_FORMAT_OGG_VORBIS_MODE_1_PLUS: ::WORD = 0x676F; +pub const WAVE_FORMAT_OGG_VORBIS_MODE_2_PLUS: ::WORD = 0x6770; +pub const WAVE_FORMAT_OGG_VORBIS_MODE_3_PLUS: ::WORD = 0x6771; +pub const WAVE_FORMAT_3COM_NBX: ::WORD = 0x7000; +pub const WAVE_FORMAT_FAAD_AAC: ::WORD = 0x706D; +pub const WAVE_FORMAT_AMR_NB: ::WORD = 0x7361; +pub const WAVE_FORMAT_AMR_WB: ::WORD = 0x7362; +pub const WAVE_FORMAT_AMR_WP: ::WORD = 0x7363; +pub const WAVE_FORMAT_GSM_AMR_CBR: ::WORD = 0x7A21; +pub const WAVE_FORMAT_GSM_AMR_VBR_SID: ::WORD = 0x7A22; +pub const WAVE_FORMAT_COMVERSE_INFOSYS_G723_1: ::WORD = 0xA100; +pub const WAVE_FORMAT_COMVERSE_INFOSYS_AVQSBC: ::WORD = 0xA101; +pub const WAVE_FORMAT_COMVERSE_INFOSYS_SBC: ::WORD = 0xA102; +pub const WAVE_FORMAT_SYMBOL_G729_A: ::WORD = 0xA103; +pub const WAVE_FORMAT_VOICEAGE_AMR_WB: ::WORD = 0xA104; +pub const WAVE_FORMAT_INGENIENT_G726: ::WORD = 0xA105; +pub const WAVE_FORMAT_MPEG4_AAC: ::WORD = 0xA106; +pub const WAVE_FORMAT_ENCORE_G726: ::WORD = 0xA107; +pub const WAVE_FORMAT_ZOLL_ASAO: ::WORD = 0xA108; +pub const WAVE_FORMAT_SPEEX_VOICE: ::WORD = 0xA109; +pub const WAVE_FORMAT_VIANIX_MASC: ::WORD = 0xA10A; +pub const WAVE_FORMAT_WM9_SPECTRUM_ANALYZER: ::WORD = 0xA10B; +pub const WAVE_FORMAT_WMF_SPECTRUM_ANAYZER: ::WORD = 0xA10C; +pub const WAVE_FORMAT_GSM_610: ::WORD = 0xA10D; +pub const WAVE_FORMAT_GSM_620: ::WORD = 0xA10E; +pub const WAVE_FORMAT_GSM_660: ::WORD = 0xA10F; +pub const WAVE_FORMAT_GSM_690: ::WORD = 0xA110; +pub const WAVE_FORMAT_GSM_ADAPTIVE_MULTIRATE_WB: ::WORD = 0xA111; +pub const WAVE_FORMAT_POLYCOM_G722: ::WORD = 0xA112; +pub const WAVE_FORMAT_POLYCOM_G728: ::WORD = 0xA113; +pub const WAVE_FORMAT_POLYCOM_G729_A: ::WORD = 0xA114; +pub const WAVE_FORMAT_POLYCOM_SIREN: ::WORD = 0xA115; +pub const WAVE_FORMAT_GLOBAL_IP_ILBC: ::WORD = 0xA116; +pub const WAVE_FORMAT_RADIOTIME_TIME_SHIFT_RADIO: ::WORD = 0xA117; +pub const WAVE_FORMAT_NICE_ACA: ::WORD = 0xA118; +pub const WAVE_FORMAT_NICE_ADPCM: ::WORD = 0xA119; +pub const WAVE_FORMAT_VOCORD_G721: ::WORD = 0xA11A; +pub const WAVE_FORMAT_VOCORD_G726: ::WORD = 0xA11B; +pub const WAVE_FORMAT_VOCORD_G722_1: ::WORD = 0xA11C; +pub const WAVE_FORMAT_VOCORD_G728: ::WORD = 0xA11D; +pub const WAVE_FORMAT_VOCORD_G729: ::WORD = 0xA11E; +pub const WAVE_FORMAT_VOCORD_G729_A: ::WORD = 0xA11F; +pub const WAVE_FORMAT_VOCORD_G723_1: ::WORD = 0xA120; +pub const WAVE_FORMAT_VOCORD_LBC: ::WORD = 0xA121; +pub const WAVE_FORMAT_NICE_G728: ::WORD = 0xA122; +pub const WAVE_FORMAT_FRACE_TELECOM_G729: ::WORD = 0xA123; +pub const WAVE_FORMAT_CODIAN: ::WORD = 0xA124; +pub const WAVE_FORMAT_FLAC: ::WORD = 0xF1AC; +pub const WAVE_FORMAT_EXTENSIBLE: ::WORD = 0xFFFE; +pub const WAVE_FORMAT_DEVELOPMENT: ::WORD = 0xFFFF; +//2557 +pub const SPEAKER_FRONT_LEFT: ::DWORD = 0x1; +pub const SPEAKER_FRONT_RIGHT: ::DWORD = 0x2; +pub const SPEAKER_FRONT_CENTER: ::DWORD = 0x4; +pub const SPEAKER_LOW_FREQUENCY: ::DWORD = 0x8; +pub const SPEAKER_BACK_LEFT: ::DWORD = 0x10; +pub const SPEAKER_BACK_RIGHT: ::DWORD = 0x20; +pub const SPEAKER_FRONT_LEFT_OF_CENTER: ::DWORD = 0x40; +pub const SPEAKER_FRONT_RIGHT_OF_CENTER: ::DWORD = 0x80; +pub const SPEAKER_BACK_CENTER: ::DWORD = 0x100; +pub const SPEAKER_SIDE_LEFT: ::DWORD = 0x200; +pub const SPEAKER_SIDE_RIGHT: ::DWORD = 0x400; +pub const SPEAKER_TOP_CENTER: ::DWORD = 0x800; +pub const SPEAKER_TOP_FRONT_LEFT: ::DWORD = 0x1000; +pub const SPEAKER_TOP_FRONT_CENTER: ::DWORD = 0x2000; +pub const SPEAKER_TOP_FRONT_RIGHT: ::DWORD = 0x4000; +pub const SPEAKER_TOP_BACK_LEFT: ::DWORD = 0x8000; +pub const SPEAKER_TOP_BACK_CENTER: ::DWORD = 0x10000; +pub const SPEAKER_TOP_BACK_RIGHT: ::DWORD = 0x20000; +pub const SPEAKER_RESERVED: ::DWORD = 0x7FFC0000; +pub const SPEAKER_ALL: ::DWORD = 0x80000000; +STRUCT!{#[repr(packed)] struct WAVEFORMATEX { + wFormatTag: ::WORD, + nChannels: ::WORD, + nSamplesPerSec: ::DWORD, + nAvgBytesPerSec: ::DWORD, + nBlockAlign: ::WORD, + wBitsPerSample: ::WORD, + cbSize: ::WORD, +}} +STRUCT!{#[repr(packed)] struct WAVEFORMATEXTENSIBLE { + Format: ::WAVEFORMATEX, + Samples: ::WORD, + dwChannelMask: ::DWORD, + SubFormat: ::GUID, +}} diff --git a/third_party/rust/winapi-0.2.8/src/mmsystem.rs b/third_party/rust/winapi-0.2.8/src/mmsystem.rs new file mode 100644 index 0000000000..c579edad3f --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/mmsystem.rs @@ -0,0 +1,259 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! MM procedure declarations, constant definitions and macros +//109 (Win 7 SDK) +pub type MMVERSION = ::UINT; +pub type MMRESULT = ::UINT; +STRUCT!{struct MMTIME { + wType: ::UINT, + u: MMTIME_u, +}} +pub type PMMTIME = *mut MMTIME; +pub type NPMMTIME = *mut MMTIME; +pub type LPMMTIME = *mut MMTIME; +STRUCT!{struct MMTIME_u { + data: [u8; 8], +}} +UNION!(MMTIME_u, data, ms, ms_mut, ::DWORD); +UNION!(MMTIME_u, data, sample, sample_mut, ::DWORD); +UNION!(MMTIME_u, data, cb, cb_mut, ::DWORD); +UNION!(MMTIME_u, data, ticks, ticks_mut, ::DWORD); +UNION!(MMTIME_u, data, smpte, smpte_mut, MMTIME_smpte); +UNION!(MMTIME_u, data, midi, midi_mut, MMTIME_midi); +STRUCT!{struct MMTIME_smpte { + hour: ::BYTE, + min: ::BYTE, + sec: ::BYTE, + frame: ::BYTE, + fps: ::BYTE, + dummy: ::BYTE, + pad: [::BYTE; 2], +}} +STRUCT!{struct MMTIME_midi { + songptrpos: ::DWORD, +}} +pub const TIME_MS: ::UINT = 0x0001; +pub const TIME_SAMPLES: ::UINT = 0x0002; +pub const TIME_BYTES: ::UINT = 0x0004; +pub const TIME_SMPTE: ::UINT = 0x0008; +pub const TIME_MIDI: ::UINT = 0x0010; +pub const TIME_TICKS: ::UINT = 0x0020; +pub const MM_JOY1MOVE: ::UINT = 0x3A0; +pub const MM_JOY2MOVE: ::UINT = 0x3A1; +pub const MM_JOY1ZMOVE: ::UINT = 0x3A2; +pub const MM_JOY2ZMOVE: ::UINT = 0x3A3; +pub const MM_JOY1BUTTONDOWN: ::UINT = 0x3B5; +pub const MM_JOY2BUTTONDOWN: ::UINT = 0x3B6; +pub const MM_JOY1BUTTONUP: ::UINT = 0x3B7; +pub const MM_JOY2BUTTONUP: ::UINT = 0x3B8; +pub const MM_MCINOTIFY: ::UINT = 0x3B9; +pub const MM_WOM_OPEN: ::UINT = 0x3BB; +pub const MM_WOM_CLOSE: ::UINT = 0x3BC; +pub const MM_WOM_DONE: ::UINT = 0x3BD; +pub const MM_WIM_OPEN: ::UINT = 0x3BE; +pub const MM_WIM_CLOSE: ::UINT = 0x3BF; +pub const MM_WIM_DATA: ::UINT = 0x3C0; +pub const MM_MIM_OPEN: ::UINT = 0x3C1; +pub const MM_MIM_CLOSE: ::UINT = 0x3C2; +pub const MM_MIM_DATA: ::UINT = 0x3C3; +pub const MM_MIM_LONGDATA: ::UINT = 0x3C4; +pub const MM_MIM_ERROR: ::UINT = 0x3C5; +pub const MM_MIM_LONGERROR: ::UINT = 0x3C6; +pub const MM_MOM_OPEN: ::UINT = 0x3C7; +pub const MM_MOM_CLOSE: ::UINT = 0x3C8; +pub const MM_MOM_DONE: ::UINT = 0x3C9; +pub const MMSYSERR_BASE: MMRESULT = 0; +pub const WAVERR_BASE: MMRESULT = 32; +pub const MIDIERR_BASE: MMRESULT = 64; +pub const TIMERR_BASE: MMRESULT = 96; +pub const JOYERR_BASE: MMRESULT = 160; +pub const MCIERR_BASE: MMRESULT = 256; +pub const MIXERR_BASE: MMRESULT = 1024; +pub const MMSYSERR_NOERROR: MMRESULT = 0; +pub const MMSYSERR_ERROR: MMRESULT = MMSYSERR_BASE + 1; +pub const MMSYSERR_BADDEVICEID: MMRESULT = MMSYSERR_BASE + 2; +pub const MMSYSERR_NOTENABLED: MMRESULT = MMSYSERR_BASE + 3; +pub const MMSYSERR_ALLOCATED: MMRESULT = MMSYSERR_BASE + 4; +pub const MMSYSERR_INVALHANDLE: MMRESULT = MMSYSERR_BASE + 5; +pub const MMSYSERR_NODRIVER: MMRESULT = MMSYSERR_BASE + 6; +pub const MMSYSERR_NOMEM: MMRESULT = MMSYSERR_BASE + 7; +pub const MMSYSERR_NOTSUPPORTED: MMRESULT = MMSYSERR_BASE + 8; +pub const MMSYSERR_BADERRNUM: MMRESULT = MMSYSERR_BASE + 9; +pub const MMSYSERR_INVALFLAG: MMRESULT = MMSYSERR_BASE + 10; +pub const MMSYSERR_INVALPARAM: MMRESULT = MMSYSERR_BASE + 11; +pub const MMSYSERR_HANDLEBUSY: MMRESULT = MMSYSERR_BASE + 12; +pub const MMSYSERR_INVALIDALIAS: MMRESULT = MMSYSERR_BASE + 13; +pub const MMSYSERR_BADDB: MMRESULT = MMSYSERR_BASE + 14; +pub const MMSYSERR_KEYNOTFOUND: MMRESULT = MMSYSERR_BASE + 15; +pub const MMSYSERR_READERROR: MMRESULT = MMSYSERR_BASE + 16; +pub const MMSYSERR_WRITEERROR: MMRESULT = MMSYSERR_BASE + 17; +pub const MMSYSERR_DELETEERROR: MMRESULT = MMSYSERR_BASE + 18; +pub const MMSYSERR_VALNOTFOUND: MMRESULT = MMSYSERR_BASE + 19; +pub const MMSYSERR_NODRIVERCB: MMRESULT = MMSYSERR_BASE + 20; +pub const MMSYSERR_MOREDATA: MMRESULT = MMSYSERR_BASE + 21; +pub const MMSYSERR_LASTERROR: MMRESULT = MMSYSERR_BASE + 21; +pub const MIDIERR_UNPREPARED: MMRESULT = MIDIERR_BASE + 0; +pub const MIDIERR_STILLPLAYING: MMRESULT = MIDIERR_BASE + 1; +pub const MIDIERR_NOMAP: MMRESULT = MIDIERR_BASE + 2; +pub const MIDIERR_NOTREADY: MMRESULT = MIDIERR_BASE + 3; +pub const MIDIERR_NODEVICE: MMRESULT = MIDIERR_BASE + 4; +pub const MIDIERR_INVALIDSETUP: MMRESULT = MIDIERR_BASE + 5; +pub const MIDIERR_BADOPENMODE: MMRESULT = MIDIERR_BASE + 6; +pub const MIDIERR_DONT_CONTINUE: MMRESULT = MIDIERR_BASE + 7; +pub const MIDIERR_LASTERROR: MMRESULT = MIDIERR_BASE + 7; +pub const CALLBACK_TYPEMASK: ::DWORD = 0x00070000; +pub const CALLBACK_NULL: ::DWORD = 0x00000000; +pub const CALLBACK_WINDOW: ::DWORD = 0x00010000; +pub const CALLBACK_TASK: ::DWORD = 0x00020000; +pub const CALLBACK_FUNCTION: ::DWORD = 0x00030000; +pub const CALLBACK_THREAD: ::DWORD = CALLBACK_TASK; +pub const CALLBACK_EVENT: ::DWORD = 0x00050000; +//497 (Win 7 SDK) +pub const WAVERR_BADFORMAT: MMRESULT = WAVERR_BASE + 0; +pub const WAVERR_STILLPLAYING: MMRESULT = WAVERR_BASE + 1; +pub const WAVERR_UNPREPARED: MMRESULT = WAVERR_BASE + 2; +pub const WAVERR_SYNC: MMRESULT = WAVERR_BASE + 3; +pub const WAVERR_LASTERROR: MMRESULT = WAVERR_BASE + 3; +DECLARE_HANDLE!(HWAVEIN, HWAVEIN__); +DECLARE_HANDLE!(HWAVEOUT, HWAVEOUT__); +pub type LPHWAVEIN = *mut HWAVEIN; +pub type LPHWAVEOUT = *mut HWAVEOUT; +pub const WOM_OPEN: ::UINT = MM_WOM_OPEN; +pub const WOM_CLOSE: ::UINT = MM_WOM_CLOSE; +pub const WOM_DONE: ::UINT = MM_WOM_DONE; +pub const WIM_OPEN: ::UINT = MM_WIM_OPEN; +pub const WIM_CLOSE: ::UINT = MM_WIM_CLOSE; +pub const WIM_DATA: ::UINT = MM_WIM_DATA; +pub const WAVE_MAPPER: ::UINT = 0xFFFFFFFF; +pub const WAVE_FORMAT_QUERY: ::DWORD = 0x0001; +pub const WAVE_ALLOWSYNC: ::DWORD = 0x0002; +pub const WAVE_MAPPED: ::DWORD = 0x0004; +pub const WAVE_FORMAT_DIRECT: ::DWORD = 0x0008; +pub const WAVE_FORMAT_DIRECT_QUERY: ::DWORD = WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT; +pub const WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE: ::DWORD = 0x0010; +STRUCT!{struct WAVEHDR { + lpData: ::LPSTR, + dwBufferLength: ::DWORD, + dwBytesRecorded: ::DWORD, + dwUser: ::DWORD_PTR, + dwFlags: ::DWORD, + dwLoops: ::DWORD, + lpNext: *mut WAVEHDR, + reserved: ::DWORD_PTR, +}} +pub type PWAVEHDR = *mut WAVEHDR; +pub type NPWAVEHDR = *mut WAVEHDR; +pub type LPWAVEHDR = *mut WAVEHDR; +STRUCT!{struct WAVEOUTCAPSW { + wMid: ::WORD, + wPid: ::WORD, + vDriverVersion: MMVERSION, + szPname: [::WCHAR; 32], + dwFormats: ::DWORD, + wChannels: ::WORD, + wReserved1: ::WORD, + dwSupport: ::DWORD, +}} +pub type PWAVEOUTCAPSW = *mut WAVEOUTCAPSW; +pub type NPWAVEOUTCAPSW = *mut WAVEOUTCAPSW; +pub type LPWAVEOUTCAPSW = *mut WAVEOUTCAPSW; +STRUCT!{struct WAVEINCAPSW { + wMid: ::WORD, + wPid: ::WORD, + vDriverVersion: MMVERSION, + szPname: [::WCHAR; 32], + dwFormats: ::DWORD, + wChannels: ::WORD, + wReserved1: ::WORD, +}} +pub type PWAVEINCAPSW = *mut WAVEINCAPSW; +pub type NPWAVEINCAPSW = *mut WAVEINCAPSW; +pub type LPWAVEINCAPSW = *mut WAVEINCAPSW; +pub const WAVE_INVALIDFORMAT: ::DWORD = 0x00000000; +pub const WAVE_FORMAT_1M08: ::DWORD = 0x00000001; +pub const WAVE_FORMAT_1S08: ::DWORD = 0x00000002; +pub const WAVE_FORMAT_1M16: ::DWORD = 0x00000004; +pub const WAVE_FORMAT_1S16: ::DWORD = 0x00000008; +pub const WAVE_FORMAT_2M08: ::DWORD = 0x00000010; +pub const WAVE_FORMAT_2S08: ::DWORD = 0x00000020; +pub const WAVE_FORMAT_2M16: ::DWORD = 0x00000040; +pub const WAVE_FORMAT_2S16: ::DWORD = 0x00000080; +pub const WAVE_FORMAT_4M08: ::DWORD = 0x00000100; +pub const WAVE_FORMAT_4S08: ::DWORD = 0x00000200; +pub const WAVE_FORMAT_4M16: ::DWORD = 0x00000400; +pub const WAVE_FORMAT_4S16: ::DWORD = 0x00000800; +pub const WAVE_FORMAT_44M08: ::DWORD = 0x00000100; +pub const WAVE_FORMAT_44S08: ::DWORD = 0x00000200; +pub const WAVE_FORMAT_44M16: ::DWORD = 0x00000400; +pub const WAVE_FORMAT_44S16: ::DWORD = 0x00000800; +pub const WAVE_FORMAT_48M08: ::DWORD = 0x00001000; +pub const WAVE_FORMAT_48S08: ::DWORD = 0x00002000; +pub const WAVE_FORMAT_48M16: ::DWORD = 0x00004000; +pub const WAVE_FORMAT_48S16: ::DWORD = 0x00008000; +pub const WAVE_FORMAT_96M08: ::DWORD = 0x00010000; +pub const WAVE_FORMAT_96S08: ::DWORD = 0x00020000; +pub const WAVE_FORMAT_96M16: ::DWORD = 0x00040000; +pub const WAVE_FORMAT_96S16: ::DWORD = 0x00080000; +//782 (Win 7 SDK) +pub type PWAVEFORMATEX = *mut ::WAVEFORMATEX; +pub type NPWAVEFORMATEX = *mut ::WAVEFORMATEX; +pub type LPWAVEFORMATEX = *mut ::WAVEFORMATEX; +pub type LPCWAVEFORMATEX = *const ::WAVEFORMATEX; +//2170 (Win 7 SDK) +pub const TIMERR_NOERROR: ::MMRESULT = 0; +pub const TIMERR_NOCANDO: ::MMRESULT = TIMERR_BASE + 1; +pub const TIMERR_STRUCT: ::MMRESULT = TIMERR_BASE + 33; +//2198 (Win 7 SDK) +STRUCT!{struct TIMECAPS { + wPeriodMin: ::UINT, + wPeriodMax: ::UINT, +}} +pub type PTIMECAPS = *mut TIMECAPS; +pub type NPTIMECAPS = *mut TIMECAPS; +pub type LPTIMECAPS = *mut TIMECAPS; +STRUCT!{struct MIDIHDR { + lpData: ::LPSTR, + dwBufferLength: ::DWORD, + dwBytesRecorded: ::DWORD, + dwUser: ::DWORD_PTR, + dwFlags: ::DWORD, + lpNext: *mut MIDIHDR, + reserved: ::DWORD_PTR, + dwOffset: ::DWORD, + dwReserved: [::DWORD_PTR; 4], +}} +pub type PMIDIHDR = *mut MIDIHDR; +pub type NPMIDIHDR = *mut MIDIHDR; +pub type LPMIDIHDR = *mut MIDIHDR; +STRUCT!{struct MIDIINCAPSW { + wMid: ::WORD, + wPid: ::WORD, + vDriverVersion: MMVERSION, + szPname: [::WCHAR; 32], + dwSupport: ::DWORD, +}} +pub type PMIDIINCAPSW = *mut MIDIINCAPSW; +pub type NPMIDIINCAPSW = *mut MIDIINCAPSW; +pub type LPMIDIINCAPSW = *mut MIDIINCAPSW; +STRUCT!{struct MIDIOUTCAPSW { + wMid: ::WORD, + wPid: ::WORD, + vDriverVersion: ::MMVERSION, + szPname: [::WCHAR; 32], + wTechnology: ::WORD, + wVoices: ::WORD, + wNotes: ::WORD, + wChannelMask: ::WORD, + dwSupport: ::DWORD, +}} +pub type PMIDIOUTCAPSW = *mut MIDIOUTCAPSW; +pub type NPMIDIOUTCAPSW = *mut MIDIOUTCAPSW; +pub type LPMIDIOUTCAPSW = *mut MIDIOUTCAPSW; +DECLARE_HANDLE!(HMIDIIN, HMIDIIN__); +DECLARE_HANDLE!(HMIDIOUT, HMIDIOUT__); +pub type LPHMIDIIN = *mut HMIDIIN; +pub type LPHMIDIOUT = *mut HMIDIOUT; +DECLARE_HANDLE!(HMIDISTRM, HMIDISTRM__); +DECLARE_HANDLE!(HMIDI, HMIDI__); +pub type LPHMIDISTRM = *mut HMIDISTRM; +pub type LPHMIDI = *mut HMIDI; diff --git a/third_party/rust/winapi-0.2.8/src/mscat.rs b/third_party/rust/winapi-0.2.8/src/mscat.rs new file mode 100644 index 0000000000..cc159de26f --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/mscat.rs @@ -0,0 +1,28 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Microsoft Internet Security Catalog API Prototypes and Definitions +STRUCT!{struct CRYPTCATSTORE { + cbStruct: ::DWORD, + dwPublicVersion: ::DWORD, + pwszP7File: ::LPWSTR, + hProv: ::HCRYPTPROV, + dwEncodingType: ::DWORD, + fdwStoreFlags: ::DWORD, + hReserved: ::HANDLE, + hAttrs: ::HANDLE, + hCryptMsg: ::HCRYPTMSG, + hSorted: ::HANDLE, +}} +STRUCT!{struct CRYPTCATMEMBER { + cbStruct: ::DWORD, + pwszReferenceTag: ::LPWSTR, + pwszFileName: ::LPWSTR, + gSubjectType: ::GUID, + fdwMemberFlags: ::DWORD, + pIndirectData: *mut ::SIP_INDIRECT_DATA, + dwCertVersion: ::DWORD, + dwReserved: ::DWORD, + hReserved: ::HANDLE, + sEncodedIndirectData: ::CRYPT_ATTR_BLOB, + sEncodedMemberInfo: ::CRYPT_ATTR_BLOB, +}} diff --git a/third_party/rust/winapi-0.2.8/src/mssip.rs b/third_party/rust/winapi-0.2.8/src/mssip.rs new file mode 100644 index 0000000000..5eeaa7e74a --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/mssip.rs @@ -0,0 +1,103 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Microsoft SIP Provider Prototypes and Definitions +STRUCT!{struct SIP_SUBJECTINFO { + cbSize: ::DWORD, + pgSubjectType: *mut ::GUID, + hFile: ::HANDLE, + pwsFileName: ::LPCWSTR, + pwsDisplayName: ::LPCWSTR, + dwReserved1: ::DWORD, + dwIntVersion: ::DWORD, + hProv: ::HCRYPTPROV, + DigestAlgorithm: ::CRYPT_ALGORITHM_IDENTIFIER, + dwFlags: ::DWORD, + dwEncodingType: ::DWORD, + dwReserved2: ::DWORD, + fdwCAPISettings: ::DWORD, + fdwSecuritySettings: ::DWORD, + dwIndex: ::DWORD, + dwUnionChoice: ::DWORD, + psFlat: *mut MS_ADDINFO_FLAT, + pClientData: ::LPVOID, +}} +UNION!(SIP_SUBJECTINFO, psFlat, psCatMember, psCatMember_mut, *mut MS_ADDINFO_CATALOGMEMBER); +UNION!(SIP_SUBJECTINFO, psFlat, psBlob, psBlob_mut, *mut MS_ADDINFO_BLOB); +pub type LPSIP_SUBJECTINFO = *mut SIP_SUBJECTINFO; +STRUCT!{struct MS_ADDINFO_FLAT { + cbStruct: ::DWORD, + pIndirectData: *mut SIP_INDIRECT_DATA, +}} +pub type PMS_ADDINFO_FLAT = *mut MS_ADDINFO_FLAT; +STRUCT!{struct MS_ADDINFO_CATALOGMEMBER { + cbStruct: ::DWORD, + pStore: *mut ::CRYPTCATSTORE, + pMember: *mut ::CRYPTCATMEMBER, +}} +pub type PMS_ADDINFO_CATALOGMEMBER = *mut MS_ADDINFO_CATALOGMEMBER; +STRUCT!{struct MS_ADDINFO_BLOB { + cbStruct: ::DWORD, + cbMemObject: ::DWORD, + pbMemObject: *mut ::BYTE, + cbMemSignedMsg: ::DWORD, + pbMemSignedMsg: *mut ::BYTE, +}} +pub type PMS_ADDINFO_BLOB = *mut MS_ADDINFO_BLOB; +STRUCT!{struct SIP_INDIRECT_DATA { + Data: ::CRYPT_ATTRIBUTE_TYPE_VALUE, + DigestAlgorithm: ::CRYPT_ALGORITHM_IDENTIFIER, + Digest: ::CRYPT_HASH_BLOB, +}} +pub type PSIP_INDIRECT_DATA = *mut SIP_INDIRECT_DATA; +STRUCT!{struct SIP_ADD_NEWPROVIDER { + cbStruct: ::DWORD, + pgSubject: *mut ::GUID, + pwszDLLFileName: *mut ::WCHAR, + pwszMagicNumber: *mut ::WCHAR, + pwszIsFunctionName: *mut ::WCHAR, + pwszGetFuncName: *mut ::WCHAR, + pwszPutFuncName: *mut ::WCHAR, + pwszCreateFuncName: *mut ::WCHAR, + pwszVerifyFuncName: *mut ::WCHAR, + pwszRemoveFuncName: *mut ::WCHAR, + pwszIsFunctionNameFmt2: *mut ::WCHAR, + pwszGetCapFuncName: ::PWSTR, +}} +pub type PSIP_ADD_NEWPROVIDER = *mut SIP_ADD_NEWPROVIDER; +STRUCT!{struct SIP_CAP_SET_V3 { + cbSize: ::DWORD, + dwVersion: ::DWORD, + isMultiSign: ::BOOL, + dwFlags: ::DWORD, +}} +UNION!(SIP_CAP_SET_V3, dwFlags, dwReserved, dwReserved_mut, ::DWORD); +pub type PSIP_CAP_SET_V3 = *mut SIP_CAP_SET_V3; +pub type SIP_CAP_SET = PSIP_CAP_SET_V3; +pub type pCryptSIPGetSignedDataMsg = Option<unsafe extern "system" fn( + pSubjectInfo: *mut SIP_SUBJECTINFO, pdwEncodingType: *mut ::DWORD, dwIndex: ::DWORD, + pcbSignedDataMsg: *mut ::DWORD, pbSignedDataMsg: *mut ::BYTE, +) -> ::BOOL>; +pub type pCryptSIPPutSignedDataMsg = Option<unsafe extern "system" fn( + pSubjectInfo: *mut SIP_SUBJECTINFO, dwEncodingType: ::DWORD, pdwIndex: *mut ::DWORD, + cbSignedDataMsg: ::DWORD, pbSignedDataMsg: *mut ::BYTE, +) -> ::BOOL>; +pub type pCryptSIPCreateIndirectData = Option<unsafe extern "system" fn( + pSubjectInfo: *mut SIP_SUBJECTINFO, pcbIndirectData: *mut ::DWORD, + pIndirectData: *mut SIP_INDIRECT_DATA, +) -> ::BOOL>; +pub type pCryptSIPVerifyIndirectData = Option<unsafe extern "system" fn( + pSubjectInfo: *mut SIP_SUBJECTINFO, pIndirectData: *mut SIP_INDIRECT_DATA, +) -> ::BOOL>; +pub type pCryptSIPRemoveSignedDataMsg = Option<unsafe extern "system" fn( + pSubjectInfo: *mut SIP_SUBJECTINFO, dwIndex: ::DWORD, +) -> ::BOOL>; +STRUCT!{nodebug struct SIP_DISPATCH_INFO { + cbSize: ::DWORD, + hSIP: ::HANDLE, + pfGet: pCryptSIPGetSignedDataMsg, + pfPut: pCryptSIPPutSignedDataMsg, + pfCreate: pCryptSIPCreateIndirectData, + pfVerify: pCryptSIPVerifyIndirectData, + pfRemove: pCryptSIPRemoveSignedDataMsg, +}} +pub type LPSIP_DISPATCH_INFO = *mut SIP_DISPATCH_INFO; diff --git a/third_party/rust/winapi-0.2.8/src/nb30.rs b/third_party/rust/winapi-0.2.8/src/nb30.rs new file mode 100644 index 0000000000..26e9dea0ae --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/nb30.rs @@ -0,0 +1,200 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +// This module contains the definitions for portable NetBIOS 3.0 support. +pub const NCBNAMSZ: usize = 16; +pub const MAX_LANA: usize = 254; +pub type PFPOST = Option<unsafe extern "system" fn(*mut NCB)>; +#[cfg(target_arch="x86_64")] +STRUCT!{nodebug struct NCB { + ncb_command: ::UCHAR, + ncb_retcode: ::UCHAR, + ncb_lsn: ::UCHAR, + ncb_num: ::UCHAR, + ncb_buffer: ::PUCHAR, + ncb_length: ::WORD, + ncb_callname: [::UCHAR; NCBNAMSZ], + ncb_name: [::UCHAR; NCBNAMSZ], + ncb_rto: ::UCHAR, + ncb_sto: ::UCHAR, + ncb_post: PFPOST, + ncb_lana_num: ::UCHAR, + ncb_cmd_cplt: ::UCHAR, + ncb_reserve: [::UCHAR; 18], + ncb_event: ::HANDLE, +}} +#[cfg(target_arch="x86")] +STRUCT!{nodebug struct NCB { + ncb_command: ::UCHAR, + ncb_retcode: ::UCHAR, + ncb_lsn: ::UCHAR, + ncb_num: ::UCHAR, + ncb_buffer: ::PUCHAR, + ncb_length: ::WORD, + ncb_callname: [::UCHAR; NCBNAMSZ], + ncb_name: [::UCHAR; NCBNAMSZ], + ncb_rto: ::UCHAR, + ncb_sto: ::UCHAR, + ncb_post: PFPOST, + ncb_lana_num: ::UCHAR, + ncb_cmd_cplt: ::UCHAR, + ncb_reserve: [::UCHAR; 10], + ncb_event: ::HANDLE, +}} +pub type PNCB = *mut NCB; +STRUCT!{struct ADAPTER_STATUS { + adapter_address: [::UCHAR; 6], + rev_major: ::UCHAR, + reserved0: ::UCHAR, + adapter_type: ::UCHAR, + rev_minor: ::UCHAR, + duration: ::WORD, + frmr_recv: ::WORD, + frmr_xmit: ::WORD, + iframe_recv_err: ::WORD, + xmit_aborts: ::WORD, + xmit_success: ::DWORD, + recv_success: ::DWORD, + iframe_xmit_err: ::WORD, + recv_buff_unavail: ::WORD, + t1_timeouts: ::WORD, + ti_timeouts: ::WORD, + reserved1: ::DWORD, + free_ncbs: ::WORD, + max_cfg_ncbs: ::WORD, + max_ncbs: ::WORD, + xmit_buf_unavail: ::WORD, + max_dgram_size: ::WORD, + pending_sess: ::WORD, + max_cfg_sess: ::WORD, + max_sess: ::WORD, + max_sess_pkt_size: ::WORD, + name_count: ::WORD, +}} +pub type PADAPTER_STATUS = *mut ADAPTER_STATUS; +STRUCT!{struct NAME_BUFFER { + name: [::UCHAR; NCBNAMSZ], + name_num: ::UCHAR, + name_flags: ::UCHAR, +}} +pub type PNAME_BUFFER = *mut NAME_BUFFER; +pub const NAME_FLAGS_MASK: ::UCHAR = 0x87; +pub const GROUP_NAME: ::UCHAR = 0x80; +pub const UNIQUE_NAME: ::UCHAR = 0x00; +pub const REGISTERING: ::UCHAR = 0x00; +pub const REGISTERED: ::UCHAR = 0x04; +pub const DEREGISTERED: ::UCHAR = 0x05; +pub const DUPLICATE: ::UCHAR = 0x06; +pub const DUPLICATE_DEREG: ::UCHAR = 0x07; +STRUCT!{struct SESSION_HEADER { + sess_name: ::UCHAR, + num_sess: ::UCHAR, + rcv_dg_outstanding: ::UCHAR, + rcv_any_outstanding: ::UCHAR, +}} +pub type PSESSION_HEADER = *mut SESSION_HEADER; +STRUCT!{struct SESSION_BUFFER { + lsn: ::UCHAR, + state: ::UCHAR, + local_name: [::UCHAR; NCBNAMSZ], + remote_name: [::UCHAR; NCBNAMSZ], + rcvs_outstanding: ::UCHAR, + sends_outstanding: ::UCHAR, +}} +pub type PSESSION_BUFFER = *mut SESSION_BUFFER; +pub const LISTEN_OUTSTANDING: ::UCHAR = 0x01; +pub const CALL_PENDING: ::UCHAR = 0x02; +pub const SESSION_ESTABLISHED: ::UCHAR = 0x03; +pub const HANGUP_PENDING: ::UCHAR = 0x04; +pub const HANGUP_COMPLETE: ::UCHAR = 0x05; +pub const SESSION_ABORTED: ::UCHAR = 0x06; +STRUCT!{nodebug struct LANA_ENUM { + length: ::UCHAR, + lana: [::UCHAR; MAX_LANA + 1], +}} +pub type PLANA_ENUM = *mut LANA_ENUM; +STRUCT!{struct FIND_NAME_HEADER { + node_count: ::WORD, + reserved: ::UCHAR, + unique_group: ::UCHAR, +}} +pub type PFIND_NAME_HEADER = *mut FIND_NAME_HEADER; +STRUCT!{struct FIND_NAME_BUFFER { + length: ::UCHAR, + access_control: ::UCHAR, + frame_control: ::UCHAR, + destination_addr: [::UCHAR; 6], + source_addr: [::UCHAR; 6], + routing_info: [::UCHAR; 18], +}} +pub type PFIND_NAME_BUFFER = *mut FIND_NAME_BUFFER; +STRUCT!{struct ACTION_HEADER { + transport_id: ::ULONG, + action_code: ::USHORT, + reserved: ::USHORT, +}} +pub type PACTION_HEADER = *mut ACTION_HEADER; +pub const NCBCALL: ::UCHAR = 0x10; +pub const NCBLISTEN: ::UCHAR = 0x11; +pub const NCBHANGUP: ::UCHAR = 0x12; +pub const NCBSEND: ::UCHAR = 0x14; +pub const NCBRECV: ::UCHAR = 0x15; +pub const NCBRECVANY: ::UCHAR = 0x16; +pub const NCBCHAINSEND: ::UCHAR = 0x17; +pub const NCBDGSEND: ::UCHAR = 0x20; +pub const NCBDGRECV: ::UCHAR = 0x21; +pub const NCBDGSENDBC: ::UCHAR = 0x22; +pub const NCBADDNAME: ::UCHAR = 0x30; +pub const NCBDELNAME: ::UCHAR = 0x31; +pub const NCBRESET: ::UCHAR = 0x32; +pub const NCBASTAT: ::UCHAR = 0x33; +pub const NCBSSTAT: ::UCHAR = 0x34; +pub const NCBCANCEL: ::UCHAR = 0x35; +pub const NCBADDGRNAME: ::UCHAR = 0x36; +pub const NCBENUM: ::UCHAR = 0x37; +pub const NCBUNLINK: ::UCHAR = 0x70; +pub const NCBSENDNA: ::UCHAR = 0x71; +pub const NCBCHAINSENDNA: ::UCHAR = 0x72; +pub const NCBLANSTALERT: ::UCHAR = 0x73; +pub const NCBACTION: ::UCHAR = 0x77; +pub const NCBFINDNAME: ::UCHAR = 0x78; +pub const NCBTRACE: ::UCHAR = 0x79; +pub const ASYNCH: ::UCHAR = 0x80; +pub const NRC_GOODRET: ::UCHAR = 0x00; +pub const NRC_BUFLEN: ::UCHAR = 0x01; +pub const NRC_ILLCMD: ::UCHAR = 0x03; +pub const NRC_CMDTMO: ::UCHAR = 0x05; +pub const NRC_INCOMP: ::UCHAR = 0x06; +pub const NRC_BADDR: ::UCHAR = 0x07; +pub const NRC_SNUMOUT: ::UCHAR = 0x08; +pub const NRC_NORES: ::UCHAR = 0x09; +pub const NRC_SCLOSED: ::UCHAR = 0x0a; +pub const NRC_CMDCAN: ::UCHAR = 0x0b; +pub const NRC_DUPNAME: ::UCHAR = 0x0d; +pub const NRC_NAMTFUL: ::UCHAR = 0x0e; +pub const NRC_ACTSES: ::UCHAR = 0x0f; +pub const NRC_LOCTFUL: ::UCHAR = 0x11; +pub const NRC_REMTFUL: ::UCHAR = 0x12; +pub const NRC_ILLNN: ::UCHAR = 0x13; +pub const NRC_NOCALL: ::UCHAR = 0x14; +pub const NRC_NOWILD: ::UCHAR = 0x15; +pub const NRC_INUSE: ::UCHAR = 0x16; +pub const NRC_NAMERR: ::UCHAR = 0x17; +pub const NRC_SABORT: ::UCHAR = 0x18; +pub const NRC_NAMCONF: ::UCHAR = 0x19; +pub const NRC_IFBUSY: ::UCHAR = 0x21; +pub const NRC_TOOMANY: ::UCHAR = 0x22; +pub const NRC_BRIDGE: ::UCHAR = 0x23; +pub const NRC_CANOCCR: ::UCHAR = 0x24; +pub const NRC_CANCEL: ::UCHAR = 0x26; +pub const NRC_DUPENV: ::UCHAR = 0x30; +pub const NRC_ENVNOTDEF: ::UCHAR = 0x34; +pub const NRC_OSRESNOTAV: ::UCHAR = 0x35; +pub const NRC_MAXAPPS: ::UCHAR = 0x36; +pub const NRC_NOSAPS: ::UCHAR = 0x37; +pub const NRC_NORESOURCES: ::UCHAR = 0x38; +pub const NRC_INVADDRESS: ::UCHAR = 0x39; +pub const NRC_INVDDID: ::UCHAR = 0x3B; +pub const NRC_LOCKFAIL: ::UCHAR = 0x3C; +pub const NRC_OPENERR: ::UCHAR = 0x3f; +pub const NRC_SYSTEM: ::UCHAR = 0x40; +pub const NRC_PENDING: ::UCHAR = 0xff; diff --git a/third_party/rust/winapi-0.2.8/src/ncrypt.rs b/third_party/rust/winapi-0.2.8/src/ncrypt.rs new file mode 100644 index 0000000000..e7301415cb --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/ncrypt.rs @@ -0,0 +1,9 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Cryptographic API Prototypes and Definitions +//191 +pub type NCRYPT_HANDLE = ::ULONG_PTR; +pub type NCRYPT_PROV_HANDLE = ::ULONG_PTR; +pub type NCRYPT_KEY_HANDLE = ::ULONG_PTR; +pub type NCRYPT_HASH_HANDLE = ::ULONG_PTR; +pub type NCRYPT_SECRET_HANDLE = ::ULONG_PTR; diff --git a/third_party/rust/winapi-0.2.8/src/ntdef.rs b/third_party/rust/winapi-0.2.8/src/ntdef.rs new file mode 100644 index 0000000000..2e6f14b0e2 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/ntdef.rs @@ -0,0 +1,7 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Type definitions for the basic types. +//909 +pub type NTSTATUS = ::LONG; +pub type PNTSTATUS = *mut NTSTATUS; +pub type PCNTSTATUS = *const NTSTATUS; diff --git a/third_party/rust/winapi-0.2.8/src/ntsecapi.rs b/third_party/rust/winapi-0.2.8/src/ntsecapi.rs new file mode 100644 index 0000000000..893ea9e4ea --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/ntsecapi.rs @@ -0,0 +1,1589 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! This module defines the Local Security Authority APIs. +DEFINE_GUID!(Audit_System_SecurityStateChange, 0x0cce9210, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_System_SecuritySubsystemExtension, 0x0cce9211, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_System_Integrity, 0x0cce9212, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_System_IPSecDriverEvents, 0x0cce9213, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_System_Others, 0x0cce9214, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Logon_Logon, 0x0cce9215, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Logon_Logoff, 0x0cce9216, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Logon_AccountLockout, 0x0cce9217, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Logon_IPSecMainMode, 0x0cce9218, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Logon_IPSecQuickMode, 0x0cce9219, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Logon_IPSecUserMode, 0x0cce921a, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Logon_SpecialLogon, 0x0cce921b, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Logon_Others, 0x0cce921c, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_FileSystem, 0x0cce921d, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_Registry, 0x0cce921e, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_Kernel, 0x0cce921f, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_Sam, 0x0cce9220, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_CertificationServices, 0x0cce9221, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_ApplicationGenerated, 0x0cce9222, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_Handle, 0x0cce9223, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_Share, 0x0cce9224, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_FirewallPacketDrops, 0x0cce9225, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_FirewallConnection, 0x0cce9226, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_Other, 0x0cce9227, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_PrivilegeUse_Sensitive, 0x0cce9228, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_PrivilegeUse_NonSensitive, 0x0cce9229, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_PrivilegeUse_Others, 0x0cce922a, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_DetailedTracking_ProcessCreation, 0x0cce922b, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_DetailedTracking_ProcessTermination, 0x0cce922c, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_DetailedTracking_DpapiActivity, 0x0cce922d, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_DetailedTracking_RpcCall, 0x0cce922e, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_PolicyChange_AuditPolicy, 0x0cce922f, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_PolicyChange_AuthenticationPolicy, 0x0cce9230, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_PolicyChange_AuthorizationPolicy, 0x0cce9231, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_PolicyChange_MpsscvRulePolicy, 0x0cce9232, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_PolicyChange_WfpIPSecPolicy, 0x0cce9233, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_PolicyChange_Others, 0x0cce9234, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountManagement_UserAccount, 0x0cce9235, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountManagement_ComputerAccount, 0x0cce9236, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountManagement_SecurityGroup, 0x0cce9237, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountManagement_DistributionGroup, 0x0cce9238, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountManagement_ApplicationGroup, 0x0cce9239, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountManagement_Others, 0x0cce923a, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_DSAccess_DSAccess, 0x0cce923b, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_DsAccess_AdAuditChanges, 0x0cce923c, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Ds_Replication, 0x0cce923d, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Ds_DetailedReplication, 0x0cce923e, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountLogon_CredentialValidation, 0x0cce923f, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountLogon_Kerberos, 0x0cce9240, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountLogon_Others, 0x0cce9241, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountLogon_KerbCredentialValidation, 0x0cce9242, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Logon_NPS, 0x0cce9243, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_DetailedFileShare, 0x0cce9244, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_RemovableStorage, 0x0cce9245, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess_CbacStaging, 0x0cce9246, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Logon_Claims, 0x0cce9247, 0x69ae, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_System, 0x69979848, 0x797a, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_Logon, 0x69979849, 0x797a, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_ObjectAccess, 0x6997984a, 0x797a, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_PrivilegeUse, 0x6997984b, 0x797a, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_DetailedTracking, 0x6997984c, 0x797a, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_PolicyChange, 0x6997984d, 0x797a, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountManagement, 0x6997984e, 0x797a, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_DirectoryServiceAccess, 0x6997984f, 0x797a, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +DEFINE_GUID!(Audit_AccountLogon, 0x69979850, 0x797a, 0x11d9, + 0xbe, 0xd3, 0x50, 0x50, 0x54, 0x50, 0x30, 0x30); +ENUM!{enum POLICY_AUDIT_EVENT_TYPE { + AuditCategorySystem = 0, + AuditCategoryLogon, + AuditCategoryObjectAccess, + AuditCategoryPrivilegeUse, + AuditCategoryDetailedTracking, + AuditCategoryPolicyChange, + AuditCategoryAccountManagement, + AuditCategoryDirectoryServiceAccess, + AuditCategoryAccountLogon, +}} +pub type PPOLICY_AUDIT_EVENT_TYPE = *mut POLICY_AUDIT_EVENT_TYPE; +pub const POLICY_AUDIT_EVENT_UNCHANGED: POLICY_AUDIT_EVENT_OPTIONS = 0x00000000; +pub const POLICY_AUDIT_EVENT_SUCCESS: POLICY_AUDIT_EVENT_OPTIONS = 0x00000001; +pub const POLICY_AUDIT_EVENT_FAILURE: POLICY_AUDIT_EVENT_OPTIONS = 0x00000002; +pub const POLICY_AUDIT_EVENT_NONE: POLICY_AUDIT_EVENT_OPTIONS = 0x00000004; +pub const POLICY_AUDIT_EVENT_MASK: POLICY_AUDIT_EVENT_OPTIONS = POLICY_AUDIT_EVENT_SUCCESS + | POLICY_AUDIT_EVENT_FAILURE | POLICY_AUDIT_EVENT_UNCHANGED | POLICY_AUDIT_EVENT_NONE; +pub const POLICY_VIEW_LOCAL_INFORMATION: ::ACCESS_MASK = 0x00000001; +pub const POLICY_VIEW_AUDIT_INFORMATION: ::ACCESS_MASK = 0x00000002; +pub const POLICY_GET_PRIVATE_INFORMATION: ::ACCESS_MASK = 0x00000004; +pub const POLICY_TRUST_ADMIN: ::ACCESS_MASK = 0x00000008; +pub const POLICY_CREATE_ACCOUNT: ::ACCESS_MASK = 0x00000010; +pub const POLICY_CREATE_SECRET: ::ACCESS_MASK = 0x00000020; +pub const POLICY_CREATE_PRIVILEGE: ::ACCESS_MASK = 0x00000040; +pub const POLICY_SET_DEFAULT_QUOTA_LIMITS: ::ACCESS_MASK = 0x00000080; +pub const POLICY_SET_AUDIT_REQUIREMENTS: ::ACCESS_MASK = 0x00000100; +pub const POLICY_AUDIT_LOG_ADMIN: ::ACCESS_MASK = 0x00000200; +pub const POLICY_SERVER_ADMIN: ::ACCESS_MASK = 0x00000400; +pub const POLICY_LOOKUP_NAMES: ::ACCESS_MASK = 0x00000800; +pub const POLICY_NOTIFICATION: ::ACCESS_MASK = 0x00001000; +pub const POLICY_ALL_ACCESS: ::ACCESS_MASK = ::STANDARD_RIGHTS_REQUIRED + | POLICY_VIEW_LOCAL_INFORMATION | POLICY_VIEW_AUDIT_INFORMATION + | POLICY_GET_PRIVATE_INFORMATION | POLICY_TRUST_ADMIN | POLICY_CREATE_ACCOUNT + | POLICY_CREATE_SECRET | POLICY_CREATE_PRIVILEGE | POLICY_SET_DEFAULT_QUOTA_LIMITS + | POLICY_SET_AUDIT_REQUIREMENTS | POLICY_AUDIT_LOG_ADMIN | POLICY_SERVER_ADMIN + | POLICY_LOOKUP_NAMES; +pub const POLICY_READ: ::ACCESS_MASK = ::STANDARD_RIGHTS_READ | POLICY_VIEW_AUDIT_INFORMATION + | POLICY_GET_PRIVATE_INFORMATION; +pub const POLICY_WRITE: ::ACCESS_MASK = ::STANDARD_RIGHTS_WRITE | POLICY_TRUST_ADMIN + | POLICY_CREATE_ACCOUNT | POLICY_CREATE_SECRET | POLICY_CREATE_PRIVILEGE + | POLICY_SET_DEFAULT_QUOTA_LIMITS | POLICY_SET_AUDIT_REQUIREMENTS | POLICY_AUDIT_LOG_ADMIN + | POLICY_SERVER_ADMIN; +pub const POLICY_EXECUTE: ::ACCESS_MASK = ::STANDARD_RIGHTS_EXECUTE + | POLICY_VIEW_LOCAL_INFORMATION | POLICY_LOOKUP_NAMES; +STRUCT!{struct LSA_TRANSLATED_SID { + Use: ::SID_NAME_USE, + RelativeId: ::ULONG, + DomainIndex: ::LONG, +}} +pub type PLSA_TRANSLATED_SID = *mut LSA_TRANSLATED_SID; +ENUM!{enum POLICY_LSA_SERVER_ROLE { + PolicyServerRoleBackup = 2, + PolicyServerRolePrimary, +}} +pub type PPOLICY_LSA_SERVER_ROLE = *mut POLICY_LSA_SERVER_ROLE; +pub type POLICY_AUDIT_EVENT_OPTIONS = ::ULONG; +pub type PPOLICY_AUDIT_EVENT_OPTIONS = *mut ::ULONG; +ENUM!{enum POLICY_INFORMATION_CLASS { + PolicyAuditLogInformation = 1, + PolicyAuditEventsInformation, + PolicyPrimaryDomainInformation, + PolicyPdAccountInformation, + PolicyAccountDomainInformation, + PolicyLsaServerRoleInformation, + PolicyReplicaSourceInformation, + PolicyDefaultQuotaInformation, + PolicyModificationInformation, + PolicyAuditFullSetInformation, + PolicyAuditFullQueryInformation, + PolicyDnsDomainInformation, + PolicyDnsDomainInformationInt, + PolicyLocalAccountDomainInformation, + PolicyLastEntry, +}} +pub type PPOLICY_INFORMATION_CLASS = *mut POLICY_INFORMATION_CLASS; +STRUCT!{struct POLICY_AUDIT_LOG_INFO { + AuditLogPercentFull: ::ULONG, + MaximumLogSize: ::ULONG, + AuditRetentionPeriod: ::LARGE_INTEGER, + AuditLogFullShutdownInProgress: ::BOOLEAN, + TimeToShutdown: ::LARGE_INTEGER, + NextAuditRecordId: ::ULONG, +}} +pub type PPOLICY_AUDIT_LOG_INFO = *mut POLICY_AUDIT_LOG_INFO; +STRUCT!{struct POLICY_AUDIT_EVENTS_INFO { + AuditingMode: ::BOOLEAN, + EventAuditingOptions: PPOLICY_AUDIT_EVENT_OPTIONS, + MaximumAuditEventCount: ::ULONG, +}} +pub type PPOLICY_AUDIT_EVENTS_INFO = *mut POLICY_AUDIT_EVENTS_INFO; +STRUCT!{struct POLICY_AUDIT_SUBCATEGORIES_INFO { + MaximumSubCategoryCount: ::ULONG, + EventAuditingOptions: PPOLICY_AUDIT_EVENT_OPTIONS, +}} +pub type PPOLICY_AUDIT_SUBCATEGORIES_INFO = *mut POLICY_AUDIT_SUBCATEGORIES_INFO; +STRUCT!{struct POLICY_AUDIT_CATEGORIES_INFO { + MaximumSubCategoryCount: ::ULONG, + SubCategoriesInfo: PPOLICY_AUDIT_SUBCATEGORIES_INFO, +}} +pub type PPOLICY_AUDIT_CATEGORIES_INFO = *mut POLICY_AUDIT_CATEGORIES_INFO; +pub const PER_USER_POLICY_UNCHANGED: ::ULONG = 0x00; +pub const PER_USER_AUDIT_SUCCESS_INCLUDE: ::ULONG = 0x01; +pub const PER_USER_AUDIT_SUCCESS_EXCLUDE: ::ULONG = 0x02; +pub const PER_USER_AUDIT_FAILURE_INCLUDE: ::ULONG = 0x04; +pub const PER_USER_AUDIT_FAILURE_EXCLUDE: ::ULONG = 0x08; +pub const PER_USER_AUDIT_NONE: ::ULONG = 0x10; +pub const VALID_PER_USER_AUDIT_POLICY_FLAG: ::ULONG = PER_USER_AUDIT_SUCCESS_INCLUDE + | PER_USER_AUDIT_SUCCESS_EXCLUDE | PER_USER_AUDIT_FAILURE_INCLUDE + | PER_USER_AUDIT_FAILURE_EXCLUDE | PER_USER_AUDIT_NONE; +STRUCT!{struct POLICY_PRIMARY_DOMAIN_INFO { + Name: ::LSA_UNICODE_STRING, + Sid: ::PSID, +}} +pub type PPOLICY_PRIMARY_DOMAIN_INFO = *mut POLICY_PRIMARY_DOMAIN_INFO; +STRUCT!{struct POLICY_PD_ACCOUNT_INFO { + Name: ::LSA_UNICODE_STRING, +}} +pub type PPOLICY_PD_ACCOUNT_INFO = *mut POLICY_PD_ACCOUNT_INFO; +STRUCT!{struct POLICY_LSA_SERVER_ROLE_INFO { + LsaServerRole: POLICY_LSA_SERVER_ROLE, +}} +pub type PPOLICY_LSA_SERVER_ROLE_INFO = *mut POLICY_LSA_SERVER_ROLE_INFO; +STRUCT!{struct POLICY_REPLICA_SOURCE_INFO { + ReplicaSource: ::LSA_UNICODE_STRING, + ReplicaAccountName: ::LSA_UNICODE_STRING, +}} +pub type PPOLICY_REPLICA_SOURCE_INFO = *mut POLICY_REPLICA_SOURCE_INFO; +STRUCT!{struct POLICY_DEFAULT_QUOTA_INFO { + QuotaLimits: ::QUOTA_LIMITS, +}} +pub type PPOLICY_DEFAULT_QUOTA_INFO = *mut POLICY_DEFAULT_QUOTA_INFO; +STRUCT!{struct POLICY_MODIFICATION_INFO { + ModifiedId: ::LARGE_INTEGER, + DatabaseCreationTime: ::LARGE_INTEGER, +}} +pub type PPOLICY_MODIFICATION_INFO = *mut POLICY_MODIFICATION_INFO; +STRUCT!{struct POLICY_AUDIT_FULL_SET_INFO { + ShutDownOnFull: ::BOOLEAN, +}} +pub type PPOLICY_AUDIT_FULL_SET_INFO = *mut POLICY_AUDIT_FULL_SET_INFO; +STRUCT!{struct POLICY_AUDIT_FULL_QUERY_INFO { + ShutDownOnFull: ::BOOLEAN, + LogIsFull: ::BOOLEAN, +}} +pub type PPOLICY_AUDIT_FULL_QUERY_INFO = *mut POLICY_AUDIT_FULL_QUERY_INFO; +ENUM!{enum POLICY_DOMAIN_INFORMATION_CLASS { + PolicyDomainEfsInformation = 2, + PolicyDomainKerberosTicketInformation, +}} +pub type PPOLICY_DOMAIN_INFORMATION_CLASS = *mut POLICY_DOMAIN_INFORMATION_CLASS; +STRUCT!{struct POLICY_DOMAIN_EFS_INFO { + InfoLength: ::ULONG, + EfsBlob: ::PUCHAR, +}} +pub type PPOLICY_DOMAIN_EFS_INFO = *mut POLICY_DOMAIN_EFS_INFO; +STRUCT!{struct POLICY_DOMAIN_KERBEROS_TICKET_INFO { + AuthenticationOptions: ::ULONG, + MaxServiceTicketAge: ::LARGE_INTEGER, + MaxTicketAge: ::LARGE_INTEGER, + MaxRenewAge: ::LARGE_INTEGER, + MaxClockSkew: ::LARGE_INTEGER, + Reserved: ::LARGE_INTEGER, +}} +pub type PPOLICY_DOMAIN_KERBEROS_TICKET_INFO = *mut POLICY_DOMAIN_KERBEROS_TICKET_INFO; +ENUM!{enum POLICY_NOTIFICATION_INFORMATION_CLASS { + PolicyNotifyAuditEventsInformation = 1, + PolicyNotifyAccountDomainInformation, + PolicyNotifyServerRoleInformation, + PolicyNotifyDnsDomainInformation, + PolicyNotifyDomainEfsInformation, + PolicyNotifyDomainKerberosTicketInformation, + PolicyNotifyMachineAccountPasswordInformation, + PolicyNotifyGlobalSaclInformation, + PolicyNotifyMax, +}} +pub type PPOLICY_NOTIFICATION_INFORMATION_CLASS = *mut POLICY_NOTIFICATION_INFORMATION_CLASS; +pub type LSA_HANDLE = ::PVOID; +pub type PLSA_HANDLE = *mut ::PVOID; +ENUM!{enum TRUSTED_INFORMATION_CLASS { + TrustedDomainNameInformation = 1, + TrustedControllersInformation, + TrustedPosixOffsetInformation, + TrustedPasswordInformation, + TrustedDomainInformationBasic, + TrustedDomainInformationEx, + TrustedDomainAuthInformation, + TrustedDomainFullInformation, + TrustedDomainAuthInformationInternal, + TrustedDomainFullInformationInternal, + TrustedDomainInformationEx2Internal, + TrustedDomainFullInformation2Internal, + TrustedDomainSupportedEncryptionTypes, +}} +pub type PTRUSTED_INFORMATION_CLASS = *mut TRUSTED_INFORMATION_CLASS; +STRUCT!{struct TRUSTED_DOMAIN_NAME_INFO { + Name: ::LSA_UNICODE_STRING, +}} +pub type PTRUSTED_DOMAIN_NAME_INFO = *mut TRUSTED_DOMAIN_NAME_INFO; +STRUCT!{struct TRUSTED_CONTROLLERS_INFO { + Entries: ::ULONG, + Names: ::PLSA_UNICODE_STRING, +}} +pub type PTRUSTED_CONTROLLERS_INFO = *mut TRUSTED_CONTROLLERS_INFO; +STRUCT!{struct TRUSTED_POSIX_OFFSET_INFO { + Offset: ::ULONG, +}} +pub type PTRUSTED_POSIX_OFFSET_INFO = *mut TRUSTED_POSIX_OFFSET_INFO; +STRUCT!{struct TRUSTED_PASSWORD_INFO { + Password: ::LSA_UNICODE_STRING, + OldPassword: ::LSA_UNICODE_STRING, +}} +pub type PTRUSTED_PASSWORD_INFO = *mut TRUSTED_PASSWORD_INFO; +pub type TRUSTED_DOMAIN_INFORMATION_BASIC = ::LSA_TRUST_INFORMATION; +pub type PTRUSTED_DOMAIN_INFORMATION_BASIC = ::PLSA_TRUST_INFORMATION; +pub const TRUST_DIRECTION_DISABLED: ::ULONG = 0x00000000; +pub const TRUST_DIRECTION_INBOUND: ::ULONG = 0x00000001; +pub const TRUST_DIRECTION_OUTBOUND: ::ULONG = 0x00000002; +pub const TRUST_DIRECTION_BIDIRECTIONAL: ::ULONG = TRUST_DIRECTION_INBOUND + | TRUST_DIRECTION_OUTBOUND; +pub const TRUST_TYPE_DOWNLEVEL: ::ULONG = 0x00000001; +pub const TRUST_TYPE_UPLEVEL: ::ULONG = 0x00000002; +pub const TRUST_TYPE_MIT: ::ULONG = 0x00000003; +pub const TRUST_ATTRIBUTE_NON_TRANSITIVE: ::ULONG = 0x00000001; +pub const TRUST_ATTRIBUTE_UPLEVEL_ONLY: ::ULONG = 0x00000002; +pub const TRUST_ATTRIBUTE_QUARANTINED_DOMAIN: ::ULONG = 0x00000004; +pub const TRUST_ATTRIBUTE_FOREST_TRANSITIVE: ::ULONG = 0x00000008; +pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION: ::ULONG = 0x00000010; +pub const TRUST_ATTRIBUTE_WITHIN_FOREST: ::ULONG = 0x00000020; +pub const TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL: ::ULONG = 0x00000040; +pub const TRUST_ATTRIBUTE_TRUST_USES_RC4_ENCRYPTION: ::ULONG = 0x00000080; +pub const TRUST_ATTRIBUTE_TRUST_USES_AES_KEYS: ::ULONG = 0x00000100; +pub const TRUST_ATTRIBUTE_CROSS_ORGANIZATION_NO_TGT_DELEGATION: ::ULONG = 0x00000200; +pub const TRUST_ATTRIBUTES_VALID: ::ULONG = 0xFF03FFFF; +pub const TRUST_ATTRIBUTES_USER: ::ULONG = 0xFF000000; +STRUCT!{struct TRUSTED_DOMAIN_INFORMATION_EX { + Name: ::LSA_UNICODE_STRING, + FlatName: ::LSA_UNICODE_STRING, + Sid: ::PSID, + TrustDirection: ::ULONG, + TrustType: ::ULONG, + TrustAttributes: ::ULONG, +}} +pub type PTRUSTED_DOMAIN_INFORMATION_EX = *mut TRUSTED_DOMAIN_INFORMATION_EX; +STRUCT!{struct TRUSTED_DOMAIN_INFORMATION_EX2 { + Name: ::LSA_UNICODE_STRING, + FlatName: ::LSA_UNICODE_STRING, + Sid: ::PSID, + TrustDirection: ::ULONG, + TrustType: ::ULONG, + TrustAttributes: ::ULONG, + ForestTrustLength: ::ULONG, + ForestTrustInfo: ::PUCHAR, +}} +pub type PTRUSTED_DOMAIN_INFORMATION_EX2 = *mut TRUSTED_DOMAIN_INFORMATION_EX2; +pub const TRUST_AUTH_TYPE_NONE: ::ULONG = 0; +pub const TRUST_AUTH_TYPE_NT4OWF: ::ULONG = 1; +pub const TRUST_AUTH_TYPE_CLEAR: ::ULONG = 2; +pub const TRUST_AUTH_TYPE_VERSION: ::ULONG = 3; +STRUCT!{struct LSA_AUTH_INFORMATION { + LastUpdateTime: ::LARGE_INTEGER, + AuthType: ::ULONG, + AuthInfoLength: ::ULONG, + AuthInfo: ::PUCHAR, +}} +pub type PLSA_AUTH_INFORMATION = *mut LSA_AUTH_INFORMATION; +STRUCT!{struct TRUSTED_DOMAIN_AUTH_INFORMATION { + IncomingAuthInfos: ::ULONG, + IncomingAuthenticationInformation: PLSA_AUTH_INFORMATION, + IncomingPreviousAuthenticationInformation: PLSA_AUTH_INFORMATION, + OutgoingAuthInfos: ::ULONG, + OutgoingAuthenticationInformation: PLSA_AUTH_INFORMATION, + OutgoingPreviousAuthenticationInformation: PLSA_AUTH_INFORMATION, +}} +pub type PTRUSTED_DOMAIN_AUTH_INFORMATION = *mut TRUSTED_DOMAIN_AUTH_INFORMATION; +STRUCT!{struct TRUSTED_DOMAIN_FULL_INFORMATION { + Information: TRUSTED_DOMAIN_INFORMATION_EX, + PosixOffset: TRUSTED_POSIX_OFFSET_INFO, + AuthInformation: TRUSTED_DOMAIN_AUTH_INFORMATION, +}} +pub type PTRUSTED_DOMAIN_FULL_INFORMATION = *mut TRUSTED_DOMAIN_FULL_INFORMATION; +STRUCT!{struct TRUSTED_DOMAIN_FULL_INFORMATION2 { + Information: TRUSTED_DOMAIN_INFORMATION_EX2, + PosixOffset: TRUSTED_POSIX_OFFSET_INFO, + AuthInformation: TRUSTED_DOMAIN_AUTH_INFORMATION, +}} +pub type PTRUSTED_DOMAIN_FULL_INFORMATION2 = *mut TRUSTED_DOMAIN_FULL_INFORMATION2; +STRUCT!{struct TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES { + SupportedEncryptionTypes: ::ULONG, +}} +pub type PTRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES = + *mut TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES; +ENUM!{enum LSA_FOREST_TRUST_RECORD_TYPE { + ForestTrustTopLevelName, + ForestTrustTopLevelNameEx, + ForestTrustDomainInfo, + ForestTrustRecordTypeLast, // = ForestTrustDomainInfo, +}} +pub const LSA_FTRECORD_DISABLED_REASONS: ::ULONG = 0x0000FFFF; +pub const LSA_TLN_DISABLED_NEW: ::ULONG = 0x00000001; +pub const LSA_TLN_DISABLED_ADMIN: ::ULONG = 0x00000002; +pub const LSA_TLN_DISABLED_CONFLICT: ::ULONG = 0x00000004; +pub const LSA_SID_DISABLED_ADMIN: ::ULONG = 0x00000001; +pub const LSA_SID_DISABLED_CONFLICT: ::ULONG = 0x00000002; +pub const LSA_NB_DISABLED_ADMIN: ::ULONG = 0x00000004; +pub const LSA_NB_DISABLED_CONFLICT: ::ULONG = 0x00000008; +STRUCT!{struct LSA_FOREST_TRUST_DOMAIN_INFO { + Sid: ::PSID, + DnsName: ::LSA_UNICODE_STRING, + NetbiosName: ::LSA_UNICODE_STRING, +}} +pub type PLSA_FOREST_TRUST_DOMAIN_INFO = *mut LSA_FOREST_TRUST_DOMAIN_INFO; +pub const MAX_FOREST_TRUST_BINARY_DATA_SIZE: ::ULONG = 128 * 1024; +STRUCT!{struct LSA_FOREST_TRUST_BINARY_DATA { + Length: ::ULONG, + Buffer: ::PUCHAR, +}} +pub type PLSA_FOREST_TRUST_BINARY_DATA = *mut LSA_FOREST_TRUST_BINARY_DATA; +STRUCT!{struct LSA_FOREST_TRUST_RECORD_ForestTrustData { + DomainInfo: LSA_FOREST_TRUST_DOMAIN_INFO, +}} +UNION!( + LSA_FOREST_TRUST_RECORD_ForestTrustData, DomainInfo, TopLevelName, TopLevelName_mut, + ::LSA_UNICODE_STRING +); +UNION!( + LSA_FOREST_TRUST_RECORD_ForestTrustData, DomainInfo, Data, Data_mut, + LSA_FOREST_TRUST_BINARY_DATA +); +STRUCT!{struct LSA_FOREST_TRUST_RECORD { + Flags: ::ULONG, + ForestTrustType: LSA_FOREST_TRUST_RECORD_TYPE, + Time: ::LARGE_INTEGER, + ForestTrustData: LSA_FOREST_TRUST_RECORD_ForestTrustData, +}} +pub type PLSA_FOREST_TRUST_RECORD = *mut LSA_FOREST_TRUST_RECORD; +pub const MAX_RECORDS_IN_FOREST_TRUST_INFO: ::ULONG = 4000; +STRUCT!{struct LSA_FOREST_TRUST_INFORMATION { + RecordCount: ::ULONG, + Entries: *mut PLSA_FOREST_TRUST_RECORD, +}} +pub type PLSA_FOREST_TRUST_INFORMATION = *mut LSA_FOREST_TRUST_INFORMATION; +ENUM!{enum LSA_FOREST_TRUST_COLLISION_RECORD_TYPE { + CollisionTdo, + CollisionXref, + CollisionOther, +}} +STRUCT!{struct LSA_FOREST_TRUST_COLLISION_RECORD { + Index: ::ULONG, + Type: LSA_FOREST_TRUST_COLLISION_RECORD_TYPE, + Flags: ::ULONG, + Name: ::LSA_UNICODE_STRING, +}} +pub type PLSA_FOREST_TRUST_COLLISION_RECORD = *mut LSA_FOREST_TRUST_COLLISION_RECORD; +STRUCT!{struct LSA_FOREST_TRUST_COLLISION_INFORMATION { + RecordCount: ::ULONG, + Entries: *mut PLSA_FOREST_TRUST_COLLISION_RECORD, +}} +pub type PLSA_FOREST_TRUST_COLLISION_INFORMATION = *mut LSA_FOREST_TRUST_COLLISION_INFORMATION; +pub type LSA_ENUMERATION_HANDLE = ::ULONG; +pub type PLSA_ENUMERATION_HANDLE = *mut ::ULONG; +STRUCT!{struct LSA_ENUMERATION_INFORMATION { + Sid: ::PSID, +}} +pub type PLSA_ENUMERATION_INFORMATION = *mut LSA_ENUMERATION_INFORMATION; +STRUCT!{struct LSA_LAST_INTER_LOGON_INFO { + LastSuccessfulLogon: ::LARGE_INTEGER, + LastFailedLogon: ::LARGE_INTEGER, + FailedAttemptCountSinceLastSuccessfulLogon: ::ULONG, +}} +pub type PLSA_LAST_INTER_LOGON_INFO = *mut LSA_LAST_INTER_LOGON_INFO; +STRUCT!{struct SECURITY_LOGON_SESSION_DATA { + Size: ::ULONG, + LogonId: ::LUID, + UserName: ::LSA_UNICODE_STRING, + LogonDomain: ::LSA_UNICODE_STRING, + AuthenticationPackage: ::LSA_UNICODE_STRING, + LogonType: ::ULONG, + Session: ::ULONG, + Sid: ::PSID, + LogonTime: ::LARGE_INTEGER, + LogonServer: ::LSA_UNICODE_STRING, + DnsDomainName: ::LSA_UNICODE_STRING, + Upn: ::LSA_UNICODE_STRING, + UserFlags: ::ULONG, + LastLogonInfo: LSA_LAST_INTER_LOGON_INFO, + LogonScript: ::LSA_UNICODE_STRING, + ProfilePath: ::LSA_UNICODE_STRING, + HomeDirectory: ::LSA_UNICODE_STRING, + HomeDirectoryDrive: ::LSA_UNICODE_STRING, + LogoffTime: ::LARGE_INTEGER, + KickOffTime: ::LARGE_INTEGER, + PasswordLastSet: ::LARGE_INTEGER, + PasswordCanChange: ::LARGE_INTEGER, + PasswordMustChange: ::LARGE_INTEGER, +}} +pub type PSECURITY_LOGON_SESSION_DATA = *mut SECURITY_LOGON_SESSION_DATA; +pub const CENTRAL_ACCESS_POLICY_OWNER_RIGHTS_PRESENT_FLAG: ::ULONG = 0x00000001; +pub const CENTRAL_ACCESS_POLICY_STAGED_OWNER_RIGHTS_PRESENT_FLAG: ::ULONG = 0x00000100; +pub const CENTRAL_ACCESS_POLICY_STAGED_FLAG: ::ULONG = 0x00010000; +pub const CENTRAL_ACCESS_POLICY_VALID_FLAG_MASK: ::ULONG = + CENTRAL_ACCESS_POLICY_OWNER_RIGHTS_PRESENT_FLAG + | CENTRAL_ACCESS_POLICY_STAGED_OWNER_RIGHTS_PRESENT_FLAG | CENTRAL_ACCESS_POLICY_STAGED_FLAG; +pub const LSASETCAPS_RELOAD_FLAG: ::ULONG = 0x00000001; +pub const LSASETCAPS_VALID_FLAG_MASK: ::ULONG = LSASETCAPS_RELOAD_FLAG; +STRUCT!{struct CENTRAL_ACCESS_POLICY_ENTRY { + Name: ::LSA_UNICODE_STRING, + Description: ::LSA_UNICODE_STRING, + ChangeId: ::LSA_UNICODE_STRING, + LengthAppliesTo: ::ULONG, + AppliesTo: ::PUCHAR, + LengthSD: ::ULONG, + SD: ::PSECURITY_DESCRIPTOR, + LengthStagedSD: ::ULONG, + StagedSD: ::PSECURITY_DESCRIPTOR, + Flags: ::ULONG, +}} +pub type PCENTRAL_ACCESS_POLICY_ENTRY = *mut CENTRAL_ACCESS_POLICY_ENTRY; +pub type PCCENTRAL_ACCESS_POLICY_ENTRY = *const CENTRAL_ACCESS_POLICY_ENTRY; +STRUCT!{struct CENTRAL_ACCESS_POLICY { + CAPID: ::PSID, + Name: ::LSA_UNICODE_STRING, + Description: ::LSA_UNICODE_STRING, + ChangeId: ::LSA_UNICODE_STRING, + Flags: ::ULONG, + CAPECount: ::ULONG, + CAPEs: *mut PCENTRAL_ACCESS_POLICY_ENTRY, +}} +pub type PCENTRAL_ACCESS_POLICY = *mut CENTRAL_ACCESS_POLICY; +pub type PCCENTRAL_ACCESS_POLICY = *const CENTRAL_ACCESS_POLICY; +ENUM!{enum NEGOTIATE_MESSAGES { + NegEnumPackagePrefixes = 0, + NegGetCallerName = 1, + NegTransferCredentials = 2, + NegCallPackageMax, +}} +pub const NEGOTIATE_MAX_PREFIX: usize = 32; +STRUCT!{struct NEGOTIATE_PACKAGE_PREFIX { + PackageId: ::ULONG_PTR, + PackageDataA: ::PVOID, + PackageDataW: ::PVOID, + PrefixLen: ::ULONG_PTR, + Prefix: [::UCHAR; NEGOTIATE_MAX_PREFIX], +}} +pub type PNEGOTIATE_PACKAGE_PREFIX = *mut NEGOTIATE_PACKAGE_PREFIX; +STRUCT!{struct NEGOTIATE_PACKAGE_PREFIXES { + MessageType: ::ULONG, + PrefixCount: ::ULONG, + Offset: ::ULONG, + Pad: ::ULONG, +}} +pub type PNEGOTIATE_PACKAGE_PREFIXES = *mut NEGOTIATE_PACKAGE_PREFIXES; +STRUCT!{struct NEGOTIATE_CALLER_NAME_REQUEST { + MessageType: ::ULONG, + LogonId: ::LUID, +}} +pub type PNEGOTIATE_CALLER_NAME_REQUEST = *mut NEGOTIATE_CALLER_NAME_REQUEST; +STRUCT!{struct NEGOTIATE_CALLER_NAME_RESPONSE { + MessageType: ::ULONG, + CallerName: ::PWSTR, +}} +pub type PNEGOTIATE_CALLER_NAME_RESPONSE = *mut NEGOTIATE_CALLER_NAME_RESPONSE; +STRUCT!{struct DOMAIN_PASSWORD_INFORMATION { + MinPasswordLength: ::USHORT, + PasswordHistoryLength: ::USHORT, + PasswordProperties: ::ULONG, + MaxPasswordAge: ::LARGE_INTEGER, + MinPasswordAge: ::LARGE_INTEGER, +}} +pub type PDOMAIN_PASSWORD_INFORMATION = *mut DOMAIN_PASSWORD_INFORMATION; +pub const DOMAIN_PASSWORD_COMPLEX: ::ULONG = 0x00000001; +pub const DOMAIN_PASSWORD_NO_ANON_CHANGE: ::ULONG = 0x00000002; +pub const DOMAIN_PASSWORD_NO_CLEAR_CHANGE: ::ULONG = 0x00000004; +pub const DOMAIN_LOCKOUT_ADMINS: ::ULONG = 0x00000008; +pub const DOMAIN_PASSWORD_STORE_CLEARTEXT: ::ULONG = 0x00000010; +pub const DOMAIN_REFUSE_PASSWORD_CHANGE: ::ULONG = 0x00000020; +pub const DOMAIN_NO_LM_OWF_CHANGE: ::ULONG = 0x00000040; +pub type PSAM_PASSWORD_NOTIFICATION_ROUTINE = Option<unsafe extern "system" fn( + UserName: ::PUNICODE_STRING, RelativeId: ::ULONG, NewPassword: ::PUNICODE_STRING, +) -> ::NTSTATUS>; +pub type PSAM_INIT_NOTIFICATION_ROUTINE = Option<unsafe extern "system" fn() -> ::BOOLEAN>; +pub type PSAM_PASSWORD_FILTER_ROUTINE = Option<unsafe extern "system" fn( + AccountName: ::PUNICODE_STRING, FullName: ::PUNICODE_STRING, Password: ::PUNICODE_STRING, + SetOperation: ::BOOLEAN, +) -> ::BOOLEAN>; +ENUM!{enum MSV1_0_LOGON_SUBMIT_TYPE { + MsV1_0InteractiveLogon = 2, + MsV1_0Lm20Logon, + MsV1_0NetworkLogon, + MsV1_0SubAuthLogon, + MsV1_0WorkstationUnlockLogon = 7, + MsV1_0S4ULogon = 12, + MsV1_0VirtualLogon = 82, + MsV1_0NoElevationLogon = 83, + MsV1_0LuidLogon = 84, +}} +pub type PMSV1_0_LOGON_SUBMIT_TYPE = *mut MSV1_0_LOGON_SUBMIT_TYPE; +ENUM!{enum MSV1_0_PROFILE_BUFFER_TYPE { + MsV1_0InteractiveProfile = 2, + MsV1_0Lm20LogonProfile, + MsV1_0SmartCardProfile, +}} +pub type PMSV1_0_PROFILE_BUFFER_TYPE = *mut MSV1_0_PROFILE_BUFFER_TYPE; +STRUCT!{struct MSV1_0_INTERACTIVE_LOGON { + MessageType: MSV1_0_LOGON_SUBMIT_TYPE, + LogonDomainName: ::UNICODE_STRING, + UserName: ::UNICODE_STRING, + Password: ::UNICODE_STRING, +}} +pub type PMSV1_0_INTERACTIVE_LOGON = *mut MSV1_0_INTERACTIVE_LOGON; +STRUCT!{struct MSV1_0_INTERACTIVE_PROFILE { + MessageType: MSV1_0_PROFILE_BUFFER_TYPE, + LogonCount: ::USHORT, + BadPasswordCount: ::USHORT, + LogonTime: ::LARGE_INTEGER, + LogoffTime: ::LARGE_INTEGER, + KickOffTime: ::LARGE_INTEGER, + PasswordLastSet: ::LARGE_INTEGER, + PasswordCanChange: ::LARGE_INTEGER, + PasswordMustChange: ::LARGE_INTEGER, + LogonScript: ::UNICODE_STRING, + HomeDirectory: ::UNICODE_STRING, + FullName: ::UNICODE_STRING, + ProfilePath: ::UNICODE_STRING, + HomeDirectoryDrive: ::UNICODE_STRING, + LogonServer: ::UNICODE_STRING, + UserFlags: ::ULONG, +}} +pub type PMSV1_0_INTERACTIVE_PROFILE = *mut MSV1_0_INTERACTIVE_PROFILE; +pub const MSV1_0_CHALLENGE_LENGTH: usize = 8; +pub const MSV1_0_USER_SESSION_KEY_LENGTH: usize = 16; +pub const MSV1_0_LANMAN_SESSION_KEY_LENGTH: usize = 8; +pub const MSV1_0_CLEARTEXT_PASSWORD_ALLOWED: ::ULONG = 0x02; +pub const MSV1_0_UPDATE_LOGON_STATISTICS: ::ULONG = 0x04; +pub const MSV1_0_RETURN_USER_PARAMETERS: ::ULONG = 0x08; +pub const MSV1_0_DONT_TRY_GUEST_ACCOUNT: ::ULONG = 0x10; +pub const MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT: ::ULONG = 0x20; +pub const MSV1_0_RETURN_PASSWORD_EXPIRY: ::ULONG = 0x40; +pub const MSV1_0_USE_CLIENT_CHALLENGE: ::ULONG = 0x80; +pub const MSV1_0_TRY_GUEST_ACCOUNT_ONLY: ::ULONG = 0x100; +pub const MSV1_0_RETURN_PROFILE_PATH: ::ULONG = 0x200; +pub const MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY: ::ULONG = 0x400; +pub const MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT: ::ULONG = 0x800; +pub const MSV1_0_DISABLE_PERSONAL_FALLBACK: ::ULONG = 0x00001000; +pub const MSV1_0_ALLOW_FORCE_GUEST: ::ULONG = 0x00002000; +pub const MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED: ::ULONG = 0x00004000; +pub const MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY: ::ULONG = 0x00008000; +pub const MSV1_0_SUBAUTHENTICATION_DLL_EX: ::ULONG = 0x00100000; +pub const MSV1_0_ALLOW_MSVCHAPV2: ::ULONG = 0x00010000; +pub const MSV1_0_S4U2SELF: ::ULONG = 0x00020000; +pub const MSV1_0_CHECK_LOGONHOURS_FOR_S4U: ::ULONG = 0x00040000; +pub const MSV1_0_INTERNET_DOMAIN: ::ULONG = 0x00080000; +pub const MSV1_0_SUBAUTHENTICATION_DLL: ::ULONG = 0xFF000000; +pub const MSV1_0_SUBAUTHENTICATION_DLL_SHIFT: ::ULONG = 24; +pub const MSV1_0_MNS_LOGON: ::ULONG = 0x01000000; +pub const MSV1_0_SUBAUTHENTICATION_DLL_RAS: ::ULONG = 2; +pub const MSV1_0_SUBAUTHENTICATION_DLL_IIS: ::ULONG = 132; +STRUCT!{struct MSV1_0_LM20_LOGON { + MessageType: MSV1_0_LOGON_SUBMIT_TYPE, + LogonDomainName: ::UNICODE_STRING, + UserName: ::UNICODE_STRING, + Workstation: ::UNICODE_STRING, + ChallengeToClient: [::UCHAR; MSV1_0_CHALLENGE_LENGTH], + CaseSensitiveChallengeResponse: ::STRING, + CaseInsensitiveChallengeResponse: ::STRING, + ParameterControl: ::ULONG, +}} +pub type PMSV1_0_LM20_LOGON = *mut MSV1_0_LM20_LOGON; +STRUCT!{struct MSV1_0_SUBAUTH_LOGON { + MessageType: MSV1_0_LOGON_SUBMIT_TYPE, + LogonDomainName: ::UNICODE_STRING, + UserName: ::UNICODE_STRING, + Workstation: ::UNICODE_STRING, + ChallengeToClient: [::UCHAR; MSV1_0_CHALLENGE_LENGTH], + AuthenticationInfo1: ::STRING, + AuthenticationInfo2: ::STRING, + ParameterControl: ::ULONG, + SubAuthPackageId: ::ULONG, +}} +pub type PMSV1_0_SUBAUTH_LOGON = *mut MSV1_0_SUBAUTH_LOGON; +STRUCT!{struct MSV1_0_S4U_LOGON { + MessageType: MSV1_0_LOGON_SUBMIT_TYPE, + MSV1_0_LOGON_SUBMIT_TYPE: ::ULONG, + UserPrincipalName: ::UNICODE_STRING, + DomainName: ::UNICODE_STRING, +}} +pub type PMSV1_0_S4U_LOGON = *mut MSV1_0_S4U_LOGON; +pub const LOGON_GUEST: ::ULONG = 0x01; +pub const LOGON_NOENCRYPTION: ::ULONG = 0x02; +pub const LOGON_CACHED_ACCOUNT: ::ULONG = 0x04; +pub const LOGON_USED_LM_PASSWORD: ::ULONG = 0x08; +pub const LOGON_EXTRA_SIDS: ::ULONG = 0x20; +pub const LOGON_SUBAUTH_SESSION_KEY: ::ULONG = 0x40; +pub const LOGON_SERVER_TRUST_ACCOUNT: ::ULONG = 0x80; +pub const LOGON_NTLMV2_ENABLED: ::ULONG = 0x100; +pub const LOGON_RESOURCE_GROUPS: ::ULONG = 0x200; +pub const LOGON_PROFILE_PATH_RETURNED: ::ULONG = 0x400; +pub const LOGON_NT_V2: ::ULONG = 0x800; +pub const LOGON_LM_V2: ::ULONG = 0x1000; +pub const LOGON_NTLM_V2: ::ULONG = 0x2000; +pub const LOGON_OPTIMIZED: ::ULONG = 0x4000; +pub const LOGON_WINLOGON: ::ULONG = 0x8000; +pub const LOGON_PKINIT: ::ULONG = 0x10000; +pub const LOGON_NO_OPTIMIZED: ::ULONG = 0x20000; +pub const LOGON_NO_ELEVATION: ::ULONG = 0x40000; +pub const LOGON_MANAGED_SERVICE: ::ULONG = 0x80000; +pub const LOGON_GRACE_LOGON: ::ULONG = 0x01000000; +STRUCT!{struct MSV1_0_LM20_LOGON_PROFILE { + MessageType: MSV1_0_PROFILE_BUFFER_TYPE, + KickOffTime: ::LARGE_INTEGER, + LogoffTime: ::LARGE_INTEGER, + UserFlags: ::ULONG, + UserSessionKey: [::UCHAR; MSV1_0_USER_SESSION_KEY_LENGTH], + LogonDomainName: ::UNICODE_STRING, + LanmanSessionKey: [::UCHAR; MSV1_0_LANMAN_SESSION_KEY_LENGTH], + LogonServer: ::UNICODE_STRING, + UserParameters: ::UNICODE_STRING, +}} +pub type PMSV1_0_LM20_LOGON_PROFILE = *mut MSV1_0_LM20_LOGON_PROFILE; +pub const MSV1_0_OWF_PASSWORD_LENGTH: usize = 16; +STRUCT!{struct MSV1_0_SUPPLEMENTAL_CREDENTIAL { + Version: ::ULONG, + Flags: ::ULONG, + LmPassword: [::UCHAR; MSV1_0_OWF_PASSWORD_LENGTH], + NtPassword: [::UCHAR; MSV1_0_OWF_PASSWORD_LENGTH], +}} +pub type PMSV1_0_SUPPLEMENTAL_CREDENTIAL = *mut MSV1_0_SUPPLEMENTAL_CREDENTIAL; +pub const MSV1_0_NTLM3_RESPONSE_LENGTH: usize = 16; +pub const MSV1_0_NTLM3_OWF_LENGTH: usize = 16; +STRUCT!{struct MSV1_0_NTLM3_RESPONSE { + Response: [::UCHAR; MSV1_0_NTLM3_RESPONSE_LENGTH], + RespType: ::UCHAR, + HiRespType: ::UCHAR, + Flags: ::USHORT, + MsgWord: ::ULONG, + TimeStamp: ::ULONGLONG, + ChallengeFromClient: [::UCHAR; MSV1_0_CHALLENGE_LENGTH], + AvPairsOff: ::ULONG, + Buffer: [::UCHAR; 1], +}} +pub type PMSV1_0_NTLM3_RESPONSE = *mut MSV1_0_NTLM3_RESPONSE; +ENUM!{enum MSV1_0_AVID { + MsvAvEOL, + MsvAvNbComputerName, + MsvAvNbDomainName, + MsvAvDnsComputerName, + MsvAvDnsDomainName, + MsvAvDnsTreeName, + MsvAvFlags, + MsvAvTimestamp, + MsvAvRestrictions, + MsvAvTargetName, + MsvAvChannelBindings, +}} +STRUCT!{struct MSV1_0_AV_PAIR { + AvId: ::USHORT, + AvLen: ::USHORT, +}} +pub type PMSV1_0_AV_PAIR = *mut MSV1_0_AV_PAIR; +ENUM!{enum MSV1_0_PROTOCOL_MESSAGE_TYPE { + MsV1_0Lm20ChallengeRequest = 0, + MsV1_0Lm20GetChallengeResponse, + MsV1_0EnumerateUsers, + MsV1_0GetUserInfo, + MsV1_0ReLogonUsers, + MsV1_0ChangePassword, + MsV1_0ChangeCachedPassword, + MsV1_0GenericPassthrough, + MsV1_0CacheLogon, + MsV1_0SubAuth, + MsV1_0DeriveCredential, + MsV1_0CacheLookup, + MsV1_0SetProcessOption, + MsV1_0ConfigLocalAliases, + MsV1_0ClearCachedCredentials, + MsV1_0LookupToken, + MsV1_0ValidateAuth, + MsV1_0CacheLookupEx, + MsV1_0GetCredentialKey, + MsV1_0SetThreadOption, +}} +pub type PMSV1_0_PROTOCOL_MESSAGE_TYPE = *mut MSV1_0_PROTOCOL_MESSAGE_TYPE; +STRUCT!{struct MSV1_0_CHANGEPASSWORD_REQUEST { + MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, + DomainName: ::UNICODE_STRING, + AccountName: ::UNICODE_STRING, + OldPassword: ::UNICODE_STRING, + NewPassword: ::UNICODE_STRING, + Impersonating: ::BOOLEAN, +}} +pub type PMSV1_0_CHANGEPASSWORD_REQUEST = *mut MSV1_0_CHANGEPASSWORD_REQUEST; +STRUCT!{struct MSV1_0_CHANGEPASSWORD_RESPONSE { + MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, + PasswordInfoValid: ::BOOLEAN, + DomainPasswordInfo: DOMAIN_PASSWORD_INFORMATION, +}} +pub type PMSV1_0_CHANGEPASSWORD_RESPONSE = *mut MSV1_0_CHANGEPASSWORD_RESPONSE; +STRUCT!{struct MSV1_0_PASSTHROUGH_REQUEST { + MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, + DomainName: ::UNICODE_STRING, + PackageName: ::UNICODE_STRING, + DataLength: ::ULONG, + LogonData: ::PUCHAR, + Pad: ::ULONG, +}} +pub type PMSV1_0_PASSTHROUGH_REQUEST = *mut MSV1_0_PASSTHROUGH_REQUEST; +STRUCT!{struct MSV1_0_PASSTHROUGH_RESPONSE { + MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, + Pad: ::ULONG, + DataLength: ::ULONG, + ValidationData: ::PUCHAR, +}} +pub type PMSV1_0_PASSTHROUGH_RESPONSE = *mut MSV1_0_PASSTHROUGH_RESPONSE; +STRUCT!{struct MSV1_0_SUBAUTH_REQUEST { + MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, + SubAuthPackageId: ::ULONG, + SubAuthInfoLength: ::ULONG, + SubAuthSubmitBuffer: ::PUCHAR, +}} +pub type PMSV1_0_SUBAUTH_REQUEST = *mut MSV1_0_SUBAUTH_REQUEST; +STRUCT!{struct MSV1_0_SUBAUTH_RESPONSE { + MessageType: MSV1_0_PROTOCOL_MESSAGE_TYPE, + SubAuthInfoLength: ::ULONG, + SubAuthReturnBuffer: ::PUCHAR, +}} +pub type PMSV1_0_SUBAUTH_RESPONSE = *mut MSV1_0_SUBAUTH_RESPONSE; +pub const RTL_ENCRYPT_MEMORY_SIZE: ::ULONG = 8; +pub const RTL_ENCRYPT_OPTION_CROSS_PROCESS: ::ULONG = 0x01; +pub const RTL_ENCRYPT_OPTION_SAME_LOGON: ::ULONG = 0x02; +pub const KERB_ETYPE_NULL: ::LONG = 0; +pub const KERB_ETYPE_DES_CBC_CRC: ::LONG = 1; +pub const KERB_ETYPE_DES_CBC_MD4: ::LONG = 2; +pub const KERB_ETYPE_DES_CBC_MD5: ::LONG = 3; +pub const KERB_ETYPE_AES128_CTS_HMAC_SHA1_96: ::LONG = 17; +pub const KERB_ETYPE_AES256_CTS_HMAC_SHA1_96: ::LONG = 18; +pub const KERB_ETYPE_RC4_MD4: ::LONG = -128; +pub const KERB_ETYPE_RC4_PLAIN2: ::LONG = -129; +pub const KERB_ETYPE_RC4_LM: ::LONG = -130; +pub const KERB_ETYPE_RC4_SHA: ::LONG = -131; +pub const KERB_ETYPE_DES_PLAIN: ::LONG = -132; +pub const KERB_ETYPE_RC4_HMAC_OLD: ::LONG = -133; +pub const KERB_ETYPE_RC4_PLAIN_OLD: ::LONG = -134; +pub const KERB_ETYPE_RC4_HMAC_OLD_EXP: ::LONG = -135; +pub const KERB_ETYPE_RC4_PLAIN_OLD_EXP: ::LONG = -136; +pub const KERB_ETYPE_RC4_PLAIN: ::LONG = -140; +pub const KERB_ETYPE_RC4_PLAIN_EXP: ::LONG = -141; +pub const KERB_ETYPE_AES128_CTS_HMAC_SHA1_96_PLAIN: ::LONG = -148; +pub const KERB_ETYPE_AES256_CTS_HMAC_SHA1_96_PLAIN: ::LONG = -149; +pub const KERB_ETYPE_DSA_SHA1_CMS: ::LONG = 9; +pub const KERB_ETYPE_RSA_MD5_CMS: ::LONG = 10; +pub const KERB_ETYPE_RSA_SHA1_CMS: ::LONG = 11; +pub const KERB_ETYPE_RC2_CBC_ENV: ::LONG = 12; +pub const KERB_ETYPE_RSA_ENV: ::LONG = 13; +pub const KERB_ETYPE_RSA_ES_OEAP_ENV: ::LONG = 14; +pub const KERB_ETYPE_DES_EDE3_CBC_ENV: ::LONG = 15; +pub const KERB_ETYPE_DSA_SIGN: ::LONG = 8; +pub const KERB_ETYPE_RSA_PRIV: ::LONG = 9; +pub const KERB_ETYPE_RSA_PUB: ::LONG = 10; +pub const KERB_ETYPE_RSA_PUB_MD5: ::LONG = 11; +pub const KERB_ETYPE_RSA_PUB_SHA1: ::LONG = 12; +pub const KERB_ETYPE_PKCS7_PUB: ::LONG = 13; +pub const KERB_ETYPE_DES3_CBC_MD5: ::LONG = 5; +pub const KERB_ETYPE_DES3_CBC_SHA1: ::LONG = 7; +pub const KERB_ETYPE_DES3_CBC_SHA1_KD: ::LONG = 16; +pub const KERB_ETYPE_DES_CBC_MD5_NT: ::LONG = 20; +pub const KERB_ETYPE_RC4_HMAC_NT: ::LONG = 23; +pub const KERB_ETYPE_RC4_HMAC_NT_EXP: ::LONG = 24; +pub const KERB_CHECKSUM_NONE: ::LONG = 0; +pub const KERB_CHECKSUM_CRC32: ::LONG = 1; +pub const KERB_CHECKSUM_MD4: ::LONG = 2; +pub const KERB_CHECKSUM_KRB_DES_MAC: ::LONG = 4; +pub const KERB_CHECKSUM_KRB_DES_MAC_K: ::LONG = 5; +pub const KERB_CHECKSUM_MD5: ::LONG = 7; +pub const KERB_CHECKSUM_MD5_DES: ::LONG = 8; +pub const KERB_CHECKSUM_SHA1_NEW: ::LONG = 14; +pub const KERB_CHECKSUM_HMAC_SHA1_96_AES128: ::LONG = 15; +pub const KERB_CHECKSUM_HMAC_SHA1_96_AES256: ::LONG = 16; +pub const KERB_CHECKSUM_LM: ::LONG = -130; +pub const KERB_CHECKSUM_SHA1: ::LONG = -131; +pub const KERB_CHECKSUM_REAL_CRC32: ::LONG = -132; +pub const KERB_CHECKSUM_DES_MAC: ::LONG = -133; +pub const KERB_CHECKSUM_DES_MAC_MD5: ::LONG = -134; +pub const KERB_CHECKSUM_MD25: ::LONG = -135; +pub const KERB_CHECKSUM_RC4_MD5: ::LONG = -136; +pub const KERB_CHECKSUM_MD5_HMAC: ::LONG = -137; +pub const KERB_CHECKSUM_HMAC_MD5: ::LONG = -138; +pub const KERB_CHECKSUM_HMAC_SHA1_96_AES128_Ki: ::LONG = -150; +pub const KERB_CHECKSUM_HMAC_SHA1_96_AES256_Ki: ::LONG = -151; +pub const KERB_TICKET_FLAGS_reserved: ::ULONG = 0x80000000; +pub const KERB_TICKET_FLAGS_forwardable: ::ULONG = 0x40000000; +pub const KERB_TICKET_FLAGS_forwarded: ::ULONG = 0x20000000; +pub const KERB_TICKET_FLAGS_proxiable: ::ULONG = 0x10000000; +pub const KERB_TICKET_FLAGS_proxy: ::ULONG = 0x08000000; +pub const KERB_TICKET_FLAGS_may_postdate: ::ULONG = 0x04000000; +pub const KERB_TICKET_FLAGS_postdated: ::ULONG = 0x02000000; +pub const KERB_TICKET_FLAGS_invalid: ::ULONG = 0x01000000; +pub const KERB_TICKET_FLAGS_renewable: ::ULONG = 0x00800000; +pub const KERB_TICKET_FLAGS_initial: ::ULONG = 0x00400000; +pub const KERB_TICKET_FLAGS_pre_authent: ::ULONG = 0x00200000; +pub const KERB_TICKET_FLAGS_hw_authent: ::ULONG = 0x00100000; +pub const KERB_TICKET_FLAGS_ok_as_delegate: ::ULONG = 0x00040000; +pub const KERB_TICKET_FLAGS_name_canonicalize: ::ULONG = 0x00010000; +pub const KERB_TICKET_FLAGS_cname_in_pa_data: ::ULONG = 0x00040000; +pub const KERB_TICKET_FLAGS_enc_pa_rep: ::ULONG = 0x00010000; +pub const KERB_TICKET_FLAGS_reserved1: ::ULONG = 0x00000001; +pub const KRB_NT_UNKNOWN: ::LONG = 0; +pub const KRB_NT_PRINCIPAL: ::LONG = 1; +pub const KRB_NT_PRINCIPAL_AND_ID: ::LONG = -131; +pub const KRB_NT_SRV_INST: ::LONG = 2; +pub const KRB_NT_SRV_INST_AND_ID: ::LONG = -132; +pub const KRB_NT_SRV_HST: ::LONG = 3; +pub const KRB_NT_SRV_XHST: ::LONG = 4; +pub const KRB_NT_UID: ::LONG = 5; +pub const KRB_NT_ENTERPRISE_PRINCIPAL: ::LONG = 10; +pub const KRB_NT_WELLKNOWN: ::LONG = 11; +pub const KRB_NT_ENT_PRINCIPAL_AND_ID: ::LONG = -130; +pub const KRB_NT_MS_PRINCIPAL: ::LONG = -128; +pub const KRB_NT_MS_PRINCIPAL_AND_ID: ::LONG = -129; +pub const KRB_NT_MS_BRANCH_ID: ::LONG = -133; +pub const KRB_NT_X500_PRINCIPAL: ::LONG = 6; +pub const KERB_WRAP_NO_ENCRYPT: ::ULONG = 0x80000001; +ENUM!{enum KERB_LOGON_SUBMIT_TYPE { + KerbInteractiveLogon = 2, + KerbSmartCardLogon = 6, + KerbWorkstationUnlockLogon = 7, + KerbSmartCardUnlockLogon = 8, + KerbProxyLogon = 9, + KerbTicketLogon = 10, + KerbTicketUnlockLogon = 11, + KerbS4ULogon = 12, + KerbCertificateLogon = 13, + KerbCertificateS4ULogon = 14, + KerbCertificateUnlockLogon = 15, + KerbNoElevationLogon = 83, + KerbLuidLogon = 84, +}} +pub type PKERB_LOGON_SUBMIT_TYPE = *mut KERB_LOGON_SUBMIT_TYPE; +STRUCT!{struct KERB_INTERACTIVE_LOGON { + MessageType: KERB_LOGON_SUBMIT_TYPE, + LogonDomainName: ::UNICODE_STRING, + UserName: ::UNICODE_STRING, + Password: ::UNICODE_STRING, +}} +pub type PKERB_INTERACTIVE_LOGON = *mut KERB_INTERACTIVE_LOGON; +STRUCT!{struct KERB_INTERACTIVE_UNLOCK_LOGON { + Logon: KERB_INTERACTIVE_LOGON, + LogonId: ::LUID, +}} +pub type PKERB_INTERACTIVE_UNLOCK_LOGON = *mut KERB_INTERACTIVE_UNLOCK_LOGON; +STRUCT!{struct KERB_SMART_CARD_LOGON { + MessageType: KERB_LOGON_SUBMIT_TYPE, + Pin: ::UNICODE_STRING, + CspDataLength: ::ULONG, + CspData: ::PUCHAR, +}} +pub type PKERB_SMART_CARD_LOGON = *mut KERB_SMART_CARD_LOGON; +STRUCT!{struct KERB_SMART_CARD_UNLOCK_LOGON { + Logon: KERB_SMART_CARD_LOGON, + LogonId: ::LUID, +}} +pub type PKERB_SMART_CARD_UNLOCK_LOGON = *mut KERB_SMART_CARD_UNLOCK_LOGON; +pub const KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES: ::ULONG = 0x1; +pub const KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO: ::ULONG = 0x2; +STRUCT!{struct KERB_CERTIFICATE_LOGON { + MessageType: KERB_LOGON_SUBMIT_TYPE, + DomainName: ::UNICODE_STRING, + UserName: ::UNICODE_STRING, + Pin: ::UNICODE_STRING, + Flags: ::ULONG, + CspDataLength: ::ULONG, + CspData: ::PUCHAR, +}} +pub type PKERB_CERTIFICATE_LOGON = *mut KERB_CERTIFICATE_LOGON; +STRUCT!{struct KERB_CERTIFICATE_UNLOCK_LOGON { + Logon: KERB_CERTIFICATE_LOGON, + LogonId: ::LUID, +}} +pub type PKERB_CERTIFICATE_UNLOCK_LOGON = *mut KERB_CERTIFICATE_UNLOCK_LOGON; +pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_DUPLICATES: ::ULONG = 0x1; +pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_CHECK_LOGONHOURS: ::ULONG = 0x2; +pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_FAIL_IF_NT_AUTH_POLICY_REQUIRED: ::ULONG = 0x4; +pub const KERB_CERTIFICATE_S4U_LOGON_FLAG_IDENTIFY: ::ULONG = 0x8; +STRUCT!{struct KERB_CERTIFICATE_S4U_LOGON { + MessageType: KERB_LOGON_SUBMIT_TYPE, + Flags: ::ULONG, + UserPrincipalName: ::UNICODE_STRING, + DomainName: ::UNICODE_STRING, + CertificateLength: ::ULONG, + Certificate: ::PUCHAR, +}} +pub type PKERB_CERTIFICATE_S4U_LOGON = *mut KERB_CERTIFICATE_S4U_LOGON; +STRUCT!{struct KERB_TICKET_LOGON { + MessageType: KERB_LOGON_SUBMIT_TYPE, + Flags: ::ULONG, + ServiceTicketLength: ::ULONG, + TicketGrantingTicketLength: ::ULONG, + ServiceTicket: ::PUCHAR, + TicketGrantingTicket: ::PUCHAR, +}} +pub type PKERB_TICKET_LOGON = *mut KERB_TICKET_LOGON; +STRUCT!{struct KERB_TICKET_UNLOCK_LOGON { + Logon: KERB_TICKET_LOGON, + LogonId: ::LUID, +}} +pub type PKERB_TICKET_UNLOCK_LOGON = *mut KERB_TICKET_UNLOCK_LOGON; +pub const KERB_S4U_LOGON_FLAG_CHECK_LOGONHOURS: ::ULONG = 0x2; +pub const KERB_S4U_LOGON_FLAG_IDENTIFY: ::ULONG = 0x8; +STRUCT!{struct KERB_S4U_LOGON { + MessageType: KERB_LOGON_SUBMIT_TYPE, + Flags: ::ULONG, + ClientUpn: ::UNICODE_STRING, + ClientRealm: ::UNICODE_STRING, +}} +pub type PKERB_S4U_LOGON = *mut KERB_S4U_LOGON; +ENUM!{enum KERB_PROFILE_BUFFER_TYPE { + KerbInteractiveProfile = 2, + KerbSmartCardProfile = 4, + KerbTicketProfile = 6, +}} +pub type PKERB_PROFILE_BUFFER_TYPE = *mut KERB_PROFILE_BUFFER_TYPE; +STRUCT!{struct KERB_INTERACTIVE_PROFILE { + MessageType: KERB_PROFILE_BUFFER_TYPE, + LogonCount: ::USHORT, + BadPasswordCount: ::USHORT, + LogonTime: ::LARGE_INTEGER, + LogoffTime: ::LARGE_INTEGER, + KickOffTime: ::LARGE_INTEGER, + PasswordLastSet: ::LARGE_INTEGER, + PasswordCanChange: ::LARGE_INTEGER, + PasswordMustChange: ::LARGE_INTEGER, + LogonScript: ::UNICODE_STRING, + HomeDirectory: ::UNICODE_STRING, + FullName: ::UNICODE_STRING, + ProfilePath: ::UNICODE_STRING, + HomeDirectoryDrive: ::UNICODE_STRING, + LogonServer: ::UNICODE_STRING, + UserFlags: ::ULONG, +}} +pub type PKERB_INTERACTIVE_PROFILE = *mut KERB_INTERACTIVE_PROFILE; +STRUCT!{struct KERB_SMART_CARD_PROFILE { + Profile: KERB_INTERACTIVE_PROFILE, + CertificateSize: ::ULONG, + CertificateData: ::PUCHAR, +}} +pub type PKERB_SMART_CARD_PROFILE = *mut KERB_SMART_CARD_PROFILE; +STRUCT!{struct KERB_CRYPTO_KEY { + KeyType: ::LONG, + Length: ::ULONG, + Value: ::PUCHAR, +}} +pub type PKERB_CRYPTO_KEY = *mut KERB_CRYPTO_KEY; +STRUCT!{struct KERB_CRYPTO_KEY32 { + KeyType: ::LONG, + Length: ::ULONG, + Offset: ::ULONG, +}} +pub type PKERB_CRYPTO_KEY32 = *mut KERB_CRYPTO_KEY32; +STRUCT!{struct KERB_TICKET_PROFILE { + Profile: KERB_INTERACTIVE_PROFILE, + SessionKey: KERB_CRYPTO_KEY, +}} +pub type PKERB_TICKET_PROFILE = *mut KERB_TICKET_PROFILE; +ENUM!{enum KERB_PROTOCOL_MESSAGE_TYPE { + KerbDebugRequestMessage = 0, + KerbQueryTicketCacheMessage, + KerbChangeMachinePasswordMessage, + KerbVerifyPacMessage, + KerbRetrieveTicketMessage, + KerbUpdateAddressesMessage, + KerbPurgeTicketCacheMessage, + KerbChangePasswordMessage, + KerbRetrieveEncodedTicketMessage, + KerbDecryptDataMessage, + KerbAddBindingCacheEntryMessage, + KerbSetPasswordMessage, + KerbSetPasswordExMessage, + KerbVerifyCredentialsMessage, + KerbQueryTicketCacheExMessage, + KerbPurgeTicketCacheExMessage, + KerbRefreshSmartcardCredentialsMessage, + KerbAddExtraCredentialsMessage, + KerbQuerySupplementalCredentialsMessage, + KerbTransferCredentialsMessage, + KerbQueryTicketCacheEx2Message, + KerbSubmitTicketMessage, + KerbAddExtraCredentialsExMessage, + KerbQueryKdcProxyCacheMessage, + KerbPurgeKdcProxyCacheMessage, + KerbQueryTicketCacheEx3Message, + KerbCleanupMachinePkinitCredsMessage, + KerbAddBindingCacheEntryExMessage, + KerbQueryBindingCacheMessage, + KerbPurgeBindingCacheMessage, + KerbPinKdcMessage, + KerbUnpinAllKdcsMessage, + KerbQueryDomainExtendedPoliciesMessage, + KerbQueryS4U2ProxyCacheMessage, +}} +pub type PKERB_PROTOCOL_MESSAGE_TYPE = *mut KERB_PROTOCOL_MESSAGE_TYPE; +STRUCT!{struct KERB_QUERY_TKT_CACHE_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + LogonId: ::LUID, +}} +pub type PKERB_QUERY_TKT_CACHE_REQUEST = *mut KERB_QUERY_TKT_CACHE_REQUEST; +STRUCT!{struct KERB_TICKET_CACHE_INFO { + ServerName: ::UNICODE_STRING, + RealmName: ::UNICODE_STRING, + StartTime: ::LARGE_INTEGER, + EndTime: ::LARGE_INTEGER, + RenewTime: ::LARGE_INTEGER, + EncryptionType: ::LONG, + TicketFlags: ::ULONG, +}} +pub type PKERB_TICKET_CACHE_INFO = *mut KERB_TICKET_CACHE_INFO; +STRUCT!{struct KERB_TICKET_CACHE_INFO_EX { + ClientName: ::UNICODE_STRING, + ClientRealm: ::UNICODE_STRING, + ServerName: ::UNICODE_STRING, + ServerRealm: ::UNICODE_STRING, + StartTime: ::LARGE_INTEGER, + EndTime: ::LARGE_INTEGER, + RenewTime: ::LARGE_INTEGER, + EncryptionType: ::LONG, + TicketFlags: ::ULONG, +}} +pub type PKERB_TICKET_CACHE_INFO_EX = *mut KERB_TICKET_CACHE_INFO_EX; +STRUCT!{struct KERB_TICKET_CACHE_INFO_EX2 { + ClientName: ::UNICODE_STRING, + ClientRealm: ::UNICODE_STRING, + ServerName: ::UNICODE_STRING, + ServerRealm: ::UNICODE_STRING, + StartTime: ::LARGE_INTEGER, + EndTime: ::LARGE_INTEGER, + RenewTime: ::LARGE_INTEGER, + EncryptionType: ::LONG, + TicketFlags: ::ULONG, + SessionKeyType: ::ULONG, + BranchId: ::ULONG, +}} +pub type PKERB_TICKET_CACHE_INFO_EX2 = *mut KERB_TICKET_CACHE_INFO_EX2; +STRUCT!{struct KERB_TICKET_CACHE_INFO_EX3 { + ClientName: ::UNICODE_STRING, + ClientRealm: ::UNICODE_STRING, + ServerName: ::UNICODE_STRING, + ServerRealm: ::UNICODE_STRING, + StartTime: ::LARGE_INTEGER, + EndTime: ::LARGE_INTEGER, + RenewTime: ::LARGE_INTEGER, + EncryptionType: ::LONG, + TicketFlags: ::ULONG, + SessionKeyType: ::ULONG, + BranchId: ::ULONG, + CacheFlags: ::ULONG, + KdcCalled: ::UNICODE_STRING, +}} +pub type PKERB_TICKET_CACHE_INFO_EX3 = *mut KERB_TICKET_CACHE_INFO_EX3; +STRUCT!{struct KERB_QUERY_TKT_CACHE_RESPONSE { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + CountOfTickets: ::ULONG, + Tickets: [KERB_TICKET_CACHE_INFO; ::ANYSIZE_ARRAY], +}} +pub type PKERB_QUERY_TKT_CACHE_RESPONSE = *mut KERB_QUERY_TKT_CACHE_RESPONSE; +STRUCT!{struct KERB_QUERY_TKT_CACHE_EX_RESPONSE { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + CountOfTickets: ::ULONG, + Tickets: [KERB_TICKET_CACHE_INFO_EX; ::ANYSIZE_ARRAY], +}} +pub type PKERB_QUERY_TKT_CACHE_EX_RESPONSE = *mut KERB_QUERY_TKT_CACHE_EX_RESPONSE; +STRUCT!{struct KERB_QUERY_TKT_CACHE_EX2_RESPONSE { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + CountOfTickets: ::ULONG, + Tickets: [KERB_TICKET_CACHE_INFO_EX2; ::ANYSIZE_ARRAY], +}} +pub type PKERB_QUERY_TKT_CACHE_EX2_RESPONSE = *mut KERB_QUERY_TKT_CACHE_EX2_RESPONSE; +STRUCT!{struct KERB_QUERY_TKT_CACHE_EX3_RESPONSE { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + CountOfTickets: ::ULONG, + Tickets: [KERB_TICKET_CACHE_INFO_EX3; ::ANYSIZE_ARRAY], +}} +pub type PKERB_QUERY_TKT_CACHE_EX3_RESPONSE = *mut KERB_QUERY_TKT_CACHE_EX3_RESPONSE; +pub const KERB_USE_DEFAULT_TICKET_FLAGS: ::ULONG = 0x0; +pub const KERB_RETRIEVE_TICKET_DEFAULT: ::ULONG = 0x0; +pub const KERB_RETRIEVE_TICKET_DONT_USE_CACHE: ::ULONG = 0x1; +pub const KERB_RETRIEVE_TICKET_USE_CACHE_ONLY: ::ULONG = 0x2; +pub const KERB_RETRIEVE_TICKET_USE_CREDHANDLE: ::ULONG = 0x4; +pub const KERB_RETRIEVE_TICKET_AS_KERB_CRED: ::ULONG = 0x8; +pub const KERB_RETRIEVE_TICKET_WITH_SEC_CRED: ::ULONG = 0x10; +pub const KERB_RETRIEVE_TICKET_CACHE_TICKET: ::ULONG = 0x20; +pub const KERB_RETRIEVE_TICKET_MAX_LIFETIME: ::ULONG = 0x40; +STRUCT!{struct KERB_AUTH_DATA { + Type: ::ULONG, + Length: ::ULONG, + Data: ::PUCHAR, +}} +pub type PKERB_AUTH_DATA = *mut KERB_AUTH_DATA; +STRUCT!{struct KERB_NET_ADDRESS { + Family: ::ULONG, + Length: ::ULONG, + Address: ::PUCHAR, +}} +pub type PKERB_NET_ADDRESS = *mut KERB_NET_ADDRESS; +STRUCT!{struct KERB_NET_ADDRESSES { + Number: ::ULONG, + Addresses: [KERB_NET_ADDRESS; ::ANYSIZE_ARRAY], +}} +pub type PKERB_NET_ADDRESSES = *mut KERB_NET_ADDRESSES; +STRUCT!{struct KERB_EXTERNAL_NAME { + NameType: ::SHORT, + NameCount: ::USHORT, + Names: [::UNICODE_STRING; ::ANYSIZE_ARRAY], +}} +pub type PKERB_EXTERNAL_NAME = *mut KERB_EXTERNAL_NAME; +STRUCT!{struct KERB_EXTERNAL_TICKET { + ServiceName: PKERB_EXTERNAL_NAME, + TargetName: PKERB_EXTERNAL_NAME, + ClientName: PKERB_EXTERNAL_NAME, + DomainName: ::UNICODE_STRING, + TargetDomainName: ::UNICODE_STRING, + AltTargetDomainName: ::UNICODE_STRING, + SessionKey: KERB_CRYPTO_KEY, + TicketFlags: ::ULONG, + Flags: ::ULONG, + KeyExpirationTime: ::LARGE_INTEGER, + StartTime: ::LARGE_INTEGER, + EndTime: ::LARGE_INTEGER, + RenewUntil: ::LARGE_INTEGER, + TimeSkew: ::LARGE_INTEGER, + EncodedTicketSize: ::ULONG, + EncodedTicket: ::PUCHAR, +}} +pub type PKERB_EXTERNAL_TICKET = *mut KERB_EXTERNAL_TICKET; +STRUCT!{struct KERB_RETRIEVE_TKT_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + LogonId: ::LUID, + TargetName: ::UNICODE_STRING, + TicketFlags: ::ULONG, + CacheOptions: ::ULONG, + EncryptionType: ::LONG, + CredentialsHandle: ::SecHandle, +}} +pub type PKERB_RETRIEVE_TKT_REQUEST = *mut KERB_RETRIEVE_TKT_REQUEST; +STRUCT!{struct KERB_RETRIEVE_TKT_RESPONSE { + Ticket: KERB_EXTERNAL_TICKET, +}} +pub type PKERB_RETRIEVE_TKT_RESPONSE = *mut KERB_RETRIEVE_TKT_RESPONSE; +STRUCT!{struct KERB_PURGE_TKT_CACHE_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + LogonId: ::LUID, + ServerName: ::UNICODE_STRING, + RealmName: ::UNICODE_STRING, +}} +pub type PKERB_PURGE_TKT_CACHE_REQUEST = *mut KERB_PURGE_TKT_CACHE_REQUEST; +pub const KERB_PURGE_ALL_TICKETS: ::ULONG = 1; +STRUCT!{struct KERB_PURGE_TKT_CACHE_EX_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + LogonId: ::LUID, + Flags: ::ULONG, + TicketTemplate: KERB_TICKET_CACHE_INFO_EX, +}} +pub type PKERB_PURGE_TKT_CACHE_EX_REQUEST = *mut KERB_PURGE_TKT_CACHE_EX_REQUEST; +STRUCT!{struct KERB_SUBMIT_TKT_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + LogonId: ::LUID, + Flags: ::ULONG, + Key: KERB_CRYPTO_KEY32, + KerbCredSize: ::ULONG, + KerbCredOffset: ::ULONG, +}} +pub type PKERB_SUBMIT_TKT_REQUEST = *mut KERB_SUBMIT_TKT_REQUEST; +STRUCT!{struct KERB_QUERY_KDC_PROXY_CACHE_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + Flags: ::ULONG, + LogonId: ::LUID, +}} +pub type PKERB_QUERY_KDC_PROXY_CACHE_REQUEST = *mut KERB_QUERY_KDC_PROXY_CACHE_REQUEST; +STRUCT!{struct KDC_PROXY_CACHE_ENTRY_DATA { + SinceLastUsed: ::ULONG64, + DomainName: ::UNICODE_STRING, + ProxyServerName: ::UNICODE_STRING, + ProxyServerVdir: ::UNICODE_STRING, + ProxyServerPort: ::USHORT, + LogonId: ::LUID, + CredUserName: ::UNICODE_STRING, + CredDomainName: ::UNICODE_STRING, + GlobalCache: ::BOOLEAN, +}} +pub type PKDC_PROXY_CACHE_ENTRY_DATA = *mut KDC_PROXY_CACHE_ENTRY_DATA; +STRUCT!{struct KERB_QUERY_KDC_PROXY_CACHE_RESPONSE { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + CountOfEntries: ::ULONG, + Entries: PKDC_PROXY_CACHE_ENTRY_DATA, +}} +pub type PKERB_QUERY_KDC_PROXY_CACHE_RESPONSE = *mut KERB_QUERY_KDC_PROXY_CACHE_RESPONSE; +STRUCT!{struct KERB_PURGE_KDC_PROXY_CACHE_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + Flags: ::ULONG, + LogonId: ::LUID, +}} +pub type PKERB_PURGE_KDC_PROXY_CACHE_REQUEST = *mut KERB_PURGE_KDC_PROXY_CACHE_REQUEST; +STRUCT!{struct KERB_PURGE_KDC_PROXY_CACHE_RESPONSE { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + CountOfPurged: ::ULONG, +}} +pub type PKERB_PURGE_KDC_PROXY_CACHE_RESPONSE = *mut KERB_PURGE_KDC_PROXY_CACHE_RESPONSE; +pub const KERB_S4U2PROXY_CACHE_ENTRY_INFO_FLAG_NEGATIVE: ::ULONG = 0x1; +STRUCT!{struct KERB_S4U2PROXY_CACHE_ENTRY_INFO { + ServerName: ::UNICODE_STRING, + Flags: ::ULONG, + LastStatus: ::NTSTATUS, + Expiry: ::LARGE_INTEGER, +}} +pub type PKERB_S4U2PROXY_CACHE_ENTRY_INFO = *mut KERB_S4U2PROXY_CACHE_ENTRY_INFO; +pub const KERB_S4U2PROXY_CRED_FLAG_NEGATIVE: ::ULONG = 0x1; +STRUCT!{struct KERB_S4U2PROXY_CRED { + UserName: ::UNICODE_STRING, + DomainName: ::UNICODE_STRING, + Flags: ::ULONG, + LastStatus: ::NTSTATUS, + Expiry: ::LARGE_INTEGER, + CountOfEntries: ::ULONG, + Entries: PKERB_S4U2PROXY_CACHE_ENTRY_INFO, +}} +pub type PKERB_S4U2PROXY_CRED = *mut KERB_S4U2PROXY_CRED; +STRUCT!{struct KERB_QUERY_S4U2PROXY_CACHE_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + Flags: ::ULONG, + LogonId: ::LUID, +}} +pub type PKERB_QUERY_S4U2PROXY_CACHE_REQUEST = *mut KERB_QUERY_S4U2PROXY_CACHE_REQUEST; +STRUCT!{struct KERB_QUERY_S4U2PROXY_CACHE_RESPONSE { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + CountOfCreds: ::ULONG, + Creds: PKERB_S4U2PROXY_CRED, +}} +pub type PKERB_QUERY_S4U2PROXY_CACHE_RESPONSE = *mut KERB_QUERY_S4U2PROXY_CACHE_RESPONSE; +STRUCT!{struct KERB_CHANGEPASSWORD_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + DomainName: ::UNICODE_STRING, + AccountName: ::UNICODE_STRING, + OldPassword: ::UNICODE_STRING, + NewPassword: ::UNICODE_STRING, + Impersonating: ::BOOLEAN, +}} +pub type PKERB_CHANGEPASSWORD_REQUEST = *mut KERB_CHANGEPASSWORD_REQUEST; +STRUCT!{struct KERB_SETPASSWORD_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + LogonId: ::LUID, + CredentialsHandle: ::SecHandle, + Flags: ::ULONG, + DomainName: ::UNICODE_STRING, + AccountName: ::UNICODE_STRING, + Password: ::UNICODE_STRING, +}} +pub type PKERB_SETPASSWORD_REQUEST = *mut KERB_SETPASSWORD_REQUEST; +STRUCT!{struct KERB_SETPASSWORD_EX_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + LogonId: ::LUID, + CredentialsHandle: ::SecHandle, + Flags: ::ULONG, + AccountRealm: ::UNICODE_STRING, + AccountName: ::UNICODE_STRING, + Password: ::UNICODE_STRING, + ClientRealm: ::UNICODE_STRING, + ClientName: ::UNICODE_STRING, + Impersonating: ::BOOLEAN, + KdcAddress: ::UNICODE_STRING, + KdcAddressType: ::ULONG, +}} +pub type PKERB_SETPASSWORD_EX_REQUEST = *mut KERB_SETPASSWORD_EX_REQUEST; +pub const DS_UNKNOWN_ADDRESS_TYPE: ::ULONG = 0; +pub const KERB_SETPASS_USE_LOGONID: ::ULONG = 1; +pub const KERB_SETPASS_USE_CREDHANDLE: ::ULONG = 2; +STRUCT!{struct KERB_DECRYPT_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + LogonId: ::LUID, + Flags: ::ULONG, + CryptoType: ::LONG, + KeyUsage: ::LONG, + Key: KERB_CRYPTO_KEY, + EncryptedDataSize: ::ULONG, + InitialVectorSize: ::ULONG, + InitialVector: ::PUCHAR, + EncryptedData: ::PUCHAR, +}} +pub type PKERB_DECRYPT_REQUEST = *mut KERB_DECRYPT_REQUEST; +pub const KERB_DECRYPT_FLAG_DEFAULT_KEY: ::ULONG = 0x00000001; +STRUCT!{struct KERB_DECRYPT_RESPONSE { + DecryptedData: [::UCHAR; ::ANYSIZE_ARRAY], +}} +pub type PKERB_DECRYPT_RESPONSE = *mut KERB_DECRYPT_RESPONSE; +STRUCT!{struct KERB_ADD_BINDING_CACHE_ENTRY_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + RealmName: ::UNICODE_STRING, + KdcAddress: ::UNICODE_STRING, + AddressType: ::ULONG, +}} +pub type PKERB_ADD_BINDING_CACHE_ENTRY_REQUEST = *mut KERB_ADD_BINDING_CACHE_ENTRY_REQUEST; +STRUCT!{struct KERB_REFRESH_SCCRED_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + CredentialBlob: ::UNICODE_STRING, + LogonId: ::LUID, + Flags: ::ULONG, +}} +pub type PKERB_REFRESH_SCCRED_REQUEST = *mut KERB_REFRESH_SCCRED_REQUEST; +pub const KERB_REFRESH_SCCRED_RELEASE: ::ULONG = 0x0; +pub const KERB_REFRESH_SCCRED_GETTGT: ::ULONG = 0x1; +STRUCT!{struct KERB_ADD_CREDENTIALS_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + UserName: ::UNICODE_STRING, + DomainName: ::UNICODE_STRING, + Password: ::UNICODE_STRING, + LogonId: ::LUID, + Flags: ::ULONG, +}} +pub type PKERB_ADD_CREDENTIALS_REQUEST = *mut KERB_ADD_CREDENTIALS_REQUEST; +pub const KERB_REQUEST_ADD_CREDENTIAL: ::ULONG = 1; +pub const KERB_REQUEST_REPLACE_CREDENTIAL: ::ULONG = 2; +pub const KERB_REQUEST_REMOVE_CREDENTIAL: ::ULONG = 4; +STRUCT!{struct KERB_ADD_CREDENTIALS_REQUEST_EX { + Credentials: KERB_ADD_CREDENTIALS_REQUEST, + PrincipalNameCount: ::ULONG, + PrincipalNames: [::UNICODE_STRING; ::ANYSIZE_ARRAY], +}} +pub type PKERB_ADD_CREDENTIALS_REQUEST_EX = *mut KERB_ADD_CREDENTIALS_REQUEST_EX; +STRUCT!{struct KERB_TRANSFER_CRED_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + OriginLogonId: ::LUID, + DestinationLogonId: ::LUID, + Flags: ::ULONG, +}} +pub type PKERB_TRANSFER_CRED_REQUEST = *mut KERB_TRANSFER_CRED_REQUEST; +pub const KERB_TRANSFER_CRED_WITH_TICKETS: ::ULONG = 0x1; +pub const KERB_TRANSFER_CRED_CLEANUP_CREDENTIALS: ::ULONG = 0x2; +STRUCT!{struct KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + LogonId: ::LUID, +}} +pub type PKERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST = + *mut KERB_CLEANUP_MACHINE_PKINIT_CREDS_REQUEST; +STRUCT!{struct KERB_BINDING_CACHE_ENTRY_DATA { + DiscoveryTime: ::ULONG64, + RealmName: ::UNICODE_STRING, + KdcAddress: ::UNICODE_STRING, + AddressType: ::ULONG, + Flags: ::ULONG, + DcFlags: ::ULONG, + CacheFlags: ::ULONG, + KdcName: ::UNICODE_STRING, +}} +pub type PKERB_BINDING_CACHE_ENTRY_DATA = *mut KERB_BINDING_CACHE_ENTRY_DATA; +STRUCT!{struct KERB_QUERY_BINDING_CACHE_RESPONSE { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + CountOfEntries: ::ULONG, + Entries: PKERB_BINDING_CACHE_ENTRY_DATA, +}} +pub type PKERB_QUERY_BINDING_CACHE_RESPONSE = *mut KERB_QUERY_BINDING_CACHE_RESPONSE; +STRUCT!{struct KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + RealmName: ::UNICODE_STRING, + KdcAddress: ::UNICODE_STRING, + AddressType: ::ULONG, + DcFlags: ::ULONG, +}} +pub type PKERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST = *mut KERB_ADD_BINDING_CACHE_ENTRY_EX_REQUEST; +STRUCT!{struct KERB_QUERY_BINDING_CACHE_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, +}} +pub type PKERB_QUERY_BINDING_CACHE_REQUEST = *mut KERB_QUERY_BINDING_CACHE_REQUEST; +STRUCT!{struct KERB_PURGE_BINDING_CACHE_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, +}} +pub type PKERB_PURGE_BINDING_CACHE_REQUEST = *mut KERB_PURGE_BINDING_CACHE_REQUEST; +STRUCT!{struct KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + Flags: ::ULONG, + DomainName: ::UNICODE_STRING, +}} +pub type PKERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST = + *mut KERB_QUERY_DOMAIN_EXTENDED_POLICIES_REQUEST; +STRUCT!{struct KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE { + MessageType: KERB_PROTOCOL_MESSAGE_TYPE, + Flags: ::ULONG, + ExtendedPolicies: ::ULONG, + DsFlags: ::ULONG, +}} +pub type PKERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE = + *mut KERB_QUERY_DOMAIN_EXTENDED_POLICIES_RESPONSE; +ENUM!{enum KERB_CERTIFICATE_INFO_TYPE { + CertHashInfo = 1, +}} +pub type PKERB_CERTIFICATE_INFO_TYPE = *mut KERB_CERTIFICATE_INFO_TYPE; +STRUCT!{struct KERB_CERTIFICATE_HASHINFO { + StoreNameLength: ::USHORT, + HashLength: ::USHORT, +}} +pub type PKERB_CERTIFICATE_HASHINFO = *mut KERB_CERTIFICATE_HASHINFO; +STRUCT!{struct KERB_CERTIFICATE_INFO { + CertInfoSize: ::ULONG, + InfoType: ::ULONG, +}} +pub type PKERB_CERTIFICATE_INFO = *mut KERB_CERTIFICATE_INFO; +STRUCT!{struct POLICY_AUDIT_SID_ARRAY { + UsersCount: ::ULONG, + UserSidArray: *mut ::PSID, +}} +pub type PPOLICY_AUDIT_SID_ARRAY = *mut POLICY_AUDIT_SID_ARRAY; +STRUCT!{struct AUDIT_POLICY_INFORMATION { + AuditSubCategoryGuid: ::GUID, + AuditingInformation: ::ULONG, + AuditCategoryGuid: ::GUID, +}} +pub type PAUDIT_POLICY_INFORMATION = *mut AUDIT_POLICY_INFORMATION; +pub type LPAUDIT_POLICY_INFORMATION = PAUDIT_POLICY_INFORMATION; +pub type PCAUDIT_POLICY_INFORMATION = *const AUDIT_POLICY_INFORMATION; +pub const AUDIT_SET_SYSTEM_POLICY: ::ULONG = 0x0001; +pub const AUDIT_QUERY_SYSTEM_POLICY: ::ULONG = 0x0002; +pub const AUDIT_SET_USER_POLICY: ::ULONG = 0x0004; +pub const AUDIT_QUERY_USER_POLICY: ::ULONG = 0x0008; +pub const AUDIT_ENUMERATE_USERS: ::ULONG = 0x0010; +pub const AUDIT_SET_MISC_POLICY: ::ULONG = 0x0020; +pub const AUDIT_QUERY_MISC_POLICY: ::ULONG = 0x0040; +pub const AUDIT_GENERIC_ALL: ::ULONG = ::STANDARD_RIGHTS_REQUIRED | AUDIT_SET_SYSTEM_POLICY + | AUDIT_QUERY_SYSTEM_POLICY | AUDIT_SET_USER_POLICY | AUDIT_QUERY_USER_POLICY + | AUDIT_ENUMERATE_USERS | AUDIT_SET_MISC_POLICY | AUDIT_QUERY_MISC_POLICY; +pub const AUDIT_GENERIC_READ: ::ULONG = ::STANDARD_RIGHTS_READ | AUDIT_QUERY_SYSTEM_POLICY + | AUDIT_QUERY_USER_POLICY | AUDIT_ENUMERATE_USERS | AUDIT_QUERY_MISC_POLICY; +pub const AUDIT_GENERIC_WRITE: ::ULONG = ::STANDARD_RIGHTS_WRITE | AUDIT_SET_USER_POLICY + | AUDIT_SET_MISC_POLICY | AUDIT_SET_SYSTEM_POLICY; +pub const AUDIT_GENERIC_EXECUTE: ::ULONG = ::STANDARD_RIGHTS_EXECUTE; +STRUCT!{struct PKU2U_CERT_BLOB { + CertOffset: ::ULONG, + CertLength: ::USHORT, +}} +pub type PPKU2U_CERT_BLOB = *mut PKU2U_CERT_BLOB; +pub const PKU2U_CREDUI_CONTEXT_VERSION: ::ULONG64 = 0x4154414454524543; +STRUCT!{struct PKU2U_CREDUI_CONTEXT { + Version: ::ULONG64, + cbHeaderLength: ::USHORT, + cbStructureLength: ::ULONG, + CertArrayCount: ::USHORT, + CertArrayOffset: ::ULONG, +}} +pub type PPKU2U_CREDUI_CONTEXT = *mut PKU2U_CREDUI_CONTEXT; +ENUM!{enum PKU2U_LOGON_SUBMIT_TYPE { + Pku2uCertificateS4ULogon = 14, +}} +pub type PPKU2U_LOGON_SUBMIT_TYPE = *mut PKU2U_LOGON_SUBMIT_TYPE; +STRUCT!{struct PKU2U_CERTIFICATE_S4U_LOGON { + MessageType: PKU2U_LOGON_SUBMIT_TYPE, + Flags: ::ULONG, + UserPrincipalName: ::UNICODE_STRING, + DomainName: ::UNICODE_STRING, + CertificateLength: ::ULONG, + Certificate: ::PUCHAR, +}} +pub type PPKU2U_CERTIFICATE_S4U_LOGON = *mut PKU2U_CERTIFICATE_S4U_LOGON; diff --git a/third_party/rust/winapi-0.2.8/src/ntstatus.rs b/third_party/rust/winapi-0.2.8/src/ntstatus.rs new file mode 100644 index 0000000000..4662235585 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/ntstatus.rs @@ -0,0 +1,2474 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Constant definitions for the NTSTATUS values. +pub const STATUS_WAIT_0: ::NTSTATUS = 0x00000000; +pub const FACILITY_VSM: ::NTSTATUS = 0x45; +pub const FACILITY_VOLSNAP: ::NTSTATUS = 0x50; +pub const FACILITY_VOLMGR: ::NTSTATUS = 0x38; +pub const FACILITY_VIRTUALIZATION: ::NTSTATUS = 0x37; +pub const FACILITY_VIDEO: ::NTSTATUS = 0x1B; +pub const FACILITY_USB_ERROR_CODE: ::NTSTATUS = 0x10; +pub const FACILITY_TRANSACTION: ::NTSTATUS = 0x19; +pub const FACILITY_TPM: ::NTSTATUS = 0x29; +pub const FACILITY_TERMINAL_SERVER: ::NTSTATUS = 0xA; +pub const FACILITY_SXS_ERROR_CODE: ::NTSTATUS = 0x15; +pub const FACILITY_NTSSPI: ::NTSTATUS = 0x9; +pub const FACILITY_SPACES: ::NTSTATUS = 0xE7; +pub const FACILITY_SMB: ::NTSTATUS = 0x5D; +pub const FACILITY_SYSTEM_INTEGRITY: ::NTSTATUS = 0xE9; +pub const FACILITY_SHARED_VHDX: ::NTSTATUS = 0x5C; +pub const FACILITY_SECUREBOOT: ::NTSTATUS = 0x43; +pub const FACILITY_SECURITY_CORE: ::NTSTATUS = 0xE8; +pub const FACILITY_SDBUS: ::NTSTATUS = 0x51; +pub const FACILITY_RTPM: ::NTSTATUS = 0x2A; +pub const FACILITY_RPC_STUBS: ::NTSTATUS = 0x3; +pub const FACILITY_RPC_RUNTIME: ::NTSTATUS = 0x2; +pub const FACILITY_RESUME_KEY_FILTER: ::NTSTATUS = 0x40; +pub const FACILITY_RDBSS: ::NTSTATUS = 0x41; +pub const FACILITY_NTWIN32: ::NTSTATUS = 0x7; +pub const FACILITY_WIN32K_NTUSER: ::NTSTATUS = 0x3E; +pub const FACILITY_WIN32K_NTGDI: ::NTSTATUS = 0x3F; +pub const FACILITY_NDIS_ERROR_CODE: ::NTSTATUS = 0x23; +pub const FACILTIY_MUI_ERROR_CODE: ::NTSTATUS = 0xB; +pub const FACILITY_MONITOR: ::NTSTATUS = 0x1D; +pub const FACILITY_MAXIMUM_VALUE: ::NTSTATUS = 0xEB; +pub const FACILITY_LICENSING: ::NTSTATUS = 0xEA; +pub const FACILITY_IPSEC: ::NTSTATUS = 0x36; +pub const FACILITY_IO_ERROR_CODE: ::NTSTATUS = 0x4; +pub const FACILITY_INTERIX: ::NTSTATUS = 0x99; +pub const FACILITY_HYPERVISOR: ::NTSTATUS = 0x35; +pub const FACILITY_HID_ERROR_CODE: ::NTSTATUS = 0x11; +pub const FACILITY_GRAPHICS_KERNEL: ::NTSTATUS = 0x1E; +pub const FACILITY_FWP_ERROR_CODE: ::NTSTATUS = 0x22; +pub const FACILITY_FVE_ERROR_CODE: ::NTSTATUS = 0x21; +pub const FACILITY_FIREWIRE_ERROR_CODE: ::NTSTATUS = 0x12; +pub const FACILITY_FILTER_MANAGER: ::NTSTATUS = 0x1C; +pub const FACILITY_DRIVER_FRAMEWORK: ::NTSTATUS = 0x20; +pub const FACILITY_DEBUGGER: ::NTSTATUS = 0x1; +pub const FACILITY_COMMONLOG: ::NTSTATUS = 0x1A; +pub const FACILITY_CODCLASS_ERROR_CODE: ::NTSTATUS = 0x6; +pub const FACILITY_CLUSTER_ERROR_CODE: ::NTSTATUS = 0x13; +pub const FACILITY_NTCERT: ::NTSTATUS = 0x8; +pub const FACILITY_BTH_ATT: ::NTSTATUS = 0x42; +pub const FACILITY_BCD_ERROR_CODE: ::NTSTATUS = 0x39; +pub const FACILITY_AUDIO_KERNEL: ::NTSTATUS = 0x44; +pub const FACILITY_ACPI_ERROR_CODE: ::NTSTATUS = 0x14; +pub const STATUS_SEVERITY_WARNING: ::NTSTATUS = 0x2; +pub const STATUS_SEVERITY_SUCCESS: ::NTSTATUS = 0x0; +pub const STATUS_SEVERITY_INFORMATIONAL: ::NTSTATUS = 0x1; +pub const STATUS_SEVERITY_ERROR: ::NTSTATUS = 0x3; +pub const STATUS_SUCCESS: ::NTSTATUS = 0x00000000; +pub const STATUS_WAIT_1: ::NTSTATUS = 0x00000001; +pub const STATUS_WAIT_2: ::NTSTATUS = 0x00000002; +pub const STATUS_WAIT_3: ::NTSTATUS = 0x00000003; +pub const STATUS_WAIT_63: ::NTSTATUS = 0x0000003F; +pub const STATUS_ABANDONED: ::NTSTATUS = 0x00000080; +pub const STATUS_ABANDONED_WAIT_0: ::NTSTATUS = 0x00000080; +pub const STATUS_ABANDONED_WAIT_63: ::NTSTATUS = 0x000000BF; +pub const STATUS_USER_APC: ::NTSTATUS = 0x000000C0; +pub const STATUS_KERNEL_APC: ::NTSTATUS = 0x00000100; +pub const STATUS_ALERTED: ::NTSTATUS = 0x00000101; +pub const STATUS_TIMEOUT: ::NTSTATUS = 0x00000102; +pub const STATUS_PENDING: ::NTSTATUS = 0x00000103; +pub const STATUS_REPARSE: ::NTSTATUS = 0x00000104; +pub const STATUS_MORE_ENTRIES: ::NTSTATUS = 0x00000105; +pub const STATUS_NOT_ALL_ASSIGNED: ::NTSTATUS = 0x00000106; +pub const STATUS_SOME_NOT_MAPPED: ::NTSTATUS = 0x00000107; +pub const STATUS_OPLOCK_BREAK_IN_PROGRESS: ::NTSTATUS = 0x00000108; +pub const STATUS_VOLUME_MOUNTED: ::NTSTATUS = 0x00000109; +pub const STATUS_RXACT_COMMITTED: ::NTSTATUS = 0x0000010A; +pub const STATUS_NOTIFY_CLEANUP: ::NTSTATUS = 0x0000010B; +pub const STATUS_NOTIFY_ENUM_DIR: ::NTSTATUS = 0x0000010C; +pub const STATUS_NO_QUOTAS_FOR_ACCOUNT: ::NTSTATUS = 0x0000010D; +pub const STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED: ::NTSTATUS = 0x0000010E; +pub const STATUS_PAGE_FAULT_TRANSITION: ::NTSTATUS = 0x00000110; +pub const STATUS_PAGE_FAULT_DEMAND_ZERO: ::NTSTATUS = 0x00000111; +pub const STATUS_PAGE_FAULT_COPY_ON_WRITE: ::NTSTATUS = 0x00000112; +pub const STATUS_PAGE_FAULT_GUARD_PAGE: ::NTSTATUS = 0x00000113; +pub const STATUS_PAGE_FAULT_PAGING_FILE: ::NTSTATUS = 0x00000114; +pub const STATUS_CACHE_PAGE_LOCKED: ::NTSTATUS = 0x00000115; +pub const STATUS_CRASH_DUMP: ::NTSTATUS = 0x00000116; +pub const STATUS_BUFFER_ALL_ZEROS: ::NTSTATUS = 0x00000117; +pub const STATUS_REPARSE_OBJECT: ::NTSTATUS = 0x00000118; +pub const STATUS_RESOURCE_REQUIREMENTS_CHANGED: ::NTSTATUS = 0x00000119; +pub const STATUS_TRANSLATION_COMPLETE: ::NTSTATUS = 0x00000120; +pub const STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY: ::NTSTATUS = 0x00000121; +pub const STATUS_NOTHING_TO_TERMINATE: ::NTSTATUS = 0x00000122; +pub const STATUS_PROCESS_NOT_IN_JOB: ::NTSTATUS = 0x00000123; +pub const STATUS_PROCESS_IN_JOB: ::NTSTATUS = 0x00000124; +pub const STATUS_VOLSNAP_HIBERNATE_READY: ::NTSTATUS = 0x00000125; +pub const STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY: ::NTSTATUS = 0x00000126; +pub const STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED: ::NTSTATUS = 0x00000127; +pub const STATUS_INTERRUPT_STILL_CONNECTED: ::NTSTATUS = 0x00000128; +pub const STATUS_PROCESS_CLONED: ::NTSTATUS = 0x00000129; +pub const STATUS_FILE_LOCKED_WITH_ONLY_READERS: ::NTSTATUS = 0x0000012A; +pub const STATUS_FILE_LOCKED_WITH_WRITERS: ::NTSTATUS = 0x0000012B; +pub const STATUS_VALID_IMAGE_HASH: ::NTSTATUS = 0x0000012C; +pub const STATUS_VALID_CATALOG_HASH: ::NTSTATUS = 0x0000012D; +pub const STATUS_VALID_STRONG_CODE_HASH: ::NTSTATUS = 0x0000012E; +pub const STATUS_RESOURCEMANAGER_READ_ONLY: ::NTSTATUS = 0x00000202; +pub const STATUS_RING_PREVIOUSLY_EMPTY: ::NTSTATUS = 0x00000210; +pub const STATUS_RING_PREVIOUSLY_FULL: ::NTSTATUS = 0x00000211; +pub const STATUS_RING_PREVIOUSLY_ABOVE_QUOTA: ::NTSTATUS = 0x00000212; +pub const STATUS_RING_NEWLY_EMPTY: ::NTSTATUS = 0x00000213; +pub const STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT: ::NTSTATUS = 0x00000214; +pub const STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE: ::NTSTATUS = 0x00000215; +pub const STATUS_OPLOCK_HANDLE_CLOSED: ::NTSTATUS = 0x00000216; +pub const STATUS_WAIT_FOR_OPLOCK: ::NTSTATUS = 0x00000367; +pub const DBG_EXCEPTION_HANDLED: ::NTSTATUS = 0x00010001; +pub const DBG_CONTINUE: ::NTSTATUS = 0x00010002; +pub const STATUS_FLT_IO_COMPLETE: ::NTSTATUS = 0x001C0001; +pub const STATUS_OBJECT_NAME_EXISTS: ::NTSTATUS = 0x40000000; +pub const STATUS_THREAD_WAS_SUSPENDED: ::NTSTATUS = 0x40000001; +pub const STATUS_WORKING_SET_LIMIT_RANGE: ::NTSTATUS = 0x40000002; +pub const STATUS_IMAGE_NOT_AT_BASE: ::NTSTATUS = 0x40000003; +pub const STATUS_RXACT_STATE_CREATED: ::NTSTATUS = 0x40000004; +pub const STATUS_SEGMENT_NOTIFICATION: ::NTSTATUS = 0x40000005; +pub const STATUS_LOCAL_USER_SESSION_KEY: ::NTSTATUS = 0x40000006; +pub const STATUS_BAD_CURRENT_DIRECTORY: ::NTSTATUS = 0x40000007; +pub const STATUS_SERIAL_MORE_WRITES: ::NTSTATUS = 0x40000008; +pub const STATUS_REGISTRY_RECOVERED: ::NTSTATUS = 0x40000009; +pub const STATUS_FT_READ_RECOVERY_FROM_BACKUP: ::NTSTATUS = 0x4000000A; +pub const STATUS_FT_WRITE_RECOVERY: ::NTSTATUS = 0x4000000B; +pub const STATUS_SERIAL_COUNTER_TIMEOUT: ::NTSTATUS = 0x4000000C; +pub const STATUS_NULL_LM_PASSWORD: ::NTSTATUS = 0x4000000D; +pub const STATUS_IMAGE_MACHINE_TYPE_MISMATCH: ::NTSTATUS = 0x4000000E; +pub const STATUS_RECEIVE_PARTIAL: ::NTSTATUS = 0x4000000F; +pub const STATUS_RECEIVE_EXPEDITED: ::NTSTATUS = 0x40000010; +pub const STATUS_RECEIVE_PARTIAL_EXPEDITED: ::NTSTATUS = 0x40000011; +pub const STATUS_EVENT_DONE: ::NTSTATUS = 0x40000012; +pub const STATUS_EVENT_PENDING: ::NTSTATUS = 0x40000013; +pub const STATUS_CHECKING_FILE_SYSTEM: ::NTSTATUS = 0x40000014; +pub const STATUS_FATAL_APP_EXIT: ::NTSTATUS = 0x40000015; +pub const STATUS_PREDEFINED_HANDLE: ::NTSTATUS = 0x40000016; +pub const STATUS_WAS_UNLOCKED: ::NTSTATUS = 0x40000017; +pub const STATUS_SERVICE_NOTIFICATION: ::NTSTATUS = 0x40000018; +pub const STATUS_WAS_LOCKED: ::NTSTATUS = 0x40000019; +pub const STATUS_LOG_HARD_ERROR: ::NTSTATUS = 0x4000001A; +pub const STATUS_ALREADY_WIN32: ::NTSTATUS = 0x4000001B; +pub const STATUS_WX86_UNSIMULATE: ::NTSTATUS = 0x4000001C; +pub const STATUS_WX86_CONTINUE: ::NTSTATUS = 0x4000001D; +pub const STATUS_WX86_SINGLE_STEP: ::NTSTATUS = 0x4000001E; +pub const STATUS_WX86_BREAKPOINT: ::NTSTATUS = 0x4000001F; +pub const STATUS_WX86_EXCEPTION_CONTINUE: ::NTSTATUS = 0x40000020; +pub const STATUS_WX86_EXCEPTION_LASTCHANCE: ::NTSTATUS = 0x40000021; +pub const STATUS_WX86_EXCEPTION_CHAIN: ::NTSTATUS = 0x40000022; +pub const STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE: ::NTSTATUS = 0x40000023; +pub const STATUS_NO_YIELD_PERFORMED: ::NTSTATUS = 0x40000024; +pub const STATUS_TIMER_RESUME_IGNORED: ::NTSTATUS = 0x40000025; +pub const STATUS_ARBITRATION_UNHANDLED: ::NTSTATUS = 0x40000026; +pub const STATUS_CARDBUS_NOT_SUPPORTED: ::NTSTATUS = 0x40000027; +pub const STATUS_WX86_CREATEWX86TIB: ::NTSTATUS = 0x40000028; +pub const STATUS_MP_PROCESSOR_MISMATCH: ::NTSTATUS = 0x40000029; +pub const STATUS_HIBERNATED: ::NTSTATUS = 0x4000002A; +pub const STATUS_RESUME_HIBERNATION: ::NTSTATUS = 0x4000002B; +pub const STATUS_FIRMWARE_UPDATED: ::NTSTATUS = 0x4000002C; +pub const STATUS_DRIVERS_LEAKING_LOCKED_PAGES: ::NTSTATUS = 0x4000002D; +pub const STATUS_MESSAGE_RETRIEVED: ::NTSTATUS = 0x4000002E; +pub const STATUS_SYSTEM_POWERSTATE_TRANSITION: ::NTSTATUS = 0x4000002F; +pub const STATUS_ALPC_CHECK_COMPLETION_LIST: ::NTSTATUS = 0x40000030; +pub const STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION: ::NTSTATUS = 0x40000031; +pub const STATUS_ACCESS_AUDIT_BY_POLICY: ::NTSTATUS = 0x40000032; +pub const STATUS_ABANDON_HIBERFILE: ::NTSTATUS = 0x40000033; +pub const STATUS_BIZRULES_NOT_ENABLED: ::NTSTATUS = 0x40000034; +pub const STATUS_FT_READ_FROM_COPY: ::NTSTATUS = 0x40000035; +pub const STATUS_IMAGE_AT_DIFFERENT_BASE: ::NTSTATUS = 0x40000036; +pub const DBG_REPLY_LATER: ::NTSTATUS = 0x40010001; +pub const DBG_UNABLE_TO_PROVIDE_HANDLE: ::NTSTATUS = 0x40010002; +pub const DBG_TERMINATE_THREAD: ::NTSTATUS = 0x40010003; +pub const DBG_TERMINATE_PROCESS: ::NTSTATUS = 0x40010004; +pub const DBG_CONTROL_C: ::NTSTATUS = 0x40010005; +pub const DBG_PRINTEXCEPTION_C: ::NTSTATUS = 0x40010006; +pub const DBG_RIPEXCEPTION: ::NTSTATUS = 0x40010007; +pub const DBG_CONTROL_BREAK: ::NTSTATUS = 0x40010008; +pub const DBG_COMMAND_EXCEPTION: ::NTSTATUS = 0x40010009; +pub const DBG_PRINTEXCEPTION_WIDE_C: ::NTSTATUS = 0x4001000A; +pub const STATUS_HEURISTIC_DAMAGE_POSSIBLE: ::NTSTATUS = 0x40190001; +pub const STATUS_GUARD_PAGE_VIOLATION: ::NTSTATUS = 0x80000001u32 as i32; +pub const STATUS_DATATYPE_MISALIGNMENT: ::NTSTATUS = 0x80000002u32 as i32; +pub const STATUS_BREAKPOINT: ::NTSTATUS = 0x80000003u32 as i32; +pub const STATUS_SINGLE_STEP: ::NTSTATUS = 0x80000004u32 as i32; +pub const STATUS_BUFFER_OVERFLOW: ::NTSTATUS = 0x80000005u32 as i32; +pub const STATUS_NO_MORE_FILES: ::NTSTATUS = 0x80000006u32 as i32; +pub const STATUS_WAKE_SYSTEM_DEBUGGER: ::NTSTATUS = 0x80000007u32 as i32; +pub const STATUS_HANDLES_CLOSED: ::NTSTATUS = 0x8000000Au32 as i32; +pub const STATUS_NO_INHERITANCE: ::NTSTATUS = 0x8000000Bu32 as i32; +pub const STATUS_GUID_SUBSTITUTION_MADE: ::NTSTATUS = 0x8000000Cu32 as i32; +pub const STATUS_PARTIAL_COPY: ::NTSTATUS = 0x8000000Du32 as i32; +pub const STATUS_DEVICE_PAPER_EMPTY: ::NTSTATUS = 0x8000000Eu32 as i32; +pub const STATUS_DEVICE_POWERED_OFF: ::NTSTATUS = 0x8000000Fu32 as i32; +pub const STATUS_DEVICE_OFF_LINE: ::NTSTATUS = 0x80000010u32 as i32; +pub const STATUS_DEVICE_BUSY: ::NTSTATUS = 0x80000011u32 as i32; +pub const STATUS_NO_MORE_EAS: ::NTSTATUS = 0x80000012u32 as i32; +pub const STATUS_INVALID_EA_NAME: ::NTSTATUS = 0x80000013u32 as i32; +pub const STATUS_EA_LIST_INCONSISTENT: ::NTSTATUS = 0x80000014u32 as i32; +pub const STATUS_INVALID_EA_FLAG: ::NTSTATUS = 0x80000015u32 as i32; +pub const STATUS_VERIFY_REQUIRED: ::NTSTATUS = 0x80000016u32 as i32; +pub const STATUS_EXTRANEOUS_INFORMATION: ::NTSTATUS = 0x80000017u32 as i32; +pub const STATUS_RXACT_COMMIT_NECESSARY: ::NTSTATUS = 0x80000018u32 as i32; +pub const STATUS_NO_MORE_ENTRIES: ::NTSTATUS = 0x8000001Au32 as i32; +pub const STATUS_FILEMARK_DETECTED: ::NTSTATUS = 0x8000001Bu32 as i32; +pub const STATUS_MEDIA_CHANGED: ::NTSTATUS = 0x8000001Cu32 as i32; +pub const STATUS_BUS_RESET: ::NTSTATUS = 0x8000001Du32 as i32; +pub const STATUS_END_OF_MEDIA: ::NTSTATUS = 0x8000001Eu32 as i32; +pub const STATUS_BEGINNING_OF_MEDIA: ::NTSTATUS = 0x8000001Fu32 as i32; +pub const STATUS_MEDIA_CHECK: ::NTSTATUS = 0x80000020u32 as i32; +pub const STATUS_SETMARK_DETECTED: ::NTSTATUS = 0x80000021u32 as i32; +pub const STATUS_NO_DATA_DETECTED: ::NTSTATUS = 0x80000022u32 as i32; +pub const STATUS_REDIRECTOR_HAS_OPEN_HANDLES: ::NTSTATUS = 0x80000023u32 as i32; +pub const STATUS_SERVER_HAS_OPEN_HANDLES: ::NTSTATUS = 0x80000024u32 as i32; +pub const STATUS_ALREADY_DISCONNECTED: ::NTSTATUS = 0x80000025u32 as i32; +pub const STATUS_LONGJUMP: ::NTSTATUS = 0x80000026u32 as i32; +pub const STATUS_CLEANER_CARTRIDGE_INSTALLED: ::NTSTATUS = 0x80000027u32 as i32; +pub const STATUS_PLUGPLAY_QUERY_VETOED: ::NTSTATUS = 0x80000028u32 as i32; +pub const STATUS_UNWIND_CONSOLIDATE: ::NTSTATUS = 0x80000029u32 as i32; +pub const STATUS_REGISTRY_HIVE_RECOVERED: ::NTSTATUS = 0x8000002Au32 as i32; +pub const STATUS_DLL_MIGHT_BE_INSECURE: ::NTSTATUS = 0x8000002Bu32 as i32; +pub const STATUS_DLL_MIGHT_BE_INCOMPATIBLE: ::NTSTATUS = 0x8000002Cu32 as i32; +pub const STATUS_STOPPED_ON_SYMLINK: ::NTSTATUS = 0x8000002Du32 as i32; +pub const STATUS_CANNOT_GRANT_REQUESTED_OPLOCK: ::NTSTATUS = 0x8000002Eu32 as i32; +pub const STATUS_NO_ACE_CONDITION: ::NTSTATUS = 0x8000002Fu32 as i32; +pub const STATUS_DEVICE_SUPPORT_IN_PROGRESS: ::NTSTATUS = 0x80000030u32 as i32; +pub const STATUS_DEVICE_POWER_CYCLE_REQUIRED: ::NTSTATUS = 0x80000031u32 as i32; +pub const DBG_EXCEPTION_NOT_HANDLED: ::NTSTATUS = 0x80010001u32 as i32; +pub const STATUS_CLUSTER_NODE_ALREADY_UP: ::NTSTATUS = 0x80130001u32 as i32; +pub const STATUS_CLUSTER_NODE_ALREADY_DOWN: ::NTSTATUS = 0x80130002u32 as i32; +pub const STATUS_CLUSTER_NETWORK_ALREADY_ONLINE: ::NTSTATUS = 0x80130003u32 as i32; +pub const STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE: ::NTSTATUS = 0x80130004u32 as i32; +pub const STATUS_CLUSTER_NODE_ALREADY_MEMBER: ::NTSTATUS = 0x80130005u32 as i32; +pub const STATUS_FLT_BUFFER_TOO_SMALL: ::NTSTATUS = 0x801C0001u32 as i32; +pub const STATUS_FVE_PARTIAL_METADATA: ::NTSTATUS = 0x80210001u32 as i32; +pub const STATUS_FVE_TRANSIENT_STATE: ::NTSTATUS = 0x80210002u32 as i32; +pub const STATUS_UNSUCCESSFUL: ::NTSTATUS = 0xC0000001u32 as i32; +pub const STATUS_NOT_IMPLEMENTED: ::NTSTATUS = 0xC0000002u32 as i32; +pub const STATUS_INVALID_INFO_CLASS: ::NTSTATUS = 0xC0000003u32 as i32; +pub const STATUS_INFO_LENGTH_MISMATCH: ::NTSTATUS = 0xC0000004u32 as i32; +pub const STATUS_ACCESS_VIOLATION: ::NTSTATUS = 0xC0000005u32 as i32; +pub const STATUS_IN_PAGE_ERROR: ::NTSTATUS = 0xC0000006u32 as i32; +pub const STATUS_PAGEFILE_QUOTA: ::NTSTATUS = 0xC0000007u32 as i32; +pub const STATUS_INVALID_HANDLE: ::NTSTATUS = 0xC0000008u32 as i32; +pub const STATUS_BAD_INITIAL_STACK: ::NTSTATUS = 0xC0000009u32 as i32; +pub const STATUS_BAD_INITIAL_PC: ::NTSTATUS = 0xC000000Au32 as i32; +pub const STATUS_INVALID_CID: ::NTSTATUS = 0xC000000Bu32 as i32; +pub const STATUS_TIMER_NOT_CANCELED: ::NTSTATUS = 0xC000000Cu32 as i32; +pub const STATUS_INVALID_PARAMETER: ::NTSTATUS = 0xC000000Du32 as i32; +pub const STATUS_NO_SUCH_DEVICE: ::NTSTATUS = 0xC000000Eu32 as i32; +pub const STATUS_NO_SUCH_FILE: ::NTSTATUS = 0xC000000Fu32 as i32; +pub const STATUS_INVALID_DEVICE_REQUEST: ::NTSTATUS = 0xC0000010u32 as i32; +pub const STATUS_END_OF_FILE: ::NTSTATUS = 0xC0000011u32 as i32; +pub const STATUS_WRONG_VOLUME: ::NTSTATUS = 0xC0000012u32 as i32; +pub const STATUS_NO_MEDIA_IN_DEVICE: ::NTSTATUS = 0xC0000013u32 as i32; +pub const STATUS_UNRECOGNIZED_MEDIA: ::NTSTATUS = 0xC0000014u32 as i32; +pub const STATUS_NONEXISTENT_SECTOR: ::NTSTATUS = 0xC0000015u32 as i32; +pub const STATUS_MORE_PROCESSING_REQUIRED: ::NTSTATUS = 0xC0000016u32 as i32; +pub const STATUS_NO_MEMORY: ::NTSTATUS = 0xC0000017u32 as i32; +pub const STATUS_CONFLICTING_ADDRESSES: ::NTSTATUS = 0xC0000018u32 as i32; +pub const STATUS_NOT_MAPPED_VIEW: ::NTSTATUS = 0xC0000019u32 as i32; +pub const STATUS_UNABLE_TO_FREE_VM: ::NTSTATUS = 0xC000001Au32 as i32; +pub const STATUS_UNABLE_TO_DELETE_SECTION: ::NTSTATUS = 0xC000001Bu32 as i32; +pub const STATUS_INVALID_SYSTEM_SERVICE: ::NTSTATUS = 0xC000001Cu32 as i32; +pub const STATUS_ILLEGAL_INSTRUCTION: ::NTSTATUS = 0xC000001Du32 as i32; +pub const STATUS_INVALID_LOCK_SEQUENCE: ::NTSTATUS = 0xC000001Eu32 as i32; +pub const STATUS_INVALID_VIEW_SIZE: ::NTSTATUS = 0xC000001Fu32 as i32; +pub const STATUS_INVALID_FILE_FOR_SECTION: ::NTSTATUS = 0xC0000020u32 as i32; +pub const STATUS_ALREADY_COMMITTED: ::NTSTATUS = 0xC0000021u32 as i32; +pub const STATUS_ACCESS_DENIED: ::NTSTATUS = 0xC0000022u32 as i32; +pub const STATUS_BUFFER_TOO_SMALL: ::NTSTATUS = 0xC0000023u32 as i32; +pub const STATUS_OBJECT_TYPE_MISMATCH: ::NTSTATUS = 0xC0000024u32 as i32; +pub const STATUS_NONCONTINUABLE_EXCEPTION: ::NTSTATUS = 0xC0000025u32 as i32; +pub const STATUS_INVALID_DISPOSITION: ::NTSTATUS = 0xC0000026u32 as i32; +pub const STATUS_UNWIND: ::NTSTATUS = 0xC0000027u32 as i32; +pub const STATUS_BAD_STACK: ::NTSTATUS = 0xC0000028u32 as i32; +pub const STATUS_INVALID_UNWIND_TARGET: ::NTSTATUS = 0xC0000029u32 as i32; +pub const STATUS_NOT_LOCKED: ::NTSTATUS = 0xC000002Au32 as i32; +pub const STATUS_PARITY_ERROR: ::NTSTATUS = 0xC000002Bu32 as i32; +pub const STATUS_UNABLE_TO_DECOMMIT_VM: ::NTSTATUS = 0xC000002Cu32 as i32; +pub const STATUS_NOT_COMMITTED: ::NTSTATUS = 0xC000002Du32 as i32; +pub const STATUS_INVALID_PORT_ATTRIBUTES: ::NTSTATUS = 0xC000002Eu32 as i32; +pub const STATUS_PORT_MESSAGE_TOO_LONG: ::NTSTATUS = 0xC000002Fu32 as i32; +pub const STATUS_INVALID_PARAMETER_MIX: ::NTSTATUS = 0xC0000030u32 as i32; +pub const STATUS_INVALID_QUOTA_LOWER: ::NTSTATUS = 0xC0000031u32 as i32; +pub const STATUS_DISK_CORRUPT_ERROR: ::NTSTATUS = 0xC0000032u32 as i32; +pub const STATUS_OBJECT_NAME_INVALID: ::NTSTATUS = 0xC0000033u32 as i32; +pub const STATUS_OBJECT_NAME_NOT_FOUND: ::NTSTATUS = 0xC0000034u32 as i32; +pub const STATUS_OBJECT_NAME_COLLISION: ::NTSTATUS = 0xC0000035u32 as i32; +pub const STATUS_PORT_DO_NOT_DISTURB: ::NTSTATUS = 0xC0000036u32 as i32; +pub const STATUS_PORT_DISCONNECTED: ::NTSTATUS = 0xC0000037u32 as i32; +pub const STATUS_DEVICE_ALREADY_ATTACHED: ::NTSTATUS = 0xC0000038u32 as i32; +pub const STATUS_OBJECT_PATH_INVALID: ::NTSTATUS = 0xC0000039u32 as i32; +pub const STATUS_OBJECT_PATH_NOT_FOUND: ::NTSTATUS = 0xC000003Au32 as i32; +pub const STATUS_OBJECT_PATH_SYNTAX_BAD: ::NTSTATUS = 0xC000003Bu32 as i32; +pub const STATUS_DATA_OVERRUN: ::NTSTATUS = 0xC000003Cu32 as i32; +pub const STATUS_DATA_LATE_ERROR: ::NTSTATUS = 0xC000003Du32 as i32; +pub const STATUS_DATA_ERROR: ::NTSTATUS = 0xC000003Eu32 as i32; +pub const STATUS_CRC_ERROR: ::NTSTATUS = 0xC000003Fu32 as i32; +pub const STATUS_SECTION_TOO_BIG: ::NTSTATUS = 0xC0000040u32 as i32; +pub const STATUS_PORT_CONNECTION_REFUSED: ::NTSTATUS = 0xC0000041u32 as i32; +pub const STATUS_INVALID_PORT_HANDLE: ::NTSTATUS = 0xC0000042u32 as i32; +pub const STATUS_SHARING_VIOLATION: ::NTSTATUS = 0xC0000043u32 as i32; +pub const STATUS_QUOTA_EXCEEDED: ::NTSTATUS = 0xC0000044u32 as i32; +pub const STATUS_INVALID_PAGE_PROTECTION: ::NTSTATUS = 0xC0000045u32 as i32; +pub const STATUS_MUTANT_NOT_OWNED: ::NTSTATUS = 0xC0000046u32 as i32; +pub const STATUS_SEMAPHORE_LIMIT_EXCEEDED: ::NTSTATUS = 0xC0000047u32 as i32; +pub const STATUS_PORT_ALREADY_SET: ::NTSTATUS = 0xC0000048u32 as i32; +pub const STATUS_SECTION_NOT_IMAGE: ::NTSTATUS = 0xC0000049u32 as i32; +pub const STATUS_SUSPEND_COUNT_EXCEEDED: ::NTSTATUS = 0xC000004Au32 as i32; +pub const STATUS_THREAD_IS_TERMINATING: ::NTSTATUS = 0xC000004Bu32 as i32; +pub const STATUS_BAD_WORKING_SET_LIMIT: ::NTSTATUS = 0xC000004Cu32 as i32; +pub const STATUS_INCOMPATIBLE_FILE_MAP: ::NTSTATUS = 0xC000004Du32 as i32; +pub const STATUS_SECTION_PROTECTION: ::NTSTATUS = 0xC000004Eu32 as i32; +pub const STATUS_EAS_NOT_SUPPORTED: ::NTSTATUS = 0xC000004Fu32 as i32; +pub const STATUS_EA_TOO_LARGE: ::NTSTATUS = 0xC0000050u32 as i32; +pub const STATUS_NONEXISTENT_EA_ENTRY: ::NTSTATUS = 0xC0000051u32 as i32; +pub const STATUS_NO_EAS_ON_FILE: ::NTSTATUS = 0xC0000052u32 as i32; +pub const STATUS_EA_CORRUPT_ERROR: ::NTSTATUS = 0xC0000053u32 as i32; +pub const STATUS_FILE_LOCK_CONFLICT: ::NTSTATUS = 0xC0000054u32 as i32; +pub const STATUS_LOCK_NOT_GRANTED: ::NTSTATUS = 0xC0000055u32 as i32; +pub const STATUS_DELETE_PENDING: ::NTSTATUS = 0xC0000056u32 as i32; +pub const STATUS_CTL_FILE_NOT_SUPPORTED: ::NTSTATUS = 0xC0000057u32 as i32; +pub const STATUS_UNKNOWN_REVISION: ::NTSTATUS = 0xC0000058u32 as i32; +pub const STATUS_REVISION_MISMATCH: ::NTSTATUS = 0xC0000059u32 as i32; +pub const STATUS_INVALID_OWNER: ::NTSTATUS = 0xC000005Au32 as i32; +pub const STATUS_INVALID_PRIMARY_GROUP: ::NTSTATUS = 0xC000005Bu32 as i32; +pub const STATUS_NO_IMPERSONATION_TOKEN: ::NTSTATUS = 0xC000005Cu32 as i32; +pub const STATUS_CANT_DISABLE_MANDATORY: ::NTSTATUS = 0xC000005Du32 as i32; +pub const STATUS_NO_LOGON_SERVERS: ::NTSTATUS = 0xC000005Eu32 as i32; +pub const STATUS_NO_SUCH_LOGON_SESSION: ::NTSTATUS = 0xC000005Fu32 as i32; +pub const STATUS_NO_SUCH_PRIVILEGE: ::NTSTATUS = 0xC0000060u32 as i32; +pub const STATUS_PRIVILEGE_NOT_HELD: ::NTSTATUS = 0xC0000061u32 as i32; +pub const STATUS_INVALID_ACCOUNT_NAME: ::NTSTATUS = 0xC0000062u32 as i32; +pub const STATUS_USER_EXISTS: ::NTSTATUS = 0xC0000063u32 as i32; +pub const STATUS_NO_SUCH_USER: ::NTSTATUS = 0xC0000064u32 as i32; +pub const STATUS_GROUP_EXISTS: ::NTSTATUS = 0xC0000065u32 as i32; +pub const STATUS_NO_SUCH_GROUP: ::NTSTATUS = 0xC0000066u32 as i32; +pub const STATUS_MEMBER_IN_GROUP: ::NTSTATUS = 0xC0000067u32 as i32; +pub const STATUS_MEMBER_NOT_IN_GROUP: ::NTSTATUS = 0xC0000068u32 as i32; +pub const STATUS_LAST_ADMIN: ::NTSTATUS = 0xC0000069u32 as i32; +pub const STATUS_WRONG_PASSWORD: ::NTSTATUS = 0xC000006Au32 as i32; +pub const STATUS_ILL_FORMED_PASSWORD: ::NTSTATUS = 0xC000006Bu32 as i32; +pub const STATUS_PASSWORD_RESTRICTION: ::NTSTATUS = 0xC000006Cu32 as i32; +pub const STATUS_LOGON_FAILURE: ::NTSTATUS = 0xC000006Du32 as i32; +pub const STATUS_ACCOUNT_RESTRICTION: ::NTSTATUS = 0xC000006Eu32 as i32; +pub const STATUS_INVALID_LOGON_HOURS: ::NTSTATUS = 0xC000006Fu32 as i32; +pub const STATUS_INVALID_WORKSTATION: ::NTSTATUS = 0xC0000070u32 as i32; +pub const STATUS_PASSWORD_EXPIRED: ::NTSTATUS = 0xC0000071u32 as i32; +pub const STATUS_ACCOUNT_DISABLED: ::NTSTATUS = 0xC0000072u32 as i32; +pub const STATUS_NONE_MAPPED: ::NTSTATUS = 0xC0000073u32 as i32; +pub const STATUS_TOO_MANY_LUIDS_REQUESTED: ::NTSTATUS = 0xC0000074u32 as i32; +pub const STATUS_LUIDS_EXHAUSTED: ::NTSTATUS = 0xC0000075u32 as i32; +pub const STATUS_INVALID_SUB_AUTHORITY: ::NTSTATUS = 0xC0000076u32 as i32; +pub const STATUS_INVALID_ACL: ::NTSTATUS = 0xC0000077u32 as i32; +pub const STATUS_INVALID_SID: ::NTSTATUS = 0xC0000078u32 as i32; +pub const STATUS_INVALID_SECURITY_DESCR: ::NTSTATUS = 0xC0000079u32 as i32; +pub const STATUS_PROCEDURE_NOT_FOUND: ::NTSTATUS = 0xC000007Au32 as i32; +pub const STATUS_INVALID_IMAGE_FORMAT: ::NTSTATUS = 0xC000007Bu32 as i32; +pub const STATUS_NO_TOKEN: ::NTSTATUS = 0xC000007Cu32 as i32; +pub const STATUS_BAD_INHERITANCE_ACL: ::NTSTATUS = 0xC000007Du32 as i32; +pub const STATUS_RANGE_NOT_LOCKED: ::NTSTATUS = 0xC000007Eu32 as i32; +pub const STATUS_DISK_FULL: ::NTSTATUS = 0xC000007Fu32 as i32; +pub const STATUS_SERVER_DISABLED: ::NTSTATUS = 0xC0000080u32 as i32; +pub const STATUS_SERVER_NOT_DISABLED: ::NTSTATUS = 0xC0000081u32 as i32; +pub const STATUS_TOO_MANY_GUIDS_REQUESTED: ::NTSTATUS = 0xC0000082u32 as i32; +pub const STATUS_GUIDS_EXHAUSTED: ::NTSTATUS = 0xC0000083u32 as i32; +pub const STATUS_INVALID_ID_AUTHORITY: ::NTSTATUS = 0xC0000084u32 as i32; +pub const STATUS_AGENTS_EXHAUSTED: ::NTSTATUS = 0xC0000085u32 as i32; +pub const STATUS_INVALID_VOLUME_LABEL: ::NTSTATUS = 0xC0000086u32 as i32; +pub const STATUS_SECTION_NOT_EXTENDED: ::NTSTATUS = 0xC0000087u32 as i32; +pub const STATUS_NOT_MAPPED_DATA: ::NTSTATUS = 0xC0000088u32 as i32; +pub const STATUS_RESOURCE_DATA_NOT_FOUND: ::NTSTATUS = 0xC0000089u32 as i32; +pub const STATUS_RESOURCE_TYPE_NOT_FOUND: ::NTSTATUS = 0xC000008Au32 as i32; +pub const STATUS_RESOURCE_NAME_NOT_FOUND: ::NTSTATUS = 0xC000008Bu32 as i32; +pub const STATUS_ARRAY_BOUNDS_EXCEEDED: ::NTSTATUS = 0xC000008Cu32 as i32; +pub const STATUS_FLOAT_DENORMAL_OPERAND: ::NTSTATUS = 0xC000008Du32 as i32; +pub const STATUS_FLOAT_DIVIDE_BY_ZERO: ::NTSTATUS = 0xC000008Eu32 as i32; +pub const STATUS_FLOAT_INEXACT_RESULT: ::NTSTATUS = 0xC000008Fu32 as i32; +pub const STATUS_FLOAT_INVALID_OPERATION: ::NTSTATUS = 0xC0000090u32 as i32; +pub const STATUS_FLOAT_OVERFLOW: ::NTSTATUS = 0xC0000091u32 as i32; +pub const STATUS_FLOAT_STACK_CHECK: ::NTSTATUS = 0xC0000092u32 as i32; +pub const STATUS_FLOAT_UNDERFLOW: ::NTSTATUS = 0xC0000093u32 as i32; +pub const STATUS_INTEGER_DIVIDE_BY_ZERO: ::NTSTATUS = 0xC0000094u32 as i32; +pub const STATUS_INTEGER_OVERFLOW: ::NTSTATUS = 0xC0000095u32 as i32; +pub const STATUS_PRIVILEGED_INSTRUCTION: ::NTSTATUS = 0xC0000096u32 as i32; +pub const STATUS_TOO_MANY_PAGING_FILES: ::NTSTATUS = 0xC0000097u32 as i32; +pub const STATUS_FILE_INVALID: ::NTSTATUS = 0xC0000098u32 as i32; +pub const STATUS_ALLOTTED_SPACE_EXCEEDED: ::NTSTATUS = 0xC0000099u32 as i32; +pub const STATUS_INSUFFICIENT_RESOURCES: ::NTSTATUS = 0xC000009Au32 as i32; +pub const STATUS_DFS_EXIT_PATH_FOUND: ::NTSTATUS = 0xC000009Bu32 as i32; +pub const STATUS_DEVICE_DATA_ERROR: ::NTSTATUS = 0xC000009Cu32 as i32; +pub const STATUS_DEVICE_NOT_CONNECTED: ::NTSTATUS = 0xC000009Du32 as i32; +pub const STATUS_DEVICE_POWER_FAILURE: ::NTSTATUS = 0xC000009Eu32 as i32; +pub const STATUS_FREE_VM_NOT_AT_BASE: ::NTSTATUS = 0xC000009Fu32 as i32; +pub const STATUS_MEMORY_NOT_ALLOCATED: ::NTSTATUS = 0xC00000A0u32 as i32; +pub const STATUS_WORKING_SET_QUOTA: ::NTSTATUS = 0xC00000A1u32 as i32; +pub const STATUS_MEDIA_WRITE_PROTECTED: ::NTSTATUS = 0xC00000A2u32 as i32; +pub const STATUS_DEVICE_NOT_READY: ::NTSTATUS = 0xC00000A3u32 as i32; +pub const STATUS_INVALID_GROUP_ATTRIBUTES: ::NTSTATUS = 0xC00000A4u32 as i32; +pub const STATUS_BAD_IMPERSONATION_LEVEL: ::NTSTATUS = 0xC00000A5u32 as i32; +pub const STATUS_CANT_OPEN_ANONYMOUS: ::NTSTATUS = 0xC00000A6u32 as i32; +pub const STATUS_BAD_VALIDATION_CLASS: ::NTSTATUS = 0xC00000A7u32 as i32; +pub const STATUS_BAD_TOKEN_TYPE: ::NTSTATUS = 0xC00000A8u32 as i32; +pub const STATUS_BAD_MASTER_BOOT_RECORD: ::NTSTATUS = 0xC00000A9u32 as i32; +pub const STATUS_INSTRUCTION_MISALIGNMENT: ::NTSTATUS = 0xC00000AAu32 as i32; +pub const STATUS_INSTANCE_NOT_AVAILABLE: ::NTSTATUS = 0xC00000ABu32 as i32; +pub const STATUS_PIPE_NOT_AVAILABLE: ::NTSTATUS = 0xC00000ACu32 as i32; +pub const STATUS_INVALID_PIPE_STATE: ::NTSTATUS = 0xC00000ADu32 as i32; +pub const STATUS_PIPE_BUSY: ::NTSTATUS = 0xC00000AEu32 as i32; +pub const STATUS_ILLEGAL_FUNCTION: ::NTSTATUS = 0xC00000AFu32 as i32; +pub const STATUS_PIPE_DISCONNECTED: ::NTSTATUS = 0xC00000B0u32 as i32; +pub const STATUS_PIPE_CLOSING: ::NTSTATUS = 0xC00000B1u32 as i32; +pub const STATUS_PIPE_CONNECTED: ::NTSTATUS = 0xC00000B2u32 as i32; +pub const STATUS_PIPE_LISTENING: ::NTSTATUS = 0xC00000B3u32 as i32; +pub const STATUS_INVALID_READ_MODE: ::NTSTATUS = 0xC00000B4u32 as i32; +pub const STATUS_IO_TIMEOUT: ::NTSTATUS = 0xC00000B5u32 as i32; +pub const STATUS_FILE_FORCED_CLOSED: ::NTSTATUS = 0xC00000B6u32 as i32; +pub const STATUS_PROFILING_NOT_STARTED: ::NTSTATUS = 0xC00000B7u32 as i32; +pub const STATUS_PROFILING_NOT_STOPPED: ::NTSTATUS = 0xC00000B8u32 as i32; +pub const STATUS_COULD_NOT_INTERPRET: ::NTSTATUS = 0xC00000B9u32 as i32; +pub const STATUS_FILE_IS_A_DIRECTORY: ::NTSTATUS = 0xC00000BAu32 as i32; +pub const STATUS_NOT_SUPPORTED: ::NTSTATUS = 0xC00000BBu32 as i32; +pub const STATUS_REMOTE_NOT_LISTENING: ::NTSTATUS = 0xC00000BCu32 as i32; +pub const STATUS_DUPLICATE_NAME: ::NTSTATUS = 0xC00000BDu32 as i32; +pub const STATUS_BAD_NETWORK_PATH: ::NTSTATUS = 0xC00000BEu32 as i32; +pub const STATUS_NETWORK_BUSY: ::NTSTATUS = 0xC00000BFu32 as i32; +pub const STATUS_DEVICE_DOES_NOT_EXIST: ::NTSTATUS = 0xC00000C0u32 as i32; +pub const STATUS_TOO_MANY_COMMANDS: ::NTSTATUS = 0xC00000C1u32 as i32; +pub const STATUS_ADAPTER_HARDWARE_ERROR: ::NTSTATUS = 0xC00000C2u32 as i32; +pub const STATUS_INVALID_NETWORK_RESPONSE: ::NTSTATUS = 0xC00000C3u32 as i32; +pub const STATUS_UNEXPECTED_NETWORK_ERROR: ::NTSTATUS = 0xC00000C4u32 as i32; +pub const STATUS_BAD_REMOTE_ADAPTER: ::NTSTATUS = 0xC00000C5u32 as i32; +pub const STATUS_PRINT_QUEUE_FULL: ::NTSTATUS = 0xC00000C6u32 as i32; +pub const STATUS_NO_SPOOL_SPACE: ::NTSTATUS = 0xC00000C7u32 as i32; +pub const STATUS_PRINT_CANCELLED: ::NTSTATUS = 0xC00000C8u32 as i32; +pub const STATUS_NETWORK_NAME_DELETED: ::NTSTATUS = 0xC00000C9u32 as i32; +pub const STATUS_NETWORK_ACCESS_DENIED: ::NTSTATUS = 0xC00000CAu32 as i32; +pub const STATUS_BAD_DEVICE_TYPE: ::NTSTATUS = 0xC00000CBu32 as i32; +pub const STATUS_BAD_NETWORK_NAME: ::NTSTATUS = 0xC00000CCu32 as i32; +pub const STATUS_TOO_MANY_NAMES: ::NTSTATUS = 0xC00000CDu32 as i32; +pub const STATUS_TOO_MANY_SESSIONS: ::NTSTATUS = 0xC00000CEu32 as i32; +pub const STATUS_SHARING_PAUSED: ::NTSTATUS = 0xC00000CFu32 as i32; +pub const STATUS_REQUEST_NOT_ACCEPTED: ::NTSTATUS = 0xC00000D0u32 as i32; +pub const STATUS_REDIRECTOR_PAUSED: ::NTSTATUS = 0xC00000D1u32 as i32; +pub const STATUS_NET_WRITE_FAULT: ::NTSTATUS = 0xC00000D2u32 as i32; +pub const STATUS_PROFILING_AT_LIMIT: ::NTSTATUS = 0xC00000D3u32 as i32; +pub const STATUS_NOT_SAME_DEVICE: ::NTSTATUS = 0xC00000D4u32 as i32; +pub const STATUS_FILE_RENAMED: ::NTSTATUS = 0xC00000D5u32 as i32; +pub const STATUS_VIRTUAL_CIRCUIT_CLOSED: ::NTSTATUS = 0xC00000D6u32 as i32; +pub const STATUS_NO_SECURITY_ON_OBJECT: ::NTSTATUS = 0xC00000D7u32 as i32; +pub const STATUS_CANT_WAIT: ::NTSTATUS = 0xC00000D8u32 as i32; +pub const STATUS_PIPE_EMPTY: ::NTSTATUS = 0xC00000D9u32 as i32; +pub const STATUS_CANT_ACCESS_DOMAIN_INFO: ::NTSTATUS = 0xC00000DAu32 as i32; +pub const STATUS_CANT_TERMINATE_SELF: ::NTSTATUS = 0xC00000DBu32 as i32; +pub const STATUS_INVALID_SERVER_STATE: ::NTSTATUS = 0xC00000DCu32 as i32; +pub const STATUS_INVALID_DOMAIN_STATE: ::NTSTATUS = 0xC00000DDu32 as i32; +pub const STATUS_INVALID_DOMAIN_ROLE: ::NTSTATUS = 0xC00000DEu32 as i32; +pub const STATUS_NO_SUCH_DOMAIN: ::NTSTATUS = 0xC00000DFu32 as i32; +pub const STATUS_DOMAIN_EXISTS: ::NTSTATUS = 0xC00000E0u32 as i32; +pub const STATUS_DOMAIN_LIMIT_EXCEEDED: ::NTSTATUS = 0xC00000E1u32 as i32; +pub const STATUS_OPLOCK_NOT_GRANTED: ::NTSTATUS = 0xC00000E2u32 as i32; +pub const STATUS_INVALID_OPLOCK_PROTOCOL: ::NTSTATUS = 0xC00000E3u32 as i32; +pub const STATUS_INTERNAL_DB_CORRUPTION: ::NTSTATUS = 0xC00000E4u32 as i32; +pub const STATUS_INTERNAL_ERROR: ::NTSTATUS = 0xC00000E5u32 as i32; +pub const STATUS_GENERIC_NOT_MAPPED: ::NTSTATUS = 0xC00000E6u32 as i32; +pub const STATUS_BAD_DESCRIPTOR_FORMAT: ::NTSTATUS = 0xC00000E7u32 as i32; +pub const STATUS_INVALID_USER_BUFFER: ::NTSTATUS = 0xC00000E8u32 as i32; +pub const STATUS_UNEXPECTED_IO_ERROR: ::NTSTATUS = 0xC00000E9u32 as i32; +pub const STATUS_UNEXPECTED_MM_CREATE_ERR: ::NTSTATUS = 0xC00000EAu32 as i32; +pub const STATUS_UNEXPECTED_MM_MAP_ERROR: ::NTSTATUS = 0xC00000EBu32 as i32; +pub const STATUS_UNEXPECTED_MM_EXTEND_ERR: ::NTSTATUS = 0xC00000ECu32 as i32; +pub const STATUS_NOT_LOGON_PROCESS: ::NTSTATUS = 0xC00000EDu32 as i32; +pub const STATUS_LOGON_SESSION_EXISTS: ::NTSTATUS = 0xC00000EEu32 as i32; +pub const STATUS_INVALID_PARAMETER_1: ::NTSTATUS = 0xC00000EFu32 as i32; +pub const STATUS_INVALID_PARAMETER_2: ::NTSTATUS = 0xC00000F0u32 as i32; +pub const STATUS_INVALID_PARAMETER_3: ::NTSTATUS = 0xC00000F1u32 as i32; +pub const STATUS_INVALID_PARAMETER_4: ::NTSTATUS = 0xC00000F2u32 as i32; +pub const STATUS_INVALID_PARAMETER_5: ::NTSTATUS = 0xC00000F3u32 as i32; +pub const STATUS_INVALID_PARAMETER_6: ::NTSTATUS = 0xC00000F4u32 as i32; +pub const STATUS_INVALID_PARAMETER_7: ::NTSTATUS = 0xC00000F5u32 as i32; +pub const STATUS_INVALID_PARAMETER_8: ::NTSTATUS = 0xC00000F6u32 as i32; +pub const STATUS_INVALID_PARAMETER_9: ::NTSTATUS = 0xC00000F7u32 as i32; +pub const STATUS_INVALID_PARAMETER_10: ::NTSTATUS = 0xC00000F8u32 as i32; +pub const STATUS_INVALID_PARAMETER_11: ::NTSTATUS = 0xC00000F9u32 as i32; +pub const STATUS_INVALID_PARAMETER_12: ::NTSTATUS = 0xC00000FAu32 as i32; +pub const STATUS_REDIRECTOR_NOT_STARTED: ::NTSTATUS = 0xC00000FBu32 as i32; +pub const STATUS_REDIRECTOR_STARTED: ::NTSTATUS = 0xC00000FCu32 as i32; +pub const STATUS_STACK_OVERFLOW: ::NTSTATUS = 0xC00000FDu32 as i32; +pub const STATUS_NO_SUCH_PACKAGE: ::NTSTATUS = 0xC00000FEu32 as i32; +pub const STATUS_BAD_FUNCTION_TABLE: ::NTSTATUS = 0xC00000FFu32 as i32; +pub const STATUS_VARIABLE_NOT_FOUND: ::NTSTATUS = 0xC0000100u32 as i32; +pub const STATUS_DIRECTORY_NOT_EMPTY: ::NTSTATUS = 0xC0000101u32 as i32; +pub const STATUS_FILE_CORRUPT_ERROR: ::NTSTATUS = 0xC0000102u32 as i32; +pub const STATUS_NOT_A_DIRECTORY: ::NTSTATUS = 0xC0000103u32 as i32; +pub const STATUS_BAD_LOGON_SESSION_STATE: ::NTSTATUS = 0xC0000104u32 as i32; +pub const STATUS_LOGON_SESSION_COLLISION: ::NTSTATUS = 0xC0000105u32 as i32; +pub const STATUS_NAME_TOO_LONG: ::NTSTATUS = 0xC0000106u32 as i32; +pub const STATUS_FILES_OPEN: ::NTSTATUS = 0xC0000107u32 as i32; +pub const STATUS_CONNECTION_IN_USE: ::NTSTATUS = 0xC0000108u32 as i32; +pub const STATUS_MESSAGE_NOT_FOUND: ::NTSTATUS = 0xC0000109u32 as i32; +pub const STATUS_PROCESS_IS_TERMINATING: ::NTSTATUS = 0xC000010Au32 as i32; +pub const STATUS_INVALID_LOGON_TYPE: ::NTSTATUS = 0xC000010Bu32 as i32; +pub const STATUS_NO_GUID_TRANSLATION: ::NTSTATUS = 0xC000010Cu32 as i32; +pub const STATUS_CANNOT_IMPERSONATE: ::NTSTATUS = 0xC000010Du32 as i32; +pub const STATUS_IMAGE_ALREADY_LOADED: ::NTSTATUS = 0xC000010Eu32 as i32; +pub const STATUS_ABIOS_NOT_PRESENT: ::NTSTATUS = 0xC000010Fu32 as i32; +pub const STATUS_ABIOS_LID_NOT_EXIST: ::NTSTATUS = 0xC0000110u32 as i32; +pub const STATUS_ABIOS_LID_ALREADY_OWNED: ::NTSTATUS = 0xC0000111u32 as i32; +pub const STATUS_ABIOS_NOT_LID_OWNER: ::NTSTATUS = 0xC0000112u32 as i32; +pub const STATUS_ABIOS_INVALID_COMMAND: ::NTSTATUS = 0xC0000113u32 as i32; +pub const STATUS_ABIOS_INVALID_LID: ::NTSTATUS = 0xC0000114u32 as i32; +pub const STATUS_ABIOS_SELECTOR_NOT_AVAILABLE: ::NTSTATUS = 0xC0000115u32 as i32; +pub const STATUS_ABIOS_INVALID_SELECTOR: ::NTSTATUS = 0xC0000116u32 as i32; +pub const STATUS_NO_LDT: ::NTSTATUS = 0xC0000117u32 as i32; +pub const STATUS_INVALID_LDT_SIZE: ::NTSTATUS = 0xC0000118u32 as i32; +pub const STATUS_INVALID_LDT_OFFSET: ::NTSTATUS = 0xC0000119u32 as i32; +pub const STATUS_INVALID_LDT_DESCRIPTOR: ::NTSTATUS = 0xC000011Au32 as i32; +pub const STATUS_INVALID_IMAGE_NE_FORMAT: ::NTSTATUS = 0xC000011Bu32 as i32; +pub const STATUS_RXACT_INVALID_STATE: ::NTSTATUS = 0xC000011Cu32 as i32; +pub const STATUS_RXACT_COMMIT_FAILURE: ::NTSTATUS = 0xC000011Du32 as i32; +pub const STATUS_MAPPED_FILE_SIZE_ZERO: ::NTSTATUS = 0xC000011Eu32 as i32; +pub const STATUS_TOO_MANY_OPENED_FILES: ::NTSTATUS = 0xC000011Fu32 as i32; +pub const STATUS_CANCELLED: ::NTSTATUS = 0xC0000120u32 as i32; +pub const STATUS_CANNOT_DELETE: ::NTSTATUS = 0xC0000121u32 as i32; +pub const STATUS_INVALID_COMPUTER_NAME: ::NTSTATUS = 0xC0000122u32 as i32; +pub const STATUS_FILE_DELETED: ::NTSTATUS = 0xC0000123u32 as i32; +pub const STATUS_SPECIAL_ACCOUNT: ::NTSTATUS = 0xC0000124u32 as i32; +pub const STATUS_SPECIAL_GROUP: ::NTSTATUS = 0xC0000125u32 as i32; +pub const STATUS_SPECIAL_USER: ::NTSTATUS = 0xC0000126u32 as i32; +pub const STATUS_MEMBERS_PRIMARY_GROUP: ::NTSTATUS = 0xC0000127u32 as i32; +pub const STATUS_FILE_CLOSED: ::NTSTATUS = 0xC0000128u32 as i32; +pub const STATUS_TOO_MANY_THREADS: ::NTSTATUS = 0xC0000129u32 as i32; +pub const STATUS_THREAD_NOT_IN_PROCESS: ::NTSTATUS = 0xC000012Au32 as i32; +pub const STATUS_TOKEN_ALREADY_IN_USE: ::NTSTATUS = 0xC000012Bu32 as i32; +pub const STATUS_PAGEFILE_QUOTA_EXCEEDED: ::NTSTATUS = 0xC000012Cu32 as i32; +pub const STATUS_COMMITMENT_LIMIT: ::NTSTATUS = 0xC000012Du32 as i32; +pub const STATUS_INVALID_IMAGE_LE_FORMAT: ::NTSTATUS = 0xC000012Eu32 as i32; +pub const STATUS_INVALID_IMAGE_NOT_MZ: ::NTSTATUS = 0xC000012Fu32 as i32; +pub const STATUS_INVALID_IMAGE_PROTECT: ::NTSTATUS = 0xC0000130u32 as i32; +pub const STATUS_INVALID_IMAGE_WIN_16: ::NTSTATUS = 0xC0000131u32 as i32; +pub const STATUS_LOGON_SERVER_CONFLICT: ::NTSTATUS = 0xC0000132u32 as i32; +pub const STATUS_TIME_DIFFERENCE_AT_DC: ::NTSTATUS = 0xC0000133u32 as i32; +pub const STATUS_SYNCHRONIZATION_REQUIRED: ::NTSTATUS = 0xC0000134u32 as i32; +pub const STATUS_DLL_NOT_FOUND: ::NTSTATUS = 0xC0000135u32 as i32; +pub const STATUS_OPEN_FAILED: ::NTSTATUS = 0xC0000136u32 as i32; +pub const STATUS_IO_PRIVILEGE_FAILED: ::NTSTATUS = 0xC0000137u32 as i32; +pub const STATUS_ORDINAL_NOT_FOUND: ::NTSTATUS = 0xC0000138u32 as i32; +pub const STATUS_ENTRYPOINT_NOT_FOUND: ::NTSTATUS = 0xC0000139u32 as i32; +pub const STATUS_CONTROL_C_EXIT: ::NTSTATUS = 0xC000013Au32 as i32; +pub const STATUS_LOCAL_DISCONNECT: ::NTSTATUS = 0xC000013Bu32 as i32; +pub const STATUS_REMOTE_DISCONNECT: ::NTSTATUS = 0xC000013Cu32 as i32; +pub const STATUS_REMOTE_RESOURCES: ::NTSTATUS = 0xC000013Du32 as i32; +pub const STATUS_LINK_FAILED: ::NTSTATUS = 0xC000013Eu32 as i32; +pub const STATUS_LINK_TIMEOUT: ::NTSTATUS = 0xC000013Fu32 as i32; +pub const STATUS_INVALID_CONNECTION: ::NTSTATUS = 0xC0000140u32 as i32; +pub const STATUS_INVALID_ADDRESS: ::NTSTATUS = 0xC0000141u32 as i32; +pub const STATUS_DLL_INIT_FAILED: ::NTSTATUS = 0xC0000142u32 as i32; +pub const STATUS_MISSING_SYSTEMFILE: ::NTSTATUS = 0xC0000143u32 as i32; +pub const STATUS_UNHANDLED_EXCEPTION: ::NTSTATUS = 0xC0000144u32 as i32; +pub const STATUS_APP_INIT_FAILURE: ::NTSTATUS = 0xC0000145u32 as i32; +pub const STATUS_PAGEFILE_CREATE_FAILED: ::NTSTATUS = 0xC0000146u32 as i32; +pub const STATUS_NO_PAGEFILE: ::NTSTATUS = 0xC0000147u32 as i32; +pub const STATUS_INVALID_LEVEL: ::NTSTATUS = 0xC0000148u32 as i32; +pub const STATUS_WRONG_PASSWORD_CORE: ::NTSTATUS = 0xC0000149u32 as i32; +pub const STATUS_ILLEGAL_FLOAT_CONTEXT: ::NTSTATUS = 0xC000014Au32 as i32; +pub const STATUS_PIPE_BROKEN: ::NTSTATUS = 0xC000014Bu32 as i32; +pub const STATUS_REGISTRY_CORRUPT: ::NTSTATUS = 0xC000014Cu32 as i32; +pub const STATUS_REGISTRY_IO_FAILED: ::NTSTATUS = 0xC000014Du32 as i32; +pub const STATUS_NO_EVENT_PAIR: ::NTSTATUS = 0xC000014Eu32 as i32; +pub const STATUS_UNRECOGNIZED_VOLUME: ::NTSTATUS = 0xC000014Fu32 as i32; +pub const STATUS_SERIAL_NO_DEVICE_INITED: ::NTSTATUS = 0xC0000150u32 as i32; +pub const STATUS_NO_SUCH_ALIAS: ::NTSTATUS = 0xC0000151u32 as i32; +pub const STATUS_MEMBER_NOT_IN_ALIAS: ::NTSTATUS = 0xC0000152u32 as i32; +pub const STATUS_MEMBER_IN_ALIAS: ::NTSTATUS = 0xC0000153u32 as i32; +pub const STATUS_ALIAS_EXISTS: ::NTSTATUS = 0xC0000154u32 as i32; +pub const STATUS_LOGON_NOT_GRANTED: ::NTSTATUS = 0xC0000155u32 as i32; +pub const STATUS_TOO_MANY_SECRETS: ::NTSTATUS = 0xC0000156u32 as i32; +pub const STATUS_SECRET_TOO_LONG: ::NTSTATUS = 0xC0000157u32 as i32; +pub const STATUS_INTERNAL_DB_ERROR: ::NTSTATUS = 0xC0000158u32 as i32; +pub const STATUS_FULLSCREEN_MODE: ::NTSTATUS = 0xC0000159u32 as i32; +pub const STATUS_TOO_MANY_CONTEXT_IDS: ::NTSTATUS = 0xC000015Au32 as i32; +pub const STATUS_LOGON_TYPE_NOT_GRANTED: ::NTSTATUS = 0xC000015Bu32 as i32; +pub const STATUS_NOT_REGISTRY_FILE: ::NTSTATUS = 0xC000015Cu32 as i32; +pub const STATUS_NT_CROSS_ENCRYPTION_REQUIRED: ::NTSTATUS = 0xC000015Du32 as i32; +pub const STATUS_DOMAIN_CTRLR_CONFIG_ERROR: ::NTSTATUS = 0xC000015Eu32 as i32; +pub const STATUS_FT_MISSING_MEMBER: ::NTSTATUS = 0xC000015Fu32 as i32; +pub const STATUS_ILL_FORMED_SERVICE_ENTRY: ::NTSTATUS = 0xC0000160u32 as i32; +pub const STATUS_ILLEGAL_CHARACTER: ::NTSTATUS = 0xC0000161u32 as i32; +pub const STATUS_UNMAPPABLE_CHARACTER: ::NTSTATUS = 0xC0000162u32 as i32; +pub const STATUS_UNDEFINED_CHARACTER: ::NTSTATUS = 0xC0000163u32 as i32; +pub const STATUS_FLOPPY_VOLUME: ::NTSTATUS = 0xC0000164u32 as i32; +pub const STATUS_FLOPPY_ID_MARK_NOT_FOUND: ::NTSTATUS = 0xC0000165u32 as i32; +pub const STATUS_FLOPPY_WRONG_CYLINDER: ::NTSTATUS = 0xC0000166u32 as i32; +pub const STATUS_FLOPPY_UNKNOWN_ERROR: ::NTSTATUS = 0xC0000167u32 as i32; +pub const STATUS_FLOPPY_BAD_REGISTERS: ::NTSTATUS = 0xC0000168u32 as i32; +pub const STATUS_DISK_RECALIBRATE_FAILED: ::NTSTATUS = 0xC0000169u32 as i32; +pub const STATUS_DISK_OPERATION_FAILED: ::NTSTATUS = 0xC000016Au32 as i32; +pub const STATUS_DISK_RESET_FAILED: ::NTSTATUS = 0xC000016Bu32 as i32; +pub const STATUS_SHARED_IRQ_BUSY: ::NTSTATUS = 0xC000016Cu32 as i32; +pub const STATUS_FT_ORPHANING: ::NTSTATUS = 0xC000016Du32 as i32; +pub const STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT: ::NTSTATUS = 0xC000016Eu32 as i32; +pub const STATUS_PARTITION_FAILURE: ::NTSTATUS = 0xC0000172u32 as i32; +pub const STATUS_INVALID_BLOCK_LENGTH: ::NTSTATUS = 0xC0000173u32 as i32; +pub const STATUS_DEVICE_NOT_PARTITIONED: ::NTSTATUS = 0xC0000174u32 as i32; +pub const STATUS_UNABLE_TO_LOCK_MEDIA: ::NTSTATUS = 0xC0000175u32 as i32; +pub const STATUS_UNABLE_TO_UNLOAD_MEDIA: ::NTSTATUS = 0xC0000176u32 as i32; +pub const STATUS_EOM_OVERFLOW: ::NTSTATUS = 0xC0000177u32 as i32; +pub const STATUS_NO_MEDIA: ::NTSTATUS = 0xC0000178u32 as i32; +pub const STATUS_NO_SUCH_MEMBER: ::NTSTATUS = 0xC000017Au32 as i32; +pub const STATUS_INVALID_MEMBER: ::NTSTATUS = 0xC000017Bu32 as i32; +pub const STATUS_KEY_DELETED: ::NTSTATUS = 0xC000017Cu32 as i32; +pub const STATUS_NO_LOG_SPACE: ::NTSTATUS = 0xC000017Du32 as i32; +pub const STATUS_TOO_MANY_SIDS: ::NTSTATUS = 0xC000017Eu32 as i32; +pub const STATUS_LM_CROSS_ENCRYPTION_REQUIRED: ::NTSTATUS = 0xC000017Fu32 as i32; +pub const STATUS_KEY_HAS_CHILDREN: ::NTSTATUS = 0xC0000180u32 as i32; +pub const STATUS_CHILD_MUST_BE_VOLATILE: ::NTSTATUS = 0xC0000181u32 as i32; +pub const STATUS_DEVICE_CONFIGURATION_ERROR: ::NTSTATUS = 0xC0000182u32 as i32; +pub const STATUS_DRIVER_INTERNAL_ERROR: ::NTSTATUS = 0xC0000183u32 as i32; +pub const STATUS_INVALID_DEVICE_STATE: ::NTSTATUS = 0xC0000184u32 as i32; +pub const STATUS_IO_DEVICE_ERROR: ::NTSTATUS = 0xC0000185u32 as i32; +pub const STATUS_DEVICE_PROTOCOL_ERROR: ::NTSTATUS = 0xC0000186u32 as i32; +pub const STATUS_BACKUP_CONTROLLER: ::NTSTATUS = 0xC0000187u32 as i32; +pub const STATUS_LOG_FILE_FULL: ::NTSTATUS = 0xC0000188u32 as i32; +pub const STATUS_TOO_LATE: ::NTSTATUS = 0xC0000189u32 as i32; +pub const STATUS_NO_TRUST_LSA_SECRET: ::NTSTATUS = 0xC000018Au32 as i32; +pub const STATUS_NO_TRUST_SAM_ACCOUNT: ::NTSTATUS = 0xC000018Bu32 as i32; +pub const STATUS_TRUSTED_DOMAIN_FAILURE: ::NTSTATUS = 0xC000018Cu32 as i32; +pub const STATUS_TRUSTED_RELATIONSHIP_FAILURE: ::NTSTATUS = 0xC000018Du32 as i32; +pub const STATUS_EVENTLOG_FILE_CORRUPT: ::NTSTATUS = 0xC000018Eu32 as i32; +pub const STATUS_EVENTLOG_CANT_START: ::NTSTATUS = 0xC000018Fu32 as i32; +pub const STATUS_TRUST_FAILURE: ::NTSTATUS = 0xC0000190u32 as i32; +pub const STATUS_MUTANT_LIMIT_EXCEEDED: ::NTSTATUS = 0xC0000191u32 as i32; +pub const STATUS_NETLOGON_NOT_STARTED: ::NTSTATUS = 0xC0000192u32 as i32; +pub const STATUS_ACCOUNT_EXPIRED: ::NTSTATUS = 0xC0000193u32 as i32; +pub const STATUS_POSSIBLE_DEADLOCK: ::NTSTATUS = 0xC0000194u32 as i32; +pub const STATUS_NETWORK_CREDENTIAL_CONFLICT: ::NTSTATUS = 0xC0000195u32 as i32; +pub const STATUS_REMOTE_SESSION_LIMIT: ::NTSTATUS = 0xC0000196u32 as i32; +pub const STATUS_EVENTLOG_FILE_CHANGED: ::NTSTATUS = 0xC0000197u32 as i32; +pub const STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT: ::NTSTATUS = 0xC0000198u32 as i32; +pub const STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT: ::NTSTATUS = 0xC0000199u32 as i32; +pub const STATUS_NOLOGON_SERVER_TRUST_ACCOUNT: ::NTSTATUS = 0xC000019Au32 as i32; +pub const STATUS_DOMAIN_TRUST_INCONSISTENT: ::NTSTATUS = 0xC000019Bu32 as i32; +pub const STATUS_FS_DRIVER_REQUIRED: ::NTSTATUS = 0xC000019Cu32 as i32; +pub const STATUS_IMAGE_ALREADY_LOADED_AS_DLL: ::NTSTATUS = 0xC000019Du32 as i32; +pub const STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING: ::NTSTATUS = 0xC000019Eu32 as i32; +pub const STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME: ::NTSTATUS = 0xC000019Fu32 as i32; +pub const STATUS_SECURITY_STREAM_IS_INCONSISTENT: ::NTSTATUS = 0xC00001A0u32 as i32; +pub const STATUS_INVALID_LOCK_RANGE: ::NTSTATUS = 0xC00001A1u32 as i32; +pub const STATUS_INVALID_ACE_CONDITION: ::NTSTATUS = 0xC00001A2u32 as i32; +pub const STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT: ::NTSTATUS = 0xC00001A3u32 as i32; +pub const STATUS_NOTIFICATION_GUID_ALREADY_DEFINED: ::NTSTATUS = 0xC00001A4u32 as i32; +pub const STATUS_INVALID_EXCEPTION_HANDLER: ::NTSTATUS = 0xC00001A5u32 as i32; +pub const STATUS_DUPLICATE_PRIVILEGES: ::NTSTATUS = 0xC00001A6u32 as i32; +pub const STATUS_NOT_ALLOWED_ON_SYSTEM_FILE: ::NTSTATUS = 0xC00001A7u32 as i32; +pub const STATUS_REPAIR_NEEDED: ::NTSTATUS = 0xC00001A8u32 as i32; +pub const STATUS_QUOTA_NOT_ENABLED: ::NTSTATUS = 0xC00001A9u32 as i32; +pub const STATUS_NO_APPLICATION_PACKAGE: ::NTSTATUS = 0xC00001AAu32 as i32; +pub const STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS: ::NTSTATUS = 0xC00001ABu32 as i32; +pub const STATUS_NOT_SAME_OBJECT: ::NTSTATUS = 0xC00001ACu32 as i32; +pub const STATUS_FATAL_MEMORY_EXHAUSTION: ::NTSTATUS = 0xC00001ADu32 as i32; +pub const STATUS_ERROR_PROCESS_NOT_IN_JOB: ::NTSTATUS = 0xC00001AEu32 as i32; +pub const STATUS_NETWORK_OPEN_RESTRICTION: ::NTSTATUS = 0xC0000201u32 as i32; +pub const STATUS_NO_USER_SESSION_KEY: ::NTSTATUS = 0xC0000202u32 as i32; +pub const STATUS_USER_SESSION_DELETED: ::NTSTATUS = 0xC0000203u32 as i32; +pub const STATUS_RESOURCE_LANG_NOT_FOUND: ::NTSTATUS = 0xC0000204u32 as i32; +pub const STATUS_INSUFF_SERVER_RESOURCES: ::NTSTATUS = 0xC0000205u32 as i32; +pub const STATUS_INVALID_BUFFER_SIZE: ::NTSTATUS = 0xC0000206u32 as i32; +pub const STATUS_INVALID_ADDRESS_COMPONENT: ::NTSTATUS = 0xC0000207u32 as i32; +pub const STATUS_INVALID_ADDRESS_WILDCARD: ::NTSTATUS = 0xC0000208u32 as i32; +pub const STATUS_TOO_MANY_ADDRESSES: ::NTSTATUS = 0xC0000209u32 as i32; +pub const STATUS_ADDRESS_ALREADY_EXISTS: ::NTSTATUS = 0xC000020Au32 as i32; +pub const STATUS_ADDRESS_CLOSED: ::NTSTATUS = 0xC000020Bu32 as i32; +pub const STATUS_CONNECTION_DISCONNECTED: ::NTSTATUS = 0xC000020Cu32 as i32; +pub const STATUS_CONNECTION_RESET: ::NTSTATUS = 0xC000020Du32 as i32; +pub const STATUS_TOO_MANY_NODES: ::NTSTATUS = 0xC000020Eu32 as i32; +pub const STATUS_TRANSACTION_ABORTED: ::NTSTATUS = 0xC000020Fu32 as i32; +pub const STATUS_TRANSACTION_TIMED_OUT: ::NTSTATUS = 0xC0000210u32 as i32; +pub const STATUS_TRANSACTION_NO_RELEASE: ::NTSTATUS = 0xC0000211u32 as i32; +pub const STATUS_TRANSACTION_NO_MATCH: ::NTSTATUS = 0xC0000212u32 as i32; +pub const STATUS_TRANSACTION_RESPONDED: ::NTSTATUS = 0xC0000213u32 as i32; +pub const STATUS_TRANSACTION_INVALID_ID: ::NTSTATUS = 0xC0000214u32 as i32; +pub const STATUS_TRANSACTION_INVALID_TYPE: ::NTSTATUS = 0xC0000215u32 as i32; +pub const STATUS_NOT_SERVER_SESSION: ::NTSTATUS = 0xC0000216u32 as i32; +pub const STATUS_NOT_CLIENT_SESSION: ::NTSTATUS = 0xC0000217u32 as i32; +pub const STATUS_CANNOT_LOAD_REGISTRY_FILE: ::NTSTATUS = 0xC0000218u32 as i32; +pub const STATUS_DEBUG_ATTACH_FAILED: ::NTSTATUS = 0xC0000219u32 as i32; +pub const STATUS_SYSTEM_PROCESS_TERMINATED: ::NTSTATUS = 0xC000021Au32 as i32; +pub const STATUS_DATA_NOT_ACCEPTED: ::NTSTATUS = 0xC000021Bu32 as i32; +pub const STATUS_NO_BROWSER_SERVERS_FOUND: ::NTSTATUS = 0xC000021Cu32 as i32; +pub const STATUS_VDM_HARD_ERROR: ::NTSTATUS = 0xC000021Du32 as i32; +pub const STATUS_DRIVER_CANCEL_TIMEOUT: ::NTSTATUS = 0xC000021Eu32 as i32; +pub const STATUS_REPLY_MESSAGE_MISMATCH: ::NTSTATUS = 0xC000021Fu32 as i32; +pub const STATUS_MAPPED_ALIGNMENT: ::NTSTATUS = 0xC0000220u32 as i32; +pub const STATUS_IMAGE_CHECKSUM_MISMATCH: ::NTSTATUS = 0xC0000221u32 as i32; +pub const STATUS_LOST_WRITEBEHIND_DATA: ::NTSTATUS = 0xC0000222u32 as i32; +pub const STATUS_CLIENT_SERVER_PARAMETERS_INVALID: ::NTSTATUS = 0xC0000223u32 as i32; +pub const STATUS_PASSWORD_MUST_CHANGE: ::NTSTATUS = 0xC0000224u32 as i32; +pub const STATUS_NOT_FOUND: ::NTSTATUS = 0xC0000225u32 as i32; +pub const STATUS_NOT_TINY_STREAM: ::NTSTATUS = 0xC0000226u32 as i32; +pub const STATUS_RECOVERY_FAILURE: ::NTSTATUS = 0xC0000227u32 as i32; +pub const STATUS_STACK_OVERFLOW_READ: ::NTSTATUS = 0xC0000228u32 as i32; +pub const STATUS_FAIL_CHECK: ::NTSTATUS = 0xC0000229u32 as i32; +pub const STATUS_DUPLICATE_OBJECTID: ::NTSTATUS = 0xC000022Au32 as i32; +pub const STATUS_OBJECTID_EXISTS: ::NTSTATUS = 0xC000022Bu32 as i32; +pub const STATUS_CONVERT_TO_LARGE: ::NTSTATUS = 0xC000022Cu32 as i32; +pub const STATUS_RETRY: ::NTSTATUS = 0xC000022Du32 as i32; +pub const STATUS_FOUND_OUT_OF_SCOPE: ::NTSTATUS = 0xC000022Eu32 as i32; +pub const STATUS_ALLOCATE_BUCKET: ::NTSTATUS = 0xC000022Fu32 as i32; +pub const STATUS_PROPSET_NOT_FOUND: ::NTSTATUS = 0xC0000230u32 as i32; +pub const STATUS_MARSHALL_OVERFLOW: ::NTSTATUS = 0xC0000231u32 as i32; +pub const STATUS_INVALID_VARIANT: ::NTSTATUS = 0xC0000232u32 as i32; +pub const STATUS_DOMAIN_CONTROLLER_NOT_FOUND: ::NTSTATUS = 0xC0000233u32 as i32; +pub const STATUS_ACCOUNT_LOCKED_OUT: ::NTSTATUS = 0xC0000234u32 as i32; +pub const STATUS_HANDLE_NOT_CLOSABLE: ::NTSTATUS = 0xC0000235u32 as i32; +pub const STATUS_CONNECTION_REFUSED: ::NTSTATUS = 0xC0000236u32 as i32; +pub const STATUS_GRACEFUL_DISCONNECT: ::NTSTATUS = 0xC0000237u32 as i32; +pub const STATUS_ADDRESS_ALREADY_ASSOCIATED: ::NTSTATUS = 0xC0000238u32 as i32; +pub const STATUS_ADDRESS_NOT_ASSOCIATED: ::NTSTATUS = 0xC0000239u32 as i32; +pub const STATUS_CONNECTION_INVALID: ::NTSTATUS = 0xC000023Au32 as i32; +pub const STATUS_CONNECTION_ACTIVE: ::NTSTATUS = 0xC000023Bu32 as i32; +pub const STATUS_NETWORK_UNREACHABLE: ::NTSTATUS = 0xC000023Cu32 as i32; +pub const STATUS_HOST_UNREACHABLE: ::NTSTATUS = 0xC000023Du32 as i32; +pub const STATUS_PROTOCOL_UNREACHABLE: ::NTSTATUS = 0xC000023Eu32 as i32; +pub const STATUS_PORT_UNREACHABLE: ::NTSTATUS = 0xC000023Fu32 as i32; +pub const STATUS_REQUEST_ABORTED: ::NTSTATUS = 0xC0000240u32 as i32; +pub const STATUS_CONNECTION_ABORTED: ::NTSTATUS = 0xC0000241u32 as i32; +pub const STATUS_BAD_COMPRESSION_BUFFER: ::NTSTATUS = 0xC0000242u32 as i32; +pub const STATUS_USER_MAPPED_FILE: ::NTSTATUS = 0xC0000243u32 as i32; +pub const STATUS_AUDIT_FAILED: ::NTSTATUS = 0xC0000244u32 as i32; +pub const STATUS_TIMER_RESOLUTION_NOT_SET: ::NTSTATUS = 0xC0000245u32 as i32; +pub const STATUS_CONNECTION_COUNT_LIMIT: ::NTSTATUS = 0xC0000246u32 as i32; +pub const STATUS_LOGIN_TIME_RESTRICTION: ::NTSTATUS = 0xC0000247u32 as i32; +pub const STATUS_LOGIN_WKSTA_RESTRICTION: ::NTSTATUS = 0xC0000248u32 as i32; +pub const STATUS_IMAGE_MP_UP_MISMATCH: ::NTSTATUS = 0xC0000249u32 as i32; +pub const STATUS_INSUFFICIENT_LOGON_INFO: ::NTSTATUS = 0xC0000250u32 as i32; +pub const STATUS_BAD_DLL_ENTRYPOINT: ::NTSTATUS = 0xC0000251u32 as i32; +pub const STATUS_BAD_SERVICE_ENTRYPOINT: ::NTSTATUS = 0xC0000252u32 as i32; +pub const STATUS_LPC_REPLY_LOST: ::NTSTATUS = 0xC0000253u32 as i32; +pub const STATUS_IP_ADDRESS_CONFLICT1: ::NTSTATUS = 0xC0000254u32 as i32; +pub const STATUS_IP_ADDRESS_CONFLICT2: ::NTSTATUS = 0xC0000255u32 as i32; +pub const STATUS_REGISTRY_QUOTA_LIMIT: ::NTSTATUS = 0xC0000256u32 as i32; +pub const STATUS_PATH_NOT_COVERED: ::NTSTATUS = 0xC0000257u32 as i32; +pub const STATUS_NO_CALLBACK_ACTIVE: ::NTSTATUS = 0xC0000258u32 as i32; +pub const STATUS_LICENSE_QUOTA_EXCEEDED: ::NTSTATUS = 0xC0000259u32 as i32; +pub const STATUS_PWD_TOO_SHORT: ::NTSTATUS = 0xC000025Au32 as i32; +pub const STATUS_PWD_TOO_RECENT: ::NTSTATUS = 0xC000025Bu32 as i32; +pub const STATUS_PWD_HISTORY_CONFLICT: ::NTSTATUS = 0xC000025Cu32 as i32; +pub const STATUS_PLUGPLAY_NO_DEVICE: ::NTSTATUS = 0xC000025Eu32 as i32; +pub const STATUS_UNSUPPORTED_COMPRESSION: ::NTSTATUS = 0xC000025Fu32 as i32; +pub const STATUS_INVALID_HW_PROFILE: ::NTSTATUS = 0xC0000260u32 as i32; +pub const STATUS_INVALID_PLUGPLAY_DEVICE_PATH: ::NTSTATUS = 0xC0000261u32 as i32; +pub const STATUS_DRIVER_ORDINAL_NOT_FOUND: ::NTSTATUS = 0xC0000262u32 as i32; +pub const STATUS_DRIVER_ENTRYPOINT_NOT_FOUND: ::NTSTATUS = 0xC0000263u32 as i32; +pub const STATUS_RESOURCE_NOT_OWNED: ::NTSTATUS = 0xC0000264u32 as i32; +pub const STATUS_TOO_MANY_LINKS: ::NTSTATUS = 0xC0000265u32 as i32; +pub const STATUS_QUOTA_LIST_INCONSISTENT: ::NTSTATUS = 0xC0000266u32 as i32; +pub const STATUS_FILE_IS_OFFLINE: ::NTSTATUS = 0xC0000267u32 as i32; +pub const STATUS_EVALUATION_EXPIRATION: ::NTSTATUS = 0xC0000268u32 as i32; +pub const STATUS_ILLEGAL_DLL_RELOCATION: ::NTSTATUS = 0xC0000269u32 as i32; +pub const STATUS_LICENSE_VIOLATION: ::NTSTATUS = 0xC000026Au32 as i32; +pub const STATUS_DLL_INIT_FAILED_LOGOFF: ::NTSTATUS = 0xC000026Bu32 as i32; +pub const STATUS_DRIVER_UNABLE_TO_LOAD: ::NTSTATUS = 0xC000026Cu32 as i32; +pub const STATUS_DFS_UNAVAILABLE: ::NTSTATUS = 0xC000026Du32 as i32; +pub const STATUS_VOLUME_DISMOUNTED: ::NTSTATUS = 0xC000026Eu32 as i32; +pub const STATUS_WX86_INTERNAL_ERROR: ::NTSTATUS = 0xC000026Fu32 as i32; +pub const STATUS_WX86_FLOAT_STACK_CHECK: ::NTSTATUS = 0xC0000270u32 as i32; +pub const STATUS_VALIDATE_CONTINUE: ::NTSTATUS = 0xC0000271u32 as i32; +pub const STATUS_NO_MATCH: ::NTSTATUS = 0xC0000272u32 as i32; +pub const STATUS_NO_MORE_MATCHES: ::NTSTATUS = 0xC0000273u32 as i32; +pub const STATUS_NOT_A_REPARSE_POINT: ::NTSTATUS = 0xC0000275u32 as i32; +pub const STATUS_IO_REPARSE_TAG_INVALID: ::NTSTATUS = 0xC0000276u32 as i32; +pub const STATUS_IO_REPARSE_TAG_MISMATCH: ::NTSTATUS = 0xC0000277u32 as i32; +pub const STATUS_IO_REPARSE_DATA_INVALID: ::NTSTATUS = 0xC0000278u32 as i32; +pub const STATUS_IO_REPARSE_TAG_NOT_HANDLED: ::NTSTATUS = 0xC0000279u32 as i32; +pub const STATUS_PWD_TOO_LONG: ::NTSTATUS = 0xC000027Au32 as i32; +pub const STATUS_STOWED_EXCEPTION: ::NTSTATUS = 0xC000027Bu32 as i32; +pub const STATUS_REPARSE_POINT_NOT_RESOLVED: ::NTSTATUS = 0xC0000280u32 as i32; +pub const STATUS_DIRECTORY_IS_A_REPARSE_POINT: ::NTSTATUS = 0xC0000281u32 as i32; +pub const STATUS_RANGE_LIST_CONFLICT: ::NTSTATUS = 0xC0000282u32 as i32; +pub const STATUS_SOURCE_ELEMENT_EMPTY: ::NTSTATUS = 0xC0000283u32 as i32; +pub const STATUS_DESTINATION_ELEMENT_FULL: ::NTSTATUS = 0xC0000284u32 as i32; +pub const STATUS_ILLEGAL_ELEMENT_ADDRESS: ::NTSTATUS = 0xC0000285u32 as i32; +pub const STATUS_MAGAZINE_NOT_PRESENT: ::NTSTATUS = 0xC0000286u32 as i32; +pub const STATUS_REINITIALIZATION_NEEDED: ::NTSTATUS = 0xC0000287u32 as i32; +pub const STATUS_DEVICE_REQUIRES_CLEANING: ::NTSTATUS = 0x80000288u32 as i32; +pub const STATUS_DEVICE_DOOR_OPEN: ::NTSTATUS = 0x80000289u32 as i32; +pub const STATUS_ENCRYPTION_FAILED: ::NTSTATUS = 0xC000028Au32 as i32; +pub const STATUS_DECRYPTION_FAILED: ::NTSTATUS = 0xC000028Bu32 as i32; +pub const STATUS_RANGE_NOT_FOUND: ::NTSTATUS = 0xC000028Cu32 as i32; +pub const STATUS_NO_RECOVERY_POLICY: ::NTSTATUS = 0xC000028Du32 as i32; +pub const STATUS_NO_EFS: ::NTSTATUS = 0xC000028Eu32 as i32; +pub const STATUS_WRONG_EFS: ::NTSTATUS = 0xC000028Fu32 as i32; +pub const STATUS_NO_USER_KEYS: ::NTSTATUS = 0xC0000290u32 as i32; +pub const STATUS_FILE_NOT_ENCRYPTED: ::NTSTATUS = 0xC0000291u32 as i32; +pub const STATUS_NOT_EXPORT_FORMAT: ::NTSTATUS = 0xC0000292u32 as i32; +pub const STATUS_FILE_ENCRYPTED: ::NTSTATUS = 0xC0000293u32 as i32; +pub const STATUS_WAKE_SYSTEM: ::NTSTATUS = 0x40000294; +pub const STATUS_WMI_GUID_NOT_FOUND: ::NTSTATUS = 0xC0000295u32 as i32; +pub const STATUS_WMI_INSTANCE_NOT_FOUND: ::NTSTATUS = 0xC0000296u32 as i32; +pub const STATUS_WMI_ITEMID_NOT_FOUND: ::NTSTATUS = 0xC0000297u32 as i32; +pub const STATUS_WMI_TRY_AGAIN: ::NTSTATUS = 0xC0000298u32 as i32; +pub const STATUS_SHARED_POLICY: ::NTSTATUS = 0xC0000299u32 as i32; +pub const STATUS_POLICY_OBJECT_NOT_FOUND: ::NTSTATUS = 0xC000029Au32 as i32; +pub const STATUS_POLICY_ONLY_IN_DS: ::NTSTATUS = 0xC000029Bu32 as i32; +pub const STATUS_VOLUME_NOT_UPGRADED: ::NTSTATUS = 0xC000029Cu32 as i32; +pub const STATUS_REMOTE_STORAGE_NOT_ACTIVE: ::NTSTATUS = 0xC000029Du32 as i32; +pub const STATUS_REMOTE_STORAGE_MEDIA_ERROR: ::NTSTATUS = 0xC000029Eu32 as i32; +pub const STATUS_NO_TRACKING_SERVICE: ::NTSTATUS = 0xC000029Fu32 as i32; +pub const STATUS_SERVER_SID_MISMATCH: ::NTSTATUS = 0xC00002A0u32 as i32; +pub const STATUS_DS_NO_ATTRIBUTE_OR_VALUE: ::NTSTATUS = 0xC00002A1u32 as i32; +pub const STATUS_DS_INVALID_ATTRIBUTE_SYNTAX: ::NTSTATUS = 0xC00002A2u32 as i32; +pub const STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED: ::NTSTATUS = 0xC00002A3u32 as i32; +pub const STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS: ::NTSTATUS = 0xC00002A4u32 as i32; +pub const STATUS_DS_BUSY: ::NTSTATUS = 0xC00002A5u32 as i32; +pub const STATUS_DS_UNAVAILABLE: ::NTSTATUS = 0xC00002A6u32 as i32; +pub const STATUS_DS_NO_RIDS_ALLOCATED: ::NTSTATUS = 0xC00002A7u32 as i32; +pub const STATUS_DS_NO_MORE_RIDS: ::NTSTATUS = 0xC00002A8u32 as i32; +pub const STATUS_DS_INCORRECT_ROLE_OWNER: ::NTSTATUS = 0xC00002A9u32 as i32; +pub const STATUS_DS_RIDMGR_INIT_ERROR: ::NTSTATUS = 0xC00002AAu32 as i32; +pub const STATUS_DS_OBJ_CLASS_VIOLATION: ::NTSTATUS = 0xC00002ABu32 as i32; +pub const STATUS_DS_CANT_ON_NON_LEAF: ::NTSTATUS = 0xC00002ACu32 as i32; +pub const STATUS_DS_CANT_ON_RDN: ::NTSTATUS = 0xC00002ADu32 as i32; +pub const STATUS_DS_CANT_MOD_OBJ_CLASS: ::NTSTATUS = 0xC00002AEu32 as i32; +pub const STATUS_DS_CROSS_DOM_MOVE_FAILED: ::NTSTATUS = 0xC00002AFu32 as i32; +pub const STATUS_DS_GC_NOT_AVAILABLE: ::NTSTATUS = 0xC00002B0u32 as i32; +pub const STATUS_DIRECTORY_SERVICE_REQUIRED: ::NTSTATUS = 0xC00002B1u32 as i32; +pub const STATUS_REPARSE_ATTRIBUTE_CONFLICT: ::NTSTATUS = 0xC00002B2u32 as i32; +pub const STATUS_CANT_ENABLE_DENY_ONLY: ::NTSTATUS = 0xC00002B3u32 as i32; +pub const STATUS_FLOAT_MULTIPLE_FAULTS: ::NTSTATUS = 0xC00002B4u32 as i32; +pub const STATUS_FLOAT_MULTIPLE_TRAPS: ::NTSTATUS = 0xC00002B5u32 as i32; +pub const STATUS_DEVICE_REMOVED: ::NTSTATUS = 0xC00002B6u32 as i32; +pub const STATUS_JOURNAL_DELETE_IN_PROGRESS: ::NTSTATUS = 0xC00002B7u32 as i32; +pub const STATUS_JOURNAL_NOT_ACTIVE: ::NTSTATUS = 0xC00002B8u32 as i32; +pub const STATUS_NOINTERFACE: ::NTSTATUS = 0xC00002B9u32 as i32; +pub const STATUS_DS_RIDMGR_DISABLED: ::NTSTATUS = 0xC00002BAu32 as i32; +pub const STATUS_DS_ADMIN_LIMIT_EXCEEDED: ::NTSTATUS = 0xC00002C1u32 as i32; +pub const STATUS_DRIVER_FAILED_SLEEP: ::NTSTATUS = 0xC00002C2u32 as i32; +pub const STATUS_MUTUAL_AUTHENTICATION_FAILED: ::NTSTATUS = 0xC00002C3u32 as i32; +pub const STATUS_CORRUPT_SYSTEM_FILE: ::NTSTATUS = 0xC00002C4u32 as i32; +pub const STATUS_DATATYPE_MISALIGNMENT_ERROR: ::NTSTATUS = 0xC00002C5u32 as i32; +pub const STATUS_WMI_READ_ONLY: ::NTSTATUS = 0xC00002C6u32 as i32; +pub const STATUS_WMI_SET_FAILURE: ::NTSTATUS = 0xC00002C7u32 as i32; +pub const STATUS_COMMITMENT_MINIMUM: ::NTSTATUS = 0xC00002C8u32 as i32; +pub const STATUS_REG_NAT_CONSUMPTION: ::NTSTATUS = 0xC00002C9u32 as i32; +pub const STATUS_TRANSPORT_FULL: ::NTSTATUS = 0xC00002CAu32 as i32; +pub const STATUS_DS_SAM_INIT_FAILURE: ::NTSTATUS = 0xC00002CBu32 as i32; +pub const STATUS_ONLY_IF_CONNECTED: ::NTSTATUS = 0xC00002CCu32 as i32; +pub const STATUS_DS_SENSITIVE_GROUP_VIOLATION: ::NTSTATUS = 0xC00002CDu32 as i32; +pub const STATUS_PNP_RESTART_ENUMERATION: ::NTSTATUS = 0xC00002CEu32 as i32; +pub const STATUS_JOURNAL_ENTRY_DELETED: ::NTSTATUS = 0xC00002CFu32 as i32; +pub const STATUS_DS_CANT_MOD_PRIMARYGROUPID: ::NTSTATUS = 0xC00002D0u32 as i32; +pub const STATUS_SYSTEM_IMAGE_BAD_SIGNATURE: ::NTSTATUS = 0xC00002D1u32 as i32; +pub const STATUS_PNP_REBOOT_REQUIRED: ::NTSTATUS = 0xC00002D2u32 as i32; +pub const STATUS_POWER_STATE_INVALID: ::NTSTATUS = 0xC00002D3u32 as i32; +pub const STATUS_DS_INVALID_GROUP_TYPE: ::NTSTATUS = 0xC00002D4u32 as i32; +pub const STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN: ::NTSTATUS = 0xC00002D5u32 as i32; +pub const STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN: ::NTSTATUS = 0xC00002D6u32 as i32; +pub const STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER: ::NTSTATUS = 0xC00002D7u32 as i32; +pub const STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER: ::NTSTATUS = 0xC00002D8u32 as i32; +pub const STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER: ::NTSTATUS = 0xC00002D9u32 as i32; +pub const STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER: ::NTSTATUS = 0xC00002DAu32 as i32; +pub const STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER: ::NTSTATUS = 0xC00002DBu32 as i32; +pub const STATUS_DS_HAVE_PRIMARY_MEMBERS: ::NTSTATUS = 0xC00002DCu32 as i32; +pub const STATUS_WMI_NOT_SUPPORTED: ::NTSTATUS = 0xC00002DDu32 as i32; +pub const STATUS_INSUFFICIENT_POWER: ::NTSTATUS = 0xC00002DEu32 as i32; +pub const STATUS_SAM_NEED_BOOTKEY_PASSWORD: ::NTSTATUS = 0xC00002DFu32 as i32; +pub const STATUS_SAM_NEED_BOOTKEY_FLOPPY: ::NTSTATUS = 0xC00002E0u32 as i32; +pub const STATUS_DS_CANT_START: ::NTSTATUS = 0xC00002E1u32 as i32; +pub const STATUS_DS_INIT_FAILURE: ::NTSTATUS = 0xC00002E2u32 as i32; +pub const STATUS_SAM_INIT_FAILURE: ::NTSTATUS = 0xC00002E3u32 as i32; +pub const STATUS_DS_GC_REQUIRED: ::NTSTATUS = 0xC00002E4u32 as i32; +pub const STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY: ::NTSTATUS = 0xC00002E5u32 as i32; +pub const STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS: ::NTSTATUS = 0xC00002E6u32 as i32; +pub const STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED: ::NTSTATUS = 0xC00002E7u32 as i32; +pub const STATUS_MULTIPLE_FAULT_VIOLATION: ::NTSTATUS = 0xC00002E8u32 as i32; +pub const STATUS_CURRENT_DOMAIN_NOT_ALLOWED: ::NTSTATUS = 0xC00002E9u32 as i32; +pub const STATUS_CANNOT_MAKE: ::NTSTATUS = 0xC00002EAu32 as i32; +pub const STATUS_SYSTEM_SHUTDOWN: ::NTSTATUS = 0xC00002EBu32 as i32; +pub const STATUS_DS_INIT_FAILURE_CONSOLE: ::NTSTATUS = 0xC00002ECu32 as i32; +pub const STATUS_DS_SAM_INIT_FAILURE_CONSOLE: ::NTSTATUS = 0xC00002EDu32 as i32; +pub const STATUS_UNFINISHED_CONTEXT_DELETED: ::NTSTATUS = 0xC00002EEu32 as i32; +pub const STATUS_NO_TGT_REPLY: ::NTSTATUS = 0xC00002EFu32 as i32; +pub const STATUS_OBJECTID_NOT_FOUND: ::NTSTATUS = 0xC00002F0u32 as i32; +pub const STATUS_NO_IP_ADDRESSES: ::NTSTATUS = 0xC00002F1u32 as i32; +pub const STATUS_WRONG_CREDENTIAL_HANDLE: ::NTSTATUS = 0xC00002F2u32 as i32; +pub const STATUS_CRYPTO_SYSTEM_INVALID: ::NTSTATUS = 0xC00002F3u32 as i32; +pub const STATUS_MAX_REFERRALS_EXCEEDED: ::NTSTATUS = 0xC00002F4u32 as i32; +pub const STATUS_MUST_BE_KDC: ::NTSTATUS = 0xC00002F5u32 as i32; +pub const STATUS_STRONG_CRYPTO_NOT_SUPPORTED: ::NTSTATUS = 0xC00002F6u32 as i32; +pub const STATUS_TOO_MANY_PRINCIPALS: ::NTSTATUS = 0xC00002F7u32 as i32; +pub const STATUS_NO_PA_DATA: ::NTSTATUS = 0xC00002F8u32 as i32; +pub const STATUS_PKINIT_NAME_MISMATCH: ::NTSTATUS = 0xC00002F9u32 as i32; +pub const STATUS_SMARTCARD_LOGON_REQUIRED: ::NTSTATUS = 0xC00002FAu32 as i32; +pub const STATUS_KDC_INVALID_REQUEST: ::NTSTATUS = 0xC00002FBu32 as i32; +pub const STATUS_KDC_UNABLE_TO_REFER: ::NTSTATUS = 0xC00002FCu32 as i32; +pub const STATUS_KDC_UNKNOWN_ETYPE: ::NTSTATUS = 0xC00002FDu32 as i32; +pub const STATUS_SHUTDOWN_IN_PROGRESS: ::NTSTATUS = 0xC00002FEu32 as i32; +pub const STATUS_SERVER_SHUTDOWN_IN_PROGRESS: ::NTSTATUS = 0xC00002FFu32 as i32; +pub const STATUS_NOT_SUPPORTED_ON_SBS: ::NTSTATUS = 0xC0000300u32 as i32; +pub const STATUS_WMI_GUID_DISCONNECTED: ::NTSTATUS = 0xC0000301u32 as i32; +pub const STATUS_WMI_ALREADY_DISABLED: ::NTSTATUS = 0xC0000302u32 as i32; +pub const STATUS_WMI_ALREADY_ENABLED: ::NTSTATUS = 0xC0000303u32 as i32; +pub const STATUS_MFT_TOO_FRAGMENTED: ::NTSTATUS = 0xC0000304u32 as i32; +pub const STATUS_COPY_PROTECTION_FAILURE: ::NTSTATUS = 0xC0000305u32 as i32; +pub const STATUS_CSS_AUTHENTICATION_FAILURE: ::NTSTATUS = 0xC0000306u32 as i32; +pub const STATUS_CSS_KEY_NOT_PRESENT: ::NTSTATUS = 0xC0000307u32 as i32; +pub const STATUS_CSS_KEY_NOT_ESTABLISHED: ::NTSTATUS = 0xC0000308u32 as i32; +pub const STATUS_CSS_SCRAMBLED_SECTOR: ::NTSTATUS = 0xC0000309u32 as i32; +pub const STATUS_CSS_REGION_MISMATCH: ::NTSTATUS = 0xC000030Au32 as i32; +pub const STATUS_CSS_RESETS_EXHAUSTED: ::NTSTATUS = 0xC000030Bu32 as i32; +pub const STATUS_PASSWORD_CHANGE_REQUIRED: ::NTSTATUS = 0xC000030Cu32 as i32; +pub const STATUS_PKINIT_FAILURE: ::NTSTATUS = 0xC0000320u32 as i32; +pub const STATUS_SMARTCARD_SUBSYSTEM_FAILURE: ::NTSTATUS = 0xC0000321u32 as i32; +pub const STATUS_NO_KERB_KEY: ::NTSTATUS = 0xC0000322u32 as i32; +pub const STATUS_HOST_DOWN: ::NTSTATUS = 0xC0000350u32 as i32; +pub const STATUS_UNSUPPORTED_PREAUTH: ::NTSTATUS = 0xC0000351u32 as i32; +pub const STATUS_EFS_ALG_BLOB_TOO_BIG: ::NTSTATUS = 0xC0000352u32 as i32; +pub const STATUS_PORT_NOT_SET: ::NTSTATUS = 0xC0000353u32 as i32; +pub const STATUS_DEBUGGER_INACTIVE: ::NTSTATUS = 0xC0000354u32 as i32; +pub const STATUS_DS_VERSION_CHECK_FAILURE: ::NTSTATUS = 0xC0000355u32 as i32; +pub const STATUS_AUDITING_DISABLED: ::NTSTATUS = 0xC0000356u32 as i32; +pub const STATUS_PRENT4_MACHINE_ACCOUNT: ::NTSTATUS = 0xC0000357u32 as i32; +pub const STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER: ::NTSTATUS = 0xC0000358u32 as i32; +pub const STATUS_INVALID_IMAGE_WIN_32: ::NTSTATUS = 0xC0000359u32 as i32; +pub const STATUS_INVALID_IMAGE_WIN_64: ::NTSTATUS = 0xC000035Au32 as i32; +pub const STATUS_BAD_BINDINGS: ::NTSTATUS = 0xC000035Bu32 as i32; +pub const STATUS_NETWORK_SESSION_EXPIRED: ::NTSTATUS = 0xC000035Cu32 as i32; +pub const STATUS_APPHELP_BLOCK: ::NTSTATUS = 0xC000035Du32 as i32; +pub const STATUS_ALL_SIDS_FILTERED: ::NTSTATUS = 0xC000035Eu32 as i32; +pub const STATUS_NOT_SAFE_MODE_DRIVER: ::NTSTATUS = 0xC000035Fu32 as i32; +pub const STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT: ::NTSTATUS = 0xC0000361u32 as i32; +pub const STATUS_ACCESS_DISABLED_BY_POLICY_PATH: ::NTSTATUS = 0xC0000362u32 as i32; +pub const STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER: ::NTSTATUS = 0xC0000363u32 as i32; +pub const STATUS_ACCESS_DISABLED_BY_POLICY_OTHER: ::NTSTATUS = 0xC0000364u32 as i32; +pub const STATUS_FAILED_DRIVER_ENTRY: ::NTSTATUS = 0xC0000365u32 as i32; +pub const STATUS_DEVICE_ENUMERATION_ERROR: ::NTSTATUS = 0xC0000366u32 as i32; +pub const STATUS_MOUNT_POINT_NOT_RESOLVED: ::NTSTATUS = 0xC0000368u32 as i32; +pub const STATUS_INVALID_DEVICE_OBJECT_PARAMETER: ::NTSTATUS = 0xC0000369u32 as i32; +pub const STATUS_MCA_OCCURED: ::NTSTATUS = 0xC000036Au32 as i32; +pub const STATUS_DRIVER_BLOCKED_CRITICAL: ::NTSTATUS = 0xC000036Bu32 as i32; +pub const STATUS_DRIVER_BLOCKED: ::NTSTATUS = 0xC000036Cu32 as i32; +pub const STATUS_DRIVER_DATABASE_ERROR: ::NTSTATUS = 0xC000036Du32 as i32; +pub const STATUS_SYSTEM_HIVE_TOO_LARGE: ::NTSTATUS = 0xC000036Eu32 as i32; +pub const STATUS_INVALID_IMPORT_OF_NON_DLL: ::NTSTATUS = 0xC000036Fu32 as i32; +pub const STATUS_DS_SHUTTING_DOWN: ::NTSTATUS = 0x40000370; +pub const STATUS_NO_SECRETS: ::NTSTATUS = 0xC0000371u32 as i32; +pub const STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY: ::NTSTATUS = 0xC0000372u32 as i32; +pub const STATUS_FAILED_STACK_SWITCH: ::NTSTATUS = 0xC0000373u32 as i32; +pub const STATUS_HEAP_CORRUPTION: ::NTSTATUS = 0xC0000374u32 as i32; +pub const STATUS_SMARTCARD_WRONG_PIN: ::NTSTATUS = 0xC0000380u32 as i32; +pub const STATUS_SMARTCARD_CARD_BLOCKED: ::NTSTATUS = 0xC0000381u32 as i32; +pub const STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED: ::NTSTATUS = 0xC0000382u32 as i32; +pub const STATUS_SMARTCARD_NO_CARD: ::NTSTATUS = 0xC0000383u32 as i32; +pub const STATUS_SMARTCARD_NO_KEY_CONTAINER: ::NTSTATUS = 0xC0000384u32 as i32; +pub const STATUS_SMARTCARD_NO_CERTIFICATE: ::NTSTATUS = 0xC0000385u32 as i32; +pub const STATUS_SMARTCARD_NO_KEYSET: ::NTSTATUS = 0xC0000386u32 as i32; +pub const STATUS_SMARTCARD_IO_ERROR: ::NTSTATUS = 0xC0000387u32 as i32; +pub const STATUS_DOWNGRADE_DETECTED: ::NTSTATUS = 0xC0000388u32 as i32; +pub const STATUS_SMARTCARD_CERT_REVOKED: ::NTSTATUS = 0xC0000389u32 as i32; +pub const STATUS_ISSUING_CA_UNTRUSTED: ::NTSTATUS = 0xC000038Au32 as i32; +pub const STATUS_REVOCATION_OFFLINE_C: ::NTSTATUS = 0xC000038Bu32 as i32; +pub const STATUS_PKINIT_CLIENT_FAILURE: ::NTSTATUS = 0xC000038Cu32 as i32; +pub const STATUS_SMARTCARD_CERT_EXPIRED: ::NTSTATUS = 0xC000038Du32 as i32; +pub const STATUS_DRIVER_FAILED_PRIOR_UNLOAD: ::NTSTATUS = 0xC000038Eu32 as i32; +pub const STATUS_SMARTCARD_SILENT_CONTEXT: ::NTSTATUS = 0xC000038Fu32 as i32; +pub const STATUS_PER_USER_TRUST_QUOTA_EXCEEDED: ::NTSTATUS = 0xC0000401u32 as i32; +pub const STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED: ::NTSTATUS = 0xC0000402u32 as i32; +pub const STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED: ::NTSTATUS = 0xC0000403u32 as i32; +pub const STATUS_DS_NAME_NOT_UNIQUE: ::NTSTATUS = 0xC0000404u32 as i32; +pub const STATUS_DS_DUPLICATE_ID_FOUND: ::NTSTATUS = 0xC0000405u32 as i32; +pub const STATUS_DS_GROUP_CONVERSION_ERROR: ::NTSTATUS = 0xC0000406u32 as i32; +pub const STATUS_VOLSNAP_PREPARE_HIBERNATE: ::NTSTATUS = 0xC0000407u32 as i32; +pub const STATUS_USER2USER_REQUIRED: ::NTSTATUS = 0xC0000408u32 as i32; +pub const STATUS_STACK_BUFFER_OVERRUN: ::NTSTATUS = 0xC0000409u32 as i32; +pub const STATUS_NO_S4U_PROT_SUPPORT: ::NTSTATUS = 0xC000040Au32 as i32; +pub const STATUS_CROSSREALM_DELEGATION_FAILURE: ::NTSTATUS = 0xC000040Bu32 as i32; +pub const STATUS_REVOCATION_OFFLINE_KDC: ::NTSTATUS = 0xC000040Cu32 as i32; +pub const STATUS_ISSUING_CA_UNTRUSTED_KDC: ::NTSTATUS = 0xC000040Du32 as i32; +pub const STATUS_KDC_CERT_EXPIRED: ::NTSTATUS = 0xC000040Eu32 as i32; +pub const STATUS_KDC_CERT_REVOKED: ::NTSTATUS = 0xC000040Fu32 as i32; +pub const STATUS_PARAMETER_QUOTA_EXCEEDED: ::NTSTATUS = 0xC0000410u32 as i32; +pub const STATUS_HIBERNATION_FAILURE: ::NTSTATUS = 0xC0000411u32 as i32; +pub const STATUS_DELAY_LOAD_FAILED: ::NTSTATUS = 0xC0000412u32 as i32; +pub const STATUS_AUTHENTICATION_FIREWALL_FAILED: ::NTSTATUS = 0xC0000413u32 as i32; +pub const STATUS_VDM_DISALLOWED: ::NTSTATUS = 0xC0000414u32 as i32; +pub const STATUS_HUNG_DISPLAY_DRIVER_THREAD: ::NTSTATUS = 0xC0000415u32 as i32; +pub const STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE: ::NTSTATUS = 0xC0000416u32 as i32; +pub const STATUS_INVALID_CRUNTIME_PARAMETER: ::NTSTATUS = 0xC0000417u32 as i32; +pub const STATUS_NTLM_BLOCKED: ::NTSTATUS = 0xC0000418u32 as i32; +pub const STATUS_DS_SRC_SID_EXISTS_IN_FOREST: ::NTSTATUS = 0xC0000419u32 as i32; +pub const STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST: ::NTSTATUS = 0xC000041Au32 as i32; +pub const STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST: ::NTSTATUS = 0xC000041Bu32 as i32; +pub const STATUS_INVALID_USER_PRINCIPAL_NAME: ::NTSTATUS = 0xC000041Cu32 as i32; +pub const STATUS_FATAL_USER_CALLBACK_EXCEPTION: ::NTSTATUS = 0xC000041Du32 as i32; +pub const STATUS_ASSERTION_FAILURE: ::NTSTATUS = 0xC0000420u32 as i32; +pub const STATUS_VERIFIER_STOP: ::NTSTATUS = 0xC0000421u32 as i32; +pub const STATUS_CALLBACK_POP_STACK: ::NTSTATUS = 0xC0000423u32 as i32; +pub const STATUS_INCOMPATIBLE_DRIVER_BLOCKED: ::NTSTATUS = 0xC0000424u32 as i32; +pub const STATUS_HIVE_UNLOADED: ::NTSTATUS = 0xC0000425u32 as i32; +pub const STATUS_COMPRESSION_DISABLED: ::NTSTATUS = 0xC0000426u32 as i32; +pub const STATUS_FILE_SYSTEM_LIMITATION: ::NTSTATUS = 0xC0000427u32 as i32; +pub const STATUS_INVALID_IMAGE_HASH: ::NTSTATUS = 0xC0000428u32 as i32; +pub const STATUS_NOT_CAPABLE: ::NTSTATUS = 0xC0000429u32 as i32; +pub const STATUS_REQUEST_OUT_OF_SEQUENCE: ::NTSTATUS = 0xC000042Au32 as i32; +pub const STATUS_IMPLEMENTATION_LIMIT: ::NTSTATUS = 0xC000042Bu32 as i32; +pub const STATUS_ELEVATION_REQUIRED: ::NTSTATUS = 0xC000042Cu32 as i32; +pub const STATUS_NO_SECURITY_CONTEXT: ::NTSTATUS = 0xC000042Du32 as i32; +pub const STATUS_PKU2U_CERT_FAILURE: ::NTSTATUS = 0xC000042Fu32 as i32; +pub const STATUS_BEYOND_VDL: ::NTSTATUS = 0xC0000432u32 as i32; +pub const STATUS_ENCOUNTERED_WRITE_IN_PROGRESS: ::NTSTATUS = 0xC0000433u32 as i32; +pub const STATUS_PTE_CHANGED: ::NTSTATUS = 0xC0000434u32 as i32; +pub const STATUS_PURGE_FAILED: ::NTSTATUS = 0xC0000435u32 as i32; +pub const STATUS_CRED_REQUIRES_CONFIRMATION: ::NTSTATUS = 0xC0000440u32 as i32; +pub const STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE: ::NTSTATUS = 0xC0000441u32 as i32; +pub const STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER: ::NTSTATUS = 0xC0000442u32 as i32; +pub const STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE: ::NTSTATUS = 0xC0000443u32 as i32; +pub const STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE: ::NTSTATUS = 0xC0000444u32 as i32; +pub const STATUS_CS_ENCRYPTION_FILE_NOT_CSE: ::NTSTATUS = 0xC0000445u32 as i32; +pub const STATUS_INVALID_LABEL: ::NTSTATUS = 0xC0000446u32 as i32; +pub const STATUS_DRIVER_PROCESS_TERMINATED: ::NTSTATUS = 0xC0000450u32 as i32; +pub const STATUS_AMBIGUOUS_SYSTEM_DEVICE: ::NTSTATUS = 0xC0000451u32 as i32; +pub const STATUS_SYSTEM_DEVICE_NOT_FOUND: ::NTSTATUS = 0xC0000452u32 as i32; +pub const STATUS_RESTART_BOOT_APPLICATION: ::NTSTATUS = 0xC0000453u32 as i32; +pub const STATUS_INSUFFICIENT_NVRAM_RESOURCES: ::NTSTATUS = 0xC0000454u32 as i32; +pub const STATUS_INVALID_SESSION: ::NTSTATUS = 0xC0000455u32 as i32; +pub const STATUS_THREAD_ALREADY_IN_SESSION: ::NTSTATUS = 0xC0000456u32 as i32; +pub const STATUS_THREAD_NOT_IN_SESSION: ::NTSTATUS = 0xC0000457u32 as i32; +pub const STATUS_INVALID_WEIGHT: ::NTSTATUS = 0xC0000458u32 as i32; +pub const STATUS_REQUEST_PAUSED: ::NTSTATUS = 0xC0000459u32 as i32; +pub const STATUS_NO_RANGES_PROCESSED: ::NTSTATUS = 0xC0000460u32 as i32; +pub const STATUS_DISK_RESOURCES_EXHAUSTED: ::NTSTATUS = 0xC0000461u32 as i32; +pub const STATUS_NEEDS_REMEDIATION: ::NTSTATUS = 0xC0000462u32 as i32; +pub const STATUS_DEVICE_FEATURE_NOT_SUPPORTED: ::NTSTATUS = 0xC0000463u32 as i32; +pub const STATUS_DEVICE_UNREACHABLE: ::NTSTATUS = 0xC0000464u32 as i32; +pub const STATUS_INVALID_TOKEN: ::NTSTATUS = 0xC0000465u32 as i32; +pub const STATUS_SERVER_UNAVAILABLE: ::NTSTATUS = 0xC0000466u32 as i32; +pub const STATUS_FILE_NOT_AVAILABLE: ::NTSTATUS = 0xC0000467u32 as i32; +pub const STATUS_DEVICE_INSUFFICIENT_RESOURCES: ::NTSTATUS = 0xC0000468u32 as i32; +pub const STATUS_PACKAGE_UPDATING: ::NTSTATUS = 0xC0000469u32 as i32; +pub const STATUS_NOT_READ_FROM_COPY: ::NTSTATUS = 0xC000046Au32 as i32; +pub const STATUS_FT_WRITE_FAILURE: ::NTSTATUS = 0xC000046Bu32 as i32; +pub const STATUS_FT_DI_SCAN_REQUIRED: ::NTSTATUS = 0xC000046Cu32 as i32; +pub const STATUS_OBJECT_NOT_EXTERNALLY_BACKED: ::NTSTATUS = 0xC000046Du32 as i32; +pub const STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN: ::NTSTATUS = 0xC000046Eu32 as i32; +pub const STATUS_COMPRESSION_NOT_BENEFICIAL: ::NTSTATUS = 0xC000046Fu32 as i32; +pub const STATUS_DATA_CHECKSUM_ERROR: ::NTSTATUS = 0xC0000470u32 as i32; +pub const STATUS_INTERMIXED_KERNEL_EA_OPERATION: ::NTSTATUS = 0xC0000471u32 as i32; +pub const STATUS_TRIM_READ_ZERO_NOT_SUPPORTED: ::NTSTATUS = 0xC0000472u32 as i32; +pub const STATUS_TOO_MANY_SEGMENT_DESCRIPTORS: ::NTSTATUS = 0xC0000473u32 as i32; +pub const STATUS_INVALID_OFFSET_ALIGNMENT: ::NTSTATUS = 0xC0000474u32 as i32; +pub const STATUS_INVALID_FIELD_IN_PARAMETER_LIST: ::NTSTATUS = 0xC0000475u32 as i32; +pub const STATUS_OPERATION_IN_PROGRESS: ::NTSTATUS = 0xC0000476u32 as i32; +pub const STATUS_INVALID_INITIATOR_TARGET_PATH: ::NTSTATUS = 0xC0000477u32 as i32; +pub const STATUS_SCRUB_DATA_DISABLED: ::NTSTATUS = 0xC0000478u32 as i32; +pub const STATUS_NOT_REDUNDANT_STORAGE: ::NTSTATUS = 0xC0000479u32 as i32; +pub const STATUS_RESIDENT_FILE_NOT_SUPPORTED: ::NTSTATUS = 0xC000047Au32 as i32; +pub const STATUS_COMPRESSED_FILE_NOT_SUPPORTED: ::NTSTATUS = 0xC000047Bu32 as i32; +pub const STATUS_DIRECTORY_NOT_SUPPORTED: ::NTSTATUS = 0xC000047Cu32 as i32; +pub const STATUS_IO_OPERATION_TIMEOUT: ::NTSTATUS = 0xC000047Du32 as i32; +pub const STATUS_SYSTEM_NEEDS_REMEDIATION: ::NTSTATUS = 0xC000047Eu32 as i32; +pub const STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN: ::NTSTATUS = 0xC000047Fu32 as i32; +pub const STATUS_SHARE_UNAVAILABLE: ::NTSTATUS = 0xC0000480u32 as i32; +pub const STATUS_APISET_NOT_HOSTED: ::NTSTATUS = 0xC0000481u32 as i32; +pub const STATUS_APISET_NOT_PRESENT: ::NTSTATUS = 0xC0000482u32 as i32; +pub const STATUS_DEVICE_HARDWARE_ERROR: ::NTSTATUS = 0xC0000483u32 as i32; +pub const STATUS_FIRMWARE_SLOT_INVALID: ::NTSTATUS = 0xC0000484u32 as i32; +pub const STATUS_FIRMWARE_IMAGE_INVALID: ::NTSTATUS = 0xC0000485u32 as i32; +pub const STATUS_STORAGE_TOPOLOGY_ID_MISMATCH: ::NTSTATUS = 0xC0000486u32 as i32; +pub const STATUS_WIM_NOT_BOOTABLE: ::NTSTATUS = 0xC0000487u32 as i32; +pub const STATUS_BLOCKED_BY_PARENTAL_CONTROLS: ::NTSTATUS = 0xC0000488u32 as i32; +pub const STATUS_NEEDS_REGISTRATION: ::NTSTATUS = 0xC0000489u32 as i32; +pub const STATUS_QUOTA_ACTIVITY: ::NTSTATUS = 0xC000048Au32 as i32; +pub const STATUS_INVALID_TASK_NAME: ::NTSTATUS = 0xC0000500u32 as i32; +pub const STATUS_INVALID_TASK_INDEX: ::NTSTATUS = 0xC0000501u32 as i32; +pub const STATUS_THREAD_ALREADY_IN_TASK: ::NTSTATUS = 0xC0000502u32 as i32; +pub const STATUS_CALLBACK_BYPASS: ::NTSTATUS = 0xC0000503u32 as i32; +pub const STATUS_UNDEFINED_SCOPE: ::NTSTATUS = 0xC0000504u32 as i32; +pub const STATUS_INVALID_CAP: ::NTSTATUS = 0xC0000505u32 as i32; +pub const STATUS_NOT_GUI_PROCESS: ::NTSTATUS = 0xC0000506u32 as i32; +pub const STATUS_DEVICE_HUNG: ::NTSTATUS = 0xC0000507u32 as i32; +pub const STATUS_FAIL_FAST_EXCEPTION: ::NTSTATUS = 0xC0000602u32 as i32; +pub const STATUS_IMAGE_CERT_REVOKED: ::NTSTATUS = 0xC0000603u32 as i32; +pub const STATUS_DYNAMIC_CODE_BLOCKED: ::NTSTATUS = 0xC0000604u32 as i32; +pub const STATUS_IMAGE_CERT_EXPIRED: ::NTSTATUS = 0xC0000605u32 as i32; +pub const STATUS_PORT_CLOSED: ::NTSTATUS = 0xC0000700u32 as i32; +pub const STATUS_MESSAGE_LOST: ::NTSTATUS = 0xC0000701u32 as i32; +pub const STATUS_INVALID_MESSAGE: ::NTSTATUS = 0xC0000702u32 as i32; +pub const STATUS_REQUEST_CANCELED: ::NTSTATUS = 0xC0000703u32 as i32; +pub const STATUS_RECURSIVE_DISPATCH: ::NTSTATUS = 0xC0000704u32 as i32; +pub const STATUS_LPC_RECEIVE_BUFFER_EXPECTED: ::NTSTATUS = 0xC0000705u32 as i32; +pub const STATUS_LPC_INVALID_CONNECTION_USAGE: ::NTSTATUS = 0xC0000706u32 as i32; +pub const STATUS_LPC_REQUESTS_NOT_ALLOWED: ::NTSTATUS = 0xC0000707u32 as i32; +pub const STATUS_RESOURCE_IN_USE: ::NTSTATUS = 0xC0000708u32 as i32; +pub const STATUS_HARDWARE_MEMORY_ERROR: ::NTSTATUS = 0xC0000709u32 as i32; +pub const STATUS_THREADPOOL_HANDLE_EXCEPTION: ::NTSTATUS = 0xC000070Au32 as i32; +pub const STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED: ::NTSTATUS = 0xC000070Bu32 as i32; +pub const STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED: ::NTSTATUS = 0xC000070Cu32 as i32; +pub const STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED: ::NTSTATUS = 0xC000070Du32 as i32; +pub const STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED: ::NTSTATUS = 0xC000070Eu32 as i32; +pub const STATUS_THREADPOOL_RELEASED_DURING_OPERATION: ::NTSTATUS = 0xC000070Fu32 as i32; +pub const STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING: ::NTSTATUS = 0xC0000710u32 as i32; +pub const STATUS_APC_RETURNED_WHILE_IMPERSONATING: ::NTSTATUS = 0xC0000711u32 as i32; +pub const STATUS_PROCESS_IS_PROTECTED: ::NTSTATUS = 0xC0000712u32 as i32; +pub const STATUS_MCA_EXCEPTION: ::NTSTATUS = 0xC0000713u32 as i32; +pub const STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE: ::NTSTATUS = 0xC0000714u32 as i32; +pub const STATUS_SYMLINK_CLASS_DISABLED: ::NTSTATUS = 0xC0000715u32 as i32; +pub const STATUS_INVALID_IDN_NORMALIZATION: ::NTSTATUS = 0xC0000716u32 as i32; +pub const STATUS_NO_UNICODE_TRANSLATION: ::NTSTATUS = 0xC0000717u32 as i32; +pub const STATUS_ALREADY_REGISTERED: ::NTSTATUS = 0xC0000718u32 as i32; +pub const STATUS_CONTEXT_MISMATCH: ::NTSTATUS = 0xC0000719u32 as i32; +pub const STATUS_PORT_ALREADY_HAS_COMPLETION_LIST: ::NTSTATUS = 0xC000071Au32 as i32; +pub const STATUS_CALLBACK_RETURNED_THREAD_PRIORITY: ::NTSTATUS = 0xC000071Bu32 as i32; +pub const STATUS_INVALID_THREAD: ::NTSTATUS = 0xC000071Cu32 as i32; +pub const STATUS_CALLBACK_RETURNED_TRANSACTION: ::NTSTATUS = 0xC000071Du32 as i32; +pub const STATUS_CALLBACK_RETURNED_LDR_LOCK: ::NTSTATUS = 0xC000071Eu32 as i32; +pub const STATUS_CALLBACK_RETURNED_LANG: ::NTSTATUS = 0xC000071Fu32 as i32; +pub const STATUS_CALLBACK_RETURNED_PRI_BACK: ::NTSTATUS = 0xC0000720u32 as i32; +pub const STATUS_CALLBACK_RETURNED_THREAD_AFFINITY: ::NTSTATUS = 0xC0000721u32 as i32; +pub const STATUS_DISK_REPAIR_DISABLED: ::NTSTATUS = 0xC0000800u32 as i32; +pub const STATUS_DS_DOMAIN_RENAME_IN_PROGRESS: ::NTSTATUS = 0xC0000801u32 as i32; +pub const STATUS_DISK_QUOTA_EXCEEDED: ::NTSTATUS = 0xC0000802u32 as i32; +pub const STATUS_DATA_LOST_REPAIR: ::NTSTATUS = 0x80000803u32 as i32; +pub const STATUS_CONTENT_BLOCKED: ::NTSTATUS = 0xC0000804u32 as i32; +pub const STATUS_BAD_CLUSTERS: ::NTSTATUS = 0xC0000805u32 as i32; +pub const STATUS_VOLUME_DIRTY: ::NTSTATUS = 0xC0000806u32 as i32; +pub const STATUS_DISK_REPAIR_REDIRECTED: ::NTSTATUS = 0x40000807; +pub const STATUS_DISK_REPAIR_UNSUCCESSFUL: ::NTSTATUS = 0xC0000808u32 as i32; +pub const STATUS_CORRUPT_LOG_OVERFULL: ::NTSTATUS = 0xC0000809u32 as i32; +pub const STATUS_CORRUPT_LOG_CORRUPTED: ::NTSTATUS = 0xC000080Au32 as i32; +pub const STATUS_CORRUPT_LOG_UNAVAILABLE: ::NTSTATUS = 0xC000080Bu32 as i32; +pub const STATUS_CORRUPT_LOG_DELETED_FULL: ::NTSTATUS = 0xC000080Cu32 as i32; +pub const STATUS_CORRUPT_LOG_CLEARED: ::NTSTATUS = 0xC000080Du32 as i32; +pub const STATUS_ORPHAN_NAME_EXHAUSTED: ::NTSTATUS = 0xC000080Eu32 as i32; +pub const STATUS_PROACTIVE_SCAN_IN_PROGRESS: ::NTSTATUS = 0xC000080Fu32 as i32; +pub const STATUS_ENCRYPTED_IO_NOT_POSSIBLE: ::NTSTATUS = 0xC0000810u32 as i32; +pub const STATUS_CORRUPT_LOG_UPLEVEL_RECORDS: ::NTSTATUS = 0xC0000811u32 as i32; +pub const STATUS_FILE_CHECKED_OUT: ::NTSTATUS = 0xC0000901u32 as i32; +pub const STATUS_CHECKOUT_REQUIRED: ::NTSTATUS = 0xC0000902u32 as i32; +pub const STATUS_BAD_FILE_TYPE: ::NTSTATUS = 0xC0000903u32 as i32; +pub const STATUS_FILE_TOO_LARGE: ::NTSTATUS = 0xC0000904u32 as i32; +pub const STATUS_FORMS_AUTH_REQUIRED: ::NTSTATUS = 0xC0000905u32 as i32; +pub const STATUS_VIRUS_INFECTED: ::NTSTATUS = 0xC0000906u32 as i32; +pub const STATUS_VIRUS_DELETED: ::NTSTATUS = 0xC0000907u32 as i32; +pub const STATUS_BAD_MCFG_TABLE: ::NTSTATUS = 0xC0000908u32 as i32; +pub const STATUS_CANNOT_BREAK_OPLOCK: ::NTSTATUS = 0xC0000909u32 as i32; +pub const STATUS_BAD_KEY: ::NTSTATUS = 0xC000090Au32 as i32; +pub const STATUS_BAD_DATA: ::NTSTATUS = 0xC000090Bu32 as i32; +pub const STATUS_NO_KEY: ::NTSTATUS = 0xC000090Cu32 as i32; +pub const STATUS_FILE_HANDLE_REVOKED: ::NTSTATUS = 0xC0000910u32 as i32; +pub const STATUS_WOW_ASSERTION: ::NTSTATUS = 0xC0009898u32 as i32; +pub const STATUS_INVALID_SIGNATURE: ::NTSTATUS = 0xC000A000u32 as i32; +pub const STATUS_HMAC_NOT_SUPPORTED: ::NTSTATUS = 0xC000A001u32 as i32; +pub const STATUS_AUTH_TAG_MISMATCH: ::NTSTATUS = 0xC000A002u32 as i32; +pub const STATUS_INVALID_STATE_TRANSITION: ::NTSTATUS = 0xC000A003u32 as i32; +pub const STATUS_INVALID_KERNEL_INFO_VERSION: ::NTSTATUS = 0xC000A004u32 as i32; +pub const STATUS_INVALID_PEP_INFO_VERSION: ::NTSTATUS = 0xC000A005u32 as i32; +pub const STATUS_HANDLE_REVOKED: ::NTSTATUS = 0xC000A006u32 as i32; +pub const STATUS_IPSEC_QUEUE_OVERFLOW: ::NTSTATUS = 0xC000A010u32 as i32; +pub const STATUS_ND_QUEUE_OVERFLOW: ::NTSTATUS = 0xC000A011u32 as i32; +pub const STATUS_HOPLIMIT_EXCEEDED: ::NTSTATUS = 0xC000A012u32 as i32; +pub const STATUS_PROTOCOL_NOT_SUPPORTED: ::NTSTATUS = 0xC000A013u32 as i32; +pub const STATUS_FASTPATH_REJECTED: ::NTSTATUS = 0xC000A014u32 as i32; +pub const STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED: ::NTSTATUS = 0xC000A080u32 as i32; +pub const STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR: ::NTSTATUS = 0xC000A081u32 as i32; +pub const STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR: ::NTSTATUS = 0xC000A082u32 as i32; +pub const STATUS_XML_PARSE_ERROR: ::NTSTATUS = 0xC000A083u32 as i32; +pub const STATUS_XMLDSIG_ERROR: ::NTSTATUS = 0xC000A084u32 as i32; +pub const STATUS_WRONG_COMPARTMENT: ::NTSTATUS = 0xC000A085u32 as i32; +pub const STATUS_AUTHIP_FAILURE: ::NTSTATUS = 0xC000A086u32 as i32; +pub const STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS: ::NTSTATUS = 0xC000A087u32 as i32; +pub const STATUS_DS_OID_NOT_FOUND: ::NTSTATUS = 0xC000A088u32 as i32; +pub const STATUS_INCORRECT_ACCOUNT_TYPE: ::NTSTATUS = 0xC000A089u32 as i32; +pub const STATUS_HASH_NOT_SUPPORTED: ::NTSTATUS = 0xC000A100u32 as i32; +pub const STATUS_HASH_NOT_PRESENT: ::NTSTATUS = 0xC000A101u32 as i32; +pub const STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED: ::NTSTATUS = 0xC000A121u32 as i32; +pub const STATUS_GPIO_CLIENT_INFORMATION_INVALID: ::NTSTATUS = 0xC000A122u32 as i32; +pub const STATUS_GPIO_VERSION_NOT_SUPPORTED: ::NTSTATUS = 0xC000A123u32 as i32; +pub const STATUS_GPIO_INVALID_REGISTRATION_PACKET: ::NTSTATUS = 0xC000A124u32 as i32; +pub const STATUS_GPIO_OPERATION_DENIED: ::NTSTATUS = 0xC000A125u32 as i32; +pub const STATUS_GPIO_INCOMPATIBLE_CONNECT_MODE: ::NTSTATUS = 0xC000A126u32 as i32; +pub const STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED: ::NTSTATUS = 0x8000A127u32 as i32; +pub const STATUS_CANNOT_SWITCH_RUNLEVEL: ::NTSTATUS = 0xC000A141u32 as i32; +pub const STATUS_INVALID_RUNLEVEL_SETTING: ::NTSTATUS = 0xC000A142u32 as i32; +pub const STATUS_RUNLEVEL_SWITCH_TIMEOUT: ::NTSTATUS = 0xC000A143u32 as i32; +pub const STATUS_SERVICES_FAILED_AUTOSTART: ::NTSTATUS = 0x4000A144; +pub const STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT: ::NTSTATUS = 0xC000A145u32 as i32; +pub const STATUS_RUNLEVEL_SWITCH_IN_PROGRESS: ::NTSTATUS = 0xC000A146u32 as i32; +pub const STATUS_NOT_APPCONTAINER: ::NTSTATUS = 0xC000A200u32 as i32; +pub const STATUS_NOT_SUPPORTED_IN_APPCONTAINER: ::NTSTATUS = 0xC000A201u32 as i32; +pub const STATUS_INVALID_PACKAGE_SID_LENGTH: ::NTSTATUS = 0xC000A202u32 as i32; +pub const STATUS_APP_DATA_NOT_FOUND: ::NTSTATUS = 0xC000A281u32 as i32; +pub const STATUS_APP_DATA_EXPIRED: ::NTSTATUS = 0xC000A282u32 as i32; +pub const STATUS_APP_DATA_CORRUPT: ::NTSTATUS = 0xC000A283u32 as i32; +pub const STATUS_APP_DATA_LIMIT_EXCEEDED: ::NTSTATUS = 0xC000A284u32 as i32; +pub const STATUS_APP_DATA_REBOOT_REQUIRED: ::NTSTATUS = 0xC000A285u32 as i32; +pub const STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED: ::NTSTATUS = 0xC000A2A1u32 as i32; +pub const STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED: ::NTSTATUS = 0xC000A2A2u32 as i32; +pub const STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED: ::NTSTATUS = 0xC000A2A3u32 as i32; +pub const STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED: ::NTSTATUS = 0xC000A2A4u32 as i32; +pub const DBG_NO_STATE_CHANGE: ::NTSTATUS = 0xC0010001u32 as i32; +pub const DBG_APP_NOT_IDLE: ::NTSTATUS = 0xC0010002u32 as i32; +pub const RPC_NT_INVALID_STRING_BINDING: ::NTSTATUS = 0xC0020001u32 as i32; +pub const RPC_NT_WRONG_KIND_OF_BINDING: ::NTSTATUS = 0xC0020002u32 as i32; +pub const RPC_NT_INVALID_BINDING: ::NTSTATUS = 0xC0020003u32 as i32; +pub const RPC_NT_PROTSEQ_NOT_SUPPORTED: ::NTSTATUS = 0xC0020004u32 as i32; +pub const RPC_NT_INVALID_RPC_PROTSEQ: ::NTSTATUS = 0xC0020005u32 as i32; +pub const RPC_NT_INVALID_STRING_UUID: ::NTSTATUS = 0xC0020006u32 as i32; +pub const RPC_NT_INVALID_ENDPOINT_FORMAT: ::NTSTATUS = 0xC0020007u32 as i32; +pub const RPC_NT_INVALID_NET_ADDR: ::NTSTATUS = 0xC0020008u32 as i32; +pub const RPC_NT_NO_ENDPOINT_FOUND: ::NTSTATUS = 0xC0020009u32 as i32; +pub const RPC_NT_INVALID_TIMEOUT: ::NTSTATUS = 0xC002000Au32 as i32; +pub const RPC_NT_OBJECT_NOT_FOUND: ::NTSTATUS = 0xC002000Bu32 as i32; +pub const RPC_NT_ALREADY_REGISTERED: ::NTSTATUS = 0xC002000Cu32 as i32; +pub const RPC_NT_TYPE_ALREADY_REGISTERED: ::NTSTATUS = 0xC002000Du32 as i32; +pub const RPC_NT_ALREADY_LISTENING: ::NTSTATUS = 0xC002000Eu32 as i32; +pub const RPC_NT_NO_PROTSEQS_REGISTERED: ::NTSTATUS = 0xC002000Fu32 as i32; +pub const RPC_NT_NOT_LISTENING: ::NTSTATUS = 0xC0020010u32 as i32; +pub const RPC_NT_UNKNOWN_MGR_TYPE: ::NTSTATUS = 0xC0020011u32 as i32; +pub const RPC_NT_UNKNOWN_IF: ::NTSTATUS = 0xC0020012u32 as i32; +pub const RPC_NT_NO_BINDINGS: ::NTSTATUS = 0xC0020013u32 as i32; +pub const RPC_NT_NO_PROTSEQS: ::NTSTATUS = 0xC0020014u32 as i32; +pub const RPC_NT_CANT_CREATE_ENDPOINT: ::NTSTATUS = 0xC0020015u32 as i32; +pub const RPC_NT_OUT_OF_RESOURCES: ::NTSTATUS = 0xC0020016u32 as i32; +pub const RPC_NT_SERVER_UNAVAILABLE: ::NTSTATUS = 0xC0020017u32 as i32; +pub const RPC_NT_SERVER_TOO_BUSY: ::NTSTATUS = 0xC0020018u32 as i32; +pub const RPC_NT_INVALID_NETWORK_OPTIONS: ::NTSTATUS = 0xC0020019u32 as i32; +pub const RPC_NT_NO_CALL_ACTIVE: ::NTSTATUS = 0xC002001Au32 as i32; +pub const RPC_NT_CALL_FAILED: ::NTSTATUS = 0xC002001Bu32 as i32; +pub const RPC_NT_CALL_FAILED_DNE: ::NTSTATUS = 0xC002001Cu32 as i32; +pub const RPC_NT_PROTOCOL_ERROR: ::NTSTATUS = 0xC002001Du32 as i32; +pub const RPC_NT_UNSUPPORTED_TRANS_SYN: ::NTSTATUS = 0xC002001Fu32 as i32; +pub const RPC_NT_UNSUPPORTED_TYPE: ::NTSTATUS = 0xC0020021u32 as i32; +pub const RPC_NT_INVALID_TAG: ::NTSTATUS = 0xC0020022u32 as i32; +pub const RPC_NT_INVALID_BOUND: ::NTSTATUS = 0xC0020023u32 as i32; +pub const RPC_NT_NO_ENTRY_NAME: ::NTSTATUS = 0xC0020024u32 as i32; +pub const RPC_NT_INVALID_NAME_SYNTAX: ::NTSTATUS = 0xC0020025u32 as i32; +pub const RPC_NT_UNSUPPORTED_NAME_SYNTAX: ::NTSTATUS = 0xC0020026u32 as i32; +pub const RPC_NT_UUID_NO_ADDRESS: ::NTSTATUS = 0xC0020028u32 as i32; +pub const RPC_NT_DUPLICATE_ENDPOINT: ::NTSTATUS = 0xC0020029u32 as i32; +pub const RPC_NT_UNKNOWN_AUTHN_TYPE: ::NTSTATUS = 0xC002002Au32 as i32; +pub const RPC_NT_MAX_CALLS_TOO_SMALL: ::NTSTATUS = 0xC002002Bu32 as i32; +pub const RPC_NT_STRING_TOO_LONG: ::NTSTATUS = 0xC002002Cu32 as i32; +pub const RPC_NT_PROTSEQ_NOT_FOUND: ::NTSTATUS = 0xC002002Du32 as i32; +pub const RPC_NT_PROCNUM_OUT_OF_RANGE: ::NTSTATUS = 0xC002002Eu32 as i32; +pub const RPC_NT_BINDING_HAS_NO_AUTH: ::NTSTATUS = 0xC002002Fu32 as i32; +pub const RPC_NT_UNKNOWN_AUTHN_SERVICE: ::NTSTATUS = 0xC0020030u32 as i32; +pub const RPC_NT_UNKNOWN_AUTHN_LEVEL: ::NTSTATUS = 0xC0020031u32 as i32; +pub const RPC_NT_INVALID_AUTH_IDENTITY: ::NTSTATUS = 0xC0020032u32 as i32; +pub const RPC_NT_UNKNOWN_AUTHZ_SERVICE: ::NTSTATUS = 0xC0020033u32 as i32; +pub const EPT_NT_INVALID_ENTRY: ::NTSTATUS = 0xC0020034u32 as i32; +pub const EPT_NT_CANT_PERFORM_OP: ::NTSTATUS = 0xC0020035u32 as i32; +pub const EPT_NT_NOT_REGISTERED: ::NTSTATUS = 0xC0020036u32 as i32; +pub const RPC_NT_NOTHING_TO_EXPORT: ::NTSTATUS = 0xC0020037u32 as i32; +pub const RPC_NT_INCOMPLETE_NAME: ::NTSTATUS = 0xC0020038u32 as i32; +pub const RPC_NT_INVALID_VERS_OPTION: ::NTSTATUS = 0xC0020039u32 as i32; +pub const RPC_NT_NO_MORE_MEMBERS: ::NTSTATUS = 0xC002003Au32 as i32; +pub const RPC_NT_NOT_ALL_OBJS_UNEXPORTED: ::NTSTATUS = 0xC002003Bu32 as i32; +pub const RPC_NT_INTERFACE_NOT_FOUND: ::NTSTATUS = 0xC002003Cu32 as i32; +pub const RPC_NT_ENTRY_ALREADY_EXISTS: ::NTSTATUS = 0xC002003Du32 as i32; +pub const RPC_NT_ENTRY_NOT_FOUND: ::NTSTATUS = 0xC002003Eu32 as i32; +pub const RPC_NT_NAME_SERVICE_UNAVAILABLE: ::NTSTATUS = 0xC002003Fu32 as i32; +pub const RPC_NT_INVALID_NAF_ID: ::NTSTATUS = 0xC0020040u32 as i32; +pub const RPC_NT_CANNOT_SUPPORT: ::NTSTATUS = 0xC0020041u32 as i32; +pub const RPC_NT_NO_CONTEXT_AVAILABLE: ::NTSTATUS = 0xC0020042u32 as i32; +pub const RPC_NT_INTERNAL_ERROR: ::NTSTATUS = 0xC0020043u32 as i32; +pub const RPC_NT_ZERO_DIVIDE: ::NTSTATUS = 0xC0020044u32 as i32; +pub const RPC_NT_ADDRESS_ERROR: ::NTSTATUS = 0xC0020045u32 as i32; +pub const RPC_NT_FP_DIV_ZERO: ::NTSTATUS = 0xC0020046u32 as i32; +pub const RPC_NT_FP_UNDERFLOW: ::NTSTATUS = 0xC0020047u32 as i32; +pub const RPC_NT_FP_OVERFLOW: ::NTSTATUS = 0xC0020048u32 as i32; +pub const RPC_NT_NO_MORE_ENTRIES: ::NTSTATUS = 0xC0030001u32 as i32; +pub const RPC_NT_SS_CHAR_TRANS_OPEN_FAIL: ::NTSTATUS = 0xC0030002u32 as i32; +pub const RPC_NT_SS_CHAR_TRANS_SHORT_FILE: ::NTSTATUS = 0xC0030003u32 as i32; +pub const RPC_NT_SS_IN_NULL_CONTEXT: ::NTSTATUS = 0xC0030004u32 as i32; +pub const RPC_NT_SS_CONTEXT_MISMATCH: ::NTSTATUS = 0xC0030005u32 as i32; +pub const RPC_NT_SS_CONTEXT_DAMAGED: ::NTSTATUS = 0xC0030006u32 as i32; +pub const RPC_NT_SS_HANDLES_MISMATCH: ::NTSTATUS = 0xC0030007u32 as i32; +pub const RPC_NT_SS_CANNOT_GET_CALL_HANDLE: ::NTSTATUS = 0xC0030008u32 as i32; +pub const RPC_NT_NULL_REF_POINTER: ::NTSTATUS = 0xC0030009u32 as i32; +pub const RPC_NT_ENUM_VALUE_OUT_OF_RANGE: ::NTSTATUS = 0xC003000Au32 as i32; +pub const RPC_NT_BYTE_COUNT_TOO_SMALL: ::NTSTATUS = 0xC003000Bu32 as i32; +pub const RPC_NT_BAD_STUB_DATA: ::NTSTATUS = 0xC003000Cu32 as i32; +pub const RPC_NT_CALL_IN_PROGRESS: ::NTSTATUS = 0xC0020049u32 as i32; +pub const RPC_NT_NO_MORE_BINDINGS: ::NTSTATUS = 0xC002004Au32 as i32; +pub const RPC_NT_GROUP_MEMBER_NOT_FOUND: ::NTSTATUS = 0xC002004Bu32 as i32; +pub const EPT_NT_CANT_CREATE: ::NTSTATUS = 0xC002004Cu32 as i32; +pub const RPC_NT_INVALID_OBJECT: ::NTSTATUS = 0xC002004Du32 as i32; +pub const RPC_NT_NO_INTERFACES: ::NTSTATUS = 0xC002004Fu32 as i32; +pub const RPC_NT_CALL_CANCELLED: ::NTSTATUS = 0xC0020050u32 as i32; +pub const RPC_NT_BINDING_INCOMPLETE: ::NTSTATUS = 0xC0020051u32 as i32; +pub const RPC_NT_COMM_FAILURE: ::NTSTATUS = 0xC0020052u32 as i32; +pub const RPC_NT_UNSUPPORTED_AUTHN_LEVEL: ::NTSTATUS = 0xC0020053u32 as i32; +pub const RPC_NT_NO_PRINC_NAME: ::NTSTATUS = 0xC0020054u32 as i32; +pub const RPC_NT_NOT_RPC_ERROR: ::NTSTATUS = 0xC0020055u32 as i32; +pub const RPC_NT_UUID_LOCAL_ONLY: ::NTSTATUS = 0x40020056; +pub const RPC_NT_SEC_PKG_ERROR: ::NTSTATUS = 0xC0020057u32 as i32; +pub const RPC_NT_NOT_CANCELLED: ::NTSTATUS = 0xC0020058u32 as i32; +pub const RPC_NT_INVALID_ES_ACTION: ::NTSTATUS = 0xC0030059u32 as i32; +pub const RPC_NT_WRONG_ES_VERSION: ::NTSTATUS = 0xC003005Au32 as i32; +pub const RPC_NT_WRONG_STUB_VERSION: ::NTSTATUS = 0xC003005Bu32 as i32; +pub const RPC_NT_INVALID_PIPE_OBJECT: ::NTSTATUS = 0xC003005Cu32 as i32; +pub const RPC_NT_INVALID_PIPE_OPERATION: ::NTSTATUS = 0xC003005Du32 as i32; +pub const RPC_NT_WRONG_PIPE_VERSION: ::NTSTATUS = 0xC003005Eu32 as i32; +pub const RPC_NT_PIPE_CLOSED: ::NTSTATUS = 0xC003005Fu32 as i32; +pub const RPC_NT_PIPE_DISCIPLINE_ERROR: ::NTSTATUS = 0xC0030060u32 as i32; +pub const RPC_NT_PIPE_EMPTY: ::NTSTATUS = 0xC0030061u32 as i32; +pub const RPC_NT_INVALID_ASYNC_HANDLE: ::NTSTATUS = 0xC0020062u32 as i32; +pub const RPC_NT_INVALID_ASYNC_CALL: ::NTSTATUS = 0xC0020063u32 as i32; +pub const RPC_NT_PROXY_ACCESS_DENIED: ::NTSTATUS = 0xC0020064u32 as i32; +pub const RPC_NT_COOKIE_AUTH_FAILED: ::NTSTATUS = 0xC0020065u32 as i32; +pub const RPC_NT_SEND_INCOMPLETE: ::NTSTATUS = 0x400200AF; +pub const STATUS_ACPI_INVALID_OPCODE: ::NTSTATUS = 0xC0140001u32 as i32; +pub const STATUS_ACPI_STACK_OVERFLOW: ::NTSTATUS = 0xC0140002u32 as i32; +pub const STATUS_ACPI_ASSERT_FAILED: ::NTSTATUS = 0xC0140003u32 as i32; +pub const STATUS_ACPI_INVALID_INDEX: ::NTSTATUS = 0xC0140004u32 as i32; +pub const STATUS_ACPI_INVALID_ARGUMENT: ::NTSTATUS = 0xC0140005u32 as i32; +pub const STATUS_ACPI_FATAL: ::NTSTATUS = 0xC0140006u32 as i32; +pub const STATUS_ACPI_INVALID_SUPERNAME: ::NTSTATUS = 0xC0140007u32 as i32; +pub const STATUS_ACPI_INVALID_ARGTYPE: ::NTSTATUS = 0xC0140008u32 as i32; +pub const STATUS_ACPI_INVALID_OBJTYPE: ::NTSTATUS = 0xC0140009u32 as i32; +pub const STATUS_ACPI_INVALID_TARGETTYPE: ::NTSTATUS = 0xC014000Au32 as i32; +pub const STATUS_ACPI_INCORRECT_ARGUMENT_COUNT: ::NTSTATUS = 0xC014000Bu32 as i32; +pub const STATUS_ACPI_ADDRESS_NOT_MAPPED: ::NTSTATUS = 0xC014000Cu32 as i32; +pub const STATUS_ACPI_INVALID_EVENTTYPE: ::NTSTATUS = 0xC014000Du32 as i32; +pub const STATUS_ACPI_HANDLER_COLLISION: ::NTSTATUS = 0xC014000Eu32 as i32; +pub const STATUS_ACPI_INVALID_DATA: ::NTSTATUS = 0xC014000Fu32 as i32; +pub const STATUS_ACPI_INVALID_REGION: ::NTSTATUS = 0xC0140010u32 as i32; +pub const STATUS_ACPI_INVALID_ACCESS_SIZE: ::NTSTATUS = 0xC0140011u32 as i32; +pub const STATUS_ACPI_ACQUIRE_GLOBAL_LOCK: ::NTSTATUS = 0xC0140012u32 as i32; +pub const STATUS_ACPI_ALREADY_INITIALIZED: ::NTSTATUS = 0xC0140013u32 as i32; +pub const STATUS_ACPI_NOT_INITIALIZED: ::NTSTATUS = 0xC0140014u32 as i32; +pub const STATUS_ACPI_INVALID_MUTEX_LEVEL: ::NTSTATUS = 0xC0140015u32 as i32; +pub const STATUS_ACPI_MUTEX_NOT_OWNED: ::NTSTATUS = 0xC0140016u32 as i32; +pub const STATUS_ACPI_MUTEX_NOT_OWNER: ::NTSTATUS = 0xC0140017u32 as i32; +pub const STATUS_ACPI_RS_ACCESS: ::NTSTATUS = 0xC0140018u32 as i32; +pub const STATUS_ACPI_INVALID_TABLE: ::NTSTATUS = 0xC0140019u32 as i32; +pub const STATUS_ACPI_REG_HANDLER_FAILED: ::NTSTATUS = 0xC0140020u32 as i32; +pub const STATUS_ACPI_POWER_REQUEST_FAILED: ::NTSTATUS = 0xC0140021u32 as i32; +pub const STATUS_CTX_WINSTATION_NAME_INVALID: ::NTSTATUS = 0xC00A0001u32 as i32; +pub const STATUS_CTX_INVALID_PD: ::NTSTATUS = 0xC00A0002u32 as i32; +pub const STATUS_CTX_PD_NOT_FOUND: ::NTSTATUS = 0xC00A0003u32 as i32; +pub const STATUS_CTX_CDM_CONNECT: ::NTSTATUS = 0x400A0004; +pub const STATUS_CTX_CDM_DISCONNECT: ::NTSTATUS = 0x400A0005; +pub const STATUS_CTX_CLOSE_PENDING: ::NTSTATUS = 0xC00A0006u32 as i32; +pub const STATUS_CTX_NO_OUTBUF: ::NTSTATUS = 0xC00A0007u32 as i32; +pub const STATUS_CTX_MODEM_INF_NOT_FOUND: ::NTSTATUS = 0xC00A0008u32 as i32; +pub const STATUS_CTX_INVALID_MODEMNAME: ::NTSTATUS = 0xC00A0009u32 as i32; +pub const STATUS_CTX_RESPONSE_ERROR: ::NTSTATUS = 0xC00A000Au32 as i32; +pub const STATUS_CTX_MODEM_RESPONSE_TIMEOUT: ::NTSTATUS = 0xC00A000Bu32 as i32; +pub const STATUS_CTX_MODEM_RESPONSE_NO_CARRIER: ::NTSTATUS = 0xC00A000Cu32 as i32; +pub const STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE: ::NTSTATUS = 0xC00A000Du32 as i32; +pub const STATUS_CTX_MODEM_RESPONSE_BUSY: ::NTSTATUS = 0xC00A000Eu32 as i32; +pub const STATUS_CTX_MODEM_RESPONSE_VOICE: ::NTSTATUS = 0xC00A000Fu32 as i32; +pub const STATUS_CTX_TD_ERROR: ::NTSTATUS = 0xC00A0010u32 as i32; +pub const STATUS_CTX_LICENSE_CLIENT_INVALID: ::NTSTATUS = 0xC00A0012u32 as i32; +pub const STATUS_CTX_LICENSE_NOT_AVAILABLE: ::NTSTATUS = 0xC00A0013u32 as i32; +pub const STATUS_CTX_LICENSE_EXPIRED: ::NTSTATUS = 0xC00A0014u32 as i32; +pub const STATUS_CTX_WINSTATION_NOT_FOUND: ::NTSTATUS = 0xC00A0015u32 as i32; +pub const STATUS_CTX_WINSTATION_NAME_COLLISION: ::NTSTATUS = 0xC00A0016u32 as i32; +pub const STATUS_CTX_WINSTATION_BUSY: ::NTSTATUS = 0xC00A0017u32 as i32; +pub const STATUS_CTX_BAD_VIDEO_MODE: ::NTSTATUS = 0xC00A0018u32 as i32; +pub const STATUS_CTX_GRAPHICS_INVALID: ::NTSTATUS = 0xC00A0022u32 as i32; +pub const STATUS_CTX_NOT_CONSOLE: ::NTSTATUS = 0xC00A0024u32 as i32; +pub const STATUS_CTX_CLIENT_QUERY_TIMEOUT: ::NTSTATUS = 0xC00A0026u32 as i32; +pub const STATUS_CTX_CONSOLE_DISCONNECT: ::NTSTATUS = 0xC00A0027u32 as i32; +pub const STATUS_CTX_CONSOLE_CONNECT: ::NTSTATUS = 0xC00A0028u32 as i32; +pub const STATUS_CTX_SHADOW_DENIED: ::NTSTATUS = 0xC00A002Au32 as i32; +pub const STATUS_CTX_WINSTATION_ACCESS_DENIED: ::NTSTATUS = 0xC00A002Bu32 as i32; +pub const STATUS_CTX_INVALID_WD: ::NTSTATUS = 0xC00A002Eu32 as i32; +pub const STATUS_CTX_WD_NOT_FOUND: ::NTSTATUS = 0xC00A002Fu32 as i32; +pub const STATUS_CTX_SHADOW_INVALID: ::NTSTATUS = 0xC00A0030u32 as i32; +pub const STATUS_CTX_SHADOW_DISABLED: ::NTSTATUS = 0xC00A0031u32 as i32; +pub const STATUS_RDP_PROTOCOL_ERROR: ::NTSTATUS = 0xC00A0032u32 as i32; +pub const STATUS_CTX_CLIENT_LICENSE_NOT_SET: ::NTSTATUS = 0xC00A0033u32 as i32; +pub const STATUS_CTX_CLIENT_LICENSE_IN_USE: ::NTSTATUS = 0xC00A0034u32 as i32; +pub const STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE: ::NTSTATUS = 0xC00A0035u32 as i32; +pub const STATUS_CTX_SHADOW_NOT_RUNNING: ::NTSTATUS = 0xC00A0036u32 as i32; +pub const STATUS_CTX_LOGON_DISABLED: ::NTSTATUS = 0xC00A0037u32 as i32; +pub const STATUS_CTX_SECURITY_LAYER_ERROR: ::NTSTATUS = 0xC00A0038u32 as i32; +pub const STATUS_TS_INCOMPATIBLE_SESSIONS: ::NTSTATUS = 0xC00A0039u32 as i32; +pub const STATUS_TS_VIDEO_SUBSYSTEM_ERROR: ::NTSTATUS = 0xC00A003Au32 as i32; +pub const STATUS_PNP_BAD_MPS_TABLE: ::NTSTATUS = 0xC0040035u32 as i32; +pub const STATUS_PNP_TRANSLATION_FAILED: ::NTSTATUS = 0xC0040036u32 as i32; +pub const STATUS_PNP_IRQ_TRANSLATION_FAILED: ::NTSTATUS = 0xC0040037u32 as i32; +pub const STATUS_PNP_INVALID_ID: ::NTSTATUS = 0xC0040038u32 as i32; +pub const STATUS_IO_REISSUE_AS_CACHED: ::NTSTATUS = 0xC0040039u32 as i32; +pub const STATUS_MUI_FILE_NOT_FOUND: ::NTSTATUS = 0xC00B0001u32 as i32; +pub const STATUS_MUI_INVALID_FILE: ::NTSTATUS = 0xC00B0002u32 as i32; +pub const STATUS_MUI_INVALID_RC_CONFIG: ::NTSTATUS = 0xC00B0003u32 as i32; +pub const STATUS_MUI_INVALID_LOCALE_NAME: ::NTSTATUS = 0xC00B0004u32 as i32; +pub const STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME: ::NTSTATUS = 0xC00B0005u32 as i32; +pub const STATUS_MUI_FILE_NOT_LOADED: ::NTSTATUS = 0xC00B0006u32 as i32; +pub const STATUS_RESOURCE_ENUM_USER_STOP: ::NTSTATUS = 0xC00B0007u32 as i32; +pub const STATUS_FLT_NO_HANDLER_DEFINED: ::NTSTATUS = 0xC01C0001u32 as i32; +pub const STATUS_FLT_CONTEXT_ALREADY_DEFINED: ::NTSTATUS = 0xC01C0002u32 as i32; +pub const STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST: ::NTSTATUS = 0xC01C0003u32 as i32; +pub const STATUS_FLT_DISALLOW_FAST_IO: ::NTSTATUS = 0xC01C0004u32 as i32; +pub const STATUS_FLT_INVALID_NAME_REQUEST: ::NTSTATUS = 0xC01C0005u32 as i32; +pub const STATUS_FLT_NOT_SAFE_TO_POST_OPERATION: ::NTSTATUS = 0xC01C0006u32 as i32; +pub const STATUS_FLT_NOT_INITIALIZED: ::NTSTATUS = 0xC01C0007u32 as i32; +pub const STATUS_FLT_FILTER_NOT_READY: ::NTSTATUS = 0xC01C0008u32 as i32; +pub const STATUS_FLT_POST_OPERATION_CLEANUP: ::NTSTATUS = 0xC01C0009u32 as i32; +pub const STATUS_FLT_INTERNAL_ERROR: ::NTSTATUS = 0xC01C000Au32 as i32; +pub const STATUS_FLT_DELETING_OBJECT: ::NTSTATUS = 0xC01C000Bu32 as i32; +pub const STATUS_FLT_MUST_BE_NONPAGED_POOL: ::NTSTATUS = 0xC01C000Cu32 as i32; +pub const STATUS_FLT_DUPLICATE_ENTRY: ::NTSTATUS = 0xC01C000Du32 as i32; +pub const STATUS_FLT_CBDQ_DISABLED: ::NTSTATUS = 0xC01C000Eu32 as i32; +pub const STATUS_FLT_DO_NOT_ATTACH: ::NTSTATUS = 0xC01C000Fu32 as i32; +pub const STATUS_FLT_DO_NOT_DETACH: ::NTSTATUS = 0xC01C0010u32 as i32; +pub const STATUS_FLT_INSTANCE_ALTITUDE_COLLISION: ::NTSTATUS = 0xC01C0011u32 as i32; +pub const STATUS_FLT_INSTANCE_NAME_COLLISION: ::NTSTATUS = 0xC01C0012u32 as i32; +pub const STATUS_FLT_FILTER_NOT_FOUND: ::NTSTATUS = 0xC01C0013u32 as i32; +pub const STATUS_FLT_VOLUME_NOT_FOUND: ::NTSTATUS = 0xC01C0014u32 as i32; +pub const STATUS_FLT_INSTANCE_NOT_FOUND: ::NTSTATUS = 0xC01C0015u32 as i32; +pub const STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND: ::NTSTATUS = 0xC01C0016u32 as i32; +pub const STATUS_FLT_INVALID_CONTEXT_REGISTRATION: ::NTSTATUS = 0xC01C0017u32 as i32; +pub const STATUS_FLT_NAME_CACHE_MISS: ::NTSTATUS = 0xC01C0018u32 as i32; +pub const STATUS_FLT_NO_DEVICE_OBJECT: ::NTSTATUS = 0xC01C0019u32 as i32; +pub const STATUS_FLT_VOLUME_ALREADY_MOUNTED: ::NTSTATUS = 0xC01C001Au32 as i32; +pub const STATUS_FLT_ALREADY_ENLISTED: ::NTSTATUS = 0xC01C001Bu32 as i32; +pub const STATUS_FLT_CONTEXT_ALREADY_LINKED: ::NTSTATUS = 0xC01C001Cu32 as i32; +pub const STATUS_FLT_NO_WAITER_FOR_REPLY: ::NTSTATUS = 0xC01C0020u32 as i32; +pub const STATUS_FLT_REGISTRATION_BUSY: ::NTSTATUS = 0xC01C0023u32 as i32; +pub const STATUS_SXS_SECTION_NOT_FOUND: ::NTSTATUS = 0xC0150001u32 as i32; +pub const STATUS_SXS_CANT_GEN_ACTCTX: ::NTSTATUS = 0xC0150002u32 as i32; +pub const STATUS_SXS_INVALID_ACTCTXDATA_FORMAT: ::NTSTATUS = 0xC0150003u32 as i32; +pub const STATUS_SXS_ASSEMBLY_NOT_FOUND: ::NTSTATUS = 0xC0150004u32 as i32; +pub const STATUS_SXS_MANIFEST_FORMAT_ERROR: ::NTSTATUS = 0xC0150005u32 as i32; +pub const STATUS_SXS_MANIFEST_PARSE_ERROR: ::NTSTATUS = 0xC0150006u32 as i32; +pub const STATUS_SXS_ACTIVATION_CONTEXT_DISABLED: ::NTSTATUS = 0xC0150007u32 as i32; +pub const STATUS_SXS_KEY_NOT_FOUND: ::NTSTATUS = 0xC0150008u32 as i32; +pub const STATUS_SXS_VERSION_CONFLICT: ::NTSTATUS = 0xC0150009u32 as i32; +pub const STATUS_SXS_WRONG_SECTION_TYPE: ::NTSTATUS = 0xC015000Au32 as i32; +pub const STATUS_SXS_THREAD_QUERIES_DISABLED: ::NTSTATUS = 0xC015000Bu32 as i32; +pub const STATUS_SXS_ASSEMBLY_MISSING: ::NTSTATUS = 0xC015000Cu32 as i32; +pub const STATUS_SXS_RELEASE_ACTIVATION_CONTEXT: ::NTSTATUS = 0x4015000D; +pub const STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET: ::NTSTATUS = 0xC015000Eu32 as i32; +pub const STATUS_SXS_EARLY_DEACTIVATION: ::NTSTATUS = 0xC015000Fu32 as i32; +pub const STATUS_SXS_INVALID_DEACTIVATION: ::NTSTATUS = 0xC0150010u32 as i32; +pub const STATUS_SXS_MULTIPLE_DEACTIVATION: ::NTSTATUS = 0xC0150011u32 as i32; +pub const STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY: ::NTSTATUS = 0xC0150012u32 as i32; +pub const STATUS_SXS_PROCESS_TERMINATION_REQUESTED: ::NTSTATUS = 0xC0150013u32 as i32; +pub const STATUS_SXS_CORRUPT_ACTIVATION_STACK: ::NTSTATUS = 0xC0150014u32 as i32; +pub const STATUS_SXS_CORRUPTION: ::NTSTATUS = 0xC0150015u32 as i32; +pub const STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE: ::NTSTATUS = 0xC0150016u32 as i32; +pub const STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME: ::NTSTATUS = 0xC0150017u32 as i32; +pub const STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE: ::NTSTATUS = 0xC0150018u32 as i32; +pub const STATUS_SXS_IDENTITY_PARSE_ERROR: ::NTSTATUS = 0xC0150019u32 as i32; +pub const STATUS_SXS_COMPONENT_STORE_CORRUPT: ::NTSTATUS = 0xC015001Au32 as i32; +pub const STATUS_SXS_FILE_HASH_MISMATCH: ::NTSTATUS = 0xC015001Bu32 as i32; +pub const STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT: ::NTSTATUS = 0xC015001Cu32 as i32; +pub const STATUS_SXS_IDENTITIES_DIFFERENT: ::NTSTATUS = 0xC015001Du32 as i32; +pub const STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT: ::NTSTATUS = 0xC015001Eu32 as i32; +pub const STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY: ::NTSTATUS = 0xC015001Fu32 as i32; +pub const STATUS_ADVANCED_INSTALLER_FAILED: ::NTSTATUS = 0xC0150020u32 as i32; +pub const STATUS_XML_ENCODING_MISMATCH: ::NTSTATUS = 0xC0150021u32 as i32; +pub const STATUS_SXS_MANIFEST_TOO_BIG: ::NTSTATUS = 0xC0150022u32 as i32; +pub const STATUS_SXS_SETTING_NOT_REGISTERED: ::NTSTATUS = 0xC0150023u32 as i32; +pub const STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE: ::NTSTATUS = 0xC0150024u32 as i32; +pub const STATUS_SMI_PRIMITIVE_INSTALLER_FAILED: ::NTSTATUS = 0xC0150025u32 as i32; +pub const STATUS_GENERIC_COMMAND_FAILED: ::NTSTATUS = 0xC0150026u32 as i32; +pub const STATUS_SXS_FILE_HASH_MISSING: ::NTSTATUS = 0xC0150027u32 as i32; +pub const STATUS_CLUSTER_INVALID_NODE: ::NTSTATUS = 0xC0130001u32 as i32; +pub const STATUS_CLUSTER_NODE_EXISTS: ::NTSTATUS = 0xC0130002u32 as i32; +pub const STATUS_CLUSTER_JOIN_IN_PROGRESS: ::NTSTATUS = 0xC0130003u32 as i32; +pub const STATUS_CLUSTER_NODE_NOT_FOUND: ::NTSTATUS = 0xC0130004u32 as i32; +pub const STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND: ::NTSTATUS = 0xC0130005u32 as i32; +pub const STATUS_CLUSTER_NETWORK_EXISTS: ::NTSTATUS = 0xC0130006u32 as i32; +pub const STATUS_CLUSTER_NETWORK_NOT_FOUND: ::NTSTATUS = 0xC0130007u32 as i32; +pub const STATUS_CLUSTER_NETINTERFACE_EXISTS: ::NTSTATUS = 0xC0130008u32 as i32; +pub const STATUS_CLUSTER_NETINTERFACE_NOT_FOUND: ::NTSTATUS = 0xC0130009u32 as i32; +pub const STATUS_CLUSTER_INVALID_REQUEST: ::NTSTATUS = 0xC013000Au32 as i32; +pub const STATUS_CLUSTER_INVALID_NETWORK_PROVIDER: ::NTSTATUS = 0xC013000Bu32 as i32; +pub const STATUS_CLUSTER_NODE_DOWN: ::NTSTATUS = 0xC013000Cu32 as i32; +pub const STATUS_CLUSTER_NODE_UNREACHABLE: ::NTSTATUS = 0xC013000Du32 as i32; +pub const STATUS_CLUSTER_NODE_NOT_MEMBER: ::NTSTATUS = 0xC013000Eu32 as i32; +pub const STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS: ::NTSTATUS = 0xC013000Fu32 as i32; +pub const STATUS_CLUSTER_INVALID_NETWORK: ::NTSTATUS = 0xC0130010u32 as i32; +pub const STATUS_CLUSTER_NO_NET_ADAPTERS: ::NTSTATUS = 0xC0130011u32 as i32; +pub const STATUS_CLUSTER_NODE_UP: ::NTSTATUS = 0xC0130012u32 as i32; +pub const STATUS_CLUSTER_NODE_PAUSED: ::NTSTATUS = 0xC0130013u32 as i32; +pub const STATUS_CLUSTER_NODE_NOT_PAUSED: ::NTSTATUS = 0xC0130014u32 as i32; +pub const STATUS_CLUSTER_NO_SECURITY_CONTEXT: ::NTSTATUS = 0xC0130015u32 as i32; +pub const STATUS_CLUSTER_NETWORK_NOT_INTERNAL: ::NTSTATUS = 0xC0130016u32 as i32; +pub const STATUS_CLUSTER_POISONED: ::NTSTATUS = 0xC0130017u32 as i32; +pub const STATUS_CLUSTER_NON_CSV_PATH: ::NTSTATUS = 0xC0130018u32 as i32; +pub const STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL: ::NTSTATUS = 0xC0130019u32 as i32; +pub const STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS: ::NTSTATUS = 0xC0130020u32 as i32; +pub const STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR: ::NTSTATUS = 0xC0130021u32 as i32; +pub const STATUS_CLUSTER_CSV_REDIRECTED: ::NTSTATUS = 0xC0130022u32 as i32; +pub const STATUS_CLUSTER_CSV_NOT_REDIRECTED: ::NTSTATUS = 0xC0130023u32 as i32; +pub const STATUS_CLUSTER_CSV_VOLUME_DRAINING: ::NTSTATUS = 0xC0130024u32 as i32; +pub const STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS: ::NTSTATUS = 0xC0130025u32 as i32; +pub const STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL: ::NTSTATUS = 0xC0130026u32 as i32; +pub const STATUS_CLUSTER_CSV_NO_SNAPSHOTS: ::NTSTATUS = 0xC0130027u32 as i32; +pub const STATUS_CSV_IO_PAUSE_TIMEOUT: ::NTSTATUS = 0xC0130028u32 as i32; +pub const STATUS_TRANSACTIONAL_CONFLICT: ::NTSTATUS = 0xC0190001u32 as i32; +pub const STATUS_INVALID_TRANSACTION: ::NTSTATUS = 0xC0190002u32 as i32; +pub const STATUS_TRANSACTION_NOT_ACTIVE: ::NTSTATUS = 0xC0190003u32 as i32; +pub const STATUS_TM_INITIALIZATION_FAILED: ::NTSTATUS = 0xC0190004u32 as i32; +pub const STATUS_RM_NOT_ACTIVE: ::NTSTATUS = 0xC0190005u32 as i32; +pub const STATUS_RM_METADATA_CORRUPT: ::NTSTATUS = 0xC0190006u32 as i32; +pub const STATUS_TRANSACTION_NOT_JOINED: ::NTSTATUS = 0xC0190007u32 as i32; +pub const STATUS_DIRECTORY_NOT_RM: ::NTSTATUS = 0xC0190008u32 as i32; +pub const STATUS_COULD_NOT_RESIZE_LOG: ::NTSTATUS = 0x80190009u32 as i32; +pub const STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE: ::NTSTATUS = 0xC019000Au32 as i32; +pub const STATUS_LOG_RESIZE_INVALID_SIZE: ::NTSTATUS = 0xC019000Bu32 as i32; +pub const STATUS_REMOTE_FILE_VERSION_MISMATCH: ::NTSTATUS = 0xC019000Cu32 as i32; +pub const STATUS_CRM_PROTOCOL_ALREADY_EXISTS: ::NTSTATUS = 0xC019000Fu32 as i32; +pub const STATUS_TRANSACTION_PROPAGATION_FAILED: ::NTSTATUS = 0xC0190010u32 as i32; +pub const STATUS_CRM_PROTOCOL_NOT_FOUND: ::NTSTATUS = 0xC0190011u32 as i32; +pub const STATUS_TRANSACTION_SUPERIOR_EXISTS: ::NTSTATUS = 0xC0190012u32 as i32; +pub const STATUS_TRANSACTION_REQUEST_NOT_VALID: ::NTSTATUS = 0xC0190013u32 as i32; +pub const STATUS_TRANSACTION_NOT_REQUESTED: ::NTSTATUS = 0xC0190014u32 as i32; +pub const STATUS_TRANSACTION_ALREADY_ABORTED: ::NTSTATUS = 0xC0190015u32 as i32; +pub const STATUS_TRANSACTION_ALREADY_COMMITTED: ::NTSTATUS = 0xC0190016u32 as i32; +pub const STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER: ::NTSTATUS = 0xC0190017u32 as i32; +pub const STATUS_CURRENT_TRANSACTION_NOT_VALID: ::NTSTATUS = 0xC0190018u32 as i32; +pub const STATUS_LOG_GROWTH_FAILED: ::NTSTATUS = 0xC0190019u32 as i32; +pub const STATUS_OBJECT_NO_LONGER_EXISTS: ::NTSTATUS = 0xC0190021u32 as i32; +pub const STATUS_STREAM_MINIVERSION_NOT_FOUND: ::NTSTATUS = 0xC0190022u32 as i32; +pub const STATUS_STREAM_MINIVERSION_NOT_VALID: ::NTSTATUS = 0xC0190023u32 as i32; +pub const STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION: ::NTSTATUS = 0xC0190024u32 as i32; +pub const STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT: ::NTSTATUS = 0xC0190025u32 as i32; +pub const STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS: ::NTSTATUS = 0xC0190026u32 as i32; +pub const STATUS_HANDLE_NO_LONGER_VALID: ::NTSTATUS = 0xC0190028u32 as i32; +pub const STATUS_NO_TXF_METADATA: ::NTSTATUS = 0x80190029u32 as i32; +pub const STATUS_LOG_CORRUPTION_DETECTED: ::NTSTATUS = 0xC0190030u32 as i32; +pub const STATUS_CANT_RECOVER_WITH_HANDLE_OPEN: ::NTSTATUS = 0x80190031u32 as i32; +pub const STATUS_RM_DISCONNECTED: ::NTSTATUS = 0xC0190032u32 as i32; +pub const STATUS_ENLISTMENT_NOT_SUPERIOR: ::NTSTATUS = 0xC0190033u32 as i32; +pub const STATUS_RECOVERY_NOT_NEEDED: ::NTSTATUS = 0x40190034; +pub const STATUS_RM_ALREADY_STARTED: ::NTSTATUS = 0x40190035; +pub const STATUS_FILE_IDENTITY_NOT_PERSISTENT: ::NTSTATUS = 0xC0190036u32 as i32; +pub const STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY: ::NTSTATUS = 0xC0190037u32 as i32; +pub const STATUS_CANT_CROSS_RM_BOUNDARY: ::NTSTATUS = 0xC0190038u32 as i32; +pub const STATUS_TXF_DIR_NOT_EMPTY: ::NTSTATUS = 0xC0190039u32 as i32; +pub const STATUS_INDOUBT_TRANSACTIONS_EXIST: ::NTSTATUS = 0xC019003Au32 as i32; +pub const STATUS_TM_VOLATILE: ::NTSTATUS = 0xC019003Bu32 as i32; +pub const STATUS_ROLLBACK_TIMER_EXPIRED: ::NTSTATUS = 0xC019003Cu32 as i32; +pub const STATUS_TXF_ATTRIBUTE_CORRUPT: ::NTSTATUS = 0xC019003Du32 as i32; +pub const STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION: ::NTSTATUS = 0xC019003Eu32 as i32; +pub const STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED: ::NTSTATUS = 0xC019003Fu32 as i32; +pub const STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE: ::NTSTATUS = 0xC0190040u32 as i32; +pub const STATUS_TXF_METADATA_ALREADY_PRESENT: ::NTSTATUS = 0x80190041u32 as i32; +pub const STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET: ::NTSTATUS = 0x80190042u32 as i32; +pub const STATUS_TRANSACTION_REQUIRED_PROMOTION: ::NTSTATUS = 0xC0190043u32 as i32; +pub const STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION: ::NTSTATUS = 0xC0190044u32 as i32; +pub const STATUS_TRANSACTIONS_NOT_FROZEN: ::NTSTATUS = 0xC0190045u32 as i32; +pub const STATUS_TRANSACTION_FREEZE_IN_PROGRESS: ::NTSTATUS = 0xC0190046u32 as i32; +pub const STATUS_NOT_SNAPSHOT_VOLUME: ::NTSTATUS = 0xC0190047u32 as i32; +pub const STATUS_NO_SAVEPOINT_WITH_OPEN_FILES: ::NTSTATUS = 0xC0190048u32 as i32; +pub const STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION: ::NTSTATUS = 0xC0190049u32 as i32; +pub const STATUS_TM_IDENTITY_MISMATCH: ::NTSTATUS = 0xC019004Au32 as i32; +pub const STATUS_FLOATED_SECTION: ::NTSTATUS = 0xC019004Bu32 as i32; +pub const STATUS_CANNOT_ACCEPT_TRANSACTED_WORK: ::NTSTATUS = 0xC019004Cu32 as i32; +pub const STATUS_CANNOT_ABORT_TRANSACTIONS: ::NTSTATUS = 0xC019004Du32 as i32; +pub const STATUS_TRANSACTION_NOT_FOUND: ::NTSTATUS = 0xC019004Eu32 as i32; +pub const STATUS_RESOURCEMANAGER_NOT_FOUND: ::NTSTATUS = 0xC019004Fu32 as i32; +pub const STATUS_ENLISTMENT_NOT_FOUND: ::NTSTATUS = 0xC0190050u32 as i32; +pub const STATUS_TRANSACTIONMANAGER_NOT_FOUND: ::NTSTATUS = 0xC0190051u32 as i32; +pub const STATUS_TRANSACTIONMANAGER_NOT_ONLINE: ::NTSTATUS = 0xC0190052u32 as i32; +pub const STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION: ::NTSTATUS = 0xC0190053u32 as i32; +pub const STATUS_TRANSACTION_NOT_ROOT: ::NTSTATUS = 0xC0190054u32 as i32; +pub const STATUS_TRANSACTION_OBJECT_EXPIRED: ::NTSTATUS = 0xC0190055u32 as i32; +pub const STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION: ::NTSTATUS = 0xC0190056u32 as i32; +pub const STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED: ::NTSTATUS = 0xC0190057u32 as i32; +pub const STATUS_TRANSACTION_RECORD_TOO_LONG: ::NTSTATUS = 0xC0190058u32 as i32; +pub const STATUS_NO_LINK_TRACKING_IN_TRANSACTION: ::NTSTATUS = 0xC0190059u32 as i32; +pub const STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION: ::NTSTATUS = 0xC019005Au32 as i32; +pub const STATUS_TRANSACTION_INTEGRITY_VIOLATED: ::NTSTATUS = 0xC019005Bu32 as i32; +pub const STATUS_TRANSACTIONMANAGER_IDENTITY_MISMATCH: ::NTSTATUS = 0xC019005Cu32 as i32; +pub const STATUS_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT: ::NTSTATUS = 0xC019005Du32 as i32; +pub const STATUS_TRANSACTION_MUST_WRITETHROUGH: ::NTSTATUS = 0xC019005Eu32 as i32; +pub const STATUS_TRANSACTION_NO_SUPERIOR: ::NTSTATUS = 0xC019005Fu32 as i32; +pub const STATUS_EXPIRED_HANDLE: ::NTSTATUS = 0xC0190060u32 as i32; +pub const STATUS_TRANSACTION_NOT_ENLISTED: ::NTSTATUS = 0xC0190061u32 as i32; +pub const STATUS_LOG_SECTOR_INVALID: ::NTSTATUS = 0xC01A0001u32 as i32; +pub const STATUS_LOG_SECTOR_PARITY_INVALID: ::NTSTATUS = 0xC01A0002u32 as i32; +pub const STATUS_LOG_SECTOR_REMAPPED: ::NTSTATUS = 0xC01A0003u32 as i32; +pub const STATUS_LOG_BLOCK_INCOMPLETE: ::NTSTATUS = 0xC01A0004u32 as i32; +pub const STATUS_LOG_INVALID_RANGE: ::NTSTATUS = 0xC01A0005u32 as i32; +pub const STATUS_LOG_BLOCKS_EXHAUSTED: ::NTSTATUS = 0xC01A0006u32 as i32; +pub const STATUS_LOG_READ_CONTEXT_INVALID: ::NTSTATUS = 0xC01A0007u32 as i32; +pub const STATUS_LOG_RESTART_INVALID: ::NTSTATUS = 0xC01A0008u32 as i32; +pub const STATUS_LOG_BLOCK_VERSION: ::NTSTATUS = 0xC01A0009u32 as i32; +pub const STATUS_LOG_BLOCK_INVALID: ::NTSTATUS = 0xC01A000Au32 as i32; +pub const STATUS_LOG_READ_MODE_INVALID: ::NTSTATUS = 0xC01A000Bu32 as i32; +pub const STATUS_LOG_NO_RESTART: ::NTSTATUS = 0x401A000C; +pub const STATUS_LOG_METADATA_CORRUPT: ::NTSTATUS = 0xC01A000Du32 as i32; +pub const STATUS_LOG_METADATA_INVALID: ::NTSTATUS = 0xC01A000Eu32 as i32; +pub const STATUS_LOG_METADATA_INCONSISTENT: ::NTSTATUS = 0xC01A000Fu32 as i32; +pub const STATUS_LOG_RESERVATION_INVALID: ::NTSTATUS = 0xC01A0010u32 as i32; +pub const STATUS_LOG_CANT_DELETE: ::NTSTATUS = 0xC01A0011u32 as i32; +pub const STATUS_LOG_CONTAINER_LIMIT_EXCEEDED: ::NTSTATUS = 0xC01A0012u32 as i32; +pub const STATUS_LOG_START_OF_LOG: ::NTSTATUS = 0xC01A0013u32 as i32; +pub const STATUS_LOG_POLICY_ALREADY_INSTALLED: ::NTSTATUS = 0xC01A0014u32 as i32; +pub const STATUS_LOG_POLICY_NOT_INSTALLED: ::NTSTATUS = 0xC01A0015u32 as i32; +pub const STATUS_LOG_POLICY_INVALID: ::NTSTATUS = 0xC01A0016u32 as i32; +pub const STATUS_LOG_POLICY_CONFLICT: ::NTSTATUS = 0xC01A0017u32 as i32; +pub const STATUS_LOG_PINNED_ARCHIVE_TAIL: ::NTSTATUS = 0xC01A0018u32 as i32; +pub const STATUS_LOG_RECORD_NONEXISTENT: ::NTSTATUS = 0xC01A0019u32 as i32; +pub const STATUS_LOG_RECORDS_RESERVED_INVALID: ::NTSTATUS = 0xC01A001Au32 as i32; +pub const STATUS_LOG_SPACE_RESERVED_INVALID: ::NTSTATUS = 0xC01A001Bu32 as i32; +pub const STATUS_LOG_TAIL_INVALID: ::NTSTATUS = 0xC01A001Cu32 as i32; +pub const STATUS_LOG_FULL: ::NTSTATUS = 0xC01A001Du32 as i32; +pub const STATUS_LOG_MULTIPLEXED: ::NTSTATUS = 0xC01A001Eu32 as i32; +pub const STATUS_LOG_DEDICATED: ::NTSTATUS = 0xC01A001Fu32 as i32; +pub const STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS: ::NTSTATUS = 0xC01A0020u32 as i32; +pub const STATUS_LOG_ARCHIVE_IN_PROGRESS: ::NTSTATUS = 0xC01A0021u32 as i32; +pub const STATUS_LOG_EPHEMERAL: ::NTSTATUS = 0xC01A0022u32 as i32; +pub const STATUS_LOG_NOT_ENOUGH_CONTAINERS: ::NTSTATUS = 0xC01A0023u32 as i32; +pub const STATUS_LOG_CLIENT_ALREADY_REGISTERED: ::NTSTATUS = 0xC01A0024u32 as i32; +pub const STATUS_LOG_CLIENT_NOT_REGISTERED: ::NTSTATUS = 0xC01A0025u32 as i32; +pub const STATUS_LOG_FULL_HANDLER_IN_PROGRESS: ::NTSTATUS = 0xC01A0026u32 as i32; +pub const STATUS_LOG_CONTAINER_READ_FAILED: ::NTSTATUS = 0xC01A0027u32 as i32; +pub const STATUS_LOG_CONTAINER_WRITE_FAILED: ::NTSTATUS = 0xC01A0028u32 as i32; +pub const STATUS_LOG_CONTAINER_OPEN_FAILED: ::NTSTATUS = 0xC01A0029u32 as i32; +pub const STATUS_LOG_CONTAINER_STATE_INVALID: ::NTSTATUS = 0xC01A002Au32 as i32; +pub const STATUS_LOG_STATE_INVALID: ::NTSTATUS = 0xC01A002Bu32 as i32; +pub const STATUS_LOG_PINNED: ::NTSTATUS = 0xC01A002Cu32 as i32; +pub const STATUS_LOG_METADATA_FLUSH_FAILED: ::NTSTATUS = 0xC01A002Du32 as i32; +pub const STATUS_LOG_INCONSISTENT_SECURITY: ::NTSTATUS = 0xC01A002Eu32 as i32; +pub const STATUS_LOG_APPENDED_FLUSH_FAILED: ::NTSTATUS = 0xC01A002Fu32 as i32; +pub const STATUS_LOG_PINNED_RESERVATION: ::NTSTATUS = 0xC01A0030u32 as i32; +pub const STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD: ::NTSTATUS = 0xC01B00EAu32 as i32; +pub const STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED: ::NTSTATUS = 0x801B00EBu32 as i32; +pub const STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST: ::NTSTATUS = 0x401B00EC; +pub const STATUS_MONITOR_NO_DESCRIPTOR: ::NTSTATUS = 0xC01D0001u32 as i32; +pub const STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT: ::NTSTATUS = 0xC01D0002u32 as i32; +pub const STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM: ::NTSTATUS = 0xC01D0003u32 as i32; +pub const STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK: ::NTSTATUS = 0xC01D0004u32 as i32; +pub const STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED: ::NTSTATUS = 0xC01D0005u32 as i32; +pub const STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK: ::NTSTATUS = 0xC01D0006u32 as i32; +pub const STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK: ::NTSTATUS = 0xC01D0007u32 as i32; +pub const STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA: ::NTSTATUS = 0xC01D0008u32 as i32; +pub const STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK: ::NTSTATUS = 0xC01D0009u32 as i32; +pub const STATUS_MONITOR_INVALID_MANUFACTURE_DATE: ::NTSTATUS = 0xC01D000Au32 as i32; +pub const STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER: ::NTSTATUS = 0xC01E0000u32 as i32; +pub const STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER: ::NTSTATUS = 0xC01E0001u32 as i32; +pub const STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER: ::NTSTATUS = 0xC01E0002u32 as i32; +pub const STATUS_GRAPHICS_ADAPTER_WAS_RESET: ::NTSTATUS = 0xC01E0003u32 as i32; +pub const STATUS_GRAPHICS_INVALID_DRIVER_MODEL: ::NTSTATUS = 0xC01E0004u32 as i32; +pub const STATUS_GRAPHICS_PRESENT_MODE_CHANGED: ::NTSTATUS = 0xC01E0005u32 as i32; +pub const STATUS_GRAPHICS_PRESENT_OCCLUDED: ::NTSTATUS = 0xC01E0006u32 as i32; +pub const STATUS_GRAPHICS_PRESENT_DENIED: ::NTSTATUS = 0xC01E0007u32 as i32; +pub const STATUS_GRAPHICS_CANNOTCOLORCONVERT: ::NTSTATUS = 0xC01E0008u32 as i32; +pub const STATUS_GRAPHICS_DRIVER_MISMATCH: ::NTSTATUS = 0xC01E0009u32 as i32; +pub const STATUS_GRAPHICS_PARTIAL_DATA_POPULATED: ::NTSTATUS = 0x401E000A; +pub const STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED: ::NTSTATUS = 0xC01E000Bu32 as i32; +pub const STATUS_GRAPHICS_PRESENT_UNOCCLUDED: ::NTSTATUS = 0xC01E000Cu32 as i32; +pub const STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE: ::NTSTATUS = 0xC01E000Du32 as i32; +pub const STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED: ::NTSTATUS = 0xC01E000Eu32 as i32; +pub const STATUS_GRAPHICS_NO_VIDEO_MEMORY: ::NTSTATUS = 0xC01E0100u32 as i32; +pub const STATUS_GRAPHICS_CANT_LOCK_MEMORY: ::NTSTATUS = 0xC01E0101u32 as i32; +pub const STATUS_GRAPHICS_ALLOCATION_BUSY: ::NTSTATUS = 0xC01E0102u32 as i32; +pub const STATUS_GRAPHICS_TOO_MANY_REFERENCES: ::NTSTATUS = 0xC01E0103u32 as i32; +pub const STATUS_GRAPHICS_TRY_AGAIN_LATER: ::NTSTATUS = 0xC01E0104u32 as i32; +pub const STATUS_GRAPHICS_TRY_AGAIN_NOW: ::NTSTATUS = 0xC01E0105u32 as i32; +pub const STATUS_GRAPHICS_ALLOCATION_INVALID: ::NTSTATUS = 0xC01E0106u32 as i32; +pub const STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE: ::NTSTATUS = 0xC01E0107u32 as i32; +pub const STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED: ::NTSTATUS = 0xC01E0108u32 as i32; +pub const STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION: ::NTSTATUS = 0xC01E0109u32 as i32; +pub const STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE: ::NTSTATUS = 0xC01E0110u32 as i32; +pub const STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION: ::NTSTATUS = 0xC01E0111u32 as i32; +pub const STATUS_GRAPHICS_ALLOCATION_CLOSED: ::NTSTATUS = 0xC01E0112u32 as i32; +pub const STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE: ::NTSTATUS = 0xC01E0113u32 as i32; +pub const STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE: ::NTSTATUS = 0xC01E0114u32 as i32; +pub const STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE: ::NTSTATUS = 0xC01E0115u32 as i32; +pub const STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST: ::NTSTATUS = 0xC01E0116u32 as i32; +pub const STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE: ::NTSTATUS = 0xC01E0200u32 as i32; +pub const STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION: ::NTSTATUS = 0x401E0201; +pub const STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY: ::NTSTATUS = 0xC01E0300u32 as i32; +pub const STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0301u32 as i32; +pub const STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0302u32 as i32; +pub const STATUS_GRAPHICS_INVALID_VIDPN: ::NTSTATUS = 0xC01E0303u32 as i32; +pub const STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE: ::NTSTATUS = 0xC01E0304u32 as i32; +pub const STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET: ::NTSTATUS = 0xC01E0305u32 as i32; +pub const STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0306u32 as i32; +pub const STATUS_GRAPHICS_MODE_NOT_PINNED: ::NTSTATUS = 0x401E0307; +pub const STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET: ::NTSTATUS = 0xC01E0308u32 as i32; +pub const STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET: ::NTSTATUS = 0xC01E0309u32 as i32; +pub const STATUS_GRAPHICS_INVALID_FREQUENCY: ::NTSTATUS = 0xC01E030Au32 as i32; +pub const STATUS_GRAPHICS_INVALID_ACTIVE_REGION: ::NTSTATUS = 0xC01E030Bu32 as i32; +pub const STATUS_GRAPHICS_INVALID_TOTAL_REGION: ::NTSTATUS = 0xC01E030Cu32 as i32; +pub const STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE: ::NTSTATUS = 0xC01E0310u32 as i32; +pub const STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE: ::NTSTATUS = 0xC01E0311u32 as i32; +pub const STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET: ::NTSTATUS = 0xC01E0312u32 as i32; +pub const STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY: ::NTSTATUS = 0xC01E0313u32 as i32; +pub const STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET: ::NTSTATUS = 0xC01E0314u32 as i32; +pub const STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET: ::NTSTATUS = 0xC01E0315u32 as i32; +pub const STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET: ::NTSTATUS = 0xC01E0316u32 as i32; +pub const STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET: ::NTSTATUS = 0xC01E0317u32 as i32; +pub const STATUS_GRAPHICS_TARGET_ALREADY_IN_SET: ::NTSTATUS = 0xC01E0318u32 as i32; +pub const STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH: ::NTSTATUS = 0xC01E0319u32 as i32; +pub const STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY: ::NTSTATUS = 0xC01E031Au32 as i32; +pub const STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET: ::NTSTATUS = 0xC01E031Bu32 as i32; +pub const STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE: ::NTSTATUS = 0xC01E031Cu32 as i32; +pub const STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET: ::NTSTATUS = 0xC01E031Du32 as i32; +pub const STATUS_GRAPHICS_NO_PREFERRED_MODE: ::NTSTATUS = 0x401E031E; +pub const STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET: ::NTSTATUS = 0xC01E031Fu32 as i32; +pub const STATUS_GRAPHICS_STALE_MODESET: ::NTSTATUS = 0xC01E0320u32 as i32; +pub const STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET: ::NTSTATUS = 0xC01E0321u32 as i32; +pub const STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE: ::NTSTATUS = 0xC01E0322u32 as i32; +pub const STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN: ::NTSTATUS = 0xC01E0323u32 as i32; +pub const STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE: ::NTSTATUS = 0xC01E0324u32 as i32; +pub const STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION: ::NTSTATUS = 0xC01E0325u32 as i32; +pub const STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES: ::NTSTATUS = 0xC01E0326u32 as i32; +pub const STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY: ::NTSTATUS = 0xC01E0327u32 as i32; +pub const STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE: ::NTSTATUS = 0xC01E0328u32 as i32; +pub const STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET: ::NTSTATUS = 0xC01E0329u32 as i32; +pub const STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET: ::NTSTATUS = 0xC01E032Au32 as i32; +pub const STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR: ::NTSTATUS = 0xC01E032Bu32 as i32; +pub const STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET: ::NTSTATUS = 0xC01E032Cu32 as i32; +pub const STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET: ::NTSTATUS = 0xC01E032Du32 as i32; +pub const STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE: ::NTSTATUS = 0xC01E032Eu32 as i32; +pub const STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE: ::NTSTATUS = 0xC01E032Fu32 as i32; +pub const STATUS_GRAPHICS_RESOURCES_NOT_RELATED: ::NTSTATUS = 0xC01E0330u32 as i32; +pub const STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE: ::NTSTATUS = 0xC01E0331u32 as i32; +pub const STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE: ::NTSTATUS = 0xC01E0332u32 as i32; +pub const STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET: ::NTSTATUS = 0xC01E0333u32 as i32; +pub const STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER: ::NTSTATUS = 0xC01E0334u32 as i32; +pub const STATUS_GRAPHICS_NO_VIDPNMGR: ::NTSTATUS = 0xC01E0335u32 as i32; +pub const STATUS_GRAPHICS_NO_ACTIVE_VIDPN: ::NTSTATUS = 0xC01E0336u32 as i32; +pub const STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY: ::NTSTATUS = 0xC01E0337u32 as i32; +pub const STATUS_GRAPHICS_MONITOR_NOT_CONNECTED: ::NTSTATUS = 0xC01E0338u32 as i32; +pub const STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY: ::NTSTATUS = 0xC01E0339u32 as i32; +pub const STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE: ::NTSTATUS = 0xC01E033Au32 as i32; +pub const STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE: ::NTSTATUS = 0xC01E033Bu32 as i32; +pub const STATUS_GRAPHICS_INVALID_STRIDE: ::NTSTATUS = 0xC01E033Cu32 as i32; +pub const STATUS_GRAPHICS_INVALID_PIXELFORMAT: ::NTSTATUS = 0xC01E033Du32 as i32; +pub const STATUS_GRAPHICS_INVALID_COLORBASIS: ::NTSTATUS = 0xC01E033Eu32 as i32; +pub const STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE: ::NTSTATUS = 0xC01E033Fu32 as i32; +pub const STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY: ::NTSTATUS = 0xC01E0340u32 as i32; +pub const STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT: ::NTSTATUS = 0xC01E0341u32 as i32; +pub const STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE: ::NTSTATUS = 0xC01E0342u32 as i32; +pub const STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN: ::NTSTATUS = 0xC01E0343u32 as i32; +pub const STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL: ::NTSTATUS = 0xC01E0344u32 as i32; +pub const STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION: ::NTSTATUS = 0xC01E0345u32 as i32; +pub const STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0346u32 as i32; +pub const STATUS_GRAPHICS_INVALID_GAMMA_RAMP: ::NTSTATUS = 0xC01E0347u32 as i32; +pub const STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0348u32 as i32; +pub const STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0349u32 as i32; +pub const STATUS_GRAPHICS_MODE_NOT_IN_MODESET: ::NTSTATUS = 0xC01E034Au32 as i32; +pub const STATUS_GRAPHICS_DATASET_IS_EMPTY: ::NTSTATUS = 0x401E034B; +pub const STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET: ::NTSTATUS = 0x401E034C; +pub const STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON: ::NTSTATUS = 0xC01E034Du32 as i32; +pub const STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE: ::NTSTATUS = 0xC01E034Eu32 as i32; +pub const STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE: ::NTSTATUS = 0xC01E034Fu32 as i32; +pub const STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS: ::NTSTATUS = 0xC01E0350u32 as i32; +pub const STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED: ::NTSTATUS = 0x401E0351; +pub const STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING: ::NTSTATUS = 0xC01E0352u32 as i32; +pub const STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED: ::NTSTATUS = 0xC01E0353u32 as i32; +pub const STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS: ::NTSTATUS = 0xC01E0354u32 as i32; +pub const STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT: ::NTSTATUS = 0xC01E0355u32 as i32; +pub const STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM: ::NTSTATUS = 0xC01E0356u32 as i32; +pub const STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN: ::NTSTATUS = 0xC01E0357u32 as i32; +pub const STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT: ::NTSTATUS = 0xC01E0358u32 as i32; +pub const STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED: ::NTSTATUS = 0xC01E0359u32 as i32; +pub const STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION: ::NTSTATUS = 0xC01E035Au32 as i32; +pub const STATUS_GRAPHICS_INVALID_CLIENT_TYPE: ::NTSTATUS = 0xC01E035Bu32 as i32; +pub const STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET: ::NTSTATUS = 0xC01E035Cu32 as i32; +pub const STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED: ::NTSTATUS = 0xC01E0400u32 as i32; +pub const STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0401u32 as i32; +pub const STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS: ::NTSTATUS = 0x401E042F; +pub const STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER: ::NTSTATUS = 0xC01E0430u32 as i32; +pub const STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED: ::NTSTATUS = 0xC01E0431u32 as i32; +pub const STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED: ::NTSTATUS = 0xC01E0432u32 as i32; +pub const STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY: ::NTSTATUS = 0xC01E0433u32 as i32; +pub const STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED: ::NTSTATUS = 0xC01E0434u32 as i32; +pub const STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON: ::NTSTATUS = 0xC01E0435u32 as i32; +pub const STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE: ::NTSTATUS = 0xC01E0436u32 as i32; +pub const STATUS_GRAPHICS_LEADLINK_START_DEFERRED: ::NTSTATUS = 0x401E0437; +pub const STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER: ::NTSTATUS = 0xC01E0438u32 as i32; +pub const STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY: ::NTSTATUS = 0x401E0439; +pub const STATUS_GRAPHICS_START_DEFERRED: ::NTSTATUS = 0x401E043A; +pub const STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED: ::NTSTATUS = 0xC01E043Bu32 as i32; +pub const STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS: ::NTSTATUS = 0x401E043C; +pub const STATUS_GRAPHICS_OPM_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0500u32 as i32; +pub const STATUS_GRAPHICS_COPP_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0501u32 as i32; +pub const STATUS_GRAPHICS_UAB_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0502u32 as i32; +pub const STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS: ::NTSTATUS = 0xC01E0503u32 as i32; +pub const STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST: ::NTSTATUS = 0xC01E0505u32 as i32; +pub const STATUS_GRAPHICS_OPM_INTERNAL_ERROR: ::NTSTATUS = 0xC01E050Bu32 as i32; +pub const STATUS_GRAPHICS_OPM_INVALID_HANDLE: ::NTSTATUS = 0xC01E050Cu32 as i32; +pub const STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH: ::NTSTATUS = 0xC01E050Eu32 as i32; +pub const STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED: ::NTSTATUS = 0xC01E050Fu32 as i32; +pub const STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED: ::NTSTATUS = 0xC01E0510u32 as i32; +pub const STATUS_GRAPHICS_PVP_HFS_FAILED: ::NTSTATUS = 0xC01E0511u32 as i32; +pub const STATUS_GRAPHICS_OPM_INVALID_SRM: ::NTSTATUS = 0xC01E0512u32 as i32; +pub const STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP: ::NTSTATUS = 0xC01E0513u32 as i32; +pub const STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP: ::NTSTATUS = 0xC01E0514u32 as i32; +pub const STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA: ::NTSTATUS = 0xC01E0515u32 as i32; +pub const STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET: ::NTSTATUS = 0xC01E0516u32 as i32; +pub const STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH: ::NTSTATUS = 0xC01E0517u32 as i32; +pub const STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE: ::NTSTATUS = 0xC01E0518u32 as i32; +pub const STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS: ::NTSTATUS = 0xC01E051Au32 as i32; +pub const STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS: ::NTSTATUS = 0xC01E051Cu32 as i32; +pub const STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST: ::NTSTATUS = 0xC01E051Du32 as i32; +pub const STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR: ::NTSTATUS = 0xC01E051Eu32 as i32; +pub const STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS: ::NTSTATUS = 0xC01E051Fu32 as i32; +pub const STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0520u32 as i32; +pub const STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST: ::NTSTATUS = 0xC01E0521u32 as i32; +pub const STATUS_GRAPHICS_I2C_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0580u32 as i32; +pub const STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST: ::NTSTATUS = 0xC01E0581u32 as i32; +pub const STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA: ::NTSTATUS = 0xC01E0582u32 as i32; +pub const STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA: ::NTSTATUS = 0xC01E0583u32 as i32; +pub const STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED: ::NTSTATUS = 0xC01E0584u32 as i32; +pub const STATUS_GRAPHICS_DDCCI_INVALID_DATA: ::NTSTATUS = 0xC01E0585u32 as i32; +pub const STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE: ::NTSTATUS = 0xC01E0586u32 as i32; +pub const STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING: ::NTSTATUS = 0xC01E0587u32 as i32; +pub const STATUS_GRAPHICS_MCA_INTERNAL_ERROR: ::NTSTATUS = 0xC01E0588u32 as i32; +pub const STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND: ::NTSTATUS = 0xC01E0589u32 as i32; +pub const STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH: ::NTSTATUS = 0xC01E058Au32 as i32; +pub const STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM: ::NTSTATUS = 0xC01E058Bu32 as i32; +pub const STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE: ::NTSTATUS = 0xC01E058Cu32 as i32; +pub const STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS: ::NTSTATUS = 0xC01E058Du32 as i32; +pub const STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED: ::NTSTATUS = 0xC01E05E0u32 as i32; +pub const STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME: ::NTSTATUS = 0xC01E05E1u32 as i32; +pub const STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP: ::NTSTATUS = 0xC01E05E2u32 as i32; +pub const STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED: ::NTSTATUS = 0xC01E05E3u32 as i32; +pub const STATUS_GRAPHICS_INVALID_POINTER: ::NTSTATUS = 0xC01E05E4u32 as i32; +pub const STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE: ::NTSTATUS = 0xC01E05E5u32 as i32; +pub const STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL: ::NTSTATUS = 0xC01E05E6u32 as i32; +pub const STATUS_GRAPHICS_INTERNAL_ERROR: ::NTSTATUS = 0xC01E05E7u32 as i32; +pub const STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS: ::NTSTATUS = 0xC01E05E8u32 as i32; +pub const STATUS_FVE_LOCKED_VOLUME: ::NTSTATUS = 0xC0210000u32 as i32; +pub const STATUS_FVE_NOT_ENCRYPTED: ::NTSTATUS = 0xC0210001u32 as i32; +pub const STATUS_FVE_BAD_INFORMATION: ::NTSTATUS = 0xC0210002u32 as i32; +pub const STATUS_FVE_TOO_SMALL: ::NTSTATUS = 0xC0210003u32 as i32; +pub const STATUS_FVE_FAILED_WRONG_FS: ::NTSTATUS = 0xC0210004u32 as i32; +pub const STATUS_FVE_BAD_PARTITION_SIZE: ::NTSTATUS = 0xC0210005u32 as i32; +pub const STATUS_FVE_FS_NOT_EXTENDED: ::NTSTATUS = 0xC0210006u32 as i32; +pub const STATUS_FVE_FS_MOUNTED: ::NTSTATUS = 0xC0210007u32 as i32; +pub const STATUS_FVE_NO_LICENSE: ::NTSTATUS = 0xC0210008u32 as i32; +pub const STATUS_FVE_ACTION_NOT_ALLOWED: ::NTSTATUS = 0xC0210009u32 as i32; +pub const STATUS_FVE_BAD_DATA: ::NTSTATUS = 0xC021000Au32 as i32; +pub const STATUS_FVE_VOLUME_NOT_BOUND: ::NTSTATUS = 0xC021000Bu32 as i32; +pub const STATUS_FVE_NOT_DATA_VOLUME: ::NTSTATUS = 0xC021000Cu32 as i32; +pub const STATUS_FVE_CONV_READ_ERROR: ::NTSTATUS = 0xC021000Du32 as i32; +pub const STATUS_FVE_CONV_WRITE_ERROR: ::NTSTATUS = 0xC021000Eu32 as i32; +pub const STATUS_FVE_OVERLAPPED_UPDATE: ::NTSTATUS = 0xC021000Fu32 as i32; +pub const STATUS_FVE_FAILED_SECTOR_SIZE: ::NTSTATUS = 0xC0210010u32 as i32; +pub const STATUS_FVE_FAILED_AUTHENTICATION: ::NTSTATUS = 0xC0210011u32 as i32; +pub const STATUS_FVE_NOT_OS_VOLUME: ::NTSTATUS = 0xC0210012u32 as i32; +pub const STATUS_FVE_KEYFILE_NOT_FOUND: ::NTSTATUS = 0xC0210013u32 as i32; +pub const STATUS_FVE_KEYFILE_INVALID: ::NTSTATUS = 0xC0210014u32 as i32; +pub const STATUS_FVE_KEYFILE_NO_VMK: ::NTSTATUS = 0xC0210015u32 as i32; +pub const STATUS_FVE_TPM_DISABLED: ::NTSTATUS = 0xC0210016u32 as i32; +pub const STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO: ::NTSTATUS = 0xC0210017u32 as i32; +pub const STATUS_FVE_TPM_INVALID_PCR: ::NTSTATUS = 0xC0210018u32 as i32; +pub const STATUS_FVE_TPM_NO_VMK: ::NTSTATUS = 0xC0210019u32 as i32; +pub const STATUS_FVE_PIN_INVALID: ::NTSTATUS = 0xC021001Au32 as i32; +pub const STATUS_FVE_AUTH_INVALID_APPLICATION: ::NTSTATUS = 0xC021001Bu32 as i32; +pub const STATUS_FVE_AUTH_INVALID_CONFIG: ::NTSTATUS = 0xC021001Cu32 as i32; +pub const STATUS_FVE_DEBUGGER_ENABLED: ::NTSTATUS = 0xC021001Du32 as i32; +pub const STATUS_FVE_DRY_RUN_FAILED: ::NTSTATUS = 0xC021001Eu32 as i32; +pub const STATUS_FVE_BAD_METADATA_POINTER: ::NTSTATUS = 0xC021001Fu32 as i32; +pub const STATUS_FVE_OLD_METADATA_COPY: ::NTSTATUS = 0xC0210020u32 as i32; +pub const STATUS_FVE_REBOOT_REQUIRED: ::NTSTATUS = 0xC0210021u32 as i32; +pub const STATUS_FVE_RAW_ACCESS: ::NTSTATUS = 0xC0210022u32 as i32; +pub const STATUS_FVE_RAW_BLOCKED: ::NTSTATUS = 0xC0210023u32 as i32; +pub const STATUS_FVE_NO_AUTOUNLOCK_MASTER_KEY: ::NTSTATUS = 0xC0210024u32 as i32; +pub const STATUS_FVE_MOR_FAILED: ::NTSTATUS = 0xC0210025u32 as i32; +pub const STATUS_FVE_NO_FEATURE_LICENSE: ::NTSTATUS = 0xC0210026u32 as i32; +pub const STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED: ::NTSTATUS = 0xC0210027u32 as i32; +pub const STATUS_FVE_CONV_RECOVERY_FAILED: ::NTSTATUS = 0xC0210028u32 as i32; +pub const STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG: ::NTSTATUS = 0xC0210029u32 as i32; +pub const STATUS_FVE_INVALID_DATUM_TYPE: ::NTSTATUS = 0xC021002Au32 as i32; +pub const STATUS_FVE_VOLUME_TOO_SMALL: ::NTSTATUS = 0xC0210030u32 as i32; +pub const STATUS_FVE_ENH_PIN_INVALID: ::NTSTATUS = 0xC0210031u32 as i32; +pub const STATUS_FVE_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE: ::NTSTATUS = 0xC0210032u32 as i32; +pub const STATUS_FVE_WIPE_NOT_ALLOWED_ON_TP_STORAGE: ::NTSTATUS = 0xC0210033u32 as i32; +pub const STATUS_FVE_NOT_ALLOWED_ON_CSV_STACK: ::NTSTATUS = 0xC0210034u32 as i32; +pub const STATUS_FVE_NOT_ALLOWED_ON_CLUSTER: ::NTSTATUS = 0xC0210035u32 as i32; +pub const STATUS_FVE_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING: ::NTSTATUS = 0xC0210036u32 as i32; +pub const STATUS_FVE_WIPE_CANCEL_NOT_APPLICABLE: ::NTSTATUS = 0xC0210037u32 as i32; +pub const STATUS_FVE_EDRIVE_DRY_RUN_FAILED: ::NTSTATUS = 0xC0210038u32 as i32; +pub const STATUS_FVE_SECUREBOOT_DISABLED: ::NTSTATUS = 0xC0210039u32 as i32; +pub const STATUS_FVE_SECUREBOOT_CONFIG_CHANGE: ::NTSTATUS = 0xC021003Au32 as i32; +pub const STATUS_FVE_DEVICE_LOCKEDOUT: ::NTSTATUS = 0xC021003Bu32 as i32; +pub const STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT: ::NTSTATUS = 0xC021003Cu32 as i32; +pub const STATUS_FVE_NOT_DE_VOLUME: ::NTSTATUS = 0xC021003Du32 as i32; +pub const STATUS_FVE_PROTECTION_DISABLED: ::NTSTATUS = 0xC021003Eu32 as i32; +pub const STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED: ::NTSTATUS = 0xC021003Fu32 as i32; +pub const STATUS_FWP_CALLOUT_NOT_FOUND: ::NTSTATUS = 0xC0220001u32 as i32; +pub const STATUS_FWP_CONDITION_NOT_FOUND: ::NTSTATUS = 0xC0220002u32 as i32; +pub const STATUS_FWP_FILTER_NOT_FOUND: ::NTSTATUS = 0xC0220003u32 as i32; +pub const STATUS_FWP_LAYER_NOT_FOUND: ::NTSTATUS = 0xC0220004u32 as i32; +pub const STATUS_FWP_PROVIDER_NOT_FOUND: ::NTSTATUS = 0xC0220005u32 as i32; +pub const STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND: ::NTSTATUS = 0xC0220006u32 as i32; +pub const STATUS_FWP_SUBLAYER_NOT_FOUND: ::NTSTATUS = 0xC0220007u32 as i32; +pub const STATUS_FWP_NOT_FOUND: ::NTSTATUS = 0xC0220008u32 as i32; +pub const STATUS_FWP_ALREADY_EXISTS: ::NTSTATUS = 0xC0220009u32 as i32; +pub const STATUS_FWP_IN_USE: ::NTSTATUS = 0xC022000Au32 as i32; +pub const STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS: ::NTSTATUS = 0xC022000Bu32 as i32; +pub const STATUS_FWP_WRONG_SESSION: ::NTSTATUS = 0xC022000Cu32 as i32; +pub const STATUS_FWP_NO_TXN_IN_PROGRESS: ::NTSTATUS = 0xC022000Du32 as i32; +pub const STATUS_FWP_TXN_IN_PROGRESS: ::NTSTATUS = 0xC022000Eu32 as i32; +pub const STATUS_FWP_TXN_ABORTED: ::NTSTATUS = 0xC022000Fu32 as i32; +pub const STATUS_FWP_SESSION_ABORTED: ::NTSTATUS = 0xC0220010u32 as i32; +pub const STATUS_FWP_INCOMPATIBLE_TXN: ::NTSTATUS = 0xC0220011u32 as i32; +pub const STATUS_FWP_TIMEOUT: ::NTSTATUS = 0xC0220012u32 as i32; +pub const STATUS_FWP_NET_EVENTS_DISABLED: ::NTSTATUS = 0xC0220013u32 as i32; +pub const STATUS_FWP_INCOMPATIBLE_LAYER: ::NTSTATUS = 0xC0220014u32 as i32; +pub const STATUS_FWP_KM_CLIENTS_ONLY: ::NTSTATUS = 0xC0220015u32 as i32; +pub const STATUS_FWP_LIFETIME_MISMATCH: ::NTSTATUS = 0xC0220016u32 as i32; +pub const STATUS_FWP_BUILTIN_OBJECT: ::NTSTATUS = 0xC0220017u32 as i32; +pub const STATUS_FWP_TOO_MANY_CALLOUTS: ::NTSTATUS = 0xC0220018u32 as i32; +pub const STATUS_FWP_NOTIFICATION_DROPPED: ::NTSTATUS = 0xC0220019u32 as i32; +pub const STATUS_FWP_TRAFFIC_MISMATCH: ::NTSTATUS = 0xC022001Au32 as i32; +pub const STATUS_FWP_INCOMPATIBLE_SA_STATE: ::NTSTATUS = 0xC022001Bu32 as i32; +pub const STATUS_FWP_NULL_POINTER: ::NTSTATUS = 0xC022001Cu32 as i32; +pub const STATUS_FWP_INVALID_ENUMERATOR: ::NTSTATUS = 0xC022001Du32 as i32; +pub const STATUS_FWP_INVALID_FLAGS: ::NTSTATUS = 0xC022001Eu32 as i32; +pub const STATUS_FWP_INVALID_NET_MASK: ::NTSTATUS = 0xC022001Fu32 as i32; +pub const STATUS_FWP_INVALID_RANGE: ::NTSTATUS = 0xC0220020u32 as i32; +pub const STATUS_FWP_INVALID_INTERVAL: ::NTSTATUS = 0xC0220021u32 as i32; +pub const STATUS_FWP_ZERO_LENGTH_ARRAY: ::NTSTATUS = 0xC0220022u32 as i32; +pub const STATUS_FWP_NULL_DISPLAY_NAME: ::NTSTATUS = 0xC0220023u32 as i32; +pub const STATUS_FWP_INVALID_ACTION_TYPE: ::NTSTATUS = 0xC0220024u32 as i32; +pub const STATUS_FWP_INVALID_WEIGHT: ::NTSTATUS = 0xC0220025u32 as i32; +pub const STATUS_FWP_MATCH_TYPE_MISMATCH: ::NTSTATUS = 0xC0220026u32 as i32; +pub const STATUS_FWP_TYPE_MISMATCH: ::NTSTATUS = 0xC0220027u32 as i32; +pub const STATUS_FWP_OUT_OF_BOUNDS: ::NTSTATUS = 0xC0220028u32 as i32; +pub const STATUS_FWP_RESERVED: ::NTSTATUS = 0xC0220029u32 as i32; +pub const STATUS_FWP_DUPLICATE_CONDITION: ::NTSTATUS = 0xC022002Au32 as i32; +pub const STATUS_FWP_DUPLICATE_KEYMOD: ::NTSTATUS = 0xC022002Bu32 as i32; +pub const STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER: ::NTSTATUS = 0xC022002Cu32 as i32; +pub const STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER: ::NTSTATUS = 0xC022002Du32 as i32; +pub const STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER: ::NTSTATUS = 0xC022002Eu32 as i32; +pub const STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT: ::NTSTATUS = 0xC022002Fu32 as i32; +pub const STATUS_FWP_INCOMPATIBLE_AUTH_METHOD: ::NTSTATUS = 0xC0220030u32 as i32; +pub const STATUS_FWP_INCOMPATIBLE_DH_GROUP: ::NTSTATUS = 0xC0220031u32 as i32; +pub const STATUS_FWP_EM_NOT_SUPPORTED: ::NTSTATUS = 0xC0220032u32 as i32; +pub const STATUS_FWP_NEVER_MATCH: ::NTSTATUS = 0xC0220033u32 as i32; +pub const STATUS_FWP_PROVIDER_CONTEXT_MISMATCH: ::NTSTATUS = 0xC0220034u32 as i32; +pub const STATUS_FWP_INVALID_PARAMETER: ::NTSTATUS = 0xC0220035u32 as i32; +pub const STATUS_FWP_TOO_MANY_SUBLAYERS: ::NTSTATUS = 0xC0220036u32 as i32; +pub const STATUS_FWP_CALLOUT_NOTIFICATION_FAILED: ::NTSTATUS = 0xC0220037u32 as i32; +pub const STATUS_FWP_INVALID_AUTH_TRANSFORM: ::NTSTATUS = 0xC0220038u32 as i32; +pub const STATUS_FWP_INVALID_CIPHER_TRANSFORM: ::NTSTATUS = 0xC0220039u32 as i32; +pub const STATUS_FWP_INCOMPATIBLE_CIPHER_TRANSFORM: ::NTSTATUS = 0xC022003Au32 as i32; +pub const STATUS_FWP_INVALID_TRANSFORM_COMBINATION: ::NTSTATUS = 0xC022003Bu32 as i32; +pub const STATUS_FWP_DUPLICATE_AUTH_METHOD: ::NTSTATUS = 0xC022003Cu32 as i32; +pub const STATUS_FWP_INVALID_TUNNEL_ENDPOINT: ::NTSTATUS = 0xC022003Du32 as i32; +pub const STATUS_FWP_L2_DRIVER_NOT_READY: ::NTSTATUS = 0xC022003Eu32 as i32; +pub const STATUS_FWP_KEY_DICTATOR_ALREADY_REGISTERED: ::NTSTATUS = 0xC022003Fu32 as i32; +pub const STATUS_FWP_KEY_DICTATION_INVALID_KEYING_MATERIAL: ::NTSTATUS = 0xC0220040u32 as i32; +pub const STATUS_FWP_CONNECTIONS_DISABLED: ::NTSTATUS = 0xC0220041u32 as i32; +pub const STATUS_FWP_INVALID_DNS_NAME: ::NTSTATUS = 0xC0220042u32 as i32; +pub const STATUS_FWP_STILL_ON: ::NTSTATUS = 0xC0220043u32 as i32; +pub const STATUS_FWP_IKEEXT_NOT_RUNNING: ::NTSTATUS = 0xC0220044u32 as i32; +pub const STATUS_FWP_TCPIP_NOT_READY: ::NTSTATUS = 0xC0220100u32 as i32; +pub const STATUS_FWP_INJECT_HANDLE_CLOSING: ::NTSTATUS = 0xC0220101u32 as i32; +pub const STATUS_FWP_INJECT_HANDLE_STALE: ::NTSTATUS = 0xC0220102u32 as i32; +pub const STATUS_FWP_CANNOT_PEND: ::NTSTATUS = 0xC0220103u32 as i32; +pub const STATUS_FWP_DROP_NOICMP: ::NTSTATUS = 0xC0220104u32 as i32; +pub const STATUS_NDIS_CLOSING: ::NTSTATUS = 0xC0230002u32 as i32; +pub const STATUS_NDIS_BAD_VERSION: ::NTSTATUS = 0xC0230004u32 as i32; +pub const STATUS_NDIS_BAD_CHARACTERISTICS: ::NTSTATUS = 0xC0230005u32 as i32; +pub const STATUS_NDIS_ADAPTER_NOT_FOUND: ::NTSTATUS = 0xC0230006u32 as i32; +pub const STATUS_NDIS_OPEN_FAILED: ::NTSTATUS = 0xC0230007u32 as i32; +pub const STATUS_NDIS_DEVICE_FAILED: ::NTSTATUS = 0xC0230008u32 as i32; +pub const STATUS_NDIS_MULTICAST_FULL: ::NTSTATUS = 0xC0230009u32 as i32; +pub const STATUS_NDIS_MULTICAST_EXISTS: ::NTSTATUS = 0xC023000Au32 as i32; +pub const STATUS_NDIS_MULTICAST_NOT_FOUND: ::NTSTATUS = 0xC023000Bu32 as i32; +pub const STATUS_NDIS_REQUEST_ABORTED: ::NTSTATUS = 0xC023000Cu32 as i32; +pub const STATUS_NDIS_RESET_IN_PROGRESS: ::NTSTATUS = 0xC023000Du32 as i32; +pub const STATUS_NDIS_NOT_SUPPORTED: ::NTSTATUS = 0xC02300BBu32 as i32; +pub const STATUS_NDIS_INVALID_PACKET: ::NTSTATUS = 0xC023000Fu32 as i32; +pub const STATUS_NDIS_ADAPTER_NOT_READY: ::NTSTATUS = 0xC0230011u32 as i32; +pub const STATUS_NDIS_INVALID_LENGTH: ::NTSTATUS = 0xC0230014u32 as i32; +pub const STATUS_NDIS_INVALID_DATA: ::NTSTATUS = 0xC0230015u32 as i32; +pub const STATUS_NDIS_BUFFER_TOO_SHORT: ::NTSTATUS = 0xC0230016u32 as i32; +pub const STATUS_NDIS_INVALID_OID: ::NTSTATUS = 0xC0230017u32 as i32; +pub const STATUS_NDIS_ADAPTER_REMOVED: ::NTSTATUS = 0xC0230018u32 as i32; +pub const STATUS_NDIS_UNSUPPORTED_MEDIA: ::NTSTATUS = 0xC0230019u32 as i32; +pub const STATUS_NDIS_GROUP_ADDRESS_IN_USE: ::NTSTATUS = 0xC023001Au32 as i32; +pub const STATUS_NDIS_FILE_NOT_FOUND: ::NTSTATUS = 0xC023001Bu32 as i32; +pub const STATUS_NDIS_ERROR_READING_FILE: ::NTSTATUS = 0xC023001Cu32 as i32; +pub const STATUS_NDIS_ALREADY_MAPPED: ::NTSTATUS = 0xC023001Du32 as i32; +pub const STATUS_NDIS_RESOURCE_CONFLICT: ::NTSTATUS = 0xC023001Eu32 as i32; +pub const STATUS_NDIS_MEDIA_DISCONNECTED: ::NTSTATUS = 0xC023001Fu32 as i32; +pub const STATUS_NDIS_INVALID_ADDRESS: ::NTSTATUS = 0xC0230022u32 as i32; +pub const STATUS_NDIS_INVALID_DEVICE_REQUEST: ::NTSTATUS = 0xC0230010u32 as i32; +pub const STATUS_NDIS_PAUSED: ::NTSTATUS = 0xC023002Au32 as i32; +pub const STATUS_NDIS_INTERFACE_NOT_FOUND: ::NTSTATUS = 0xC023002Bu32 as i32; +pub const STATUS_NDIS_UNSUPPORTED_REVISION: ::NTSTATUS = 0xC023002Cu32 as i32; +pub const STATUS_NDIS_INVALID_PORT: ::NTSTATUS = 0xC023002Du32 as i32; +pub const STATUS_NDIS_INVALID_PORT_STATE: ::NTSTATUS = 0xC023002Eu32 as i32; +pub const STATUS_NDIS_LOW_POWER_STATE: ::NTSTATUS = 0xC023002Fu32 as i32; +pub const STATUS_NDIS_REINIT_REQUIRED: ::NTSTATUS = 0xC0230030u32 as i32; +pub const STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED: ::NTSTATUS = 0xC0232000u32 as i32; +pub const STATUS_NDIS_DOT11_MEDIA_IN_USE: ::NTSTATUS = 0xC0232001u32 as i32; +pub const STATUS_NDIS_DOT11_POWER_STATE_INVALID: ::NTSTATUS = 0xC0232002u32 as i32; +pub const STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL: ::NTSTATUS = 0xC0232003u32 as i32; +pub const STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL: ::NTSTATUS = 0xC0232004u32 as i32; +pub const STATUS_NDIS_INDICATION_REQUIRED: ::NTSTATUS = 0x40230001; +pub const STATUS_NDIS_OFFLOAD_POLICY: ::NTSTATUS = 0xC023100Fu32 as i32; +pub const STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED: ::NTSTATUS = 0xC0231012u32 as i32; +pub const STATUS_NDIS_OFFLOAD_PATH_REJECTED: ::NTSTATUS = 0xC0231013u32 as i32; +pub const STATUS_TPM_ERROR_MASK: ::NTSTATUS = 0xC0290000u32 as i32; +pub const STATUS_TPM_AUTHFAIL: ::NTSTATUS = 0xC0290001u32 as i32; +pub const STATUS_TPM_BADINDEX: ::NTSTATUS = 0xC0290002u32 as i32; +pub const STATUS_TPM_BAD_PARAMETER: ::NTSTATUS = 0xC0290003u32 as i32; +pub const STATUS_TPM_AUDITFAILURE: ::NTSTATUS = 0xC0290004u32 as i32; +pub const STATUS_TPM_CLEAR_DISABLED: ::NTSTATUS = 0xC0290005u32 as i32; +pub const STATUS_TPM_DEACTIVATED: ::NTSTATUS = 0xC0290006u32 as i32; +pub const STATUS_TPM_DISABLED: ::NTSTATUS = 0xC0290007u32 as i32; +pub const STATUS_TPM_DISABLED_CMD: ::NTSTATUS = 0xC0290008u32 as i32; +pub const STATUS_TPM_FAIL: ::NTSTATUS = 0xC0290009u32 as i32; +pub const STATUS_TPM_BAD_ORDINAL: ::NTSTATUS = 0xC029000Au32 as i32; +pub const STATUS_TPM_INSTALL_DISABLED: ::NTSTATUS = 0xC029000Bu32 as i32; +pub const STATUS_TPM_INVALID_KEYHANDLE: ::NTSTATUS = 0xC029000Cu32 as i32; +pub const STATUS_TPM_KEYNOTFOUND: ::NTSTATUS = 0xC029000Du32 as i32; +pub const STATUS_TPM_INAPPROPRIATE_ENC: ::NTSTATUS = 0xC029000Eu32 as i32; +pub const STATUS_TPM_MIGRATEFAIL: ::NTSTATUS = 0xC029000Fu32 as i32; +pub const STATUS_TPM_INVALID_PCR_INFO: ::NTSTATUS = 0xC0290010u32 as i32; +pub const STATUS_TPM_NOSPACE: ::NTSTATUS = 0xC0290011u32 as i32; +pub const STATUS_TPM_NOSRK: ::NTSTATUS = 0xC0290012u32 as i32; +pub const STATUS_TPM_NOTSEALED_BLOB: ::NTSTATUS = 0xC0290013u32 as i32; +pub const STATUS_TPM_OWNER_SET: ::NTSTATUS = 0xC0290014u32 as i32; +pub const STATUS_TPM_RESOURCES: ::NTSTATUS = 0xC0290015u32 as i32; +pub const STATUS_TPM_SHORTRANDOM: ::NTSTATUS = 0xC0290016u32 as i32; +pub const STATUS_TPM_SIZE: ::NTSTATUS = 0xC0290017u32 as i32; +pub const STATUS_TPM_WRONGPCRVAL: ::NTSTATUS = 0xC0290018u32 as i32; +pub const STATUS_TPM_BAD_PARAM_SIZE: ::NTSTATUS = 0xC0290019u32 as i32; +pub const STATUS_TPM_SHA_THREAD: ::NTSTATUS = 0xC029001Au32 as i32; +pub const STATUS_TPM_SHA_ERROR: ::NTSTATUS = 0xC029001Bu32 as i32; +pub const STATUS_TPM_FAILEDSELFTEST: ::NTSTATUS = 0xC029001Cu32 as i32; +pub const STATUS_TPM_AUTH2FAIL: ::NTSTATUS = 0xC029001Du32 as i32; +pub const STATUS_TPM_BADTAG: ::NTSTATUS = 0xC029001Eu32 as i32; +pub const STATUS_TPM_IOERROR: ::NTSTATUS = 0xC029001Fu32 as i32; +pub const STATUS_TPM_ENCRYPT_ERROR: ::NTSTATUS = 0xC0290020u32 as i32; +pub const STATUS_TPM_DECRYPT_ERROR: ::NTSTATUS = 0xC0290021u32 as i32; +pub const STATUS_TPM_INVALID_AUTHHANDLE: ::NTSTATUS = 0xC0290022u32 as i32; +pub const STATUS_TPM_NO_ENDORSEMENT: ::NTSTATUS = 0xC0290023u32 as i32; +pub const STATUS_TPM_INVALID_KEYUSAGE: ::NTSTATUS = 0xC0290024u32 as i32; +pub const STATUS_TPM_WRONG_ENTITYTYPE: ::NTSTATUS = 0xC0290025u32 as i32; +pub const STATUS_TPM_INVALID_POSTINIT: ::NTSTATUS = 0xC0290026u32 as i32; +pub const STATUS_TPM_INAPPROPRIATE_SIG: ::NTSTATUS = 0xC0290027u32 as i32; +pub const STATUS_TPM_BAD_KEY_PROPERTY: ::NTSTATUS = 0xC0290028u32 as i32; +pub const STATUS_TPM_BAD_MIGRATION: ::NTSTATUS = 0xC0290029u32 as i32; +pub const STATUS_TPM_BAD_SCHEME: ::NTSTATUS = 0xC029002Au32 as i32; +pub const STATUS_TPM_BAD_DATASIZE: ::NTSTATUS = 0xC029002Bu32 as i32; +pub const STATUS_TPM_BAD_MODE: ::NTSTATUS = 0xC029002Cu32 as i32; +pub const STATUS_TPM_BAD_PRESENCE: ::NTSTATUS = 0xC029002Du32 as i32; +pub const STATUS_TPM_BAD_VERSION: ::NTSTATUS = 0xC029002Eu32 as i32; +pub const STATUS_TPM_NO_WRAP_TRANSPORT: ::NTSTATUS = 0xC029002Fu32 as i32; +pub const STATUS_TPM_AUDITFAIL_UNSUCCESSFUL: ::NTSTATUS = 0xC0290030u32 as i32; +pub const STATUS_TPM_AUDITFAIL_SUCCESSFUL: ::NTSTATUS = 0xC0290031u32 as i32; +pub const STATUS_TPM_NOTRESETABLE: ::NTSTATUS = 0xC0290032u32 as i32; +pub const STATUS_TPM_NOTLOCAL: ::NTSTATUS = 0xC0290033u32 as i32; +pub const STATUS_TPM_BAD_TYPE: ::NTSTATUS = 0xC0290034u32 as i32; +pub const STATUS_TPM_INVALID_RESOURCE: ::NTSTATUS = 0xC0290035u32 as i32; +pub const STATUS_TPM_NOTFIPS: ::NTSTATUS = 0xC0290036u32 as i32; +pub const STATUS_TPM_INVALID_FAMILY: ::NTSTATUS = 0xC0290037u32 as i32; +pub const STATUS_TPM_NO_NV_PERMISSION: ::NTSTATUS = 0xC0290038u32 as i32; +pub const STATUS_TPM_REQUIRES_SIGN: ::NTSTATUS = 0xC0290039u32 as i32; +pub const STATUS_TPM_KEY_NOTSUPPORTED: ::NTSTATUS = 0xC029003Au32 as i32; +pub const STATUS_TPM_AUTH_CONFLICT: ::NTSTATUS = 0xC029003Bu32 as i32; +pub const STATUS_TPM_AREA_LOCKED: ::NTSTATUS = 0xC029003Cu32 as i32; +pub const STATUS_TPM_BAD_LOCALITY: ::NTSTATUS = 0xC029003Du32 as i32; +pub const STATUS_TPM_READ_ONLY: ::NTSTATUS = 0xC029003Eu32 as i32; +pub const STATUS_TPM_PER_NOWRITE: ::NTSTATUS = 0xC029003Fu32 as i32; +pub const STATUS_TPM_FAMILYCOUNT: ::NTSTATUS = 0xC0290040u32 as i32; +pub const STATUS_TPM_WRITE_LOCKED: ::NTSTATUS = 0xC0290041u32 as i32; +pub const STATUS_TPM_BAD_ATTRIBUTES: ::NTSTATUS = 0xC0290042u32 as i32; +pub const STATUS_TPM_INVALID_STRUCTURE: ::NTSTATUS = 0xC0290043u32 as i32; +pub const STATUS_TPM_KEY_OWNER_CONTROL: ::NTSTATUS = 0xC0290044u32 as i32; +pub const STATUS_TPM_BAD_COUNTER: ::NTSTATUS = 0xC0290045u32 as i32; +pub const STATUS_TPM_NOT_FULLWRITE: ::NTSTATUS = 0xC0290046u32 as i32; +pub const STATUS_TPM_CONTEXT_GAP: ::NTSTATUS = 0xC0290047u32 as i32; +pub const STATUS_TPM_MAXNVWRITES: ::NTSTATUS = 0xC0290048u32 as i32; +pub const STATUS_TPM_NOOPERATOR: ::NTSTATUS = 0xC0290049u32 as i32; +pub const STATUS_TPM_RESOURCEMISSING: ::NTSTATUS = 0xC029004Au32 as i32; +pub const STATUS_TPM_DELEGATE_LOCK: ::NTSTATUS = 0xC029004Bu32 as i32; +pub const STATUS_TPM_DELEGATE_FAMILY: ::NTSTATUS = 0xC029004Cu32 as i32; +pub const STATUS_TPM_DELEGATE_ADMIN: ::NTSTATUS = 0xC029004Du32 as i32; +pub const STATUS_TPM_TRANSPORT_NOTEXCLUSIVE: ::NTSTATUS = 0xC029004Eu32 as i32; +pub const STATUS_TPM_OWNER_CONTROL: ::NTSTATUS = 0xC029004Fu32 as i32; +pub const STATUS_TPM_DAA_RESOURCES: ::NTSTATUS = 0xC0290050u32 as i32; +pub const STATUS_TPM_DAA_INPUT_DATA0: ::NTSTATUS = 0xC0290051u32 as i32; +pub const STATUS_TPM_DAA_INPUT_DATA1: ::NTSTATUS = 0xC0290052u32 as i32; +pub const STATUS_TPM_DAA_ISSUER_SETTINGS: ::NTSTATUS = 0xC0290053u32 as i32; +pub const STATUS_TPM_DAA_TPM_SETTINGS: ::NTSTATUS = 0xC0290054u32 as i32; +pub const STATUS_TPM_DAA_STAGE: ::NTSTATUS = 0xC0290055u32 as i32; +pub const STATUS_TPM_DAA_ISSUER_VALIDITY: ::NTSTATUS = 0xC0290056u32 as i32; +pub const STATUS_TPM_DAA_WRONG_W: ::NTSTATUS = 0xC0290057u32 as i32; +pub const STATUS_TPM_BAD_HANDLE: ::NTSTATUS = 0xC0290058u32 as i32; +pub const STATUS_TPM_BAD_DELEGATE: ::NTSTATUS = 0xC0290059u32 as i32; +pub const STATUS_TPM_BADCONTEXT: ::NTSTATUS = 0xC029005Au32 as i32; +pub const STATUS_TPM_TOOMANYCONTEXTS: ::NTSTATUS = 0xC029005Bu32 as i32; +pub const STATUS_TPM_MA_TICKET_SIGNATURE: ::NTSTATUS = 0xC029005Cu32 as i32; +pub const STATUS_TPM_MA_DESTINATION: ::NTSTATUS = 0xC029005Du32 as i32; +pub const STATUS_TPM_MA_SOURCE: ::NTSTATUS = 0xC029005Eu32 as i32; +pub const STATUS_TPM_MA_AUTHORITY: ::NTSTATUS = 0xC029005Fu32 as i32; +pub const STATUS_TPM_PERMANENTEK: ::NTSTATUS = 0xC0290061u32 as i32; +pub const STATUS_TPM_BAD_SIGNATURE: ::NTSTATUS = 0xC0290062u32 as i32; +pub const STATUS_TPM_NOCONTEXTSPACE: ::NTSTATUS = 0xC0290063u32 as i32; +pub const STATUS_TPM_COMMAND_BLOCKED: ::NTSTATUS = 0xC0290400u32 as i32; +pub const STATUS_TPM_INVALID_HANDLE: ::NTSTATUS = 0xC0290401u32 as i32; +pub const STATUS_TPM_DUPLICATE_VHANDLE: ::NTSTATUS = 0xC0290402u32 as i32; +pub const STATUS_TPM_EMBEDDED_COMMAND_BLOCKED: ::NTSTATUS = 0xC0290403u32 as i32; +pub const STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED: ::NTSTATUS = 0xC0290404u32 as i32; +pub const STATUS_TPM_RETRY: ::NTSTATUS = 0xC0290800u32 as i32; +pub const STATUS_TPM_NEEDS_SELFTEST: ::NTSTATUS = 0xC0290801u32 as i32; +pub const STATUS_TPM_DOING_SELFTEST: ::NTSTATUS = 0xC0290802u32 as i32; +pub const STATUS_TPM_DEFEND_LOCK_RUNNING: ::NTSTATUS = 0xC0290803u32 as i32; +pub const STATUS_TPM_COMMAND_CANCELED: ::NTSTATUS = 0xC0291001u32 as i32; +pub const STATUS_TPM_TOO_MANY_CONTEXTS: ::NTSTATUS = 0xC0291002u32 as i32; +pub const STATUS_TPM_NOT_FOUND: ::NTSTATUS = 0xC0291003u32 as i32; +pub const STATUS_TPM_ACCESS_DENIED: ::NTSTATUS = 0xC0291004u32 as i32; +pub const STATUS_TPM_INSUFFICIENT_BUFFER: ::NTSTATUS = 0xC0291005u32 as i32; +pub const STATUS_TPM_PPI_FUNCTION_UNSUPPORTED: ::NTSTATUS = 0xC0291006u32 as i32; +pub const STATUS_PCP_ERROR_MASK: ::NTSTATUS = 0xC0292000u32 as i32; +pub const STATUS_PCP_DEVICE_NOT_READY: ::NTSTATUS = 0xC0292001u32 as i32; +pub const STATUS_PCP_INVALID_HANDLE: ::NTSTATUS = 0xC0292002u32 as i32; +pub const STATUS_PCP_INVALID_PARAMETER: ::NTSTATUS = 0xC0292003u32 as i32; +pub const STATUS_PCP_FLAG_NOT_SUPPORTED: ::NTSTATUS = 0xC0292004u32 as i32; +pub const STATUS_PCP_NOT_SUPPORTED: ::NTSTATUS = 0xC0292005u32 as i32; +pub const STATUS_PCP_BUFFER_TOO_SMALL: ::NTSTATUS = 0xC0292006u32 as i32; +pub const STATUS_PCP_INTERNAL_ERROR: ::NTSTATUS = 0xC0292007u32 as i32; +pub const STATUS_PCP_AUTHENTICATION_FAILED: ::NTSTATUS = 0xC0292008u32 as i32; +pub const STATUS_PCP_AUTHENTICATION_IGNORED: ::NTSTATUS = 0xC0292009u32 as i32; +pub const STATUS_PCP_POLICY_NOT_FOUND: ::NTSTATUS = 0xC029200Au32 as i32; +pub const STATUS_PCP_PROFILE_NOT_FOUND: ::NTSTATUS = 0xC029200Bu32 as i32; +pub const STATUS_PCP_VALIDATION_FAILED: ::NTSTATUS = 0xC029200Cu32 as i32; +pub const STATUS_PCP_DEVICE_NOT_FOUND: ::NTSTATUS = 0xC029200Du32 as i32; +pub const STATUS_RTPM_CONTEXT_CONTINUE: ::NTSTATUS = 0x00293000; +pub const STATUS_RTPM_CONTEXT_COMPLETE: ::NTSTATUS = 0x00293001; +pub const STATUS_RTPM_NO_RESULT: ::NTSTATUS = 0xC0293002u32 as i32; +pub const STATUS_RTPM_PCR_READ_INCOMPLETE: ::NTSTATUS = 0xC0293003u32 as i32; +pub const STATUS_RTPM_INVALID_CONTEXT: ::NTSTATUS = 0xC0293004u32 as i32; +pub const STATUS_RTPM_UNSUPPORTED_CMD: ::NTSTATUS = 0xC0293005u32 as i32; +pub const STATUS_HV_INVALID_HYPERCALL_CODE: ::NTSTATUS = 0xC0350002u32 as i32; +pub const STATUS_HV_INVALID_HYPERCALL_INPUT: ::NTSTATUS = 0xC0350003u32 as i32; +pub const STATUS_HV_INVALID_ALIGNMENT: ::NTSTATUS = 0xC0350004u32 as i32; +pub const STATUS_HV_INVALID_PARAMETER: ::NTSTATUS = 0xC0350005u32 as i32; +pub const STATUS_HV_ACCESS_DENIED: ::NTSTATUS = 0xC0350006u32 as i32; +pub const STATUS_HV_INVALID_PARTITION_STATE: ::NTSTATUS = 0xC0350007u32 as i32; +pub const STATUS_HV_OPERATION_DENIED: ::NTSTATUS = 0xC0350008u32 as i32; +pub const STATUS_HV_UNKNOWN_PROPERTY: ::NTSTATUS = 0xC0350009u32 as i32; +pub const STATUS_HV_PROPERTY_VALUE_OUT_OF_RANGE: ::NTSTATUS = 0xC035000Au32 as i32; +pub const STATUS_HV_INSUFFICIENT_MEMORY: ::NTSTATUS = 0xC035000Bu32 as i32; +pub const STATUS_HV_PARTITION_TOO_DEEP: ::NTSTATUS = 0xC035000Cu32 as i32; +pub const STATUS_HV_INVALID_PARTITION_ID: ::NTSTATUS = 0xC035000Du32 as i32; +pub const STATUS_HV_INVALID_VP_INDEX: ::NTSTATUS = 0xC035000Eu32 as i32; +pub const STATUS_HV_INVALID_PORT_ID: ::NTSTATUS = 0xC0350011u32 as i32; +pub const STATUS_HV_INVALID_CONNECTION_ID: ::NTSTATUS = 0xC0350012u32 as i32; +pub const STATUS_HV_INSUFFICIENT_BUFFERS: ::NTSTATUS = 0xC0350013u32 as i32; +pub const STATUS_HV_NOT_ACKNOWLEDGED: ::NTSTATUS = 0xC0350014u32 as i32; +pub const STATUS_HV_ACKNOWLEDGED: ::NTSTATUS = 0xC0350016u32 as i32; +pub const STATUS_HV_INVALID_SAVE_RESTORE_STATE: ::NTSTATUS = 0xC0350017u32 as i32; +pub const STATUS_HV_INVALID_SYNIC_STATE: ::NTSTATUS = 0xC0350018u32 as i32; +pub const STATUS_HV_OBJECT_IN_USE: ::NTSTATUS = 0xC0350019u32 as i32; +pub const STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO: ::NTSTATUS = 0xC035001Au32 as i32; +pub const STATUS_HV_NO_DATA: ::NTSTATUS = 0xC035001Bu32 as i32; +pub const STATUS_HV_INACTIVE: ::NTSTATUS = 0xC035001Cu32 as i32; +pub const STATUS_HV_NO_RESOURCES: ::NTSTATUS = 0xC035001Du32 as i32; +pub const STATUS_HV_FEATURE_UNAVAILABLE: ::NTSTATUS = 0xC035001Eu32 as i32; +pub const STATUS_HV_INSUFFICIENT_BUFFER: ::NTSTATUS = 0xC0350033u32 as i32; +pub const STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS: ::NTSTATUS = 0xC0350038u32 as i32; +pub const STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR: ::NTSTATUS = 0xC035003Cu32 as i32; +pub const STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR: ::NTSTATUS = 0xC035003Du32 as i32; +pub const STATUS_HV_PROCESSOR_STARTUP_TIMEOUT: ::NTSTATUS = 0xC035003Eu32 as i32; +pub const STATUS_HV_SMX_ENABLED: ::NTSTATUS = 0xC035003Fu32 as i32; +pub const STATUS_HV_INVALID_LP_INDEX: ::NTSTATUS = 0xC0350041u32 as i32; +pub const STATUS_HV_INVALID_REGISTER_VALUE: ::NTSTATUS = 0xC0350050u32 as i32; +pub const STATUS_HV_INVALID_VTL_STATE: ::NTSTATUS = 0xC0350051u32 as i32; +pub const STATUS_HV_NX_NOT_DETECTED: ::NTSTATUS = 0xC0350055u32 as i32; +pub const STATUS_HV_INVALID_DEVICE_ID: ::NTSTATUS = 0xC0350057u32 as i32; +pub const STATUS_HV_INVALID_DEVICE_STATE: ::NTSTATUS = 0xC0350058u32 as i32; +pub const STATUS_HV_PENDING_PAGE_REQUESTS: ::NTSTATUS = 0x00350059; +pub const STATUS_HV_PAGE_REQUEST_INVALID: ::NTSTATUS = 0xC0350060u32 as i32; +pub const STATUS_HV_NOT_PRESENT: ::NTSTATUS = 0xC0351000u32 as i32; +pub const STATUS_VID_DUPLICATE_HANDLER: ::NTSTATUS = 0xC0370001u32 as i32; +pub const STATUS_VID_TOO_MANY_HANDLERS: ::NTSTATUS = 0xC0370002u32 as i32; +pub const STATUS_VID_QUEUE_FULL: ::NTSTATUS = 0xC0370003u32 as i32; +pub const STATUS_VID_HANDLER_NOT_PRESENT: ::NTSTATUS = 0xC0370004u32 as i32; +pub const STATUS_VID_INVALID_OBJECT_NAME: ::NTSTATUS = 0xC0370005u32 as i32; +pub const STATUS_VID_PARTITION_NAME_TOO_LONG: ::NTSTATUS = 0xC0370006u32 as i32; +pub const STATUS_VID_MESSAGE_QUEUE_NAME_TOO_LONG: ::NTSTATUS = 0xC0370007u32 as i32; +pub const STATUS_VID_PARTITION_ALREADY_EXISTS: ::NTSTATUS = 0xC0370008u32 as i32; +pub const STATUS_VID_PARTITION_DOES_NOT_EXIST: ::NTSTATUS = 0xC0370009u32 as i32; +pub const STATUS_VID_PARTITION_NAME_NOT_FOUND: ::NTSTATUS = 0xC037000Au32 as i32; +pub const STATUS_VID_MESSAGE_QUEUE_ALREADY_EXISTS: ::NTSTATUS = 0xC037000Bu32 as i32; +pub const STATUS_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT: ::NTSTATUS = 0xC037000Cu32 as i32; +pub const STATUS_VID_MB_STILL_REFERENCED: ::NTSTATUS = 0xC037000Du32 as i32; +pub const STATUS_VID_CHILD_GPA_PAGE_SET_CORRUPTED: ::NTSTATUS = 0xC037000Eu32 as i32; +pub const STATUS_VID_INVALID_NUMA_SETTINGS: ::NTSTATUS = 0xC037000Fu32 as i32; +pub const STATUS_VID_INVALID_NUMA_NODE_INDEX: ::NTSTATUS = 0xC0370010u32 as i32; +pub const STATUS_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED: ::NTSTATUS = 0xC0370011u32 as i32; +pub const STATUS_VID_INVALID_MEMORY_BLOCK_HANDLE: ::NTSTATUS = 0xC0370012u32 as i32; +pub const STATUS_VID_PAGE_RANGE_OVERFLOW: ::NTSTATUS = 0xC0370013u32 as i32; +pub const STATUS_VID_INVALID_MESSAGE_QUEUE_HANDLE: ::NTSTATUS = 0xC0370014u32 as i32; +pub const STATUS_VID_INVALID_GPA_RANGE_HANDLE: ::NTSTATUS = 0xC0370015u32 as i32; +pub const STATUS_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE: ::NTSTATUS = 0xC0370016u32 as i32; +pub const STATUS_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED: ::NTSTATUS = 0xC0370017u32 as i32; +pub const STATUS_VID_INVALID_PPM_HANDLE: ::NTSTATUS = 0xC0370018u32 as i32; +pub const STATUS_VID_MBPS_ARE_LOCKED: ::NTSTATUS = 0xC0370019u32 as i32; +pub const STATUS_VID_MESSAGE_QUEUE_CLOSED: ::NTSTATUS = 0xC037001Au32 as i32; +pub const STATUS_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED: ::NTSTATUS = 0xC037001Bu32 as i32; +pub const STATUS_VID_STOP_PENDING: ::NTSTATUS = 0xC037001Cu32 as i32; +pub const STATUS_VID_INVALID_PROCESSOR_STATE: ::NTSTATUS = 0xC037001Du32 as i32; +pub const STATUS_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT: ::NTSTATUS = 0xC037001Eu32 as i32; +pub const STATUS_VID_KM_INTERFACE_ALREADY_INITIALIZED: ::NTSTATUS = 0xC037001Fu32 as i32; +pub const STATUS_VID_MB_PROPERTY_ALREADY_SET_RESET: ::NTSTATUS = 0xC0370020u32 as i32; +pub const STATUS_VID_MMIO_RANGE_DESTROYED: ::NTSTATUS = 0xC0370021u32 as i32; +pub const STATUS_VID_INVALID_CHILD_GPA_PAGE_SET: ::NTSTATUS = 0xC0370022u32 as i32; +pub const STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED: ::NTSTATUS = 0xC0370023u32 as i32; +pub const STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL: ::NTSTATUS = 0xC0370024u32 as i32; +pub const STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE: ::NTSTATUS = 0xC0370025u32 as i32; +pub const STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT: ::NTSTATUS = 0xC0370026u32 as i32; +pub const STATUS_VID_SAVED_STATE_CORRUPT: ::NTSTATUS = 0xC0370027u32 as i32; +pub const STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM: ::NTSTATUS = 0xC0370028u32 as i32; +pub const STATUS_VID_SAVED_STATE_INCOMPATIBLE: ::NTSTATUS = 0xC0370029u32 as i32; +pub const STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED: ::NTSTATUS = 0x80370001u32 as i32; +pub const STATUS_IPSEC_BAD_SPI: ::NTSTATUS = 0xC0360001u32 as i32; +pub const STATUS_IPSEC_SA_LIFETIME_EXPIRED: ::NTSTATUS = 0xC0360002u32 as i32; +pub const STATUS_IPSEC_WRONG_SA: ::NTSTATUS = 0xC0360003u32 as i32; +pub const STATUS_IPSEC_REPLAY_CHECK_FAILED: ::NTSTATUS = 0xC0360004u32 as i32; +pub const STATUS_IPSEC_INVALID_PACKET: ::NTSTATUS = 0xC0360005u32 as i32; +pub const STATUS_IPSEC_INTEGRITY_CHECK_FAILED: ::NTSTATUS = 0xC0360006u32 as i32; +pub const STATUS_IPSEC_CLEAR_TEXT_DROP: ::NTSTATUS = 0xC0360007u32 as i32; +pub const STATUS_IPSEC_AUTH_FIREWALL_DROP: ::NTSTATUS = 0xC0360008u32 as i32; +pub const STATUS_IPSEC_THROTTLE_DROP: ::NTSTATUS = 0xC0360009u32 as i32; +pub const STATUS_IPSEC_DOSP_BLOCK: ::NTSTATUS = 0xC0368000u32 as i32; +pub const STATUS_IPSEC_DOSP_RECEIVED_MULTICAST: ::NTSTATUS = 0xC0368001u32 as i32; +pub const STATUS_IPSEC_DOSP_INVALID_PACKET: ::NTSTATUS = 0xC0368002u32 as i32; +pub const STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED: ::NTSTATUS = 0xC0368003u32 as i32; +pub const STATUS_IPSEC_DOSP_MAX_ENTRIES: ::NTSTATUS = 0xC0368004u32 as i32; +pub const STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED: ::NTSTATUS = 0xC0368005u32 as i32; +pub const STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES: ::NTSTATUS = 0xC0368006u32 as i32; +pub const STATUS_VOLMGR_INCOMPLETE_REGENERATION: ::NTSTATUS = 0x80380001u32 as i32; +pub const STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION: ::NTSTATUS = 0x80380002u32 as i32; +pub const STATUS_VOLMGR_DATABASE_FULL: ::NTSTATUS = 0xC0380001u32 as i32; +pub const STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED: ::NTSTATUS = 0xC0380002u32 as i32; +pub const STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC: ::NTSTATUS = 0xC0380003u32 as i32; +pub const STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED: ::NTSTATUS = 0xC0380004u32 as i32; +pub const STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME: ::NTSTATUS = 0xC0380005u32 as i32; +pub const STATUS_VOLMGR_DISK_DUPLICATE: ::NTSTATUS = 0xC0380006u32 as i32; +pub const STATUS_VOLMGR_DISK_DYNAMIC: ::NTSTATUS = 0xC0380007u32 as i32; +pub const STATUS_VOLMGR_DISK_ID_INVALID: ::NTSTATUS = 0xC0380008u32 as i32; +pub const STATUS_VOLMGR_DISK_INVALID: ::NTSTATUS = 0xC0380009u32 as i32; +pub const STATUS_VOLMGR_DISK_LAST_VOTER: ::NTSTATUS = 0xC038000Au32 as i32; +pub const STATUS_VOLMGR_DISK_LAYOUT_INVALID: ::NTSTATUS = 0xC038000Bu32 as i32; +pub const STATUS_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS: ::NTSTATUS = 0xC038000Cu32 as i32; +pub const STATUS_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED: ::NTSTATUS = 0xC038000Du32 as i32; +pub const STATUS_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL: ::NTSTATUS = 0xC038000Eu32 as i32; +pub const STATUS_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS: ::NTSTATUS = 0xC038000Fu32 as i32; +pub const STATUS_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS: ::NTSTATUS = 0xC0380010u32 as i32; +pub const STATUS_VOLMGR_DISK_MISSING: ::NTSTATUS = 0xC0380011u32 as i32; +pub const STATUS_VOLMGR_DISK_NOT_EMPTY: ::NTSTATUS = 0xC0380012u32 as i32; +pub const STATUS_VOLMGR_DISK_NOT_ENOUGH_SPACE: ::NTSTATUS = 0xC0380013u32 as i32; +pub const STATUS_VOLMGR_DISK_REVECTORING_FAILED: ::NTSTATUS = 0xC0380014u32 as i32; +pub const STATUS_VOLMGR_DISK_SECTOR_SIZE_INVALID: ::NTSTATUS = 0xC0380015u32 as i32; +pub const STATUS_VOLMGR_DISK_SET_NOT_CONTAINED: ::NTSTATUS = 0xC0380016u32 as i32; +pub const STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS: ::NTSTATUS = 0xC0380017u32 as i32; +pub const STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES: ::NTSTATUS = 0xC0380018u32 as i32; +pub const STATUS_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED: ::NTSTATUS = 0xC0380019u32 as i32; +pub const STATUS_VOLMGR_EXTENT_ALREADY_USED: ::NTSTATUS = 0xC038001Au32 as i32; +pub const STATUS_VOLMGR_EXTENT_NOT_CONTIGUOUS: ::NTSTATUS = 0xC038001Bu32 as i32; +pub const STATUS_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION: ::NTSTATUS = 0xC038001Cu32 as i32; +pub const STATUS_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED: ::NTSTATUS = 0xC038001Du32 as i32; +pub const STATUS_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION: ::NTSTATUS = 0xC038001Eu32 as i32; +pub const STATUS_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH: ::NTSTATUS = 0xC038001Fu32 as i32; +pub const STATUS_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED: ::NTSTATUS = 0xC0380020u32 as i32; +pub const STATUS_VOLMGR_INTERLEAVE_LENGTH_INVALID: ::NTSTATUS = 0xC0380021u32 as i32; +pub const STATUS_VOLMGR_MAXIMUM_REGISTERED_USERS: ::NTSTATUS = 0xC0380022u32 as i32; +pub const STATUS_VOLMGR_MEMBER_IN_SYNC: ::NTSTATUS = 0xC0380023u32 as i32; +pub const STATUS_VOLMGR_MEMBER_INDEX_DUPLICATE: ::NTSTATUS = 0xC0380024u32 as i32; +pub const STATUS_VOLMGR_MEMBER_INDEX_INVALID: ::NTSTATUS = 0xC0380025u32 as i32; +pub const STATUS_VOLMGR_MEMBER_MISSING: ::NTSTATUS = 0xC0380026u32 as i32; +pub const STATUS_VOLMGR_MEMBER_NOT_DETACHED: ::NTSTATUS = 0xC0380027u32 as i32; +pub const STATUS_VOLMGR_MEMBER_REGENERATING: ::NTSTATUS = 0xC0380028u32 as i32; +pub const STATUS_VOLMGR_ALL_DISKS_FAILED: ::NTSTATUS = 0xC0380029u32 as i32; +pub const STATUS_VOLMGR_NO_REGISTERED_USERS: ::NTSTATUS = 0xC038002Au32 as i32; +pub const STATUS_VOLMGR_NO_SUCH_USER: ::NTSTATUS = 0xC038002Bu32 as i32; +pub const STATUS_VOLMGR_NOTIFICATION_RESET: ::NTSTATUS = 0xC038002Cu32 as i32; +pub const STATUS_VOLMGR_NUMBER_OF_MEMBERS_INVALID: ::NTSTATUS = 0xC038002Du32 as i32; +pub const STATUS_VOLMGR_NUMBER_OF_PLEXES_INVALID: ::NTSTATUS = 0xC038002Eu32 as i32; +pub const STATUS_VOLMGR_PACK_DUPLICATE: ::NTSTATUS = 0xC038002Fu32 as i32; +pub const STATUS_VOLMGR_PACK_ID_INVALID: ::NTSTATUS = 0xC0380030u32 as i32; +pub const STATUS_VOLMGR_PACK_INVALID: ::NTSTATUS = 0xC0380031u32 as i32; +pub const STATUS_VOLMGR_PACK_NAME_INVALID: ::NTSTATUS = 0xC0380032u32 as i32; +pub const STATUS_VOLMGR_PACK_OFFLINE: ::NTSTATUS = 0xC0380033u32 as i32; +pub const STATUS_VOLMGR_PACK_HAS_QUORUM: ::NTSTATUS = 0xC0380034u32 as i32; +pub const STATUS_VOLMGR_PACK_WITHOUT_QUORUM: ::NTSTATUS = 0xC0380035u32 as i32; +pub const STATUS_VOLMGR_PARTITION_STYLE_INVALID: ::NTSTATUS = 0xC0380036u32 as i32; +pub const STATUS_VOLMGR_PARTITION_UPDATE_FAILED: ::NTSTATUS = 0xC0380037u32 as i32; +pub const STATUS_VOLMGR_PLEX_IN_SYNC: ::NTSTATUS = 0xC0380038u32 as i32; +pub const STATUS_VOLMGR_PLEX_INDEX_DUPLICATE: ::NTSTATUS = 0xC0380039u32 as i32; +pub const STATUS_VOLMGR_PLEX_INDEX_INVALID: ::NTSTATUS = 0xC038003Au32 as i32; +pub const STATUS_VOLMGR_PLEX_LAST_ACTIVE: ::NTSTATUS = 0xC038003Bu32 as i32; +pub const STATUS_VOLMGR_PLEX_MISSING: ::NTSTATUS = 0xC038003Cu32 as i32; +pub const STATUS_VOLMGR_PLEX_REGENERATING: ::NTSTATUS = 0xC038003Du32 as i32; +pub const STATUS_VOLMGR_PLEX_TYPE_INVALID: ::NTSTATUS = 0xC038003Eu32 as i32; +pub const STATUS_VOLMGR_PLEX_NOT_RAID5: ::NTSTATUS = 0xC038003Fu32 as i32; +pub const STATUS_VOLMGR_PLEX_NOT_SIMPLE: ::NTSTATUS = 0xC0380040u32 as i32; +pub const STATUS_VOLMGR_STRUCTURE_SIZE_INVALID: ::NTSTATUS = 0xC0380041u32 as i32; +pub const STATUS_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS: ::NTSTATUS = 0xC0380042u32 as i32; +pub const STATUS_VOLMGR_TRANSACTION_IN_PROGRESS: ::NTSTATUS = 0xC0380043u32 as i32; +pub const STATUS_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE: ::NTSTATUS = 0xC0380044u32 as i32; +pub const STATUS_VOLMGR_VOLUME_CONTAINS_MISSING_DISK: ::NTSTATUS = 0xC0380045u32 as i32; +pub const STATUS_VOLMGR_VOLUME_ID_INVALID: ::NTSTATUS = 0xC0380046u32 as i32; +pub const STATUS_VOLMGR_VOLUME_LENGTH_INVALID: ::NTSTATUS = 0xC0380047u32 as i32; +pub const STATUS_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE: ::NTSTATUS = 0xC0380048u32 as i32; +pub const STATUS_VOLMGR_VOLUME_NOT_MIRRORED: ::NTSTATUS = 0xC0380049u32 as i32; +pub const STATUS_VOLMGR_VOLUME_NOT_RETAINED: ::NTSTATUS = 0xC038004Au32 as i32; +pub const STATUS_VOLMGR_VOLUME_OFFLINE: ::NTSTATUS = 0xC038004Bu32 as i32; +pub const STATUS_VOLMGR_VOLUME_RETAINED: ::NTSTATUS = 0xC038004Cu32 as i32; +pub const STATUS_VOLMGR_NUMBER_OF_EXTENTS_INVALID: ::NTSTATUS = 0xC038004Du32 as i32; +pub const STATUS_VOLMGR_DIFFERENT_SECTOR_SIZE: ::NTSTATUS = 0xC038004Eu32 as i32; +pub const STATUS_VOLMGR_BAD_BOOT_DISK: ::NTSTATUS = 0xC038004Fu32 as i32; +pub const STATUS_VOLMGR_PACK_CONFIG_OFFLINE: ::NTSTATUS = 0xC0380050u32 as i32; +pub const STATUS_VOLMGR_PACK_CONFIG_ONLINE: ::NTSTATUS = 0xC0380051u32 as i32; +pub const STATUS_VOLMGR_NOT_PRIMARY_PACK: ::NTSTATUS = 0xC0380052u32 as i32; +pub const STATUS_VOLMGR_PACK_LOG_UPDATE_FAILED: ::NTSTATUS = 0xC0380053u32 as i32; +pub const STATUS_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID: ::NTSTATUS = 0xC0380054u32 as i32; +pub const STATUS_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID: ::NTSTATUS = 0xC0380055u32 as i32; +pub const STATUS_VOLMGR_VOLUME_MIRRORED: ::NTSTATUS = 0xC0380056u32 as i32; +pub const STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNED: ::NTSTATUS = 0xC0380057u32 as i32; +pub const STATUS_VOLMGR_NO_VALID_LOG_COPIES: ::NTSTATUS = 0xC0380058u32 as i32; +pub const STATUS_VOLMGR_PRIMARY_PACK_PRESENT: ::NTSTATUS = 0xC0380059u32 as i32; +pub const STATUS_VOLMGR_NUMBER_OF_DISKS_INVALID: ::NTSTATUS = 0xC038005Au32 as i32; +pub const STATUS_VOLMGR_MIRROR_NOT_SUPPORTED: ::NTSTATUS = 0xC038005Bu32 as i32; +pub const STATUS_VOLMGR_RAID5_NOT_SUPPORTED: ::NTSTATUS = 0xC038005Cu32 as i32; +pub const STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED: ::NTSTATUS = 0x80390001u32 as i32; +pub const STATUS_BCD_TOO_MANY_ELEMENTS: ::NTSTATUS = 0xC0390002u32 as i32; +pub const STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED: ::NTSTATUS = 0x80390003u32 as i32; +pub const STATUS_VHD_DRIVE_FOOTER_MISSING: ::NTSTATUS = 0xC03A0001u32 as i32; +pub const STATUS_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH: ::NTSTATUS = 0xC03A0002u32 as i32; +pub const STATUS_VHD_DRIVE_FOOTER_CORRUPT: ::NTSTATUS = 0xC03A0003u32 as i32; +pub const STATUS_VHD_FORMAT_UNKNOWN: ::NTSTATUS = 0xC03A0004u32 as i32; +pub const STATUS_VHD_FORMAT_UNSUPPORTED_VERSION: ::NTSTATUS = 0xC03A0005u32 as i32; +pub const STATUS_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH: ::NTSTATUS = 0xC03A0006u32 as i32; +pub const STATUS_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION: ::NTSTATUS = 0xC03A0007u32 as i32; +pub const STATUS_VHD_SPARSE_HEADER_CORRUPT: ::NTSTATUS = 0xC03A0008u32 as i32; +pub const STATUS_VHD_BLOCK_ALLOCATION_FAILURE: ::NTSTATUS = 0xC03A0009u32 as i32; +pub const STATUS_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT: ::NTSTATUS = 0xC03A000Au32 as i32; +pub const STATUS_VHD_INVALID_BLOCK_SIZE: ::NTSTATUS = 0xC03A000Bu32 as i32; +pub const STATUS_VHD_BITMAP_MISMATCH: ::NTSTATUS = 0xC03A000Cu32 as i32; +pub const STATUS_VHD_PARENT_VHD_NOT_FOUND: ::NTSTATUS = 0xC03A000Du32 as i32; +pub const STATUS_VHD_CHILD_PARENT_ID_MISMATCH: ::NTSTATUS = 0xC03A000Eu32 as i32; +pub const STATUS_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH: ::NTSTATUS = 0xC03A000Fu32 as i32; +pub const STATUS_VHD_METADATA_READ_FAILURE: ::NTSTATUS = 0xC03A0010u32 as i32; +pub const STATUS_VHD_METADATA_WRITE_FAILURE: ::NTSTATUS = 0xC03A0011u32 as i32; +pub const STATUS_VHD_INVALID_SIZE: ::NTSTATUS = 0xC03A0012u32 as i32; +pub const STATUS_VHD_INVALID_FILE_SIZE: ::NTSTATUS = 0xC03A0013u32 as i32; +pub const STATUS_VIRTDISK_PROVIDER_NOT_FOUND: ::NTSTATUS = 0xC03A0014u32 as i32; +pub const STATUS_VIRTDISK_NOT_VIRTUAL_DISK: ::NTSTATUS = 0xC03A0015u32 as i32; +pub const STATUS_VHD_PARENT_VHD_ACCESS_DENIED: ::NTSTATUS = 0xC03A0016u32 as i32; +pub const STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH: ::NTSTATUS = 0xC03A0017u32 as i32; +pub const STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED: ::NTSTATUS = 0xC03A0018u32 as i32; +pub const STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT: ::NTSTATUS = 0xC03A0019u32 as i32; +pub const STATUS_VIRTUAL_DISK_LIMITATION: ::NTSTATUS = 0xC03A001Au32 as i32; +pub const STATUS_VHD_INVALID_TYPE: ::NTSTATUS = 0xC03A001Bu32 as i32; +pub const STATUS_VHD_INVALID_STATE: ::NTSTATUS = 0xC03A001Cu32 as i32; +pub const STATUS_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE: ::NTSTATUS = 0xC03A001Du32 as i32; +pub const STATUS_VIRTDISK_DISK_ALREADY_OWNED: ::NTSTATUS = 0xC03A001Eu32 as i32; +pub const STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE: ::NTSTATUS = 0xC03A001Fu32 as i32; +pub const STATUS_CTLOG_TRACKING_NOT_INITIALIZED: ::NTSTATUS = 0xC03A0020u32 as i32; +pub const STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE: ::NTSTATUS = 0xC03A0021u32 as i32; +pub const STATUS_CTLOG_VHD_CHANGED_OFFLINE: ::NTSTATUS = 0xC03A0022u32 as i32; +pub const STATUS_CTLOG_INVALID_TRACKING_STATE: ::NTSTATUS = 0xC03A0023u32 as i32; +pub const STATUS_CTLOG_INCONSISTENT_TRACKING_FILE: ::NTSTATUS = 0xC03A0024u32 as i32; +pub const STATUS_VHD_METADATA_FULL: ::NTSTATUS = 0xC03A0028u32 as i32; +pub const STATUS_VHD_INVALID_CHANGE_TRACKING_ID: ::NTSTATUS = 0xC03A0029u32 as i32; +pub const STATUS_VHD_CHANGE_TRACKING_DISABLED: ::NTSTATUS = 0xC03A002Au32 as i32; +pub const STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION: ::NTSTATUS = 0xC03A0030u32 as i32; +pub const STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA: ::NTSTATUS = 0xC03A0031u32 as i32; +pub const STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE: ::NTSTATUS = 0xC03A0032u32 as i32; +pub const STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE: ::NTSTATUS = 0xC03A0033u32 as i32; +pub const STATUS_QUERY_STORAGE_ERROR: ::NTSTATUS = 0x803A0001u32 as i32; +pub const STATUS_RKF_KEY_NOT_FOUND: ::NTSTATUS = 0xC0400001u32 as i32; +pub const STATUS_RKF_DUPLICATE_KEY: ::NTSTATUS = 0xC0400002u32 as i32; +pub const STATUS_RKF_BLOB_FULL: ::NTSTATUS = 0xC0400003u32 as i32; +pub const STATUS_RKF_STORE_FULL: ::NTSTATUS = 0xC0400004u32 as i32; +pub const STATUS_RKF_FILE_BLOCKED: ::NTSTATUS = 0xC0400005u32 as i32; +pub const STATUS_RKF_ACTIVE_KEY: ::NTSTATUS = 0xC0400006u32 as i32; +pub const STATUS_RDBSS_RESTART_OPERATION: ::NTSTATUS = 0xC0410001u32 as i32; +pub const STATUS_RDBSS_CONTINUE_OPERATION: ::NTSTATUS = 0xC0410002u32 as i32; +pub const STATUS_RDBSS_POST_OPERATION: ::NTSTATUS = 0xC0410003u32 as i32; +pub const STATUS_BTH_ATT_INVALID_HANDLE: ::NTSTATUS = 0xC0420001u32 as i32; +pub const STATUS_BTH_ATT_READ_NOT_PERMITTED: ::NTSTATUS = 0xC0420002u32 as i32; +pub const STATUS_BTH_ATT_WRITE_NOT_PERMITTED: ::NTSTATUS = 0xC0420003u32 as i32; +pub const STATUS_BTH_ATT_INVALID_PDU: ::NTSTATUS = 0xC0420004u32 as i32; +pub const STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION: ::NTSTATUS = 0xC0420005u32 as i32; +pub const STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED: ::NTSTATUS = 0xC0420006u32 as i32; +pub const STATUS_BTH_ATT_INVALID_OFFSET: ::NTSTATUS = 0xC0420007u32 as i32; +pub const STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION: ::NTSTATUS = 0xC0420008u32 as i32; +pub const STATUS_BTH_ATT_PREPARE_QUEUE_FULL: ::NTSTATUS = 0xC0420009u32 as i32; +pub const STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND: ::NTSTATUS = 0xC042000Au32 as i32; +pub const STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG: ::NTSTATUS = 0xC042000Bu32 as i32; +pub const STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE: ::NTSTATUS = 0xC042000Cu32 as i32; +pub const STATUS_BTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH: ::NTSTATUS = 0xC042000Du32 as i32; +pub const STATUS_BTH_ATT_UNLIKELY: ::NTSTATUS = 0xC042000Eu32 as i32; +pub const STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION: ::NTSTATUS = 0xC042000Fu32 as i32; +pub const STATUS_BTH_ATT_UNSUPPORTED_GROUP_TYPE: ::NTSTATUS = 0xC0420010u32 as i32; +pub const STATUS_BTH_ATT_INSUFFICIENT_RESOURCES: ::NTSTATUS = 0xC0420011u32 as i32; +pub const STATUS_BTH_ATT_UNKNOWN_ERROR: ::NTSTATUS = 0xC0421000u32 as i32; +pub const STATUS_SECUREBOOT_ROLLBACK_DETECTED: ::NTSTATUS = 0xC0430001u32 as i32; +pub const STATUS_SECUREBOOT_POLICY_VIOLATION: ::NTSTATUS = 0xC0430002u32 as i32; +pub const STATUS_SECUREBOOT_INVALID_POLICY: ::NTSTATUS = 0xC0430003u32 as i32; +pub const STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND: ::NTSTATUS = 0xC0430004u32 as i32; +pub const STATUS_SECUREBOOT_POLICY_NOT_SIGNED: ::NTSTATUS = 0xC0430005u32 as i32; +pub const STATUS_SECUREBOOT_NOT_ENABLED: ::NTSTATUS = 0x80430006u32 as i32; +pub const STATUS_SECUREBOOT_FILE_REPLACED: ::NTSTATUS = 0xC0430007u32 as i32; +pub const STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED: ::NTSTATUS = 0xC0E90001u32 as i32; +pub const STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION: ::NTSTATUS = 0xC0E90002u32 as i32; +pub const STATUS_SYSTEM_INTEGRITY_INVALID_POLICY: ::NTSTATUS = 0xC0E90003u32 as i32; +pub const STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED: ::NTSTATUS = 0xC0E90004u32 as i32; +pub const STATUS_NO_APPLICABLE_APP_LICENSES_FOUND: ::NTSTATUS = 0xC0EA0001u32 as i32; +pub const STATUS_AUDIO_ENGINE_NODE_NOT_FOUND: ::NTSTATUS = 0xC0440001u32 as i32; +pub const STATUS_HDAUDIO_EMPTY_CONNECTION_LIST: ::NTSTATUS = 0xC0440002u32 as i32; +pub const STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED: ::NTSTATUS = 0xC0440003u32 as i32; +pub const STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED: ::NTSTATUS = 0xC0440004u32 as i32; +pub const STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY: ::NTSTATUS = 0xC0440005u32 as i32; +pub const STATUS_SPACES_RESILIENCY_TYPE_INVALID: ::NTSTATUS = 0xC0E70003u32 as i32; +pub const STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID: ::NTSTATUS = 0xC0E70004u32 as i32; +pub const STATUS_SPACES_DRIVE_REDUNDANCY_INVALID: ::NTSTATUS = 0xC0E70006u32 as i32; +pub const STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID: ::NTSTATUS = 0xC0E70007u32 as i32; +pub const STATUS_SPACES_INTERLEAVE_LENGTH_INVALID: ::NTSTATUS = 0xC0E70009u32 as i32; +pub const STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID: ::NTSTATUS = 0xC0E7000Au32 as i32; +pub const STATUS_SPACES_NOT_ENOUGH_DRIVES: ::NTSTATUS = 0xC0E7000Bu32 as i32; +pub const STATUS_SPACES_EXTENDED_ERROR: ::NTSTATUS = 0xC0E7000Cu32 as i32; +pub const STATUS_SPACES_PROVISIONING_TYPE_INVALID: ::NTSTATUS = 0xC0E7000Du32 as i32; +pub const STATUS_SPACES_ALLOCATION_SIZE_INVALID: ::NTSTATUS = 0xC0E7000Eu32 as i32; +pub const STATUS_SPACES_ENCLOSURE_AWARE_INVALID: ::NTSTATUS = 0xC0E7000Fu32 as i32; +pub const STATUS_SPACES_WRITE_CACHE_SIZE_INVALID: ::NTSTATUS = 0xC0E70010u32 as i32; +pub const STATUS_SPACES_NUMBER_OF_GROUPS_INVALID: ::NTSTATUS = 0xC0E70011u32 as i32; +pub const STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID: ::NTSTATUS = 0xC0E70012u32 as i32; +pub const STATUS_SPACES_UPDATE_COLUMN_STATE: ::NTSTATUS = 0xC0E70013u32 as i32; +pub const STATUS_SPACES_MAP_REQUIRED: ::NTSTATUS = 0xC0E70014u32 as i32; +pub const STATUS_SPACES_UNSUPPORTED_VERSION: ::NTSTATUS = 0xC0E70015u32 as i32; +pub const STATUS_SPACES_CORRUPT_METADATA: ::NTSTATUS = 0xC0E70016u32 as i32; +pub const STATUS_SPACES_DRT_FULL: ::NTSTATUS = 0xC0E70017u32 as i32; +pub const STATUS_SPACES_INCONSISTENCY: ::NTSTATUS = 0xC0E70018u32 as i32; +pub const STATUS_SPACES_LOG_NOT_READY: ::NTSTATUS = 0xC0E70019u32 as i32; +pub const STATUS_SPACES_NO_REDUNDANCY: ::NTSTATUS = 0xC0E7001Au32 as i32; +pub const STATUS_SPACES_DRIVE_NOT_READY: ::NTSTATUS = 0xC0E7001Bu32 as i32; +pub const STATUS_SPACES_REPAIRED: ::NTSTATUS = 0x00E7001C; +pub const STATUS_SPACES_PAUSE: ::NTSTATUS = 0x00E7001D; +pub const STATUS_SPACES_COMPLETE: ::NTSTATUS = 0x00E7001E; +pub const STATUS_VOLSNAP_BOOTFILE_NOT_VALID: ::NTSTATUS = 0xC0500003u32 as i32; +pub const STATUS_IO_PREEMPTED: ::NTSTATUS = 0xC0510001u32 as i32; +pub const STATUS_SVHDX_ERROR_STORED: ::NTSTATUS = 0xC05C0000u32 as i32; +pub const STATUS_SVHDX_ERROR_NOT_AVAILABLE: ::NTSTATUS = 0xC05CFF00u32 as i32; +pub const STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE: ::NTSTATUS = 0xC05CFF01u32 as i32; +pub const STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED: ::NTSTATUS = 0xC05CFF02u32 as i32; +pub const STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED: ::NTSTATUS = 0xC05CFF03u32 as i32; +pub const STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED: ::NTSTATUS = 0xC05CFF04u32 as i32; +pub const STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED: ::NTSTATUS = 0xC05CFF05u32 as i32; +pub const STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED: ::NTSTATUS = 0xC05CFF06u32 as i32; +pub const STATUS_SVHDX_RESERVATION_CONFLICT: ::NTSTATUS = 0xC05CFF07u32 as i32; +pub const STATUS_SVHDX_WRONG_FILE_TYPE: ::NTSTATUS = 0xC05CFF08u32 as i32; +pub const STATUS_SVHDX_VERSION_MISMATCH: ::NTSTATUS = 0xC05CFF09u32 as i32; +pub const STATUS_VHD_SHARED: ::NTSTATUS = 0xC05CFF0Au32 as i32; +pub const STATUS_SVHDX_NO_INITIATOR: ::NTSTATUS = 0xC05CFF0Bu32 as i32; +pub const STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND: ::NTSTATUS = 0xC05CFF0Cu32 as i32; +pub const STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP: ::NTSTATUS = 0xC05D0000u32 as i32; +pub const STATUS_SMB_BAD_CLUSTER_DIALECT: ::NTSTATUS = 0xC05D0001u32 as i32; +pub const STATUS_SMB_GUEST_LOGON_BLOCKED: ::NTSTATUS = 0xC05D0002u32 as i32; +pub const STATUS_SECCORE_INVALID_COMMAND: ::NTSTATUS = 0xC0E80000u32 as i32; +pub const STATUS_VSM_NOT_INITIALIZED: ::NTSTATUS = 0xC0450000u32 as i32; +pub const STATUS_VSM_DMA_PROTECTION_NOT_IN_USE: ::NTSTATUS = 0xC0450001u32 as i32; diff --git a/third_party/rust/winapi-0.2.8/src/oaidl.rs b/third_party/rust/winapi-0.2.8/src/oaidl.rs new file mode 100644 index 0000000000..c705060bd4 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/oaidl.rs @@ -0,0 +1,590 @@ +// Copyright © 2015, Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of OAIdl.h +pub type wireBRECORD = *mut _wireBRECORD; +pub type wireVARIANT = *mut _wireVARIANT; +STRUCT!{struct SAFEARRAYBOUND { + cElements: ::ULONG, + lLbound: ::LONG, +}} +STRUCT!{struct SAFEARR_BSTR { + Size: ::ULONG, + aBstr: *mut ::wireBSTR, +}} +STRUCT!{struct SAFEARR_UNKNOWN { + Size: ::ULONG, + apUnknown: *mut *mut ::IUnknown, +}} +STRUCT!{struct SAFEARR_DISPATCH { + Size: ::ULONG, + apDispatch: *mut *mut IDispatch, +}} +STRUCT!{struct SAFEARR_VARIANT { + Size: ::ULONG, + aVariant: *mut wireVARIANT, +}} +STRUCT!{struct SAFEARR_BRECORD { + Size: ::ULONG, + aRecord: *mut wireBRECORD, +}} +STRUCT!{struct SAFEARR_HAVEIID { + Size: ::ULONG, + apUnknown: *mut *mut ::IUnknown, + iid: ::IID, +}} +ENUM!{enum SF_TYPE { + SF_ERROR = ::VT_ERROR.0, + SF_I1 = ::VT_I1.0, + SF_I2 = ::VT_I2.0, + SF_I4 = ::VT_I4.0, + SF_I8 = ::VT_I8.0, + SF_BSTR = ::VT_BSTR.0, + SF_UNKNOWN = ::VT_UNKNOWN.0, + SF_DISPATCH = ::VT_DISPATCH.0, + SF_VARIANT = ::VT_VARIANT.0, + SF_RECORD = ::VT_RECORD.0, + SF_HAVEIID = ::VT_UNKNOWN.0 | ::VT_RESERVED.0, +}} +STRUCT!{struct SAFEARRAYUNION { + sfType: ::ULONG, + u: __MIDL_IOleAutomationTypes_0001, +}} +#[cfg(target_arch = "x86_64")] +STRUCT!{struct __MIDL_IOleAutomationTypes_0001 { + data0: u32, + data1: [u32; 6], +}} +#[cfg(target_arch = "x86")] +STRUCT!{struct __MIDL_IOleAutomationTypes_0001 { + data0: u32, + data1: [u32; 5], +}} +UNION!(__MIDL_IOleAutomationTypes_0001, data0, BstrStr, BstrStr_mut, SAFEARR_BSTR); +UNION!(__MIDL_IOleAutomationTypes_0001, data0, UnknownStr, UnknownStr_mut, SAFEARR_UNKNOWN); +UNION!(__MIDL_IOleAutomationTypes_0001, data0, DispatchStr, DispatchStr_mut, SAFEARR_DISPATCH); +UNION!(__MIDL_IOleAutomationTypes_0001, data0, VariantStr, VariantStr_mut, SAFEARR_VARIANT); +UNION!(__MIDL_IOleAutomationTypes_0001, data0, RecordStr, RecordStr_mut, SAFEARR_BRECORD); +UNION!(__MIDL_IOleAutomationTypes_0001, data0, HaveIidStr, HaveIidStr_mut, SAFEARR_HAVEIID); +UNION!(__MIDL_IOleAutomationTypes_0001, data0, ByteStr, ByteStr_mut, ::BYTE_SIZEDARR); +UNION!(__MIDL_IOleAutomationTypes_0001, data0, WordStr, WordStr_mut, ::WORD_SIZEDARR); +UNION!(__MIDL_IOleAutomationTypes_0001, data0, LongStr, LongStr_mut, ::DWORD_SIZEDARR); +UNION!(__MIDL_IOleAutomationTypes_0001, data0, HyperStr, HyperStr_mut, ::HYPER_SIZEDARR); +STRUCT!{struct _wireSAFEARRAY { + cDims: ::USHORT, + fFeatures: ::USHORT, + cbElements: ::ULONG, + cLocks: ::ULONG, + uArrayStructs: SAFEARRAYUNION, + rgsaBound: [SAFEARRAYBOUND; 1], +}} +pub type wireSAFEARRAY = *mut _wireSAFEARRAY; +pub type wirePSAFEARRAY = *mut wireSAFEARRAY; +STRUCT!{struct SAFEARRAY { + cDims: ::USHORT, + fFeatures: ::USHORT, + cbElements: ::ULONG, + cLocks: ::ULONG, + pvData: ::PVOID, + rgsabound: [SAFEARRAYBOUND; 1], +}} +pub type LPSAFEARRAY = *mut SAFEARRAY; +pub const FADF_AUTO: ::DWORD = 0x1; +pub const FADF_STATIC: ::DWORD = 0x2; +pub const FADF_EMBEDDED: ::DWORD = 0x4; +pub const FADF_FIXEDSIZE: ::DWORD = 0x10; +pub const FADF_RECORD: ::DWORD = 0x20; +pub const FADF_HAVEIID: ::DWORD = 0x40; +pub const FADF_HAVEVARTYPE: ::DWORD = 0x80; +pub const FADF_BSTR: ::DWORD = 0x100; +pub const FADF_UNKNOWN: ::DWORD = 0x200; +pub const FADF_DISPATCH: ::DWORD = 0x400; +pub const FADF_VARIANT: ::DWORD = 0x800; +pub const FADF_RESERVED: ::DWORD = 0xf008; +#[cfg(target_arch = "x86_64")] +STRUCT!{struct VARIANT { + data0: u64, + data1: u64, + data2: u64, +}} +#[cfg(target_arch = "x86")] +STRUCT!{struct VARIANT { + data0: u64, + data1: u32, + data2: u32, +}} +UNION!(VARIANT, data0, vt, vt_mut, ::VARTYPE); +UNION!(VARIANT, data1, llVal, llVal_mut, ::LONGLONG); +UNION!(VARIANT, data1, lVal, lVal_mut, ::LONG); +UNION!(VARIANT, data1, bVal, bVal_mut, ::BYTE); +UNION!(VARIANT, data1, iVal, iVal_mut, ::SHORT); +UNION!(VARIANT, data1, fltVal, fltVal_mut, ::FLOAT); +UNION!(VARIANT, data1, dblVal, dblVal_mut, ::DOUBLE); +UNION!(VARIANT, data1, boolVal, boolVal_mut, ::VARIANT_BOOL); +UNION!(VARIANT, data1, scode, scode_mut, ::SCODE); +UNION!(VARIANT, data1, cyVal, cyVal_mut, ::CY); +UNION!(VARIANT, data1, date, date_mut, ::DATE); +UNION!(VARIANT, data1, bstrVal, bstrVal_mut, ::BSTR); +UNION!(VARIANT, data1, punkVal, punkVal_mut, *mut ::IUnknown); +UNION!(VARIANT, data1, pdispVal, pdispVal_mut, *mut IDispatch); +UNION!(VARIANT, data1, parray, parray_mut, *mut SAFEARRAY); +UNION!(VARIANT, data1, pllVal, pllVal_mut, *mut ::LONGLONG); +UNION!(VARIANT, data1, plVal, plVal_mut, *mut ::LONG); +UNION!(VARIANT, data1, pbVal, pbVal_mut, *mut ::BYTE); +UNION!(VARIANT, data1, piVal, piVal_mut, *mut ::SHORT); +UNION!(VARIANT, data1, pfltVal, pfltVal_mut, *mut ::FLOAT); +UNION!(VARIANT, data1, pdblVal, pdblVal_mut, *mut ::DOUBLE); +UNION!(VARIANT, data1, pboolVal, pboolVal_mut, *mut ::VARIANT_BOOL); +UNION!(VARIANT, data1, pscode, pscode_mut, *mut ::SCODE); +UNION!(VARIANT, data1, pcyVal, pcyVal_mut, *mut ::CY); +UNION!(VARIANT, data1, pdate, pdate_mut, *mut ::DATE); +UNION!(VARIANT, data1, pbstrVal, pbstrVal_mut, *mut ::BSTR); +UNION!(VARIANT, data1, ppunkVal, ppunkVal_mut, *mut *mut ::IUnknown); +UNION!(VARIANT, data1, ppdispVal, ppdispVal_mut, *mut *mut IDispatch); +UNION!(VARIANT, data1, pparray, pparray_mut, *mut *mut SAFEARRAY); +UNION!(VARIANT, data1, pvarVal, pvarVal_mut, *mut VARIANT); +UNION!(VARIANT, data1, byref, byref_mut, ::PVOID); +UNION!(VARIANT, data1, cVal, cVal_mut, ::CHAR); +UNION!(VARIANT, data1, uiVal, uiVal_mut, ::USHORT); +UNION!(VARIANT, data1, ulVal, ulVal_mut, ::ULONG); +UNION!(VARIANT, data1, ullVal, ullVal_mut, ::ULONGLONG); +UNION!(VARIANT, data1, intVal, intVal_mut, ::INT); +UNION!(VARIANT, data1, uintVal, uintVal_mut, ::UINT); +UNION!(VARIANT, data1, pdecVal, pdecVal_mut, *mut ::DECIMAL); +UNION!(VARIANT, data1, pcVal, pcVal_mut, *mut ::CHAR); +UNION!(VARIANT, data1, puiVal, puiVal_mut, *mut ::USHORT); +UNION!(VARIANT, data1, pulVal, pulVal_mut, *mut ::ULONG); +UNION!(VARIANT, data1, pullVal, pullVal_mut, *mut ::ULONGLONG); +UNION!(VARIANT, data1, pintVal, pintVal_mut, *mut ::INT); +UNION!(VARIANT, data1, puintVal, puintVal_mut, *mut ::UINT); +UNION!(VARIANT, data1, pvRecord, pvRecord_mut, ::PVOID); +UNION!(VARIANT, data2, pRecInfo, pRecInfo_mut, *mut IRecordInfo); +UNION!(VARIANT, data0, decVal, decVal_mut, ::DECIMAL); +pub type LPVARIANT = *mut VARIANT; +pub type VARIANTARG = VARIANT; +pub type LPVARIANTARG = *mut VARIANT; +pub type REFVARIANT = *const VARIANT; +STRUCT!{struct _wireBRECORD { + fFlags: ::ULONG, + clSize: ::ULONG, + pRecInfo: *mut IRecordInfo, + pRecord: *mut ::BYTE, +}} +STRUCT!{struct _wireVARIANT { + clSize: ::DWORD, + rpcReserved: ::DWORD, + vt: ::USHORT, + wReserved1: ::USHORT, + wReserved2: ::USHORT, + wReserved3: ::USHORT, + data0: u64, + data1: u64, +}} +UNION!(_wireVARIANT, data0, llVal, llVal_mut, ::LONGLONG); +UNION!(_wireVARIANT, data0, lVal, lVal_mut, ::LONG); +UNION!(_wireVARIANT, data0, bVal, bVal_mut, ::BYTE); +UNION!(_wireVARIANT, data0, iVal, iVal_mut, ::SHORT); +UNION!(_wireVARIANT, data0, fltVal, fltVal_mut, ::FLOAT); +UNION!(_wireVARIANT, data0, dblVal, dblVal_mut, ::DOUBLE); +UNION!(_wireVARIANT, data0, boolVal, boolVal_mut, ::VARIANT_BOOL); +UNION!(_wireVARIANT, data0, scode, scode_mut, ::SCODE); +UNION!(_wireVARIANT, data0, cyVal, cyVal_mut, ::CY); +UNION!(_wireVARIANT, data0, date, date_mut, ::DATE); +UNION!(_wireVARIANT, data0, bstrVal, bstrVal_mut, ::wireBSTR); +UNION!(_wireVARIANT, data0, punkVal, punkVal_mut, *mut ::IUnknown); +UNION!(_wireVARIANT, data0, pdispVal, pdispVal_mut, *mut IDispatch); +UNION!(_wireVARIANT, data0, parray, parray_mut, wirePSAFEARRAY); +UNION!(_wireVARIANT, data0, brecVal, brecVal_mut, wireBRECORD); +UNION!(_wireVARIANT, data0, pllVal, pllVal_mut, *mut ::LONGLONG); +UNION!(_wireVARIANT, data0, plVal, plVal_mut, *mut ::LONG); +UNION!(_wireVARIANT, data0, pbVal, pbVal_mut, *mut ::BYTE); +UNION!(_wireVARIANT, data0, piVal, piVal_mut, *mut ::SHORT); +UNION!(_wireVARIANT, data0, pfltVal, pfltVal_mut, *mut ::FLOAT); +UNION!(_wireVARIANT, data0, pdblVal, pdblVal_mut, *mut ::DOUBLE); +UNION!(_wireVARIANT, data0, pboolVal, pboolVal_mut, *mut ::VARIANT_BOOL); +UNION!(_wireVARIANT, data0, pscode, pscode_mut, *mut ::SCODE); +UNION!(_wireVARIANT, data0, pcyVal, pcyVal_mut, *mut ::CY); +UNION!(_wireVARIANT, data0, pdate, pdate_mut, *mut ::DATE); +UNION!(_wireVARIANT, data0, pbstrVal, pbstrVal_mut, *mut ::wireBSTR); +UNION!(_wireVARIANT, data0, ppunkVal, ppunkVal_mut, *mut *mut ::IUnknown); +UNION!(_wireVARIANT, data0, ppdispVal, ppdispVal_mut, *mut *mut IDispatch); +UNION!(_wireVARIANT, data0, pparray, pparray_mut, *mut wirePSAFEARRAY); +UNION!(_wireVARIANT, data0, pvarVal, pvarVal_mut, *mut wireVARIANT); +UNION!(_wireVARIANT, data0, cVal, cVal_mut, ::CHAR); +UNION!(_wireVARIANT, data0, uiVal, uiVal_mut, ::USHORT); +UNION!(_wireVARIANT, data0, ulVal, ulVal_mut, ::ULONG); +UNION!(_wireVARIANT, data0, ullVal, ullVal_mut, ::ULONGLONG); +UNION!(_wireVARIANT, data0, intVal, intVal_mut, ::INT); +UNION!(_wireVARIANT, data0, uintVal, uintVal_mut, ::UINT); +UNION!(_wireVARIANT, data0, decVal, decVal_mut, ::DECIMAL); +UNION!(_wireVARIANT, data0, pcVal, pcVal_mut, *mut ::CHAR); +UNION!(_wireVARIANT, data0, puiVal, puiVal_mut, *mut ::USHORT); +UNION!(_wireVARIANT, data0, pulVal, pulVal_mut, *mut ::ULONG); +UNION!(_wireVARIANT, data0, pullVal, pullVal_mut, *mut ::ULONGLONG); +UNION!(_wireVARIANT, data0, pintVal, pintVal_mut, *mut ::INT); +UNION!(_wireVARIANT, data0, puintVal, puintVal_mut, *mut ::UINT); +UNION!(_wireVARIANT, data0, pdecVal, pdecVal_mut, *mut ::DECIMAL); +pub type DISPID = ::LONG; +pub type MEMBERID = DISPID; +pub type HREFTYPE = ::DWORD; +ENUM!{enum TYPEKIND { + TKIND_ENUM = 0, + TKIND_RECORD, + TKIND_MODULE, + TKIND_INTERFACE, + TKIND_DISPATCH, + TKIND_COCLASS, + TKIND_ALIAS, + TKIND_UNION, + TKIND_MAX, +}} +#[cfg(target_arch = "x86_64")] +STRUCT!{struct TYPEDESC { + data: u64, + vt: ::VARTYPE, +}} +#[cfg(target_arch = "x86")] +STRUCT!{struct TYPEDESC { + data: u32, + vt: ::VARTYPE, +}} +UNION!(TYPEDESC, data, lptdesc, lptdesc_mut, *mut TYPEDESC); +UNION!(TYPEDESC, data, lpadesc, lpadesc_mut, *mut ARRAYDESC); +UNION!(TYPEDESC, data, hreftype, hreftype_mut, HREFTYPE); +STRUCT!{struct ARRAYDESC { + tdescElem: TYPEDESC, + cDims: ::USHORT, + rgbounds: [SAFEARRAYBOUND; 1], +}} +STRUCT!{struct PARAMDESCEX { + cBytes: ::ULONG, + varDefaultValue: VARIANTARG, +}} +pub type LPPARAMDESCEX = *mut PARAMDESCEX; +STRUCT!{struct PARAMDESC { + pparamdescex: LPPARAMDESCEX, + wParamFlags: ::USHORT, +}} +pub type LPPARAMDESC = *mut PARAMDESC; +pub const PARAMFLAG_NONE: ::DWORD = 0; +pub const PARAMFLAG_FIN: ::DWORD = 0x1; +pub const PARAMFLAG_FOUT: ::DWORD = 0x2; +pub const PARAMFLAG_FLCID: ::DWORD = 0x4; +pub const PARAMFLAG_FRETVAL: ::DWORD = 0x8; +pub const PARAMFLAG_FOPT: ::DWORD = 0x10; +pub const PARAMFLAG_FHASDEFAULT: ::DWORD = 0x20; +pub const PARAMFLAG_FHASCUSTDATA: ::DWORD = 0x40; +STRUCT!{struct IDLDESC { + dwReserved: ::ULONG_PTR, + wIDLFlags: ::USHORT, +}} +pub type LPIDLDESC = *mut IDLDESC; +pub const IDLFLAG_NONE: ::DWORD = PARAMFLAG_NONE; +pub const IDLFLAG_FIN: ::DWORD = PARAMFLAG_FIN; +pub const IDLFLAG_FOUT: ::DWORD = PARAMFLAG_FOUT; +pub const IDLFLAG_FLCID: ::DWORD = PARAMFLAG_FLCID; +pub const IDLFLAG_FRETVAL: ::DWORD = PARAMFLAG_FRETVAL; +STRUCT!{struct ELEMDESC { + tdesc: TYPEDESC, + idldesc: IDLDESC, +}} +UNION!(ELEMDESC, idldesc, paramdesc, paramdesc_mut, PARAMDESC); +pub type LPELEMDESC = *mut ELEMDESC; +STRUCT!{struct TYPEATTR { + guid: ::GUID, + lcid: ::LCID, + dwReserved: ::DWORD, + memidConstructor: ::MEMBERID, + memidDestructor: ::MEMBERID, + lpstrSchema: ::LPOLESTR, + cbSizeInstance: ::ULONG, + typekind: ::TYPEKIND, + cFuncs: ::WORD, + cVars: ::WORD, + cImplTypes: ::WORD, + cbSizeVft: ::WORD, + cbAlignment: ::WORD, + wTypeFlags: ::WORD, + wMajorVerNum: ::WORD, + wMinorVerNum: ::WORD, + tdescAlias: ::TYPEDESC, + idldescType: ::IDLDESC, +}} +pub type LPTYPEATTR = *mut TYPEATTR; +STRUCT!{struct DISPPARAMS { + rgvarg: *mut VARIANTARG, + rgdispidNamedArgs: *mut DISPID, + cArgs: ::UINT, + cNamedArgs: ::UINT, +}} +STRUCT!{nodebug struct EXCEPINFO { + wCode: ::WORD, + wReserved: ::WORD, + bstrSource: ::BSTR, + bstrDescription: ::BSTR, + bstrHelpFile: ::BSTR, + dwHelpContext: ::DWORD, + pvReserved: ::PVOID, + pfnDeferredFillIn: Option<unsafe extern "system" fn(einfo: *mut EXCEPINFO) -> ::HRESULT>, + scode: ::SCODE, +}} +ENUM!{enum CALLCONV { + CC_FASTCALL = 0, + CC_CDECL = 1, + CC_MSCPASCAL, + CC_PASCAL, + CC_MACPASCAL, + CC_STDCALL, + CC_FPFASTCALL, + CC_SYSCALL, + CC_MPWCDECL, + CC_MPWPASCAL, + CC_MAX, +}} +ENUM!{enum FUNCKIND { + FUNC_VIRTUAL = 0, + FUNC_PUREVIRTUAL, + FUNC_NONVIRTUAL, + FUNC_STATIC, + FUNC_DISPATCH, +}} +FLAGS!{enum INVOKEKIND { + INVOKE_FUNC = 1, + INVOKE_PROPERTYGET = 2, + INVOKE_PROPERTYPUT = 4, + INVOKE_PROPERTYPUTREF = 8, +}} +STRUCT!{struct FUNCDESC { + memid: ::MEMBERID, + lprgscode: *mut ::SCODE, + lprgelemdescParam: *mut ::ELEMDESC, + funckind: ::FUNCKIND, + invkind: ::INVOKEKIND, + callconv: ::CALLCONV, + cParams: ::SHORT, + cParamsOpt: ::SHORT, + oVft: ::SHORT, + cScodes: ::SHORT, + elemdescFunc: ::ELEMDESC, + wFuncFlags: ::WORD, +}} +pub type LPFUNCDESC = *mut FUNCDESC; +ENUM!{enum VARKIND { + VAR_PERINSTANCE = 0, + VAR_STATIC, + VAR_CONST, + VAR_DISPATCH, +}} +pub const IMPLTYPEFLAG_FDEFAULT: ::DWORD = 0x1; +pub const IMPLTYPEFLAG_FSOURCE: ::DWORD = 0x2; +pub const IMPLTYPEFLAG_FRESTRICTED: ::DWORD = 0x4; +pub const IMPLTYPEFLAG_FDEFAULTVTABLE: ::DWORD = 0x8; +STRUCT!{struct VARDESC { + memid: MEMBERID, + lpstrSchema: ::LPOLESTR, + lpvarValue: *mut VARIANT, + elemdescVar: ::ELEMDESC, + wVarFlags: ::WORD, + varkind: VARKIND, +}} +UNION!(VARDESC, lpvarValue, oInst, oInst_mut, ::ULONG); +pub type LPVARDESC = *mut VARDESC; +FLAGS!{enum TYPEFLAGS { + TYPEFLAG_FAPPOBJECT = 0x1, + TYPEFLAG_FCANCREATE = 0x2, + TYPEFLAG_FLICENSED = 0x4, + TYPEFLAG_FPREDECLID = 0x8, + TYPEFLAG_FHIDDEN = 0x10, + TYPEFLAG_FCONTROL = 0x20, + TYPEFLAG_FDUAL = 0x40, + TYPEFLAG_FNONEXTENSIBLE = 0x80, + TYPEFLAG_FOLEAUTOMATION = 0x100, + TYPEFLAG_FRESTRICTED = 0x200, + TYPEFLAG_FAGGREGATABLE = 0x400, + TYPEFLAG_FREPLACEABLE = 0x800, + TYPEFLAG_FDISPATCHABLE = 0x1000, + TYPEFLAG_FREVERSEBIND = 0x2000, + TYPEFLAG_FPROXY = 0x4000, +}} +FLAGS!{enum FUNCFLAGS { + FUNCFLAG_FRESTRICTED = 0x1, + FUNCFLAG_FSOURCE = 0x2, + FUNCFLAG_FBINDABLE = 0x4, + FUNCFLAG_FREQUESTEDIT = 0x8, + FUNCFLAG_FDISPLAYBIND = 0x10, + FUNCFLAG_FDEFAULTBIND = 0x20, + FUNCFLAG_FHIDDEN = 0x40, + FUNCFLAG_FUSESGETLASTERROR = 0x80, + FUNCFLAG_FDEFAULTCOLLELEM = 0x100, + FUNCFLAG_FUIDEFAULT = 0x200, + FUNCFLAG_FNONBROWSABLE = 0x400, + FUNCFLAG_FREPLACEABLE = 0x800, + FUNCFLAG_FIMMEDIATEBIND = 0x1000, +}} +FLAGS!{enum VARFLAGS { + VARFLAG_FREADONLY = 0x1, + VARFLAG_FSOURCE = 0x2, + VARFLAG_FBINDABLE = 0x4, + VARFLAG_FREQUESTEDIT = 0x8, + VARFLAG_FDISPLAYBIND = 0x10, + VARFLAG_FDEFAULTBIND = 0x20, + VARFLAG_FHIDDEN = 0x40, + VARFLAG_FRESTRICTED = 0x80, + VARFLAG_FDEFAULTCOLLELEM = 0x100, + VARFLAG_FUIDEFAULT = 0x200, + VARFLAG_FNONBROWSABLE = 0x400, + VARFLAG_FREPLACEABLE = 0x800, + VARFLAG_FIMMEDIATEBIND = 0x1000, +}} +STRUCT!{struct CLEANLOCALSTORAGE { + pInterface: *mut ::IUnknown, + pStorage: ::PVOID, + flags: ::DWORD, +}} +STRUCT!{struct CUSTDATAITEM { + guid: ::GUID, + varValue: VARIANTARG, +}} +pub type LPCUSTDATAITEM = *mut CUSTDATAITEM; +STRUCT!{struct CUSTDATA { + cCustData: ::DWORD, + prgCustData: LPCUSTDATAITEM, +}} +pub type LPCUSTDATA = *mut CUSTDATA; +pub type LPCREATETYPEINFO = *mut ICreateTypeInfo; +RIDL!( +interface ICreateTypeInfo(ICreateTypeInfoVtbl): IUnknown(IUnknownVtbl) { + fn SetGuid(&mut self, guid: ::REFGUID) -> ::HRESULT, + fn SetTypeFlags(&mut self, uTypeFlags: ::UINT) -> ::HRESULT, + fn SetDocString(&mut self, pStrDoc: ::LPOLESTR) -> ::HRESULT, + fn SetHelpContext(&mut self, dwHelpContext: ::DWORD) -> ::HRESULT, + fn SetVersion(&mut self, wMajorVerNum: ::WORD, wMinorVerNum: ::WORD) -> ::HRESULT, + fn AddRefTypeInfo(&mut self, pTInfo: *mut ITypeInfo) -> ::HRESULT, + fn AddFuncDesc(&mut self, index: ::UINT, pFuncDesc: *mut FUNCDESC) -> ::HRESULT, + fn SetImplTypeFlags(&mut self, index: ::UINT, implTypeFlags: ::INT) -> ::HRESULT, + fn SetAlignment(&mut self, cbAlignment: ::WORD) -> ::HRESULT, + fn SetSchema(&mut self, pStrSchema: ::LPOLESTR) -> ::HRESULT, + fn AddVarDesc(&mut self, index: ::UINT, pVarDesc: *mut VARDESC) -> ::HRESULT, + fn SetFuncAndParamNames( + &mut self, index: ::UINT, rgszNames: *mut ::LPOLESTR, cNames: ::UINT + ) -> ::HRESULT, + fn SetVarName(&mut self, index: ::UINT, szName: ::LPOLESTR) -> ::HRESULT, + fn SetTypeDescAlias(&mut self, pTDescAlias: *mut TYPEDESC) -> ::HRESULT, + fn DefineFuncAsDllEntry( + &mut self, index: ::UINT, szDllName: ::LPOLESTR, szProcName: ::LPOLESTR + ) -> ::HRESULT, + fn SetFuncDocString(&mut self, index: ::UINT, szDocString: ::LPOLESTR) -> ::HRESULT, + fn SetVarDocString(&mut self, index: ::UINT, szDocString: ::LPOLESTR) -> ::HRESULT, + fn SetFuncHelpContext(&mut self, index: ::UINT, dwHelpContext: ::DWORD) -> ::HRESULT, + fn SetVarHelpContext(&mut self, index: ::UINT, dwHelpContext: ::DWORD) -> ::HRESULT, + fn SetMops(&mut self, index: ::UINT, bstrMops: ::BSTR) -> ::HRESULT, + fn SetTypeIdldesc(&mut self, pIdlDesc: *mut IDLDESC) -> ::HRESULT, + fn LayOut(&mut self) -> ::HRESULT +} +); +// FIXME: Implement these interfaces +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICreateTypeInfo2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICreateTypeLib; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICreateTypeLib2; +pub type LPDISPATCH = *mut IDispatch; +pub const DISPID_UNKNOWN: ::INT = -1; +pub const DISPID_VALUE: ::INT = 0; +pub const DISPID_PROPERTYPUT: ::INT = -3; +pub const DISPID_NEWENUM: ::INT = -4; +pub const DISPID_EVALUATE: ::INT = -5; +pub const DISPID_CONSTRUCTOR: ::INT = -6; +pub const DISPID_DESTRUCTOR: ::INT = -7; +pub const DISPID_COLLECT: ::INT = -8; +RIDL!( +interface IDispatch(IDispatchVtbl): IUnknown(IUnknownVtbl) { + fn GetTypeInfoCount(&mut self, pctinfo: *mut ::UINT) -> ::HRESULT, + fn GetTypeInfo( + &mut self, iTInfo: ::UINT, lcid: ::LCID, ppTInfo: *mut *mut ITypeInfo + ) -> ::HRESULT, + fn GetIDsOfNames( + &mut self, riid: ::REFIID, rgszNames: *mut ::LPOLESTR, cNames: ::UINT, lcid: ::LCID, + rgDispId: *mut ::DISPID + ) -> ::HRESULT, + fn Invoke( + &mut self, dispIdMember: ::DISPID, riid: ::REFIID, lcid: ::LCID, wFlags: ::WORD, + pDispParams: *mut ::DISPPARAMS, pVarResult: *mut VARIANT, pExcepInfo: *mut ::EXCEPINFO, + puArgErr: *mut ::UINT + ) -> ::HRESULT +} +); +// FIXME: Implement these interfaces +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IEnumVARIANT; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITypeComp; +RIDL!( +interface ITypeInfo(ITypeInfoVtbl): IUnknown(IUnknownVtbl) { + fn GetTypeAttr(&mut self, ppTypeAttr: *mut *mut TYPEATTR) -> ::HRESULT, + fn GetTypeComp(&mut self, ppTComp: *mut *mut ITypeComp) -> ::HRESULT, + fn GetFuncDesc(&mut self, index: ::UINT, ppFunDesc: *mut *mut FUNCDESC) -> ::HRESULT, + fn GetVarDesc(&mut self, index: ::UINT, pPVarDesc: *mut *mut VARDESC) -> ::HRESULT, + fn GetNames( + &mut self, memid: MEMBERID, rgBstrNames: *mut ::BSTR, cMaxNames: ::UINT, + pcNames: *mut ::UINT + ) -> ::HRESULT, + fn GetRefTypeOfImplType(&mut self, index: ::UINT, pRefType: *mut HREFTYPE) -> ::HRESULT, + fn GetImplTypeFlags(&mut self, index: ::UINT, pImplTypeFlags: *mut ::INT) -> ::HRESULT, + fn GetIDsOfNames( + &mut self, rgszNames: *mut ::LPOLESTR, cNames: ::UINT, pMemId: *mut MEMBERID + ) -> ::HRESULT, + fn Invoke( + &mut self, pvInstance: ::PVOID, memid: MEMBERID, wFlags: ::WORD, + pDispParams: *mut DISPPARAMS, pVarResult: *mut VARIANT, pExcepInfo: *mut EXCEPINFO, + puArgErr: *mut ::UINT + ) -> ::HRESULT, + fn GetDocumentation( + &mut self, memid: MEMBERID, pBstrName: *mut ::BSTR, pBstrDocString: *mut ::BSTR, + pdwHelpContext: *mut ::DWORD, pBstrHelpFile: *mut ::BSTR + ) -> ::HRESULT, + fn GetDllEntry( + &mut self, memid: MEMBERID, invKind: ::INVOKEKIND, pBstrDllName: *mut ::BSTR, + pBstrName: *mut ::BSTR, pwOrdinal: *mut ::WORD + ) -> ::HRESULT, + fn GetRefTypeInfo(&mut self, hRefType: HREFTYPE, ppTInfo: *mut *mut ITypeInfo) -> ::HRESULT, + fn AddressOfMember( + &mut self, memid: MEMBERID, invKind: ::INVOKEKIND, ppv: *mut ::PVOID + ) -> ::HRESULT, + fn CreateInstance( + &mut self, pUnkOuter: *mut ::IUnknown, riid: ::REFIID, ppvObj: *mut ::PVOID + ) -> ::HRESULT, + fn GetMops(&mut self, memid: MEMBERID, pBstrMops: *mut ::BSTR) -> ::HRESULT, + fn GetContainingTypeLib( + &mut self, ppTLib: *mut *mut ITypeLib, pIndex: *mut ::UINT + ) -> ::HRESULT, + fn ReleaseTypeAttr(&mut self, pTypeAttr: *mut TYPEATTR) -> (), + fn ReleaseFuncDesc(&mut self, pFuncDesc: *mut FUNCDESC) -> (), + fn ReleaseVarDesc(&mut self, pVarDesc: *mut VARDESC) -> () +} +); +// FIXME: Implement these interfaces +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITypeInfo2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITypeLib; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITypeLib2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITypeChangeEvents; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IErrorInfo; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICreateErrorInfo; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ISupportErrorInfo; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITypeFactory; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITypeMarshal; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IRecordInfo; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IErrorLog; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPropertyBag; diff --git a/third_party/rust/winapi-0.2.8/src/objbase.rs b/third_party/rust/winapi-0.2.8/src/objbase.rs new file mode 100644 index 0000000000..cfd2b79903 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/objbase.rs @@ -0,0 +1,5 @@ +//! Component object model defintions +pub const COINIT_APARTMENTTHREADED: ::DWORD = 0x2; +pub const COINIT_MULTITHREADED: ::DWORD = 0x0; +pub const COINIT_DISABLE_OLE1DDE: ::DWORD = 0x4; +pub const COINIT_SPEED_OVER_MEMORY: ::DWORD = 0x8; diff --git a/third_party/rust/winapi-0.2.8/src/objidl.rs b/third_party/rust/winapi-0.2.8/src/objidl.rs new file mode 100644 index 0000000000..ac49010bcc --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/objidl.rs @@ -0,0 +1,100 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! this ALWAYS GENERATED file contains the definitions for the interfaces +//8402 +STRUCT!{struct BIND_OPTS { + cbStruct: ::DWORD, + grfFlags: ::DWORD, + grfMode: ::DWORD, + dwTickCountDeadline: ::DWORD, +}} +pub type LPBIND_OPTS = *mut BIND_OPTS; +//8479 +RIDL!( +interface IBindCtx(IBindCtxVtbl): IUnknown(IUnknownVtbl) { + fn RegisterObjectBound(&mut self, punk: *mut ::IUnknown) -> ::HRESULT, + fn RevokeObjectBound(&mut self, punk: *mut ::IUnknown) -> ::HRESULT, + fn ReleaseBoundObjects(&mut self) -> ::HRESULT, + fn SetBindOptions(&mut self, pbindopts: *mut BIND_OPTS) -> ::HRESULT, + fn GetBindOptions(&mut self, pbindopts: *mut BIND_OPTS) -> ::HRESULT, + fn GetRunningObjectTable(&mut self, pprot: *mut *mut IRunningObjectTable) -> ::HRESULT, + fn RegisterObjectParam(&mut self, pszKey: ::LPOLESTR, punk: *mut ::IUnknown) -> ::HRESULT, + fn GetObjectParam(&mut self, pszKey: ::LPOLESTR, ppunk: *mut *mut ::IUnknown) -> ::HRESULT, + fn EnumObjectParam(&mut self, ppenum: *mut *mut ::IEnumString) -> ::HRESULT, + fn RevokeObjectParam(&mut self, pszKey: ::LPOLESTR) -> ::HRESULT +} +); +//8681 +pub type IEnumMoniker = ::IUnknown; // TODO +//8958 +RIDL!( +interface IRunningObjectTable(IRunningObjectTableVtbl): IUnknown(IUnknownVtbl) { + fn Register( + &mut self, grfFlags: ::DWORD, punkObject: *mut ::IUnknown, pmkObjectName: *mut IMoniker, + pdwRegister: *mut ::DWORD + ) -> ::HRESULT, + fn Revoke(&mut self, dwRegister: ::DWORD) -> ::HRESULT, + fn IsRunning(&mut self, pmkObjectName: *mut IMoniker) -> ::HRESULT, + fn GetObject( + &mut self, pmkObjectName: *mut IMoniker, ppunkObject: *mut *mut ::IUnknown + ) -> ::HRESULT, + fn NoteChangeTime(&mut self, dwRegister: ::DWORD, pfiletime: *mut ::FILETIME) -> ::HRESULT, + fn GetTimeOfLastChange( + &mut self, pmkObjectName: *mut IMoniker, pfiletime: *mut ::FILETIME + ) -> ::HRESULT, + fn EnumRunning(&mut self, ppenumMoniker: *mut *mut IEnumMoniker) -> ::HRESULT +} +); +//9350 +pub type IMoniker = ::IUnknown; // TODO +pub type EOLE_AUTHENTICATION_CAPABILITIES = ::DWORD; +pub const EOAC_NONE: ::DWORD = 0; +pub const EOAC_MUTUAL_AUTH: ::DWORD = 0x1; +pub const EOAC_STATIC_CLOAKING: ::DWORD = 0x20; +pub const EOAC_DYNAMIC_CLOAKING: ::DWORD = 0x40; +pub const EOAC_ANY_AUTHORITY: ::DWORD = 0x80; +pub const EOAC_MAKE_FULLSIC: ::DWORD = 0x100; +pub const EOAC_DEFAULT: ::DWORD = 0x800; +pub const EOAC_SECURE_REFS: ::DWORD = 0x2; +pub const EOAC_ACCESS_CONTROL: ::DWORD = 0x4; +pub const EOAC_APPID: ::DWORD = 0x8; +pub const EOAC_DYNAMIC: ::DWORD = 0x10; +pub const EOAC_REQUIRE_FULLSIC: ::DWORD = 0x200; +pub const EOAC_AUTO_IMPERSONATE: ::DWORD = 0x400; +pub const EOAC_NO_CUSTOM_MARSHAL: ::DWORD = 0x2000; +pub const EOAC_DISABLE_AAA: ::DWORD = 0x1000; +STRUCT!{struct SOLE_AUTHENTICATION_SERVICE { + dwAuthnSvc: ::DWORD, + dwAuthzSvc: ::DWORD, + pPrincipalName: *mut ::OLECHAR, + hr: ::HRESULT, +}} + +RIDL!( +interface IApartmentShutdown(IApartmentShutdownVtbl): IUnknown(IUnknownVtbl) { + fn OnUninitialize(&mut self, ui64ApartmentIdentifier: ::UINT64) -> ::VOID +} +); + +RIDL!( +interface IMarshal(IMarshalVtbl): IUnknown(IUnknownVtbl) { + fn GetUnmarshalClass( + &mut self, riid: ::REFIID, pv: *const ::VOID, dwDestContext: ::DWORD, + pvDestContext: *const ::VOID, mshlflags: ::DWORD, pCid: *mut ::CLSID + ) -> ::HRESULT, + fn GetMarshalSizeMax( + &mut self, riid: ::REFIID, pv: *const ::VOID, dwDestContext: ::DWORD, + pvDestContext: *const ::VOID, mshlflags: ::DWORD, pSize: *mut ::DWORD + ) -> ::HRESULT, + fn MarshalInterface( + &mut self, pStm: *const ::IStream, riid: ::REFIID, pv: *const ::VOID, + dwDestContext: ::DWORD, pvDestContext: *const ::VOID, + mshlflags: ::DWORD + ) -> ::HRESULT, + fn UnmarshalInterface( + &mut self, pStm: *const ::IStream, riid: ::REFIID, ppv: *mut *mut ::VOID + ) -> ::HRESULT, + fn ReleaseMarshalData(&mut self, pStm: *const ::IStream) -> ::HRESULT, + fn DisconnectObject(&mut self, dwReserved: ::DWORD) -> ::HRESULT +} +);
\ No newline at end of file diff --git a/third_party/rust/winapi-0.2.8/src/objidlbase.rs b/third_party/rust/winapi-0.2.8/src/objidlbase.rs new file mode 100644 index 0000000000..f49353f823 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/objidlbase.rs @@ -0,0 +1,93 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! this ALWAYS GENERATED file contains the definitions for the interfaces +RIDL!( +interface IMalloc(IMallocVtbl): IUnknown(IUnknownVtbl) { + fn Alloc(&mut self, cb: ::SIZE_T) -> *mut ::c_void, + fn Realloc(&mut self, pv: *mut ::c_void, cb: ::SIZE_T) -> *mut ::c_void, + fn Free(&mut self, pv: *mut ::c_void) -> (), + fn GetSize(&mut self, pv: *mut ::c_void) -> ::SIZE_T, + fn DidAlloc(&mut self, pv: *mut ::c_void) -> ::c_int, + fn HeapMinimize(&mut self) -> () +} +); +pub type LPMALLOC = *mut IMalloc; +STRUCT!{struct STATSTG { + pwcsName: ::LPOLESTR, + type_: ::DWORD, + cbSize: ::ULARGE_INTEGER, + mtime: ::FILETIME, + ctime: ::FILETIME, + atime: ::FILETIME, + grfMode: ::DWORD, + grfLocksSupported: ::DWORD, + clsid: ::CLSID, + grfStateBits: ::DWORD, + reserved: ::DWORD, +}} +//1945 +pub type IEnumString = ::IUnknown; // TODO +//2075 +RIDL!( +interface ISequentialStream(ISequentialStreamVtbl): IUnknown(IUnknownVtbl) { + fn Read(&mut self, pv: *mut ::c_void, cb: ::ULONG, pcbRead: *mut ::ULONG) -> ::HRESULT, + fn Write(&mut self, pv: *const ::c_void, cb: ::ULONG, pcbWritten: *mut ::ULONG) -> ::HRESULT +} +); +ENUM!{enum STGTY { + STGTY_STORAGE = 1, + STGTY_STREAM = 2, + STGTY_LOCKBYTES = 3, + STGTY_PROPERTY = 4, +}} +ENUM!{enum STREAM_SEEK { + STREAM_SEEK_SET = 0, + STREAM_SEEK_CUR = 1, + STREAM_SEEK_END = 2, +}} +ENUM!{enum LOCKTYPE { + LOCK_WRITE = 1, + LOCK_EXCLUSIVE = 2, + LOCK_ONLYONCE = 4, +}} +//2255 +RIDL!( +interface IStream(IStreamVtbl): ISequentialStream(ISequentialStreamVtbl) { + fn Seek( + &mut self, dlibMove: ::LARGE_INTEGER, dwOrigin: ::DWORD, + plibNewPosition: *mut ::ULARGE_INTEGER + ) -> ::HRESULT, + fn SetSize(&mut self, libNewSize: ::ULARGE_INTEGER) -> ::HRESULT, + fn CopyTo( + &mut self, pstm: *mut IStream, cb: ::ULARGE_INTEGER, pcbRead: *mut ::ULARGE_INTEGER, + pcbWritten: *mut ::ULARGE_INTEGER + ) -> ::HRESULT, + fn Commit(&mut self, grfCommitFlags: ::DWORD) -> ::HRESULT, + fn Revert(&mut self) -> ::HRESULT, + fn LockRegion( + &mut self, libOffset: ::ULARGE_INTEGER, cb: ::ULARGE_INTEGER, dwLockType: ::DWORD + ) -> ::HRESULT, + fn UnlockRegion( + &mut self, libOffset: ::ULARGE_INTEGER, cb: ::ULARGE_INTEGER, dwLockType: ::DWORD + ) -> ::HRESULT, + fn Stat(&mut self, pstatstg: *mut STATSTG, grfStatFlag: ::DWORD) -> ::HRESULT, + fn Clone(&mut self, ppstm: *mut *mut IStream) -> ::HRESULT +} +); +pub type LPSTREAM = *mut IStream; +ENUM!{enum APTTYPEQUALIFIER { + APTTYPEQUALIFIER_NONE = 0, + APTTYPEQUALIFIER_IMPLICIT_MTA = 1, + APTTYPEQUALIFIER_NA_ON_MTA = 2, + APTTYPEQUALIFIER_NA_ON_STA = 3, + APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4, + APTTYPEQUALIFIER_NA_ON_MAINSTA = 5, + APTTYPEQUALIFIER_APPLICATION_STA= 6, +}} +ENUM!{enum APTTYPE { + APTTYPE_CURRENT = -1i32 as u32, + APTTYPE_STA = 0, + APTTYPE_MTA = 1, + APTTYPE_NA = 2, + APTTYPE_MAINSTA = 3, +}} diff --git a/third_party/rust/winapi-0.2.8/src/olectl.rs b/third_party/rust/winapi-0.2.8/src/olectl.rs new file mode 100644 index 0000000000..b557621526 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/olectl.rs @@ -0,0 +1,10 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! OLE Control interfaces +//299 +pub const SELFREG_E_FIRST: ::HRESULT = MAKE_SCODE!(::SEVERITY_ERROR, ::FACILITY_ITF, 0x0200); +pub const SELFREG_E_LAST: ::HRESULT = MAKE_SCODE!(::SEVERITY_ERROR, ::FACILITY_ITF, 0x020F); +pub const SELFREG_S_FIRST: ::HRESULT = MAKE_SCODE!(::SEVERITY_SUCCESS, ::FACILITY_ITF, 0x0200); +pub const SELFREG_S_LAST: ::HRESULT = MAKE_SCODE!(::SEVERITY_SUCCESS, ::FACILITY_ITF, 0x020F); +pub const SELFREG_E_TYPELIB: ::HRESULT = SELFREG_E_FIRST + 0; +pub const SELFREG_E_CLASS: ::HRESULT = SELFREG_E_FIRST + 1; diff --git a/third_party/rust/winapi-0.2.8/src/pdh.rs b/third_party/rust/winapi-0.2.8/src/pdh.rs new file mode 100644 index 0000000000..165fe1e0c5 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/pdh.rs @@ -0,0 +1,52 @@ +// Copyright © 2016, Klavs Madsen +// Licensed under the MIT License <LICENSE.md> +//! Common Performance Data Helper definitions +pub const PDH_FMT_RAW: ::DWORD = 0x00000010; +pub const PDH_FMT_ANSI: ::DWORD = 0x00000020; +pub const PDH_FMT_UNICODE: ::DWORD = 0x00000040; +pub const PDH_FMT_LONG: ::DWORD = 0x00000100; +pub const PDH_FMT_DOUBLE: ::DWORD = 0x00000200; +pub const PDH_FMT_LARGE: ::DWORD = 0x00000400; +pub const PDH_FMT_NOSCALE: ::DWORD = 0x00001000; +pub const PDH_FMT_1000: ::DWORD = 0x00002000; +pub const PDH_FMT_NODATA: ::DWORD = 0x00004000; +pub const PDH_FMT_NOCAP100: ::DWORD = 0x00008000; +pub const PERF_DETAIL_COSTLY: ::DWORD = 0x00010000; +pub const PERF_DETAIL_STANDARD: ::DWORD = 0x0000FFFF; + +pub type PDH_STATUS = ::LONG; +pub type PDH_HQUERY = ::HANDLE; +pub type HQUERY = PDH_HQUERY; +pub type PDH_HCOUNTER = ::HANDLE; +pub type HCOUNTER = PDH_HCOUNTER; + +STRUCT!{struct PDH_FMT_COUNTERVALUE { + CStatus: ::DWORD, + largeValue: ::LONGLONG, +}} +UNION!(PDH_FMT_COUNTERVALUE, largeValue, largeValue, largeValue_mut, ::LONGLONG); +UNION!(PDH_FMT_COUNTERVALUE, largeValue, longValue, longValue_mut, ::LONG); +UNION!(PDH_FMT_COUNTERVALUE, largeValue, doubleValue, doubleValue_mut, ::DOUBLE); +UNION!(PDH_FMT_COUNTERVALUE, largeValue, AnsiStringValue, AnsiStringValue_mut, ::LPCSTR); +UNION!(PDH_FMT_COUNTERVALUE, largeValue, WideStringValue, WideStringValue_mut, ::LPCWSTR); +pub type PPDH_FMT_COUNTERVALUE = *mut PDH_FMT_COUNTERVALUE; + +STRUCT!{struct PDH_COUNTER_PATH_ELEMENTS_A { + szMachineName: ::LPSTR, + szObjectName: ::LPSTR, + szInstanceName: ::LPSTR, + szParentInstance: ::LPSTR, + dwInstanceIndex: ::DWORD, + szCounterName: ::LPSTR, +}} +pub type PPDH_COUNTER_PATH_ELEMENTS_A = *mut PDH_COUNTER_PATH_ELEMENTS_A; + +STRUCT!{struct PDH_COUNTER_PATH_ELEMENTS_W { + szMachineName: ::LPWSTR, + szObjectName: ::LPWSTR, + szInstanceName: ::LPWSTR, + szParentInstance: ::LPWSTR, + dwInstanceIndex: ::DWORD, + szCounterName: ::LPWSTR, +}} +pub type PPDH_COUNTER_PATH_ELEMENTS_W = *mut PDH_COUNTER_PATH_ELEMENTS_W; diff --git a/third_party/rust/winapi-0.2.8/src/playsoundapi.rs b/third_party/rust/winapi-0.2.8/src/playsoundapi.rs new file mode 100644 index 0000000000..99f4501cda --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/playsoundapi.rs @@ -0,0 +1,19 @@ +// Copyright © 2016, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +use super::*; +pub const SND_SYNC: DWORD = 0x0000; +pub const SND_ASYNC: DWORD = 0x0001; +pub const SND_NODEFAULT: DWORD = 0x0002; +pub const SND_MEMORY: DWORD = 0x0004; +pub const SND_LOOP: DWORD = 0x0008; +pub const SND_NOSTOP: DWORD = 0x0010; +pub const SND_NOWAIT: DWORD = 0x00002000; +pub const SND_ALIAS: DWORD = 0x00010000; +pub const SND_ALIAS_ID: DWORD = 0x00110000; +pub const SND_FILENAME: DWORD = 0x00020000; +pub const SND_RESOURCE: DWORD = 0x00040004; +pub const SND_PURGE: DWORD = 0x0040; +pub const SND_APPLICATION: DWORD = 0x0080; +pub const SND_SENTRY: DWORD = 0x00080000; +pub const SND_RING: DWORD = 0x00100000; +pub const SND_SYSTEM: DWORD = 0x00200000; diff --git a/third_party/rust/winapi-0.2.8/src/processsnapshot.rs b/third_party/rust/winapi-0.2.8/src/processsnapshot.rs new file mode 100644 index 0000000000..73ea679bea --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/processsnapshot.rs @@ -0,0 +1,58 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Defines the process snapshot API +FLAGS!{enum PSS_CAPTURE_FLAGS { + PSS_CAPTURE_NONE = 0x00000000, + PSS_CAPTURE_VA_CLONE = 0x00000001, + PSS_CAPTURE_RESERVED_00000002 = 0x00000002, + PSS_CAPTURE_HANDLES = 0x00000004, + PSS_CAPTURE_HANDLE_NAME_INFORMATION = 0x00000008, + PSS_CAPTURE_HANDLE_BASIC_INFORMATION = 0x00000010, + PSS_CAPTURE_HANDLE_TYPE_SPECIFIC_INFORMATION = 0x00000020, + PSS_CAPTURE_HANDLE_TRACE = 0x00000040, + PSS_CAPTURE_THREADS = 0x00000080, + PSS_CAPTURE_THREAD_CONTEXT = 0x00000100, + PSS_CAPTURE_THREAD_CONTEXT_EXTENDED = 0x00000200, + PSS_CAPTURE_RESERVED_00000400 = 0x00000400, + PSS_CAPTURE_VA_SPACE = 0x00000800, + PSS_CAPTURE_VA_SPACE_SECTION_INFORMATION = 0x00001000, + PSS_CREATE_BREAKAWAY_OPTIONAL = 0x04000000, + PSS_CREATE_BREAKAWAY = 0x08000000, + PSS_CREATE_FORCE_BREAKAWAY = 0x10000000, + PSS_CREATE_USE_VM_ALLOCATIONS = 0x20000000, + PSS_CREATE_MEASURE_PERFORMANCE = 0x40000000, + PSS_CREATE_RELEASE_SECTION = -2147483648i32 as u32, +}} +ENUM!{enum PSS_QUERY_INFORMATION_CLASS { + PSS_QUERY_PROCESS_INFORMATION = 0, + PSS_QUERY_VA_CLONE_INFORMATION = 1, + PSS_QUERY_AUXILIARY_PAGES_INFORMATION = 2, + PSS_QUERY_VA_SPACE_INFORMATION = 3, + PSS_QUERY_HANDLE_INFORMATION = 4, + PSS_QUERY_THREAD_INFORMATION = 5, + PSS_QUERY_HANDLE_TRACE_INFORMATION = 6, + PSS_QUERY_PERFORMANCE_COUNTERS = 7, +}} +ENUM!{enum PSS_WALK_INFORMATION_CLASS { + PSS_WALK_AUXILIARY_PAGES = 0, + PSS_WALK_VA_SPACE = 1, + PSS_WALK_HANDLES = 2, + PSS_WALK_THREADS = 3, +}} +FLAGS!{enum PSS_DUPLICATE_FLAGS { + PSS_DUPLICATE_NONE = 0x00, + PSS_DUPLICATE_CLOSE_SOURCE = 0x01, +}} +DECLARE_HANDLE!(HPSS, HPSS__); +DECLARE_HANDLE!(HPSSWALK, HPSSWALK__); +pub type pAllocRoutine = Option<unsafe extern "system" fn( + Context: *mut ::c_void, Size: ::DWORD, +) -> *mut ::c_void>; +pub type pFreeRoutine = Option<unsafe extern "system" fn( + Context: *mut ::c_void, Address: *mut ::c_void, +)>; +STRUCT!{nodebug struct PSS_ALLOCATOR { + Context: *mut ::c_void, + AllocRoutine: pAllocRoutine, + FreeRoutine: pFreeRoutine, +}} diff --git a/third_party/rust/winapi-0.2.8/src/processthreadsapi.rs b/third_party/rust/winapi-0.2.8/src/processthreadsapi.rs new file mode 100644 index 0000000000..fad58c7e5a --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/processthreadsapi.rs @@ -0,0 +1,62 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +STRUCT!{struct PROCESS_INFORMATION { + hProcess: ::HANDLE, + hThread: ::HANDLE, + dwProcessId: ::DWORD, + dwThreadId: ::DWORD, +}} +pub type PPROCESS_INFORMATION = *mut PROCESS_INFORMATION; +pub type LPPROCESS_INFORMATION = *mut PROCESS_INFORMATION; +STRUCT!{struct STARTUPINFOA { + cb: ::DWORD, + lpReserved: ::LPSTR, + lpDesktop: ::LPSTR, + lpTitle: ::LPSTR, + dwX: ::DWORD, + dwY: ::DWORD, + dwXSize: ::DWORD, + dwYSize: ::DWORD, + dwXCountChars: ::DWORD, + dwYCountChars: ::DWORD, + dwFillAttribute: ::DWORD, + dwFlags: ::DWORD, + wShowWindow: ::WORD, + cbReserved2: ::WORD, + lpReserved2: ::LPBYTE, + hStdInput: ::HANDLE, + hStdOutput: ::HANDLE, + hStdError: ::HANDLE, +}} +pub type LPSTARTUPINFOA = *mut STARTUPINFOA; +STRUCT!{struct STARTUPINFOW { + cb: ::DWORD, + lpReserved: ::LPWSTR, + lpDesktop: ::LPWSTR, + lpTitle: ::LPWSTR, + dwX: ::DWORD, + dwY: ::DWORD, + dwXSize: ::DWORD, + dwYSize: ::DWORD, + dwXCountChars: ::DWORD, + dwYCountChars: ::DWORD, + dwFillAttribute: ::DWORD, + dwFlags: ::DWORD, + wShowWindow: ::WORD, + cbReserved2: ::WORD, + lpReserved2: ::LPBYTE, + hStdInput: ::HANDLE, + hStdOutput: ::HANDLE, + hStdError: ::HANDLE, +}} +pub type LPSTARTUPINFOW = *mut STARTUPINFOW; +STRUCT!{struct PROC_THREAD_ATTRIBUTE_LIST { + dummy: *mut ::c_void, +}} +pub type PPROC_THREAD_ATTRIBUTE_LIST = *mut PROC_THREAD_ATTRIBUTE_LIST; +pub type LPPROC_THREAD_ATTRIBUTE_LIST = *mut PROC_THREAD_ATTRIBUTE_LIST; +ENUM!{enum THREAD_INFORMATION_CLASS { + ThreadMemoryPriority, + ThreadAbsoluteCpuPriority, + ThreadInformationClassMax, +}} diff --git a/third_party/rust/winapi-0.2.8/src/propidl.rs b/third_party/rust/winapi-0.2.8/src/propidl.rs new file mode 100644 index 0000000000..802bd182f7 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/propidl.rs @@ -0,0 +1,10 @@ +// Copyright © 2016, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +use super::*; +STRUCT!{struct PROPVARIANT { + vt: VARTYPE, + wReserved1: WORD, + wReserved2: WORD, + wReserved3: WORD, + data: [u8; 16], +}} diff --git a/third_party/rust/winapi-0.2.8/src/propsys.rs b/third_party/rust/winapi-0.2.8/src/propsys.rs new file mode 100644 index 0000000000..0666fbd48f --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/propsys.rs @@ -0,0 +1,4 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +pub type IPropertyDescriptionList = ::IUnknown; // TODO +pub type IPropertyStore = ::IUnknown; // TODO diff --git a/third_party/rust/winapi-0.2.8/src/prsht.rs b/third_party/rust/winapi-0.2.8/src/prsht.rs new file mode 100644 index 0000000000..e1795a1bc7 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/prsht.rs @@ -0,0 +1,262 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Interface for the Windows Property Sheet Pages +pub enum PSP {} +pub type HPROPSHEETPAGE = *mut PSP; +pub type LPFNPSPCALLBACKA = Option<unsafe extern "system" fn( + hwnd: ::HWND, uMsg: ::UINT, ppsp: *mut PROPSHEETPAGEA, +) -> ::UINT>; +pub type LPFNPSPCALLBACKW = Option<unsafe extern "system" fn( + hwnd: ::HWND, uMsg: ::UINT, ppsp: *mut PROPSHEETPAGEW, +) -> ::UINT>; +pub const PSP_DEFAULT: ::DWORD = 0x00000000; +pub const PSP_DLGINDIRECT: ::DWORD = 0x00000001; +pub const PSP_USEHICON: ::DWORD = 0x00000002; +pub const PSP_USEICONID: ::DWORD = 0x00000004; +pub const PSP_USETITLE: ::DWORD = 0x00000008; +pub const PSP_RTLREADING: ::DWORD = 0x00000010; +pub const PSP_HASHELP: ::DWORD = 0x00000020; +pub const PSP_USEREFPARENT: ::DWORD = 0x00000040; +pub const PSP_USECALLBACK: ::DWORD = 0x00000080; +pub const PSP_PREMATURE: ::DWORD = 0x00000400; +pub const PSP_HIDEHEADER: ::DWORD = 0x00000800; +pub const PSP_USEHEADERTITLE: ::DWORD = 0x00001000; +pub const PSP_USEHEADERSUBTITLE: ::DWORD = 0x00002000; +pub const PSP_USEFUSIONCONTEXT: ::DWORD = 0x00004000; +pub const PSPCB_ADDREF: ::UINT = 0; +pub const PSPCB_RELEASE: ::UINT = 1; +pub const PSPCB_CREATE: ::UINT = 2; +pub type PROPSHEETPAGE_RESOURCE = ::LPCDLGTEMPLATEA; +STRUCT!{nodebug struct PROPSHEETPAGEA_V4 { + dwSize: ::DWORD, + dwFlags: ::DWORD, + hInstance: ::HINSTANCE, + pszTemplate: ::LPCSTR, + hIcon: ::HICON, + pszTitle: ::LPCSTR, + pfnDlgProc: ::DLGPROC, + lParam: ::LPARAM, + pfnCallback: LPFNPSPCALLBACKA, + pcRefParent: *mut ::UINT, + pszHeaderTitle: ::LPCSTR, + pszHeaderSubTitle: ::LPCSTR, + hActCtx: ::HANDLE, + hbmHeader: ::HBITMAP, +}} +UNION!(PROPSHEETPAGEA_V4, pszTemplate, pResource, pResource_mut, PROPSHEETPAGE_RESOURCE); +UNION!(PROPSHEETPAGEA_V4, hIcon, pszIcon, pszIcon_mut, ::LPCSTR); +UNION!(PROPSHEETPAGEA_V4, hbmHeader, pszbmHeader, pszbmHeader_mut, ::LPCSTR); +pub type LPPROPSHEETPAGEA_V4 = *mut PROPSHEETPAGEA_V4; +pub type LPCPROPSHEETPAGEA_V4 = *const PROPSHEETPAGEA_V4; +STRUCT!{nodebug struct PROPSHEETPAGEW_V4 { + dwSize: ::DWORD, + dwFlags: ::DWORD, + hInstance: ::HINSTANCE, + pszTemplate: ::LPCWSTR, + hIcon: ::HICON, + pszTitle: ::LPCWSTR, + pfnDlgProc: ::DLGPROC, + lParam: ::LPARAM, + pfnCallback: LPFNPSPCALLBACKW, + pcRefParent: *mut ::UINT, + pszHeaderTitle: ::LPCWSTR, + pszHeaderSubTitle: ::LPCWSTR, + hActCtx: ::HANDLE, + hbmHeader: ::HBITMAP, +}} +UNION!(PROPSHEETPAGEW_V4, pszTemplate, pResource, pResource_mut, PROPSHEETPAGE_RESOURCE); +UNION!(PROPSHEETPAGEW_V4, hIcon, pszIcon, pszIcon_mut, ::LPCWSTR); +UNION!(PROPSHEETPAGEW_V4, hbmHeader, pszbmHeader, pszbmHeader_mut, ::LPCWSTR); +pub type LPPROPSHEETPAGEW_V4 = *mut PROPSHEETPAGEW_V4; +pub type LPCPROPSHEETPAGEW_V4 = *const PROPSHEETPAGEW_V4; +pub type PROPSHEETPAGEA_LATEST = PROPSHEETPAGEA_V4; +pub type PROPSHEETPAGEW_LATEST = PROPSHEETPAGEW_V4; +pub type LPPROPSHEETPAGEA_LATEST = LPPROPSHEETPAGEA_V4; +pub type LPPROPSHEETPAGEW_LATEST = LPPROPSHEETPAGEW_V4; +pub type LPCPROPSHEETPAGEA_LATEST = LPCPROPSHEETPAGEA_V4; +pub type LPCPROPSHEETPAGEW_LATEST = LPCPROPSHEETPAGEW_V4; +pub type PROPSHEETPAGEA = PROPSHEETPAGEA_V4; +pub type PROPSHEETPAGEW = PROPSHEETPAGEW_V4; +pub type LPPROPSHEETPAGEA = LPPROPSHEETPAGEA_V4; +pub type LPPROPSHEETPAGEW = LPPROPSHEETPAGEW_V4; +pub type LPCPROPSHEETPAGEA = LPCPROPSHEETPAGEA_V4; +pub type LPCPROPSHEETPAGEW = LPCPROPSHEETPAGEW_V4; +pub const PSH_DEFAULT: ::DWORD = 0x00000000; +pub const PSH_PROPTITLE: ::DWORD = 0x00000001; +pub const PSH_USEHICON: ::DWORD = 0x00000002; +pub const PSH_USEICONID: ::DWORD = 0x00000004; +pub const PSH_PROPSHEETPAGE: ::DWORD = 0x00000008; +pub const PSH_WIZARDHASFINISH: ::DWORD = 0x00000010; +pub const PSH_WIZARD: ::DWORD = 0x00000020; +pub const PSH_USEPSTARTPAGE: ::DWORD = 0x00000040; +pub const PSH_NOAPPLYNOW: ::DWORD = 0x00000080; +pub const PSH_USECALLBACK: ::DWORD = 0x00000100; +pub const PSH_HASHELP: ::DWORD = 0x00000200; +pub const PSH_MODELESS: ::DWORD = 0x00000400; +pub const PSH_RTLREADING: ::DWORD = 0x00000800; +pub const PSH_WIZARDCONTEXTHELP: ::DWORD = 0x00001000; +pub const PSH_WIZARD97: ::DWORD = 0x01000000; +pub const PSH_WATERMARK: ::DWORD = 0x00008000; +pub const PSH_USEHBMWATERMARK: ::DWORD = 0x00010000; +pub const PSH_USEHPLWATERMARK: ::DWORD = 0x00020000; +pub const PSH_STRETCHWATERMARK: ::DWORD = 0x00040000; +pub const PSH_HEADER: ::DWORD = 0x00080000; +pub const PSH_USEHBMHEADER: ::DWORD = 0x00100000; +pub const PSH_USEPAGELANG: ::DWORD = 0x00200000; +pub const PSH_WIZARD_LITE: ::DWORD = 0x00400000; +pub const PSH_NOCONTEXTHELP: ::DWORD = 0x02000000; +pub const PSH_AEROWIZARD: ::DWORD = 0x00004000; +pub const PSH_RESIZABLE: ::DWORD = 0x04000000; +pub const PSH_HEADERBITMAP: ::DWORD = 0x08000000; +pub const PSH_NOMARGIN: ::DWORD = 0x10000000; +pub type PFNPROPSHEETCALLBACK = Option<unsafe extern "system" fn( + ::HWND, ::UINT, ::LPARAM, +) -> ::c_int>; +STRUCT!{nodebug struct PROPSHEETHEADERA_V2 { + dwSize: ::DWORD, + dwFlags: ::DWORD, + hwndParent: ::HWND, + hInstance: ::HINSTANCE, + hIcon: ::HICON, + pszCaption: ::LPCSTR, + nPages: ::UINT, + pStartPage: ::LPCSTR, + ppsp: LPCPROPSHEETPAGEA, + pfnCallback: PFNPROPSHEETCALLBACK, + hbmWatermark: ::HBITMAP, + hplWatermark: ::HPALETTE, + hbmHeader: ::HBITMAP, +}} +UNION!(PROPSHEETHEADERA_V2, hIcon, pszIcon, pszIcon_mut, ::LPCSTR); +UNION!(PROPSHEETHEADERA_V2, pStartPage, nStartPage, nStartPage_mut, ::UINT); +UNION!(PROPSHEETHEADERA_V2, ppsp, phpage, phpage_mut, *mut HPROPSHEETPAGE); +UNION!(PROPSHEETHEADERA_V2, hbmWatermark, pszbmWatermark, pszbmWatermark_mut, ::LPCSTR); +UNION!(PROPSHEETHEADERA_V2, hbmHeader, pszbmHeader, pszbmHeader_mut, ::LPCSTR); +pub type LPPROPSHEETHEADERA_V2 = *mut PROPSHEETHEADERA_V2; +pub type LPCPROPSHEETHEADERA_V2 = *const PROPSHEETHEADERA_V2; +STRUCT!{nodebug struct PROPSHEETHEADERW_V2 { + dwSize: ::DWORD, + dwFlags: ::DWORD, + hwndParent: ::HWND, + hInstance: ::HINSTANCE, + hIcon: ::HICON, + pszCaption: ::LPCWSTR, + nPages: ::UINT, + pStartPage: ::LPCWSTR, + ppsp: LPCPROPSHEETPAGEW, + pfnCallback: PFNPROPSHEETCALLBACK, + hbmWatermark: ::HBITMAP, + hplWatermark: ::HPALETTE, + hbmHeader: ::HBITMAP, +}} +UNION!(PROPSHEETHEADERW_V2, hIcon, pszIcon, pszIcon_mut, ::LPCWSTR); +UNION!(PROPSHEETHEADERW_V2, pStartPage, nStartPage, nStartPage_mut, ::UINT); +UNION!(PROPSHEETHEADERW_V2, ppsp, phpage, phpage_mut, *mut HPROPSHEETPAGE); +UNION!(PROPSHEETHEADERW_V2, hbmWatermark, pszbmWatermark, pszbmWatermark_mut, ::LPCWSTR); +UNION!(PROPSHEETHEADERW_V2, hbmHeader, pszbmHeader, pszbmHeader_mut, ::LPCWSTR); +pub type LPPROPSHEETHEADERW_V2 = *mut PROPSHEETHEADERW_V2; +pub type LPCPROPSHEETHEADERW_V2 = *const PROPSHEETHEADERW_V2; +pub type PROPSHEETHEADERA = PROPSHEETHEADERA_V2; +pub type PROPSHEETHEADERW = PROPSHEETHEADERW_V2; +pub type LPPROPSHEETHEADERA = LPPROPSHEETHEADERA_V2; +pub type LPPROPSHEETHEADERW = LPPROPSHEETHEADERW_V2; +pub type LPCPROPSHEETHEADERA = LPCPROPSHEETHEADERA_V2; +pub type LPCPROPSHEETHEADERW = LPCPROPSHEETHEADERW_V2; +pub const PSCB_INITIALIZED: ::UINT = 1; +pub const PSCB_PRECREATE: ::UINT = 2; +pub const PSCB_BUTTONPRESSED: ::UINT = 3; +pub type LPFNADDPROPSHEETPAGE = Option<unsafe extern "system" fn( + HPROPSHEETPAGE, ::LPARAM, +) -> ::BOOL>; +pub type LPFNADDPROPSHEETPAGES = Option<unsafe extern "system" fn( + ::LPVOID, LPFNADDPROPSHEETPAGE, ::LPARAM, +) -> ::BOOL>; +STRUCT!{struct PSHNOTIFY { + hdr: ::NMHDR, + lParam: ::LPARAM, +}} +pub type LPPSHNOTIFY = *mut PSHNOTIFY; +pub const PSN_FIRST: ::UINT = -200i32 as ::UINT; +pub const PSN_LAST: ::UINT = -299i32 as ::UINT; +pub const PSN_SETACTIVE: ::UINT = PSN_FIRST - 0; +pub const PSN_KILLACTIVE: ::UINT = PSN_FIRST - 1; +pub const PSN_APPLY: ::UINT = PSN_FIRST - 2; +pub const PSN_RESET: ::UINT = PSN_FIRST - 3; +pub const PSN_HELP: ::UINT = PSN_FIRST - 5; +pub const PSN_WIZBACK: ::UINT = PSN_FIRST - 6; +pub const PSN_WIZNEXT: ::UINT = PSN_FIRST - 7; +pub const PSN_WIZFINISH: ::UINT = PSN_FIRST - 8; +pub const PSN_QUERYCANCEL: ::UINT = PSN_FIRST - 9; +pub const PSN_GETOBJECT: ::UINT = PSN_FIRST - 10; +pub const PSN_TRANSLATEACCELERATOR: ::UINT = PSN_FIRST - 12; +pub const PSN_QUERYINITIALFOCUS: ::UINT = PSN_FIRST - 13; +pub const PSNRET_NOERROR: ::LRESULT = 0; +pub const PSNRET_INVALID: ::LRESULT = 1; +pub const PSNRET_INVALID_NOCHANGEPAGE: ::LRESULT = 2; +pub const PSNRET_MESSAGEHANDLED: ::LRESULT = 3; +pub const PSM_SETCURSEL: ::UINT = ::WM_USER + 101; +pub const PSM_REMOVEPAGE: ::UINT = ::WM_USER + 102; +pub const PSM_ADDPAGE: ::UINT = ::WM_USER + 103; +pub const PSM_CHANGED: ::UINT = ::WM_USER + 104; +pub const PSM_RESTARTWINDOWS: ::UINT = ::WM_USER + 105; +pub const PSM_REBOOTSYSTEM: ::UINT = ::WM_USER + 106; +pub const PSM_CANCELTOCLOSE: ::UINT = ::WM_USER + 107; +pub const PSM_QUERYSIBLINGS: ::UINT = ::WM_USER + 108; +pub const PSM_UNCHANGED: ::UINT = ::WM_USER + 109; +pub const PSM_APPLY: ::UINT = ::WM_USER + 110; +pub const PSM_SETTITLEA: ::UINT = ::WM_USER + 111; +pub const PSM_SETTITLEW: ::UINT = ::WM_USER + 120; +pub const PSM_SETWIZBUTTONS: ::UINT = ::WM_USER + 112; +pub const PSWIZB_BACK: ::DWORD = 0x00000001; +pub const PSWIZB_NEXT: ::DWORD = 0x00000002; +pub const PSWIZB_FINISH: ::DWORD = 0x00000004; +pub const PSWIZB_DISABLEDFINISH: ::DWORD = 0x00000008; +pub const PSWIZB_CANCEL: ::DWORD = 0x00000008; +pub const PSWIZBF_ELEVATIONREQUIRED: ::WPARAM = 0x00000001; +pub const PSBTN_BACK: ::c_int = 0; +pub const PSBTN_NEXT: ::c_int = 1; +pub const PSBTN_FINISH: ::c_int = 2; +pub const PSBTN_OK: ::c_int = 3; +pub const PSBTN_APPLYNOW: ::c_int = 4; +pub const PSBTN_CANCEL: ::c_int = 5; +pub const PSBTN_HELP: ::c_int = 6; +pub const PSBTN_MAX: ::c_int = 6; +pub const PSM_PRESSBUTTON: ::UINT = ::WM_USER + 113; +pub const PSM_SETCURSELID: ::UINT = ::WM_USER + 114; +pub const PSM_SETFINISHTEXTA: ::UINT = ::WM_USER + 115; +pub const PSM_SETFINISHTEXTW: ::UINT = ::WM_USER + 121; +pub const PSM_GETTABCONTROL: ::UINT = ::WM_USER + 116; +pub const PSM_ISDIALOGMESSAGE: ::UINT = ::WM_USER + 117; +pub const PSM_GETCURRENTPAGEHWND: ::UINT = ::WM_USER + 118; +pub const PSM_INSERTPAGE: ::UINT = ::WM_USER + 119; +pub const PSM_SETHEADERTITLEA: ::UINT = ::WM_USER + 125; +pub const PSM_SETHEADERTITLEW: ::UINT = ::WM_USER + 126; +pub const PSWIZF_SETCOLOR: ::UINT = (0 - 1) as ::UINT; +pub const PSM_SETHEADERSUBTITLEA: ::UINT = ::WM_USER + 127; +pub const PSM_SETHEADERSUBTITLEW: ::UINT = ::WM_USER + 128; +pub const PSM_HWNDTOINDEX: ::UINT = ::WM_USER + 129; +pub const PSM_INDEXTOHWND: ::UINT = ::WM_USER + 130; +pub const PSM_PAGETOINDEX: ::UINT = ::WM_USER + 131; +pub const PSM_INDEXTOPAGE: ::UINT = ::WM_USER + 132; +pub const PSM_IDTOINDEX: ::UINT = ::WM_USER + 133; +pub const PSM_INDEXTOID: ::UINT = ::WM_USER + 134; +pub const PSM_GETRESULT: ::UINT = ::WM_USER + 135; +pub const PSM_RECALCPAGESIZES: ::UINT = ::WM_USER + 136; +pub const PSM_SETNEXTTEXTW: ::UINT = ::WM_USER + 137; +pub const PSM_SHOWWIZBUTTONS: ::UINT = ::WM_USER + 138; +pub const PSM_ENABLEWIZBUTTONS: ::UINT = ::WM_USER + 139; +pub const PSM_SETBUTTONTEXTW: ::UINT = ::WM_USER + 140; +pub const PSM_SETBUTTONTEXT: ::UINT = PSM_SETBUTTONTEXTW; +pub const ID_PSRESTARTWINDOWS: ::INT_PTR = 0x2; +pub const ID_PSREBOOTSYSTEM: ::INT_PTR = ID_PSRESTARTWINDOWS | 0x1; +pub const WIZ_CXDLG: ::DWORD = 276; +pub const WIZ_CYDLG: ::DWORD = 140; +pub const WIZ_CXBMP: ::DWORD = 80; +pub const WIZ_BODYX: ::DWORD = 92; +pub const WIZ_BODYCX: ::DWORD = 184; +pub const PROP_SM_CXDLG: ::c_short = 212; +pub const PROP_SM_CYDLG: ::c_short = 188; +pub const PROP_MED_CXDLG: ::c_short = 227; +pub const PROP_MED_CYDLG: ::c_short = 215; +pub const PROP_LG_CXDLG: ::c_short = 252; +pub const PROP_LG_CYDLG: ::c_short = 218; diff --git a/third_party/rust/winapi-0.2.8/src/psapi.rs b/third_party/rust/winapi-0.2.8/src/psapi.rs new file mode 100644 index 0000000000..801d35c9e4 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/psapi.rs @@ -0,0 +1,166 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! API Prototypes and Definitions for PSAPI.DLL +pub const LIST_MODULES_DEFAULT: ::DWORD = 0x0; +pub const LIST_MODULES_32BIT: ::DWORD = 0x01; +pub const LIST_MODULES_64BIT: ::DWORD = 0x02; +pub const LIST_MODULES_ALL: ::DWORD = LIST_MODULES_32BIT | LIST_MODULES_64BIT; +STRUCT!{struct MODULEINFO { + lpBaseOfDll: ::LPVOID, + SizeOfImage: ::DWORD, + EntryPoint: ::LPVOID, +}} +pub type LPMODULEINFO = *mut MODULEINFO; +STRUCT!{struct PSAPI_WORKING_SET_BLOCK { + Flags: ::ULONG_PTR, + BitFields: ::ULONG_PTR, +}} +#[cfg(target_arch="x86")] +BITFIELD!(PSAPI_WORKING_SET_BLOCK BitFields: ::ULONG_PTR [ + Protection set_Protection[0..5], + ShareCount set_ShareCount[5..8], + Shared set_Shared[8..9], + Reserved set_Reserved[9..12], + VirtualPage set_VirtualPage[12..32], +]); +#[cfg(target_arch="x86_64")] +BITFIELD!(PSAPI_WORKING_SET_BLOCK BitFields: ::ULONG_PTR [ + Protection set_Protection[0..5], + ShareCount set_ShareCount[5..8], + Shared set_Shared[8..9], + Reserved set_Reserved[9..12], + VirtualPage set_VirtualPage[12..64], +]); +pub type PPSAPI_WORKING_SET_BLOCK = *mut PSAPI_WORKING_SET_BLOCK; +STRUCT!{struct PSAPI_WORKING_SET_INFORMATION { + NumberOfEntries: ::ULONG_PTR, + WorkingSetInfo: [PSAPI_WORKING_SET_BLOCK; 1], +}} +pub type PPSAPI_WORKING_SET_INFORMATION = *mut PSAPI_WORKING_SET_INFORMATION; +STRUCT!{struct PSAPI_WORKING_SET_EX_BLOCK_Invalid { + BitFields: ::ULONG_PTR, +}} +#[cfg(target_arch="x86")] +BITFIELD!(PSAPI_WORKING_SET_EX_BLOCK_Invalid BitFields: ::ULONG_PTR [ + Valid set_Valid[0..1], + Reserved0 set_Reserved0[1..15], + Shared set_Shared[15..16], + Reserved1 set_Reserved1[16..31], + Bad set_Bad[31..32], +]); +#[cfg(target_arch="x86_64")] +BITFIELD!(PSAPI_WORKING_SET_EX_BLOCK_Invalid BitFields: ::ULONG_PTR [ + Valid set_Valid[0..1], + Reserved0 set_Reserved0[1..15], + Shared set_Shared[15..16], + Reserved1 set_Reserved1[16..31], + Bad set_Bad[31..32], + ReservedUlong set_ReservedUlong[32..64], +]); +STRUCT!{struct PSAPI_WORKING_SET_EX_BLOCK { + Flags: ::ULONG_PTR, + BitFields: ::ULONG_PTR, +}} +#[cfg(target_arch="x86")] +BITFIELD!(PSAPI_WORKING_SET_EX_BLOCK BitFields: ::ULONG_PTR [ + Valid set_Valid[0..1], + ShareCount set_ShareCount[1..4], + Win32Protection set_Win32Protection[4..15], + Shared set_Shared[15..16], + Node set_Node[16..22], + Locked set_Locked[22..23], + LargePage set_LargePage[23..24], + Reserved set_Reserved[24..31], + Bad set_Bad[31..32], +]); +#[cfg(target_arch="x86_64")] +BITFIELD!(PSAPI_WORKING_SET_EX_BLOCK BitFields: ::ULONG_PTR [ + Valid set_Valid[0..1], + ShareCount set_ShareCount[1..4], + Win32Protection set_Win32Protection[4..15], + Shared set_Shared[15..16], + Node set_Node[16..22], + Locked set_Locked[22..23], + LargePage set_LargePage[23..24], + Reserved set_Reserved[24..31], + Bad set_Bad[31..32], + ReservedUlong set_ReservedUlong[32..64], +]); +UNION!( + PSAPI_WORKING_SET_EX_BLOCK, BitFields, Invalid, Invalid_mut, PSAPI_WORKING_SET_EX_BLOCK_Invalid +); +pub type PPSAPI_WORKING_SET_EX_BLOCK = *mut PSAPI_WORKING_SET_EX_BLOCK; +STRUCT!{struct PSAPI_WORKING_SET_EX_INFORMATION { + VirtualAddress: ::PVOID, + VirtualAttributes: PSAPI_WORKING_SET_EX_BLOCK, +}} +pub type PPSAPI_WORKING_SET_EX_INFORMATION = *mut PSAPI_WORKING_SET_EX_INFORMATION; +STRUCT!{struct PSAPI_WS_WATCH_INFORMATION { + FaultingPc: ::LPVOID, + FaultingVa: ::LPVOID, +}} +pub type PPSAPI_WS_WATCH_INFORMATION = *mut PSAPI_WS_WATCH_INFORMATION; +STRUCT!{struct PSAPI_WS_WATCH_INFORMATION_EX { + BasicInfo: PSAPI_WS_WATCH_INFORMATION, + FaultingThreadId: ::ULONG_PTR, + Flags: ::ULONG_PTR, +}} +pub type PPSAPI_WS_WATCH_INFORMATION_EX = *mut PSAPI_WS_WATCH_INFORMATION_EX; +STRUCT!{struct PROCESS_MEMORY_COUNTERS { + cb: ::DWORD, + PageFaultCount: ::DWORD, + PeakWorkingSetSize: ::SIZE_T, + WorkingSetSize: ::SIZE_T, + QuotaPeakPagedPoolUsage: ::SIZE_T, + QuotaPagedPoolUsage: ::SIZE_T, + QuotaPeakNonPagedPoolUsage: ::SIZE_T, + QuotaNonPagedPoolUsage: ::SIZE_T, + PagefileUsage: ::SIZE_T, + PeakPagefileUsage: ::SIZE_T, +}} +pub type PPROCESS_MEMORY_COUNTERS = *mut PROCESS_MEMORY_COUNTERS; +STRUCT!{struct PROCESS_MEMORY_COUNTERS_EX { + cb: ::DWORD, + PageFaultCount: ::DWORD, + PeakWorkingSetSize: ::SIZE_T, + WorkingSetSize: ::SIZE_T, + QuotaPeakPagedPoolUsage: ::SIZE_T, + QuotaPagedPoolUsage: ::SIZE_T, + QuotaPeakNonPagedPoolUsage: ::SIZE_T, + QuotaNonPagedPoolUsage: ::SIZE_T, + PagefileUsage: ::SIZE_T, + PeakPagefileUsage: ::SIZE_T, + PrivateUsage: ::SIZE_T, +}} +pub type PPROCESS_MEMORY_COUNTERS_EX = *mut PROCESS_MEMORY_COUNTERS_EX; +STRUCT!{struct PERFORMANCE_INFORMATION { + cb: ::DWORD, + CommitTotal: ::SIZE_T, + CommitLimit: ::SIZE_T, + CommitPeak: ::SIZE_T, + PhysicalTotal: ::SIZE_T, + PhysicalAvailable: ::SIZE_T, + SystemCache: ::SIZE_T, + KernelTotal: ::SIZE_T, + KernelPaged: ::SIZE_T, + KernelNonpaged: ::SIZE_T, + PageSize: ::SIZE_T, + HandleCount: ::DWORD, + ProcessCount: ::DWORD, + ThreadCount: ::DWORD, +}} +pub type PPERFORMANCE_INFORMATION = *mut PERFORMANCE_INFORMATION; +STRUCT!{struct ENUM_PAGE_FILE_INFORMATION { + cb: ::DWORD, + Reserved: ::DWORD, + TotalSize: ::SIZE_T, + TotalInUse: ::SIZE_T, + PeakUsage: ::SIZE_T, +}} +pub type PENUM_PAGE_FILE_INFORMATION = *mut ENUM_PAGE_FILE_INFORMATION; +pub type PENUM_PAGE_FILE_CALLBACKA = Option<unsafe extern "system" fn( + pContext: ::LPVOID, pPageFileInfo: PENUM_PAGE_FILE_INFORMATION, lpFilename: ::LPCSTR, +) -> ::BOOL>; +pub type PENUM_PAGE_FILE_CALLBACKW = Option<unsafe extern "system" fn( + pContext: ::LPVOID, pPageFileInfo: PENUM_PAGE_FILE_INFORMATION, lpFilename: ::LPCWSTR, +) -> ::BOOL>; diff --git a/third_party/rust/winapi-0.2.8/src/qos.rs b/third_party/rust/winapi-0.2.8/src/qos.rs new file mode 100644 index 0000000000..91026b392e --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/qos.rs @@ -0,0 +1,16 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! QoS definitions for NDIS components. +pub type SERVICETYPE = ::ULONG; +STRUCT!{struct FLOWSPEC { + TokenRate: ::ULONG, + TokenBucketSize: ::ULONG, + PeakBandwidth: ::ULONG, + Latency: ::ULONG, + DelayVariation: ::ULONG, + ServiceType: SERVICETYPE, + MaxSduSize: ::ULONG, + MinimumPolicedSize: ::ULONG, +}} +pub type PFLOWSPEC = *mut FLOWSPEC; +pub type LPFLOWSPEC = *mut FLOWSPEC; diff --git a/third_party/rust/winapi-0.2.8/src/reason.rs b/third_party/rust/winapi-0.2.8/src/reason.rs new file mode 100644 index 0000000000..66b3ed39d4 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/reason.rs @@ -0,0 +1,63 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +// Flags used by the various UIs +pub const SHTDN_REASON_FLAG_COMMENT_REQUIRED: ::DWORD = 0x01000000; +pub const SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED: ::DWORD = 0x02000000; +pub const SHTDN_REASON_FLAG_CLEAN_UI: ::DWORD = 0x04000000; +pub const SHTDN_REASON_FLAG_DIRTY_UI: ::DWORD = 0x08000000; +// Flags that end up in the event log code. +pub const SHTDN_REASON_FLAG_USER_DEFINED: ::DWORD = 0x40000000; +pub const SHTDN_REASON_FLAG_PLANNED: ::DWORD = 0x80000000; +// Microsoft major reasons. +pub const SHTDN_REASON_MAJOR_OTHER: ::DWORD = 0x00000000; +pub const SHTDN_REASON_MAJOR_NONE: ::DWORD = 0x00000000; +pub const SHTDN_REASON_MAJOR_HARDWARE: ::DWORD = 0x00010000; +pub const SHTDN_REASON_MAJOR_OPERATINGSYSTEM: ::DWORD = 0x00020000; +pub const SHTDN_REASON_MAJOR_SOFTWARE: ::DWORD = 0x00030000; +pub const SHTDN_REASON_MAJOR_APPLICATION: ::DWORD = 0x00040000; +pub const SHTDN_REASON_MAJOR_SYSTEM: ::DWORD = 0x00050000; +pub const SHTDN_REASON_MAJOR_POWER: ::DWORD = 0x00060000; +pub const SHTDN_REASON_MAJOR_LEGACY_API: ::DWORD = 0x00070000; +// Microsoft minor reasons. +pub const SHTDN_REASON_MINOR_OTHER: ::DWORD = 0x00000000; +pub const SHTDN_REASON_MINOR_NONE: ::DWORD = 0x000000ff; +pub const SHTDN_REASON_MINOR_MAINTENANCE: ::DWORD = 0x00000001; +pub const SHTDN_REASON_MINOR_INSTALLATION: ::DWORD = 0x00000002; +pub const SHTDN_REASON_MINOR_UPGRADE: ::DWORD = 0x00000003; +pub const SHTDN_REASON_MINOR_RECONFIG: ::DWORD = 0x00000004; +pub const SHTDN_REASON_MINOR_HUNG: ::DWORD = 0x00000005; +pub const SHTDN_REASON_MINOR_UNSTABLE: ::DWORD = 0x00000006; +pub const SHTDN_REASON_MINOR_DISK: ::DWORD = 0x00000007; +pub const SHTDN_REASON_MINOR_PROCESSOR: ::DWORD = 0x00000008; +pub const SHTDN_REASON_MINOR_NETWORKCARD: ::DWORD = 0x00000009; +pub const SHTDN_REASON_MINOR_POWER_SUPPLY: ::DWORD = 0x0000000a; +pub const SHTDN_REASON_MINOR_CORDUNPLUGGED: ::DWORD = 0x0000000b; +pub const SHTDN_REASON_MINOR_ENVIRONMENT: ::DWORD = 0x0000000c; +pub const SHTDN_REASON_MINOR_HARDWARE_DRIVER: ::DWORD = 0x0000000d; +pub const SHTDN_REASON_MINOR_OTHERDRIVER: ::DWORD = 0x0000000e; +pub const SHTDN_REASON_MINOR_BLUESCREEN: ::DWORD = 0x0000000F; +pub const SHTDN_REASON_MINOR_SERVICEPACK: ::DWORD = 0x00000010; +pub const SHTDN_REASON_MINOR_HOTFIX: ::DWORD = 0x00000011; +pub const SHTDN_REASON_MINOR_SECURITYFIX: ::DWORD = 0x00000012; +pub const SHTDN_REASON_MINOR_SECURITY: ::DWORD = 0x00000013; +pub const SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY: ::DWORD = 0x00000014; +pub const SHTDN_REASON_MINOR_WMI: ::DWORD = 0x00000015; +pub const SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL: ::DWORD = 0x00000016; +pub const SHTDN_REASON_MINOR_HOTFIX_UNINSTALL: ::DWORD = 0x00000017; +pub const SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL: ::DWORD = 0x00000018; +pub const SHTDN_REASON_MINOR_MMC: ::DWORD = 0x00000019; +pub const SHTDN_REASON_MINOR_SYSTEMRESTORE: ::DWORD = 0x0000001a; +pub const SHTDN_REASON_MINOR_TERMSRV: ::DWORD = 0x00000020; +pub const SHTDN_REASON_MINOR_DC_PROMOTION: ::DWORD = 0x00000021; +pub const SHTDN_REASON_MINOR_DC_DEMOTION: ::DWORD = 0x00000022; +pub const SHTDN_REASON_UNKNOWN: ::DWORD = SHTDN_REASON_MINOR_NONE; +pub const SHTDN_REASON_LEGACY_API: ::DWORD = + (SHTDN_REASON_MAJOR_LEGACY_API | SHTDN_REASON_FLAG_PLANNED); +// This mask cuts out UI flags. +pub const SHTDN_REASON_VALID_BIT_MASK: ::DWORD = 0xc0ffffff; +// Convenience flags. +pub const PCLEANUI: ::DWORD = (SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_CLEAN_UI); +pub const UCLEANUI: ::DWORD = (SHTDN_REASON_FLAG_CLEAN_UI); +pub const PDIRTYUI: ::DWORD = (SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_DIRTY_UI); +pub const UDIRTYUI: ::DWORD = (SHTDN_REASON_FLAG_DIRTY_UI); +//89 diff --git a/third_party/rust/winapi-0.2.8/src/restrictederrorinfo.rs b/third_party/rust/winapi-0.2.8/src/restrictederrorinfo.rs new file mode 100644 index 0000000000..94fbb77bb0 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/restrictederrorinfo.rs @@ -0,0 +1,9 @@ +RIDL!( +interface IRestrictedErrorInfo(IRestrictedErrorInfoVtbl): IUnknown(IUnknownVtbl) { + fn GetErrorDetails( + &mut self, description: *mut ::BSTR, error: *mut ::HRESULT, + restrictedDescription: *mut ::BSTR, capabilitySid: *mut ::BSTR + ) -> ::HRESULT, + fn GetReference(&mut self, reference: *mut ::BSTR) -> ::HRESULT +} +); diff --git a/third_party/rust/winapi-0.2.8/src/roapi.rs b/third_party/rust/winapi-0.2.8/src/roapi.rs new file mode 100644 index 0000000000..db8d5df027 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/roapi.rs @@ -0,0 +1,13 @@ +ENUM!{enum RO_INIT_TYPE { + RO_INIT_SINGLETHREADED = 0, + RO_INIT_MULTITHREADED = 1, +}} + +pub enum RO_REGISTRATION_COOKIE__{} +pub type RO_REGISTRATION_COOKIE = *mut RO_REGISTRATION_COOKIE__; + +pub type PFNGETACTIVATIONFACTORY = Option<unsafe extern "system" fn( + ::HSTRING, *mut *mut ::IActivationFactory, +) -> ::HRESULT>; + +DECLARE_HANDLE!(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE, APARTMENT_SHUTDOWN_REGISTRATION_COOKIE__); diff --git a/third_party/rust/winapi-0.2.8/src/roerrorapi.rs b/third_party/rust/winapi-0.2.8/src/roerrorapi.rs new file mode 100644 index 0000000000..9a0cbcc677 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/roerrorapi.rs @@ -0,0 +1,11 @@ +FLAGS!{enum RO_ERROR_REPORTING_FLAGS { + RO_ERROR_REPORTING_NONE = 0x00000000, + RO_ERROR_REPORTING_SUPPRESSEXCEPTIONS = 0x00000001, + RO_ERROR_REPORTING_FORCEEXCEPTIONS = 0x00000002, + RO_ERROR_REPORTING_USESETERRORINFO = 0x00000004, + RO_ERROR_REPORTING_SUPPRESSSETERRORINFO = 0x00000008, +}} + +pub type PINSPECT_MEMORY_CALLBACK = Option<unsafe extern "system" fn( + *const ::VOID, ::UINT_PTR, ::UINT32, *mut ::BYTE, +) -> ::HRESULT>; diff --git a/third_party/rust/winapi-0.2.8/src/rpc.rs b/third_party/rust/winapi-0.2.8/src/rpc.rs new file mode 100644 index 0000000000..0b013d39e9 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/rpc.rs @@ -0,0 +1,5 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +// Master include file for RPC applications. +pub type I_RPC_HANDLE = *mut ::c_void; +pub type RPC_STATUS = ::c_long; diff --git a/third_party/rust/winapi-0.2.8/src/rpcdce.rs b/third_party/rust/winapi-0.2.8/src/rpcdce.rs new file mode 100644 index 0000000000..68d88c7a32 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/rpcdce.rs @@ -0,0 +1,535 @@ +// Copyright © 2015, Brian Vincent +// Licensed under the MIT License <LICENSE.md> +// This module contains the DCE RPC runtime APIs. +pub type RPC_CSTR = *mut ::c_uchar; +pub type RPC_WSTR = *mut ::wchar_t; +pub type RPC_CWSTR = *const ::wchar_t; +pub type RPC_BINDING_HANDLE = ::I_RPC_HANDLE; +pub type handle_t = RPC_BINDING_HANDLE; +pub type rpc_binding_handle_t = RPC_BINDING_HANDLE; +pub type UUID = ::GUID; +pub type uuid_t = UUID; +STRUCT!{struct RPC_BINDING_VECTOR { + Count: ::c_ulong, + BindingH: [RPC_BINDING_HANDLE; 1], +}} +pub type rpc_binding_vector_t = RPC_BINDING_VECTOR; +STRUCT!{struct UUID_VECTOR { + Count: ::c_ulong, + Uuid: [*mut UUID; 1], +}} +pub type uuid_vector_t = UUID_VECTOR; +pub type RPC_IF_HANDLE = *mut ::c_void; +STRUCT!{struct RPC_IF_ID { + Uuid: UUID, + VersMajor: ::c_ushort, + VersMinor: ::c_ushort, +}} +pub const RPC_C_BINDING_INFINITE_TIMEOUT: ::DWORD = 10; +pub const RPC_C_BINDING_MIN_TIMEOUT: ::DWORD = 0; +pub const RPC_C_BINDING_DEFAULT_TIMEOUT: ::DWORD = 5; +pub const RPC_C_BINDING_MAX_TIMEOUT: ::DWORD = 9; +pub const RPC_C_CANCEL_INFINITE_TIMEOUT: ::c_int = -1; +pub const RPC_C_LISTEN_MAX_CALLS_DEFAULT: ::DWORD = 1234; +pub const RPC_C_PROTSEQ_MAX_REQS_DEFAULT: ::DWORD = 10; +pub const RPC_C_BIND_TO_ALL_NICS: ::DWORD = 1; +pub const RPC_C_USE_INTERNET_PORT: ::DWORD = 0x1; +pub const RPC_C_USE_INTRANET_PORT: ::DWORD = 0x2; +pub const RPC_C_DONT_FAIL: ::DWORD = 0x4; +pub const RPC_C_RPCHTTP_USE_LOAD_BALANCE: ::DWORD = 0x8; +pub const RPC_C_MQ_TEMPORARY: ::DWORD = 0x0000; +pub const RPC_C_MQ_PERMANENT: ::DWORD = 0x0001; +pub const RPC_C_MQ_CLEAR_ON_OPEN: ::DWORD = 0x0002; +pub const RPC_C_MQ_USE_EXISTING_SECURITY: ::DWORD = 0x0004; +pub const RPC_C_MQ_AUTHN_LEVEL_NONE: ::DWORD = 0x0000; +pub const RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY: ::DWORD = 0x0008; +pub const RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY: ::DWORD = 0x0010; +pub const RPC_C_OPT_MQ_DELIVERY: ::DWORD = 1; +pub const RPC_C_OPT_MQ_PRIORITY: ::DWORD = 2; +pub const RPC_C_OPT_MQ_JOURNAL: ::DWORD = 3; +pub const RPC_C_OPT_MQ_ACKNOWLEDGE: ::DWORD = 4; +pub const RPC_C_OPT_MQ_AUTHN_SERVICE: ::DWORD = 5; +pub const RPC_C_OPT_MQ_AUTHN_LEVEL: ::DWORD = 6; +pub const RPC_C_OPT_MQ_TIME_TO_REACH_QUEUE: ::DWORD = 7; +pub const RPC_C_OPT_MQ_TIME_TO_BE_RECEIVED: ::DWORD = 8; +pub const RPC_C_OPT_BINDING_NONCAUSAL: ::DWORD = 9; +pub const RPC_C_OPT_SECURITY_CALLBACK: ::DWORD = 10; +pub const RPC_C_OPT_UNIQUE_BINDING: ::DWORD = 11; +pub const RPC_C_OPT_CALL_TIMEOUT: ::DWORD = 12; +pub const RPC_C_OPT_DONT_LINGER: ::DWORD = 13; +pub const RPC_C_OPT_TRUST_PEER: ::DWORD = 14; +pub const RPC_C_OPT_ASYNC_BLOCK: ::DWORD = 15; +pub const RPC_C_OPT_OPTIMIZE_TIME: ::DWORD = 16; +pub const RPC_C_OPT_MAX_OPTIONS: ::DWORD = 17; +pub const RPC_C_MQ_EXPRESS: ::DWORD = 0; +pub const RPC_C_MQ_RECOVERABLE: ::DWORD = 1; +pub const RPC_C_MQ_JOURNAL_NONE: ::DWORD = 0; +pub const RPC_C_MQ_JOURNAL_DEADLETTER: ::DWORD = 1; +pub const RPC_C_MQ_JOURNAL_ALWAYS: ::DWORD = 2; +pub const RPC_C_FULL_CERT_CHAIN: ::DWORD = 0x0001; +STRUCT!{struct RPC_PROTSEQ_VECTORA { + Count: ::c_uint, + Protseq: [*mut ::c_uchar; 1], +}} +STRUCT!{struct RPC_PROTSEQ_VECTORW { + Count: ::c_uint, + Protseq: [*mut ::c_ushort; 1], +}} +STRUCT!{struct RPC_POLICY { + Length: ::c_uint, + EndpointFlags: ::c_ulong, + NICFlags: ::c_ulong, +}} +pub type PRPC_POLICY = *mut RPC_POLICY; +pub type RPC_OBJECT_INQ_FN = Option<unsafe extern "system" fn( + ObjectUuid: *mut UUID, TypeUuid: *mut UUID, Status: *mut ::RPC_STATUS, +)>; +pub type RPC_IF_CALLBACK_FN = Option<unsafe extern "system" fn( + InterfaceUuid: RPC_IF_HANDLE, Context: *mut ::c_void, +) -> ::RPC_STATUS>; +pub type RPC_SECURITY_CALLBACK_FN = Option<unsafe extern "system" fn(Context: *mut ::c_void)>; +pub type RPC_MGR_EPV = ::c_void; +STRUCT!{struct RPC_STATS_VECTOR { + Count: ::c_uint, + Stats: [::c_ulong; 1], +}} +pub const RPC_C_STATS_CALLS_IN: ::c_ulong = 0; +pub const RPC_C_STATS_CALLS_OUT: ::c_ulong = 1; +pub const RPC_C_STATS_PKTS_IN: ::c_ulong = 2; +pub const RPC_C_STATS_PKTS_OUT: ::c_ulong = 3; +STRUCT!{struct RPC_IF_ID_VECTOR { + Count: ::c_ulong, + IfId: [*mut RPC_IF_ID; 1], +}} +pub type RPC_AUTH_IDENTITY_HANDLE = *mut ::c_void; +pub type RPC_AUTHZ_HANDLE = *mut ::c_void; +pub const RPC_C_AUTHN_LEVEL_DEFAULT: ::DWORD = 0; +pub const RPC_C_AUTHN_LEVEL_NONE: ::DWORD = 1; +pub const RPC_C_AUTHN_LEVEL_CONNECT: ::DWORD = 2; +pub const RPC_C_AUTHN_LEVEL_CALL: ::DWORD = 3; +pub const RPC_C_AUTHN_LEVEL_PKT: ::DWORD = 4; +pub const RPC_C_AUTHN_LEVEL_PKT_INTEGRITY: ::DWORD = 5; +pub const RPC_C_AUTHN_LEVEL_PKT_PRIVACY: ::DWORD = 6; +pub const RPC_C_IMP_LEVEL_DEFAULT: ::DWORD = 0; +pub const RPC_C_IMP_LEVEL_ANONYMOUS: ::DWORD = 1; +pub const RPC_C_IMP_LEVEL_IDENTIFY: ::DWORD = 2; +pub const RPC_C_IMP_LEVEL_IMPERSONATE: ::DWORD = 3; +pub const RPC_C_IMP_LEVEL_DELEGATE: ::DWORD = 4; +pub const RPC_C_QOS_IDENTITY_STATIC: ::DWORD = 0; +pub const RPC_C_QOS_IDENTITY_DYNAMIC: ::DWORD = 1; +pub const RPC_C_QOS_CAPABILITIES_DEFAULT: ::DWORD = 0x0; +pub const RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH: ::DWORD = 0x1; +pub const RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC: ::DWORD = 0x2; +pub const RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY: ::DWORD = 0x4; +pub const RPC_C_QOS_CAPABILITIES_IGNORE_DELEGATE_FAILURE: ::DWORD = 0x8; +pub const RPC_C_QOS_CAPABILITIES_LOCAL_MA_HINT: ::DWORD = 0x10; +pub const RPC_C_QOS_CAPABILITIES_SCHANNEL_FULL_AUTH_IDENTITY: ::DWORD = 0x20; +pub const RPC_C_PROTECT_LEVEL_DEFAULT: ::DWORD = RPC_C_AUTHN_LEVEL_DEFAULT; +pub const RPC_C_PROTECT_LEVEL_NONE: ::DWORD = RPC_C_AUTHN_LEVEL_NONE; +pub const RPC_C_PROTECT_LEVEL_CONNECT: ::DWORD = RPC_C_AUTHN_LEVEL_CONNECT; +pub const RPC_C_PROTECT_LEVEL_CALL: ::DWORD = RPC_C_AUTHN_LEVEL_CALL; +pub const RPC_C_PROTECT_LEVEL_PKT: ::DWORD = RPC_C_AUTHN_LEVEL_PKT; +pub const RPC_C_PROTECT_LEVEL_PKT_INTEGRITY: ::DWORD = RPC_C_AUTHN_LEVEL_PKT_INTEGRITY; +pub const RPC_C_PROTECT_LEVEL_PKT_PRIVACY: ::DWORD = RPC_C_AUTHN_LEVEL_PKT_PRIVACY; +pub const RPC_C_AUTHN_NONE: ::DWORD = 0; +pub const RPC_C_AUTHN_DCE_PRIVATE: ::DWORD = 1; +pub const RPC_C_AUTHN_DCE_PUBLIC: ::DWORD = 2; +pub const RPC_C_AUTHN_DEC_PUBLIC: ::DWORD = 4; +pub const RPC_C_AUTHN_GSS_NEGOTIATE: ::DWORD = 9; +pub const RPC_C_AUTHN_WINNT: ::DWORD = 10; +pub const RPC_C_AUTHN_GSS_SCHANNEL: ::DWORD = 14; +pub const RPC_C_AUTHN_GSS_KERBEROS: ::DWORD = 16; +pub const RPC_C_AUTHN_DPA: ::DWORD = 17; +pub const RPC_C_AUTHN_MSN: ::DWORD = 18; +pub const RPC_C_AUTHN_DIGEST: ::DWORD = 21; +pub const RPC_C_AUTHN_KERNEL: ::DWORD = 20; +pub const RPC_C_AUTHN_NEGO_EXTENDER: ::DWORD = 30; +pub const RPC_C_AUTHN_PKU2U: ::DWORD = 31; +pub const RPC_C_AUTHN_LIVE_SSP: ::DWORD = 32; +pub const RPC_C_AUTHN_LIVEXP_SSP: ::DWORD = 35; +pub const RPC_C_AUTHN_MSONLINE: ::DWORD = 82; +pub const RPC_C_AUTHN_MQ: ::DWORD = 100; +pub const RPC_C_AUTHN_DEFAULT: ::DWORD = 0xFFFFFFFF; +pub const RPC_C_NO_CREDENTIALS: ::DWORD = 0xFFFFFFFF; +pub const RPC_C_SECURITY_QOS_VERSION: ::DWORD = 1; +pub const RPC_C_SECURITY_QOS_VERSION_1: ::DWORD = 1; +STRUCT!{struct RPC_SECURITY_QOS { + Version: ::c_ulong, + Capabilities: ::c_ulong, + IdentityTracking: ::c_ulong, + ImpersonationType: ::c_ulong, +}} +pub type PRPC_SECURITY_QOS = *mut RPC_SECURITY_QOS; +STRUCT!{struct SEC_WINNT_AUTH_IDENTITY_W { + User: *mut ::c_ushort, + UserLength: ::c_ulong, + Domain: *mut ::c_ushort, + DomainLength: ::c_ulong, + Password: *mut ::c_ushort, + PasswordLength: ::c_ulong, + Flags: ::c_ulong, +}} +pub type PSEC_WINNT_AUTH_IDENTITY_W = *mut SEC_WINNT_AUTH_IDENTITY_W; +STRUCT!{struct SEC_WINNT_AUTH_IDENTITY_A { + User: *mut ::c_uchar, + UserLength: ::c_ulong, + Domain: *mut ::c_uchar, + DomainLength: ::c_ulong, + Password: *mut ::c_uchar, + PasswordLength: ::c_ulong, + Flags: ::c_ulong, +}} +pub type PSEC_WINNT_AUTH_IDENTITY_A = *mut SEC_WINNT_AUTH_IDENTITY_A; +pub const RPC_C_AUTHN_INFO_TYPE_HTTP: ::c_ulong = 1; +pub const RPC_C_HTTP_AUTHN_TARGET_SERVER: ::c_ulong = 1; +pub const RPC_C_HTTP_AUTHN_TARGET_PROXY: ::c_ulong = 2; +pub const RPC_C_HTTP_AUTHN_SCHEME_BASIC: ::c_ulong = 0x00000001; +pub const RPC_C_HTTP_AUTHN_SCHEME_NTLM: ::c_ulong = 0x00000002; +pub const RPC_C_HTTP_AUTHN_SCHEME_PASSPORT: ::c_ulong = 0x00000004; +pub const RPC_C_HTTP_AUTHN_SCHEME_DIGEST: ::c_ulong = 0x00000008; +pub const RPC_C_HTTP_AUTHN_SCHEME_NEGOTIATE: ::c_ulong = 0x00000010; +pub const RPC_C_HTTP_AUTHN_SCHEME_CERT: ::c_ulong = 0x00010000; +pub const RPC_C_HTTP_FLAG_USE_SSL: ::c_ulong = 1; +pub const RPC_C_HTTP_FLAG_USE_FIRST_AUTH_SCHEME: ::c_ulong = 2; +pub const RPC_C_HTTP_FLAG_IGNORE_CERT_CN_INVALID: ::c_ulong = 8; +pub const RPC_C_HTTP_FLAG_ENABLE_CERT_REVOCATION_CHECK: ::c_ulong = 16; +STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_W { + TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, + Flags: ::c_ulong, + AuthenticationTarget: ::c_ulong, + NumberOfAuthnSchemes: ::c_ulong, + AuthnSchemes: *mut ::c_ulong, + ServerCertificateSubject: *mut ::c_ushort, +}} +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_W = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W; +STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_A { + TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, + Flags: ::c_ulong, + AuthenticationTarget: ::c_ulong, + NumberOfAuthnSchemes: ::c_ulong, + AuthnSchemes: *mut ::c_ulong, + ServerCertificateSubject: *mut ::c_uchar, +}} +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_A = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A; +STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W { + TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, + Flags: ::c_ulong, + AuthenticationTarget: ::c_ulong, + NumberOfAuthnSchemes: ::c_ulong, + AuthnSchemes: *mut ::c_ulong, + ServerCertificateSubject: *mut ::c_ushort, + ProxyCredentials: *mut SEC_WINNT_AUTH_IDENTITY_W, + NumberOfProxyAuthnSchemes: ::c_ulong, + ProxyAuthnSchemes: *mut ::c_ulong, +}} +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_W = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W; +STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A { + TransportCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, + Flags: ::c_ulong, + AuthenticationTarget: ::c_ulong, + NumberOfAuthnSchemes: ::c_ulong, + AuthnSchemes: *mut ::c_ulong, + ServerCertificateSubject: *mut ::c_uchar, + ProxyCredentials: *mut SEC_WINNT_AUTH_IDENTITY_A, + NumberOfProxyAuthnSchemes: ::c_ulong, + ProxyAuthnSchemes: *mut ::c_ulong, +}} +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_A = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A; +STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W { + TransportCredentials: RPC_AUTH_IDENTITY_HANDLE, + Flags: ::c_ulong, + AuthenticationTarget: ::c_ulong, + NumberOfAuthnSchemes: ::c_ulong, + AuthnSchemes: *mut ::c_ulong, + ServerCertificateSubject: *mut ::c_ushort, + ProxyCredentials: *mut RPC_AUTH_IDENTITY_HANDLE, + NumberOfProxyAuthnSchemes: ::c_ulong, + ProxyAuthnSchemes: *mut ::c_ulong, +}} +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_W = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W; +STRUCT!{struct RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A { + TransportCredentials: RPC_AUTH_IDENTITY_HANDLE, + Flags: ::c_ulong, + AuthenticationTarget: ::c_ulong, + NumberOfAuthnSchemes: ::c_ulong, + AuthnSchemes: *mut ::c_ulong, + ServerCertificateSubject: *mut ::c_uchar, + ProxyCredentials: *mut RPC_AUTH_IDENTITY_HANDLE, + NumberOfProxyAuthnSchemes: ::c_ulong, + ProxyAuthnSchemes: *mut ::c_ulong, +}} +pub type PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_A = *mut RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A; +STRUCT!{struct RPC_SECURITY_QOS_V2_W_union { + HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +}} +STRUCT!{struct RPC_SECURITY_QOS_V2_W { + Version: ::c_ulong, + Capabilities: ::c_ulong, + IdentityTracking: ::c_ulong, + ImpersonationType: ::c_ulong, + AdditionalSecurityInfoType: ::c_ulong, + u: RPC_SECURITY_QOS_V2_W_union, +}} +pub type PRPC_SECURITY_QOS_V2_W = *mut RPC_SECURITY_QOS_V2_W; +STRUCT!{struct RPC_SECURITY_QOS_V2_A_union { + HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +}} +STRUCT!{struct RPC_SECURITY_QOS_V2_A { + Version: ::c_ulong, + Capabilities: ::c_ulong, + IdentityTracking: ::c_ulong, + ImpersonationType: ::c_ulong, + AdditionalSecurityInfoType: ::c_ulong, + u: RPC_SECURITY_QOS_V2_A_union, +}} +pub type PRPC_SECURITY_QOS_V2_A = *mut RPC_SECURITY_QOS_V2_A; +STRUCT!{struct RPC_SECURITY_QOS_V3_W_union { + HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +}} +STRUCT!{struct RPC_SECURITY_QOS_V3_W { + Version: ::c_ulong, + Capabilities: ::c_ulong, + IdentityTracking: ::c_ulong, + ImpersonationType: ::c_ulong, + AdditionalSecurityInfoType: ::c_ulong, + u: RPC_SECURITY_QOS_V3_W_union, + Sid: *mut ::c_void, +}} +pub type PRPC_SECURITY_QOS_V3_W = *mut RPC_SECURITY_QOS_V3_W; +STRUCT!{struct RPC_SECURITY_QOS_V3_A_union { + HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +}} +STRUCT!{struct RPC_SECURITY_QOS_V3_A { + Version: ::c_ulong, + Capabilities: ::c_ulong, + IdentityTracking: ::c_ulong, + ImpersonationType: ::c_ulong, + AdditionalSecurityInfoType: ::c_ulong, + u: RPC_SECURITY_QOS_V3_A_union, + Sid: *mut ::c_void, +}} +pub type PRPC_SECURITY_QOS_V3_A = *mut RPC_SECURITY_QOS_V3_A; +STRUCT!{struct RPC_SECURITY_QOS_V4_W_union { + HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +}} +STRUCT!{struct RPC_SECURITY_QOS_V4_W { + Version: ::c_ulong, + Capabilities: ::c_ulong, + IdentityTracking: ::c_ulong, + ImpersonationType: ::c_ulong, + AdditionalSecurityInfoType: ::c_ulong, + u: RPC_SECURITY_QOS_V4_W_union, + Sid: *mut ::c_void, + EffectiveOnly: ::c_uint, +}} +pub type PRPC_SECURITY_QOS_V4_W = *mut RPC_SECURITY_QOS_V4_W; +STRUCT!{struct RPC_SECURITY_QOS_V4_A_union { + HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +}} +STRUCT!{struct RPC_SECURITY_QOS_V4_A { + Version: ::c_ulong, + Capabilities: ::c_ulong, + IdentityTracking: ::c_ulong, + ImpersonationType: ::c_ulong, + AdditionalSecurityInfoType: ::c_ulong, + u: RPC_SECURITY_QOS_V4_A_union, + Sid: *mut ::c_void, + EffectiveOnly: ::c_uint, +}} +pub type PRPC_SECURITY_QOS_V4_A = *mut RPC_SECURITY_QOS_V4_A; +STRUCT!{struct RPC_SECURITY_QOS_V5_W_union { + HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_W, +}} +STRUCT!{struct RPC_SECURITY_QOS_V5_W { + Version: ::c_ulong, + Capabilities: ::c_ulong, + IdentityTracking: ::c_ulong, + ImpersonationType: ::c_ulong, + AdditionalSecurityInfoType: ::c_ulong, + u: RPC_SECURITY_QOS_V5_W_union, + Sid: *mut ::c_void, + EffectiveOnly: ::c_uint, + ServerSecurityDescriptor: *mut ::c_void, +}} +pub type PRPC_SECURITY_QOS_V5_W = *mut RPC_SECURITY_QOS_V5_W; +STRUCT!{struct RPC_SECURITY_QOS_V5_A_union { + HttpCredentials: *mut RPC_HTTP_TRANSPORT_CREDENTIALS_A, +}} +STRUCT!{struct RPC_SECURITY_QOS_V5_A { + Version: ::c_ulong, + Capabilities: ::c_ulong, + IdentityTracking: ::c_ulong, + ImpersonationType: ::c_ulong, + AdditionalSecurityInfoType: ::c_ulong, + u: RPC_SECURITY_QOS_V5_A_union, + Sid: *mut ::c_void, + EffectiveOnly: ::c_uint, + ServerSecurityDescriptor: *mut ::c_void, +}} +pub type PRPC_SECURITY_QOS_V5_A = *mut RPC_SECURITY_QOS_V5_A; +pub const RPC_PROTSEQ_TCP: ::c_ulong = 0x1; +pub const RPC_PROTSEQ_NMP: ::c_ulong = 0x2; +pub const RPC_PROTSEQ_LRPC: ::c_ulong = 0x3; +pub const RPC_PROTSEQ_HTTP: ::c_ulong = 0x4; +pub const RPC_BHT_OBJECT_UUID_VALID: ::c_ulong = 0x1; +pub const RPC_BHO_NONCAUSAL: ::c_ulong = 0x1; +pub const RPC_BHO_DONTLINGER: ::c_ulong = 0x2; +pub const RPC_BHO_EXCLUSIVE_AND_GUARANTEED: ::c_ulong = 0x4; +STRUCT!{struct RPC_BINDING_HANDLE_TEMPLATE_V1_W_union { + Reserved: *mut ::c_ushort, +}} +STRUCT!{struct RPC_BINDING_HANDLE_TEMPLATE_V1_W { + Version: ::c_ulong, + Flags: ::c_ulong, + ProtocolSequence: ::c_ulong, + NetworkAddress: *mut ::c_ushort, + StringEndpoint: *mut ::c_ushort, + u1: RPC_BINDING_HANDLE_TEMPLATE_V1_W_union, + ObjectUuid: UUID, +}} +pub type PRPC_BINDING_HANDLE_TEMPLATE_V1_W = *mut RPC_BINDING_HANDLE_TEMPLATE_V1_W; +STRUCT!{struct RPC_BINDING_HANDLE_TEMPLATE_V1_A_union { + Reserved: *mut ::c_uchar, +}} +STRUCT!{struct RPC_BINDING_HANDLE_TEMPLATE_V1_A { + Version: ::c_ulong, + Flags: ::c_ulong, + ProtocolSequence: ::c_ulong, + NetworkAddress: *mut ::c_uchar, + StringEndpoint: *mut ::c_uchar, + u1: RPC_BINDING_HANDLE_TEMPLATE_V1_A_union, + ObjectUuid: UUID, +}} +pub type PRPC_BINDING_HANDLE_TEMPLATE_V1_A = *mut RPC_BINDING_HANDLE_TEMPLATE_V1_A; +STRUCT!{struct RPC_BINDING_HANDLE_SECURITY_V1_W { + Version: ::c_ulong, + ServerPrincName: *mut ::c_ushort, + AuthnLevel: ::c_ulong, + AuthnSvc: ::c_ulong, + AuthIdentity: *mut SEC_WINNT_AUTH_IDENTITY_W, + SecurityQos: *mut RPC_SECURITY_QOS, +}} +pub type PRPC_BINDING_HANDLE_SECURITY_V1_W = *mut RPC_BINDING_HANDLE_SECURITY_V1_W; +STRUCT!{struct RPC_BINDING_HANDLE_SECURITY_V1_A { + Version: ::c_ulong, + ServerPrincName: *mut ::c_uchar, + AuthnLevel: ::c_ulong, + AuthnSvc: ::c_ulong, + AuthIdentity: *mut SEC_WINNT_AUTH_IDENTITY_A, + SecurityQos: *mut RPC_SECURITY_QOS, +}} +pub type PRPC_BINDING_HANDLE_SECURITY_V1_A = *mut RPC_BINDING_HANDLE_SECURITY_V1_A; +STRUCT!{struct RPC_BINDING_HANDLE_OPTIONS_V1 { + Version: ::c_ulong, + Flags: ::c_ulong, + ComTimeout: ::c_ulong, + CallTimeout: ::c_ulong, +}} +pub type PRPC_BINDING_HANDLE_OPTIONS_V1 = *mut RPC_BINDING_HANDLE_OPTIONS_V1; +ENUM!{enum RPC_HTTP_REDIRECTOR_STAGE { + RPCHTTP_RS_REDIRECT = 1, + RPCHTTP_RS_ACCESS_1, + RPCHTTP_RS_SESSION, + RPCHTTP_RS_ACCESS_2, + RPCHTTP_RS_INTERFACE, +}} +pub type RPC_NEW_HTTP_PROXY_CHANNEL = Option<unsafe extern "system" fn( + RedirectorStage: RPC_HTTP_REDIRECTOR_STAGE, ServerName: RPC_WSTR, ServerPort: RPC_WSTR, + RemoteUser: RPC_WSTR, AuthType: RPC_WSTR, ResourceUuid: *mut ::c_void, + SessionId: *mut ::c_void, Interface: *mut ::c_void, Reserved: *mut ::c_void, Flags: ::c_ulong, + NewServerName: *mut RPC_WSTR, NewServerPort: *mut RPC_WSTR, +) -> ::RPC_STATUS>; +pub type RPC_HTTP_PROXY_FREE_STRING = Option<unsafe extern "system" fn(String: RPC_WSTR)>; +pub const RPC_C_AUTHZ_NONE: ::DWORD = 0; +pub const RPC_C_AUTHZ_NAME: ::DWORD = 1; +pub const RPC_C_AUTHZ_DCE: ::DWORD = 2; +pub const RPC_C_AUTHZ_DEFAULT: ::DWORD = 0xffffffff; +pub type RPC_AUTH_KEY_RETRIEVAL_FN = Option<unsafe extern "system" fn( + Arg: *mut ::c_void, ServerPrincName: RPC_WSTR, KeyVer: ::c_ulong, Key: *mut *mut ::c_void, + Status: *mut ::RPC_STATUS, +)>; +STRUCT!{struct RPC_CLIENT_INFORMATION1 { + UserName: *mut ::c_uchar, + ComputerName: *mut ::c_uchar, + Privilege: ::c_ushort, + AuthFlags: ::c_ulong, +}} +pub type PRPC_CLIENT_INFORMATION1 = *mut RPC_CLIENT_INFORMATION1; +pub type RPC_EP_INQ_HANDLE = *mut ::I_RPC_HANDLE; +pub const RPC_C_EP_ALL_ELTS: ::c_ulong = 0; +pub const RPC_C_EP_MATCH_BY_IF: ::c_ulong = 1; +pub const RPC_C_EP_MATCH_BY_OBJ: ::c_ulong = 2; +pub const RPC_C_EP_MATCH_BY_BOTH: ::c_ulong = 3; +pub const RPC_C_VERS_ALL: ::c_ulong = 1; +pub const RPC_C_VERS_COMPATIBLE: ::c_ulong = 2; +pub const RPC_C_VERS_EXACT: ::c_ulong = 3; +pub const RPC_C_VERS_MAJOR_ONLY: ::c_ulong = 4; +pub const RPC_C_VERS_UPTO: ::c_ulong = 5; +pub type RPC_MGMT_AUTHORIZATION_FN = Option<unsafe extern "system" fn( + ClientBinding: RPC_BINDING_HANDLE, RequestedMgmtOperation: ::c_ulong, + Status: *mut ::RPC_STATUS, +) -> ::c_int>; +pub const RPC_C_MGMT_INQ_IF_IDS: ::c_ulong = 0; +pub const RPC_C_MGMT_INQ_PRINC_NAME: ::c_ulong = 1; +pub const RPC_C_MGMT_INQ_STATS: ::c_ulong = 2; +pub const RPC_C_MGMT_IS_SERVER_LISTEN: ::c_ulong = 3; +pub const RPC_C_MGMT_STOP_SERVER_LISTEN: ::c_ulong = 4; +pub const RPC_IF_AUTOLISTEN: ::c_uint = 0x0001; +pub const RPC_IF_OLE: ::c_uint = 0x0002; +pub const RPC_IF_ALLOW_UNKNOWN_AUTHORITY: ::c_uint = 0x0004; +pub const RPC_IF_ALLOW_SECURE_ONLY: ::c_uint = 0x0008; +pub const RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH: ::c_uint = 0x0010; +pub const RPC_IF_ALLOW_LOCAL_ONLY: ::c_uint = 0x0020; +pub const RPC_IF_SEC_NO_CACHE: ::c_uint = 0x0040; +pub const RPC_IF_SEC_CACHE_PER_PROC: ::c_uint = 0x0080; +pub const RPC_IF_ASYNC_CALLBACK: ::c_uint = 0x0100; +pub const RPC_FW_IF_FLAG_DCOM: ::c_uint = 0x0001; +pub type RPC_INTERFACE_GROUP = *mut ::c_void; +pub type PRPC_INTERFACE_GROUP = *mut *mut ::c_void; +STRUCT!{struct RPC_ENDPOINT_TEMPLATEW { + Version: ::c_ulong, + ProtSeq: RPC_WSTR, + Endpoint: RPC_WSTR, + SecurityDescriptor: *mut ::c_void, + Backlog: ::c_ulong, +}} +pub type PRPC_ENDPOINT_TEMPLATEW = *mut RPC_ENDPOINT_TEMPLATEW; +STRUCT!{struct RPC_ENDPOINT_TEMPLATEA { + Version: ::c_ulong, + ProtSeq: RPC_CSTR, + Endpoint: RPC_CSTR, + SecurityDescriptor: *mut ::c_void, + Backlog: ::c_ulong, +}} +pub type PRPC_ENDPOINT_TEMPLATEA = *mut RPC_ENDPOINT_TEMPLATEA; +STRUCT!{struct RPC_INTERFACE_TEMPLATEA { + Version: ::c_ulong, + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut RPC_MGR_EPV, + Flags: ::c_uint, + MaxCalls: ::c_uint, + MaxRpcSize: ::c_uint, + IfCallback: *mut RPC_IF_CALLBACK_FN, + UuidVector: *mut UUID_VECTOR, + Annotation: RPC_CSTR, + SecurityDescriptor: *mut ::c_void, +}} +pub type PRPC_INTERFACE_TEMPLATEA = *mut RPC_INTERFACE_TEMPLATEA; +STRUCT!{struct RPC_INTERFACE_TEMPLATEW { + Version: ::c_ulong, + IfSpec: RPC_IF_HANDLE, + MgrTypeUuid: *mut UUID, + MgrEpv: *mut RPC_MGR_EPV, + Flags: ::c_uint, + MaxCalls: ::c_uint, + MaxRpcSize: ::c_uint, + IfCallback: *mut RPC_IF_CALLBACK_FN, + UuidVector: *mut UUID_VECTOR, + Annotation: RPC_WSTR, + SecurityDescriptor: *mut ::c_void, +}} +pub type PRPC_INTERFACE_TEMPLATEW = *mut RPC_INTERFACE_TEMPLATEW; +pub type RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN = Option<unsafe extern "system" fn( + IfGroup: RPC_INTERFACE_GROUP, IdleCallbackContext: *mut ::c_void, IsGroupIdle: ::c_ulong, +)>; diff --git a/third_party/rust/winapi-0.2.8/src/sapi.rs b/third_party/rust/winapi-0.2.8/src/sapi.rs new file mode 100644 index 0000000000..ac6ca11e7c --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/sapi.rs @@ -0,0 +1,2431 @@ +// Copyright © 2015, Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of sapi.h +ENUM!{enum SPDATAKEYLOCATION { + SPDKL_DefaultLocation = 0, + SPDKL_CurrentUser = 1, + SPDKL_LocalMachine = 2, + SPDKL_CurrentConfig = 5, +}} +pub const SPDUI_EngineProperties: &'static str = "EngineProperties"; +pub const SPDUI_AddRemoveWord: &'static str = "AddRemoveWord"; +pub const SPDUI_UserTraining: &'static str = "UserTraining"; +pub const SPDUI_MicTraining: &'static str = "MicTraining"; +pub const SPDUI_RecoProfileProperties: &'static str = "RecoProfileProperties"; +pub const SPDUI_AudioProperties: &'static str = "AudioProperties"; +pub const SPDUI_AudioVolume: &'static str = "AudioVolume"; +pub const SPDUI_UserEnrollment: &'static str = "UserEnrollment"; +pub const SPDUI_ShareData: &'static str = "ShareData"; +pub const SPDUI_Tutorial: &'static str = "Tutorial"; +ENUM!{enum SPSTREAMFORMAT { + SPSF_Default = -1i32 as u32, + SPSF_NoAssignedFormat = 0, + SPSF_Text = 1, + SPSF_NonStandardFormat = 2, + SPSF_ExtendedAudioFormat = 3, + SPSF_8kHz8BitMono = 4, + SPSF_8kHz8BitStereo = 5, + SPSF_8kHz16BitMono = 6, + SPSF_8kHz16BitStereo = 7, + SPSF_11kHz8BitMono = 8, + SPSF_11kHz8BitStereo = 9, + SPSF_11kHz16BitMono = 10, + SPSF_11kHz16BitStereo = 11, + SPSF_12kHz8BitMono = 12, + SPSF_12kHz8BitStereo = 13, + SPSF_12kHz16BitMono = 14, + SPSF_12kHz16BitStereo = 15, + SPSF_16kHz8BitMono = 16, + SPSF_16kHz8BitStereo = 17, + SPSF_16kHz16BitMono = 18, + SPSF_16kHz16BitStereo = 19, + SPSF_22kHz8BitMono = 20, + SPSF_22kHz8BitStereo = 21, + SPSF_22kHz16BitMono = 22, + SPSF_22kHz16BitStereo = 23, + SPSF_24kHz8BitMono = 24, + SPSF_24kHz8BitStereo = 25, + SPSF_24kHz16BitMono = 26, + SPSF_24kHz16BitStereo = 27, + SPSF_32kHz8BitMono = 28, + SPSF_32kHz8BitStereo = 29, + SPSF_32kHz16BitMono = 30, + SPSF_32kHz16BitStereo = 31, + SPSF_44kHz8BitMono = 32, + SPSF_44kHz8BitStereo = 33, + SPSF_44kHz16BitMono = 34, + SPSF_44kHz16BitStereo = 35, + SPSF_48kHz8BitMono = 36, + SPSF_48kHz8BitStereo = 37, + SPSF_48kHz16BitMono = 38, + SPSF_48kHz16BitStereo = 39, + SPSF_TrueSpeech_8kHz1BitMono = 40, + SPSF_CCITT_ALaw_8kHzMono = 41, + SPSF_CCITT_ALaw_8kHzStereo = 42, + SPSF_CCITT_ALaw_11kHzMono = 43, + SPSF_CCITT_ALaw_11kHzStereo = 44, + SPSF_CCITT_ALaw_22kHzMono = 45, + SPSF_CCITT_ALaw_22kHzStereo = 46, + SPSF_CCITT_ALaw_44kHzMono = 47, + SPSF_CCITT_ALaw_44kHzStereo = 48, + SPSF_CCITT_uLaw_8kHzMono = 49, + SPSF_CCITT_uLaw_8kHzStereo = 50, + SPSF_CCITT_uLaw_11kHzMono = 51, + SPSF_CCITT_uLaw_11kHzStereo = 52, + SPSF_CCITT_uLaw_22kHzMono = 53, + SPSF_CCITT_uLaw_22kHzStereo = 54, + SPSF_CCITT_uLaw_44kHzMono = 55, + SPSF_CCITT_uLaw_44kHzStereo = 56, + SPSF_ADPCM_8kHzMono = 57, + SPSF_ADPCM_8kHzStereo = 58, + SPSF_ADPCM_11kHzMono = 59, + SPSF_ADPCM_11kHzStereo = 60, + SPSF_ADPCM_22kHzMono = 61, + SPSF_ADPCM_22kHzStereo = 62, + SPSF_ADPCM_44kHzMono = 63, + SPSF_ADPCM_44kHzStereo = 64, + SPSF_GSM610_8kHzMono = 65, + SPSF_GSM610_11kHzMono = 66, + SPSF_GSM610_22kHzMono = 67, + SPSF_GSM610_44kHzMono = 68, + SPSF_NUM_FORMATS = 69, +}} +pub const SPREG_USER_ROOT: &'static str = "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech"; +pub const SPREG_LOCAL_MACHINE_ROOT: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech"; +pub const SPCAT_AUDIOOUT: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioOutput"; +pub const SPCAT_AUDIOIN: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioInput"; +pub const SPCAT_VOICES: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices"; +pub const SPCAT_RECOGNIZERS: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Recognizers"; +pub const SPCAT_APPLEXICONS: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AppLexicons"; +pub const SPCAT_PHONECONVERTERS: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\PhoneConverters"; +pub const SPCAT_TEXTNORMALIZERS: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\TextNormalizers"; +pub const SPCAT_RECOPROFILES: &'static str = "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\RecoProfiles"; +pub const SPMMSYS_AUDIO_IN_TOKEN_ID: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioInput\\TokenEnums\\MMAudioIn\\"; +pub const SPMMSYS_AUDIO_OUT_TOKEN_ID: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioOutput\\TokenEnums\\MMAudioOut\\"; +pub const SPCURRENT_USER_LEXICON_TOKEN_ID: &'static str = "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\CurrentUserLexicon"; +pub const SPCURRENT_USER_SHORTCUT_TOKEN_ID: &'static str = "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\CurrentUserShortcut"; +pub const SPTOKENVALUE_CLSID: &'static str = "CLSID"; +pub const SPTOKENKEY_FILES: &'static str = "Files"; +pub const SPTOKENKEY_UI: &'static str = "UI"; +pub const SPTOKENKEY_ATTRIBUTES: &'static str = "Attributes"; +pub const SPTOKENKEY_RETAINEDAUDIO: &'static str = "SecondsPerRetainedAudioEvent"; +pub const SPTOKENKEY_AUDIO_LATENCY_WARNING: &'static str = "LatencyWarningThreshold"; +pub const SPTOKENKEY_AUDIO_LATENCY_TRUNCATE: &'static str = "LatencyTruncateThreshold"; +pub const SPTOKENKEY_AUDIO_LATENCY_UPDATE_INTERVAL: &'static str = "LatencyUpdateInterval"; +pub const SPVOICECATEGORY_TTSRATE: &'static str = "DefaultTTSRate"; +pub const SPPROP_RESOURCE_USAGE: &'static str = "ResourceUsage"; +pub const SPPROP_HIGH_CONFIDENCE_THRESHOLD: &'static str = "HighConfidenceThreshold"; +pub const SPPROP_NORMAL_CONFIDENCE_THRESHOLD: &'static str = "NormalConfidenceThreshold"; +pub const SPPROP_LOW_CONFIDENCE_THRESHOLD: &'static str = "LowConfidenceThreshold"; +pub const SPPROP_RESPONSE_SPEED: &'static str = "ResponseSpeed"; +pub const SPPROP_COMPLEX_RESPONSE_SPEED: &'static str = "ComplexResponseSpeed"; +pub const SPPROP_ADAPTATION_ON: &'static str = "AdaptationOn"; +pub const SPPROP_PERSISTED_BACKGROUND_ADAPTATION: &'static str = "PersistedBackgroundAdaptation"; +pub const SPPROP_PERSISTED_LANGUAGE_MODEL_ADAPTATION: &'static str = "PersistedLanguageModelAdaptation"; +pub const SPPROP_UX_IS_LISTENING: &'static str = "UXIsListening"; +pub const SPTOPIC_SPELLING: &'static str = "Spelling"; +pub const SPWILDCARD: &'static str = "..."; +pub const SPDICTATION: &'static str = "*"; +pub const SPINFDICTATION: &'static str = "*+"; +pub const SPREG_SAFE_USER_TOKENS: &'static str = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\UserTokens"; +pub const SP_LOW_CONFIDENCE: i32 = -1; +pub const SP_NORMAL_CONFIDENCE: i32 = 0; +pub const SP_HIGH_CONFIDENCE: i32 = 1; +pub const DEFAULT_WEIGHT: i32 = 1; +pub const SP_MAX_WORD_LENGTH: i32 = 128; +pub const SP_MAX_PRON_LENGTH: i32 = 384; +pub const SP_EMULATE_RESULT: i32 = 0x40000000; +RIDL!( +interface ISpNotifyCallback(ISpNotifyCallbackVtbl) { + fn NotifyCallback(&mut self, wParam: ::WPARAM, lParam: ::LPARAM) -> ::HRESULT +} +); +pub type SPNOTIFYCALLBACK = unsafe extern "system" fn(wParam: ::WPARAM, lParam: ::LPARAM); +RIDL!( +interface ISpNotifySource(ISpNotifySourceVtbl): IUnknown(IUnknownVtbl) { + fn SetNotifySink(&mut self, pNotifySink: *mut ISpNotifySink) -> ::HRESULT, + fn SetNotifyWindowMessage( + &mut self, hWnd: ::HWND, Msg: ::UINT, wParam: ::WPARAM, lParam: ::LPARAM + ) -> ::HRESULT, + fn SetNotifyCallbackFunction( + &mut self, pfnCallback: SPNOTIFYCALLBACK, wParam: ::WPARAM, lParam: ::LPARAM + ) -> ::HRESULT, + fn SetNotifyCallbackInterface( + &mut self, pSpCallback: *mut ISpNotifyCallback, wParam: ::WPARAM, lParam: ::LPARAM + ) -> ::HRESULT, + fn SetNotifyWin32Event(&mut self) -> ::HRESULT, + fn WaitForNotifyEvent(&mut self, dwMilliseconds: ::DWORD) -> ::HRESULT, + fn GetNotifyEventHandle(&mut self) -> ::HANDLE +} +); +RIDL!( +interface ISpNotifySink(ISpNotifySinkVtbl): IUnknown(IUnknownVtbl) { + fn Notify(&mut self) -> ::HRESULT +} +); +RIDL!( +interface ISpNotifyTranslator(ISpNotifyTranslatorVtbl): ISpNotifySink(ISpNotifySinkVtbl) { + fn InitWindowMessage( + &mut self, hWnd: ::HWND, Msg: ::UINT, wParam: ::WPARAM, lParam: ::LPARAM + ) -> ::HRESULT, + fn InitCallback( + &mut self, pfnCallback: SPNOTIFYCALLBACK, wParam: ::WPARAM, lParam: ::LPARAM + ) -> ::HRESULT, + fn InitSpNotifyCallback( + &mut self, pSpCallback: *mut ISpNotifyCallback, wParam: ::WPARAM, lParam: ::LPARAM + ) -> ::HRESULT, + fn InitWin32Event(&mut self, hEvent: ::HANDLE, fCloseHandleOnRelease: ::BOOL) -> ::HRESULT, + fn Wait(&mut self, dwMilliseconds: ::DWORD) -> ::HRESULT, + fn GetEventHandle(&mut self) -> ::HANDLE +} +); +RIDL!( +interface ISpDataKey(ISpDataKeyVtbl): IUnknown(IUnknownVtbl) { + fn SetData( + &mut self, pszValueName: ::LPCWSTR, cbData: ::ULONG, pData: *const ::BYTE + ) -> ::HRESULT, + fn GetData( + &mut self, pszValueName: ::LPCWSTR, pcbData: *mut ::ULONG, pData: *mut ::BYTE + ) -> ::HRESULT, + fn SetStringValue(&mut self, pszValueName: ::LPCWSTR, pszValue: ::LPCWSTR) -> ::HRESULT, + fn GetStringValue(&mut self, pszValueName: ::LPCWSTR, ppszValue: *mut ::LPWSTR) -> ::HRESULT, + fn SetDWORD(&mut self, pszValueName: ::LPCWSTR, dwValue: ::DWORD) -> ::HRESULT, + fn GetDWORD(&mut self, pszValueName: ::LPCWSTR, pdwValue: *mut ::DWORD) -> ::HRESULT, + fn OpenKey(&mut self, pszSubKeyName: ::LPCWSTR, ppSubKey: *mut *mut ISpDataKey) -> ::HRESULT, + fn CreateKey(&mut self, pszSubKey: ::LPCWSTR, ppSubKey: *mut *mut ISpDataKey) -> ::HRESULT, + fn DeleteKey(&mut self, pszSubKey: ::LPCWSTR) -> ::HRESULT, + fn DeleteValue(&mut self, pszValueName: ::LPCWSTR) -> ::HRESULT, + fn EnumKeys(&mut self, Index: ::ULONG, ppszSubKeyName: *mut ::LPWSTR) -> ::HRESULT, + fn EnumValues(&mut self, Index: ::ULONG, ppszValueName: *mut ::LPWSTR) -> ::HRESULT +} +); +RIDL!( +interface ISpRegDataKey(ISpRegDataKeyVtbl): ISpDataKey(ISpDataKeyVtbl) { + fn SetKey(&mut self, hkey: ::HKEY, fReadOnly: ::BOOL) -> ::HRESULT +} +); +RIDL!( +interface ISpObjectTokenCategory(ISpObjectTokenCategoryVtbl): ISpDataKey(ISpDataKeyVtbl) { + fn SetId(&mut self, pszCategoryId: ::LPCWSTR, fCreateIfNotExist: ::BOOL) -> ::HRESULT, + fn GetId(&mut self, ppszCoMemCategoryId: *mut ::LPWSTR) -> ::HRESULT, + fn GetDataKey( + &mut self, spdkl: SPDATAKEYLOCATION, pppDataKey: *mut *mut ISpDataKey + ) -> ::HRESULT, + fn EnumTokens( + &mut self, pzsReqAttribs: ::LPCWSTR, pszOptAttribs: ::LPCWSTR, + ppEnum: *mut *mut IEnumSpObjectTokens + ) -> ::HRESULT, + fn SetDefaultTokenId(&mut self, pszTokenId: ::LPCWSTR) -> ::HRESULT, + fn GetDefaultTokenId(&mut self, ppszCoMemTokenId: *mut ::LPWSTR) -> ::HRESULT +} +); +RIDL!( +interface ISpObjectToken(ISpObjectTokenVtbl): ISpDataKey(ISpDataKeyVtbl) { + fn SetId( + &mut self, pszCategoryId: ::LPCWSTR, pszTokenId: ::LPCWSTR, fCreateIfNotExist: ::BOOL + ) -> ::HRESULT, + fn GetId(&mut self, ppszCoMemTokenId: *mut ::LPWSTR) -> ::HRESULT, + fn GetCategory(&mut self, ppTokenCategory: *mut *mut ISpObjectTokenCategory) -> ::HRESULT, + fn CreateInstance( + &mut self, pUnkOuter: *mut ::IUnknown, dwClsContext: ::DWORD, riid: ::REFIID, + ppvObject: *mut *mut ::c_void + ) -> ::HRESULT, + fn GetStorageFileName( + &mut self, clsidCaller: ::REFCLSID, pszValueName: ::LPCWSTR, + pszFileNameSpecifier: ::LPCWSTR, nFolder: ::ULONG, ppszFilePath: *mut ::LPWSTR + ) -> ::HRESULT, + fn RemoveStorageFileName(&mut self, pszKeyName: ::LPCWSTR, fDeleteFile: ::BOOL) -> ::HRESULT, + fn Remove(&mut self, pclsidCaller: *const ::CLSID) -> ::HRESULT, + fn IsUISupported( + &mut self, pszTypeOfUI: ::LPCWSTR, pvExtraData: *mut ::c_void, cbExtraData: ::ULONG, + punkObject: *mut ::IUnknown, pfSupported: *mut ::BOOL + ) -> ::HRESULT, + fn DisplayUI( + &mut self, hwndParent: ::HWND, pszTitle: ::LPCWSTR, pszTypeOfUI: ::LPCWSTR, + pvExtraData: *mut ::c_void, cbExtraData: ::ULONG, punkObject: *mut ::IUnknown + ) -> ::HRESULT, + fn MatchesAttributes(&mut self, pszAttributes: ::LPCWSTR, pfMatches: *mut ::BOOL) -> ::HRESULT +} +); +RIDL!( +interface ISpObjectTokenInit(ISpObjectTokenInitVtbl): ISpObjectToken(ISpObjectTokenVtbl) { + fn InitFromDataKey( + &mut self, pszCategoryId: ::LPCWSTR, pszTokenId: ::LPCWSTR, pDataKey: *mut ISpDataKey + ) -> ::HRESULT +} +); +RIDL!( +interface IEnumSpObjectTokens(IEnumSpObjectTokensVtbl): IUnknown(IUnknownVtbl) { + fn Next( + &mut self, celt: ::ULONG, pelt: *mut *mut ISpObjectToken, pceltFetched: *mut ::ULONG + ) -> ::HRESULT, + fn Skip(&mut self, celt: ::ULONG) -> ::HRESULT, + fn Reset(&mut self) -> ::HRESULT, + fn Clone(&mut self, ppEnum: *mut *mut IEnumSpObjectTokens) -> ::HRESULT, + fn Item(&mut self, Index: ::ULONG, ppToken: *mut *mut ISpObjectToken) -> ::HRESULT, + fn GetCount(&mut self, pCount: *mut ::ULONG) -> ::HRESULT +} +); +RIDL!( +interface ISpObjectWithToken(ISpObjectWithTokenVtbl): IUnknown(IUnknownVtbl) { + fn SetObjectToken(&mut self, pToken: *mut ISpObjectToken) -> ::HRESULT, + fn GetObjectToken(&mut self, ppToken: *mut *mut ISpObjectToken) -> ::HRESULT +} +); +RIDL!( +interface ISpResourceManager(ISpResourceManagerVtbl): IServiceProvider(IServiceProviderVtbl) { + fn SetObject(&mut self, guidServiceId: ::REFGUID, pUnkObject: *mut ::IUnknown) -> ::HRESULT, + fn GetObject( + &mut self, guidServiceId: ::REFGUID, ObjectCLSID: ::REFCLSID, ObjectIID: ::REFIID, + fReleaseWhenLastExternalRefReleased: ::BOOL, ppObject: *mut *mut ::c_void + ) -> ::HRESULT +} +); +ENUM!{enum SPEVENTLPARAMTYPE { + SPET_LPARAM_IS_UNDEFINED = 0, + SPET_LPARAM_IS_TOKEN, + SPET_LPARAM_IS_OBJECT, + SPET_LPARAM_IS_POINTER, + SPET_LPARAM_IS_STRING, +}} +ENUM!{enum SPEVENTENUM { + SPEI_UNDEFINED = 0, + SPEI_START_INPUT_STREAM = 1, + SPEI_END_INPUT_STREAM = 2, + SPEI_VOICE_CHANGE = 3, + SPEI_TTS_BOOKMARK = 4, + SPEI_WORD_BOUNDARY = 5, + SPEI_PHONEME = 6, + SPEI_SENTENCE_BOUNDARY = 7, + SPEI_VISEME = 8, + SPEI_TTS_AUDIO_LEVEL = 9, + SPEI_TTS_PRIVATE = 15, + SPEI_END_SR_STREAM = 34, + SPEI_SOUND_START = 35, + SPEI_SOUND_END = 36, + SPEI_PHRASE_START = 37, + SPEI_RECOGNITION = 38, + SPEI_HYPOTHESIS = 39, + SPEI_SR_BOOKMARK = 40, + SPEI_PROPERTY_NUM_CHANGE = 41, + SPEI_PROPERTY_STRING_CHANGE = 42, + SPEI_FALSE_RECOGNITION = 43, + SPEI_INTERFERENCE = 44, + SPEI_REQUEST_UI = 45, + SPEI_RECO_STATE_CHANGE = 46, + SPEI_ADAPTATION = 47, + SPEI_START_SR_STREAM = 48, + SPEI_RECO_OTHER_CONTEXT = 49, + SPEI_SR_AUDIO_LEVEL = 50, + SPEI_SR_RETAINEDAUDIO = 51, + SPEI_SR_PRIVATE = 52, + SPEI_ACTIVE_CATEGORY_CHANGED = 53, + SPEI_RESERVED5 = 54, + SPEI_RESERVED6 = 55, + SPEI_RESERVED1 = 30, + SPEI_RESERVED2 = 33, + SPEI_RESERVED3 = 63, +}} +pub const SPEI_MIN_TTS: SPEVENTENUM = SPEI_START_INPUT_STREAM; +pub const SPEI_MAX_TTS: SPEVENTENUM = SPEI_TTS_PRIVATE; +pub const SPEI_MIN_SR: SPEVENTENUM = SPEI_END_SR_STREAM; +pub const SPEI_MAX_SR: SPEVENTENUM = SPEI_RESERVED6; +pub const SPFEI_FLAGCHECK: u64 = (1 << SPEI_RESERVED1.0 as u64) | (1 << SPEI_RESERVED2.0 as u64); +pub const SPFEI_ALL_TTS_EVENTS: u64 = 0x000000000000FFFE | SPFEI_FLAGCHECK; +pub const SPFEI_ALL_SR_EVENTS: u64 = 0x003FFFFC00000000 | SPFEI_FLAGCHECK; +pub const SPFEI_ALL_EVENTS: u64 = 0xEFFFFFFFFFFFFFFF; +#[inline] +pub fn SPFEI(SPEI_ord: u64) -> u64 { + (1 << SPEI_ord) | SPFEI_FLAGCHECK +} +STRUCT!{struct SPEVENT { + eEventId: ::WORD, + elParamType: ::WORD, + ulStreamNum: ::ULONG, + ullAudioStreamOffset: ::ULONGLONG, + wParam: ::WPARAM, + lParam: ::LPARAM, +}} +STRUCT!{struct SPSERIALIZEDEVENT { + eEventId: ::WORD, + elParamType: ::WORD, + ulStreamNum: ::ULONG, + ullAudioStreamOffset: ::ULONGLONG, + SerializedwParam: ::ULONG, + SerializedlParam: ::LONG, +}} +STRUCT!{struct SPSERIALIZEDEVENT64 { + eEventId: ::WORD, + elParamType: ::WORD, + ulStreamNum: ::ULONG, + ullAudioStreamOffset: ::ULONGLONG, + SerializedwParam: ::ULONGLONG, + SerializedlParam: ::LONGLONG, +}} +STRUCT!{struct SPEVENTEX { + eEventId: ::WORD, + elParamType: ::WORD, + ulStreamNum: ::ULONG, + ullAudioStreamOffset: ::ULONGLONG, + wParam: ::WPARAM, + lParam: ::LPARAM, + ullAudioTimeOffset: ::ULONGLONG, +}} +ENUM!{enum SPINTERFERENCE { + SPINTERFERENCE_NONE = 0, + SPINTERFERENCE_NOISE = 1, + SPINTERFERENCE_NOSIGNAL = 2, + SPINTERFERENCE_TOOLOUD = 3, + SPINTERFERENCE_TOOQUIET = 4, + SPINTERFERENCE_TOOFAST = 5, + SPINTERFERENCE_TOOSLOW = 6, + SPINTERFERENCE_LATENCY_WARNING = 7, + SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN = 8, + SPINTERFERENCE_LATENCY_TRUNCATE_END = 9, +}} +FLAGS!{enum SPENDSRSTREAMFLAGS { + SPESF_NONE = 0, + SPESF_STREAM_RELEASED = 1 << 0, + SPESF_EMULATED = 1 << 1, +}} +FLAGS!{enum SPVFEATURE { + SPVFEATURE_STRESSED = 1 << 0, + SPVFEATURE_EMPHASIS = 1 << 1, +}} +ENUM!{enum SPVISEMES { + SP_VISEME_0 = 0, + SP_VISEME_1, + SP_VISEME_2, + SP_VISEME_3, + SP_VISEME_4, + SP_VISEME_5, + SP_VISEME_6, + SP_VISEME_7, + SP_VISEME_8, + SP_VISEME_9, + SP_VISEME_10, + SP_VISEME_11, + SP_VISEME_12, + SP_VISEME_13, + SP_VISEME_14, + SP_VISEME_15, + SP_VISEME_16, + SP_VISEME_17, + SP_VISEME_18, + SP_VISEME_19, + SP_VISEME_20, + SP_VISEME_21, +}} +STRUCT!{struct SPEVENTSOURCEINFO { + ullEventInterest: ::ULONGLONG, + ullQueuedInterest: ::ULONGLONG, + ulCount: ::ULONG, +}} +RIDL!( +interface ISpEventSource(ISpEventSourceVtbl): ISpNotifySource(ISpNotifySourceVtbl) { + fn SetInterest( + &mut self, ullEventInterest: ::ULONGLONG, ullQueuedInterest: ::ULONGLONG + ) -> ::HRESULT, + fn GetEvents( + &mut self, ulCount: ::ULONG, pEventArray: *mut SPEVENT, pulFetched: *mut ::ULONG + ) -> ::HRESULT, + fn GetInfo(&mut self, pInfo: *mut SPEVENTSOURCEINFO) -> ::HRESULT +} +); +RIDL!( +interface ISpEventSource2(ISpEventSource2Vtbl): ISpEventSource(ISpEventSourceVtbl) { + fn GetEventsEx( + &mut self, ulCount: ::ULONG, pEventArray: *mut SPEVENTEX, pulFetched: *mut ::ULONG + ) -> ::HRESULT +} +); +RIDL!( +interface ISpEventSink(ISpEventSinkVtbl): IUnknown(IUnknownVtbl) { + fn AddEvents(&mut self, pEventArray: *const SPEVENT, ulCount: ::ULONG) -> ::HRESULT, + fn GetEventInterest(&mut self, pullEventInterest: *mut ::ULONGLONG) -> ::HRESULT +} +); +RIDL!( +interface ISpStreamFormat(ISpStreamFormatVtbl): IStream(IStreamVtbl) { + fn GetFormat( + &mut self, pguidFormatId: *mut ::GUID, ppCoMemWaveFormatEx: *mut *mut ::WAVEFORMATEX + ) -> ::HRESULT +} +); +ENUM!{enum SPFILEMODE { + SPFM_OPEN_READONLY = 0, + SPFM_OPEN_READWRITE = 1, + SPFM_CREATE = 2, + SPFM_CREATE_ALWAYS = 3, + SPFM_NUM_MODES = 4, +}} +RIDL!( +interface ISpStream(ISpStreamVtbl): ISpStreamFormat(ISpStreamFormatVtbl) { + fn SetBaseStream( + &mut self, pStream: *mut ::IStream, rguidFormat: ::REFGUID, + pWaveFormatEx: *const ::WAVEFORMATEX + ) -> ::HRESULT, + fn GetBaseStream(&mut self, ppStream: *mut *mut ::IStream) -> ::HRESULT, + fn BindToFile( + &mut self, pszFileName: ::LPCWSTR, eMode: SPFILEMODE, pFormatId: *const ::GUID, + pWaveFormatEx: *const ::WAVEFORMATEX, ullEventInterest: ::ULONGLONG + ) -> ::HRESULT, + fn Close(&mut self) -> ::HRESULT +} +); +RIDL!( +interface ISpStreamFormatConverter(ISpStreamFormatConverterVtbl) + : ISpStreamFormat(ISpStreamFormatVtbl) { + fn SetBaseStream( + &mut self, pStream: *mut ISpStreamFormat, fSetFormatToBaseStreamFormat: ::BOOL, + fWriteToBaseStream: ::BOOL + ) -> ::HRESULT, + fn GetBaseStream(&mut self, ppStream: *mut *mut ISpStreamFormat) -> ::HRESULT, + fn SetFormat( + &mut self, rguidFormatIdOfConvertedStream: ::REFGUID, + pWaveFormatExOfConvertedStream: *const ::WAVEFORMATEX + ) -> ::HRESULT, + fn ResetSeekPosition(&mut self) -> ::HRESULT, + fn ScaleConvertedToBaseOffset( + &mut self, ullOffsetConvertedStream: ::ULONGLONG, pullOffsetBaseStream: *mut ::ULONGLONG + ) -> ::HRESULT, + fn ScaleBaseToConvertedOffset( + &mut self, ullOffsetBaseStream: ::ULONGLONG, pullOffsetConvertedStream: *mut ::ULONGLONG + ) -> ::HRESULT +} +); +ENUM!{enum SPAUDIOSTATE { + SPAS_CLOSED = 0, + SPAS_STOP = 1, + SPAS_PAUSE = 2, + SPAS_RUN = 3, +}} +STRUCT!{struct SPAUDIOSTATUS { + cbFreeBuffSpace: ::LONG, + cbNonBlockingIO: ::ULONG, + State: SPAUDIOSTATE, + CurSeekPos: ::ULONGLONG, + CurDevicePos: ::ULONGLONG, + dwAudioLevel: ::DWORD, + dwReserved2: ::DWORD, +}} +STRUCT!{struct SPAUDIOBUFFERINFO { + ulMsMinNotification: ::ULONG, + ulMsBufferSize: ::ULONG, + ulMsEventBias: ::ULONG, +}} +RIDL!( +interface ISpAudio(ISpAudioVtbl): ISpStreamFormat(ISpStreamFormatVtbl) { + fn SetState(&mut self, NewState: SPAUDIOSTATE, ullReserved: ::ULONGLONG) -> ::HRESULT, + fn SetFormat( + &mut self, rguidFmtId: ::REFGUID, pWaveFormatEx: *const ::WAVEFORMATEX + ) -> ::HRESULT, + fn GetStatus(&mut self, pStatus: *mut SPAUDIOSTATUS) -> ::HRESULT, + fn SetBufferInfo(&mut self, pBuffInfo: *const SPAUDIOBUFFERINFO) -> ::HRESULT, + fn GetBufferInfo(&mut self, pBuffInfo: *mut SPAUDIOBUFFERINFO) -> ::HRESULT, + fn GetDefaultFormat( + &mut self, pFormatId: *mut ::GUID, ppCoMemWaveFormatEx: *mut *mut ::WAVEFORMATEX + ) -> ::HRESULT, + fn EventHandle(&mut self) -> ::HANDLE, + fn GetVolumeLevel(&mut self, pLevel: *mut ::ULONG) -> ::HRESULT, + fn SetVolumeLevel(&mut self, Level: ::ULONG) -> ::HRESULT, + fn GetBufferNotifySize(&mut self, pcbSize: *mut ::ULONG) -> ::HRESULT, + fn SetBufferNotifySize(&mut self, cbSize: ::ULONG) -> ::HRESULT +} +); +RIDL!( +interface ISpMMSysAudio(ISpMMSysAudioVtbl): ISpAudio(ISpAudioVtbl) { + fn GetDeviceId(&mut self, puDeviceId: *mut ::UINT) -> ::HRESULT, + fn SetDeviceId(&mut self, uDeviceId: ::UINT) -> ::HRESULT, + fn GetMMHandle(&mut self, pHandle: *mut *mut ::c_void) -> ::HRESULT, + fn GetLineId(&mut self, puLineId: *mut ::UINT) -> ::HRESULT, + fn SetLineId(&mut self, uLineId: ::UINT) -> ::HRESULT +} +); +RIDL!( +interface ISpTranscript(ISpTranscriptVtbl): IUnknown(IUnknownVtbl) { + fn GetTranscript(&mut self, ppszTranscript: *mut ::LPWSTR) -> ::HRESULT, + fn AppendTranscript(&mut self, pszTranscript: ::LPCWSTR) -> ::HRESULT +} +); +FLAGS!{enum SPDISPLYATTRIBUTES { + SPAF_ONE_TRAILING_SPACE = 0x2, + SPAF_TWO_TRAILING_SPACES = 0x4, + SPAF_CONSUME_LEADING_SPACES = 0x8, + SPAF_BUFFER_POSITION = 0x10, + SPAF_ALL = 0x1f, + SPAF_USER_SPECIFIED = 0x80, +}} +pub type SPPHONEID = ::WCHAR; +pub type PSPPHONEID = ::LPWSTR; +pub type PCSPPHONEID = ::LPCWSTR; +STRUCT!{struct SPPHRASEELEMENT { + ulAudioTimeOffset: ::ULONG, + ulAudioSizeTime: ::ULONG, + ulAudioStreamOffset: ::ULONG, + ulAudioSizeBytes: ::ULONG, + ulRetainedStreamOffset: ::ULONG, + ulRetainedSizeBytes: ::ULONG, + pszDisplayText: ::LPCWSTR, + pszLexicalForm: ::LPCWSTR, + pszPronunciation: *const SPPHONEID, + bDisplayAttributes: ::BYTE, + RequiredConfidence: ::c_char, + ActualConfidence: ::c_char, + Reserved: ::BYTE, + SREngineConfidence: ::c_float, +}} +STRUCT!{struct SPPHRASERULE { + pszName: ::LPCWSTR, + ulId: ::ULONG, + ulFirstElement: ::ULONG, + ulCountOfElements: ::ULONG, + pNextSibling: *const SPPHRASERULE, + pFirstChild: *const SPPHRASERULE, + SREngineConfidence: ::c_float, + Confidence: ::c_char, +}} +ENUM!{enum SPPHRASEPROPERTYUNIONTYPE { + SPPPUT_UNUSED = 0, + SPPPUT_ARRAY_INDEX, +}} +STRUCT!{struct SPPHRASEPROPERTY { + pszName: ::LPCWSTR, + bType: ::BYTE, + bReserved: ::BYTE, + usArrayIndex: u16, + pszValue: ::LPCWSTR, + vValue: ::VARIANT, + ulFirstElement: ::ULONG, + ulCountOfElements: ::ULONG, + pNextSibling: *const SPPHRASEPROPERTY, + pFirstChild: *const SPPHRASEPROPERTY, + SREngineConfidence: ::c_float, + Confidence: ::c_char, +}} +UNION!(SPPHRASEPROPERTY, bType, ulId, ulId_mut, ::ULONG); +STRUCT!{struct SPPHRASEREPLACEMENT { + bDisplayAttributes: ::BYTE, + pszReplacementText: ::LPCWSTR, + ulFirstElement: ::ULONG, + ulCountOfElements: ::ULONG, +}} +STRUCT!{struct SPSEMANTICERRORINFO { + ulLineNumber: ::ULONG, + pszScriptLine: ::LPWSTR, + pszSource: ::LPWSTR, + pszDescription: ::LPWSTR, + hrResultCode: ::HRESULT, +}} +ENUM!{enum SPSEMANTICFORMAT { + SPSMF_SAPI_PROPERTIES = 0, + SPSMF_SRGS_SEMANTICINTERPRETATION_MS = 1, + SPSMF_SRGS_SAPIPROPERTIES = 2, + SPSMF_UPS = 4, + SPSMF_SRGS_SEMANTICINTERPRETATION_W3C = 8, +}} +STRUCT!{struct SPPHRASE_50 { + cbSize: ::ULONG, + LangID: ::WORD, + wHomophoneGroupId: ::WORD, + ullGrammarID: ::ULONGLONG, + ftStartTime: ::ULONGLONG, + ullAudioStreamPosition: ::ULONGLONG, + ulAudioSizeBytes: ::ULONG, + ulRetainedSizeBytes: ::ULONG, + ulAudioSizeTime: ::ULONG, + Rule: ::SPPHRASERULE, + pProperties: *const ::SPPHRASEPROPERTY, + pElements: *const ::SPPHRASEELEMENT, + cReplacements: ::ULONG, + pReplacements: *const ::SPPHRASEREPLACEMENT, + SREngineID: ::GUID, + ulSREnginePrivateDataSize: ::ULONG, + pSREnginePrivateData: *const ::BYTE, +}} +STRUCT!{struct SPPHRASE_53 { + cbSize: ::ULONG, + LangID: ::WORD, + wHomophoneGroupId: ::WORD, + ullGrammarID: ::ULONGLONG, + ftStartTime: ::ULONGLONG, + ullAudioStreamPosition: ::ULONGLONG, + ulAudioSizeBytes: ::ULONG, + ulRetainedSizeBytes: ::ULONG, + ulAudioSizeTime: ::ULONG, + Rule: ::SPPHRASERULE, + pProperties: *const ::SPPHRASEPROPERTY, + pElements: *const ::SPPHRASEELEMENT, + cReplacements: ::ULONG, + pReplacements: *const ::SPPHRASEREPLACEMENT, + SREngineID: ::GUID, + ulSREnginePrivateDataSize: ::ULONG, + pSREnginePrivateData: *const ::BYTE, + pSML: ::LPWSTR, + pSemanticErrorInfo: *mut SPSEMANTICERRORINFO, +}} +STRUCT!{struct SPPHRASE { + cbSize: ::ULONG, + LangID: ::WORD, + wHomophoneGroupId: ::WORD, + ullGrammarID: ::ULONGLONG, + ftStartTime: ::ULONGLONG, + ullAudioStreamPosition: ::ULONGLONG, + ulAudioSizeBytes: ::ULONG, + ulRetainedSizeBytes: ::ULONG, + ulAudioSizeTime: ::ULONG, + Rule: ::SPPHRASERULE, + pProperties: *const ::SPPHRASEPROPERTY, + pElements: *const ::SPPHRASEELEMENT, + cReplacements: ::ULONG, + pReplacements: *const ::SPPHRASEREPLACEMENT, + SREngineID: ::GUID, + ulSREnginePrivateDataSize: ::ULONG, + pSREnginePrivateData: *const ::BYTE, + pSML: ::LPWSTR, + pSemanticErrorInfo: *mut SPSEMANTICERRORINFO, + SemanticTagFormat: SPSEMANTICFORMAT, +}} +STRUCT!{struct SPSERIALIZEDPHRASE { + ulSerializedSize: ::ULONG, +}} +STRUCT!{struct SPRULE { + pszRuleName: ::LPCWSTR, + ulRuleId: ::ULONG, + dwAttributes: ::DWORD, +}} +FLAGS!{enum SPVALUETYPE { + SPDF_PROPERTY = 0x1, + SPDF_REPLACEMENT = 0x2, + SPDF_RULE = 0x4, + SPDF_DISPLAYTEXT = 0x8, + SPDF_LEXICALFORM = 0x10, + SPDF_PRONUNCIATION = 0x20, + SPDF_AUDIO = 0x40, + SPDF_ALTERNATES = 0x80, + SPDF_ALL = 0xff, +}} +STRUCT!{struct SPBINARYGRAMMAR { + ulTotalSerializedSize: ::ULONG, +}} +ENUM!{enum SPPHRASERNG { + SPPR_ALL_ELEMENTS = -1i32 as u32, +}} +pub const SP_GETWHOLEPHRASE: SPPHRASERNG = SPPR_ALL_ELEMENTS; +pub const SPRR_ALL_ELEMENTS: SPPHRASERNG = SPPR_ALL_ELEMENTS; +DECLARE_HANDLE!(SPSTATEHANDLE, SPSTATEHANDLE__); +FLAGS!{enum SPRECOEVENTFLAGS { + SPREF_AutoPause = 1 << 0, + SPREF_Emulated = 1 << 1, + SPREF_SMLTimeout = 1 << 2, + SPREF_ExtendableParse = 1 << 3, + SPREF_ReSent = 1 << 4, + SPREF_Hypothesis = 1 << 5, + SPREF_FalseRecognition = 1 << 6, +}} +ENUM!{enum SPPARTOFSPEECH { + SPPS_NotOverriden = -1i32 as u32, + SPPS_Unknown = 0, + SPPS_Noun = 0x1000, + SPPS_Verb = 0x2000, + SPPS_Modifier = 0x3000, + SPPS_Function = 0x4000, + SPPS_Interjection = 0x5000, + SPPS_Noncontent = 0x6000, + SPPS_LMA = 0x7000, + SPPS_SuppressWord = 0xf000, +}} +FLAGS!{enum SPLEXICONTYPE { + eLEXTYPE_USER = 1 << 0, + eLEXTYPE_APP = 1 << 1, + eLEXTYPE_VENDORLEXICON = 1 << 2, + eLEXTYPE_LETTERTOSOUND = 1 << 3, + eLEXTYPE_MORPHOLOGY = 1 << 4, + eLEXTYPE_RESERVED4 = 1 << 5, + eLEXTYPE_USER_SHORTCUT = 1 << 6, + eLEXTYPE_RESERVED6 = 1 << 7, + eLEXTYPE_RESERVED7 = 1 << 8, + eLEXTYPE_RESERVED8 = 1 << 9, + eLEXTYPE_RESERVED9 = 1 << 10, + eLEXTYPE_RESERVED10 = 1 << 11, + eLEXTYPE_PRIVATE1 = 1 << 12, + eLEXTYPE_PRIVATE2 = 1 << 13, + eLEXTYPE_PRIVATE3 = 1 << 14, + eLEXTYPE_PRIVATE4 = 1 << 15, + eLEXTYPE_PRIVATE5 = 1 << 16, + eLEXTYPE_PRIVATE6 = 1 << 17, + eLEXTYPE_PRIVATE7 = 1 << 18, + eLEXTYPE_PRIVATE8 = 1 << 19, + eLEXTYPE_PRIVATE9 = 1 << 20, + eLEXTYPE_PRIVATE10 = 1 << 21, + eLEXTYPE_PRIVATE11 = 1 << 22, + eLEXTYPE_PRIVATE12 = 1 << 23, + eLEXTYPE_PRIVATE13 = 1 << 24, + eLEXTYPE_PRIVATE14 = 1 << 25, + eLEXTYPE_PRIVATE15 = 1 << 26, + eLEXTYPE_PRIVATE16 = 1 << 27, + eLEXTYPE_PRIVATE17 = 1 << 28, + eLEXTYPE_PRIVATE18 = 1 << 29, + eLEXTYPE_PRIVATE19 = 1 << 30, + eLEXTYPE_PRIVATE20 = 1 << 31, +}} +FLAGS!{enum SPWORDTYPE { + eWORDTYPE_ADDED = 1 << 0, + eWORDTYPE_DELETED = 1 << 1, +}} +FLAGS!{enum SPPRONUNCIATIONFLAGS { + ePRONFLAG_USED = 1 << 0, +}} +STRUCT!{struct SPWORDPRONUNCIATION { + pNextWordPronunciation: *mut SPWORDPRONUNCIATION, + eLexiconType: SPLEXICONTYPE, + LangID: ::WORD, + wPronunciationFlags: ::WORD, + ePartOfSpeech: SPPARTOFSPEECH, + szPronunciation: [SPPHONEID; 1], +}} +STRUCT!{struct SPWORDPRONUNCIATIONLIST { + ulSize: ::ULONG, + pvBuffer: *mut ::BYTE, + pFirstWordPronunciation: *mut SPWORDPRONUNCIATION, +}} +STRUCT!{struct SPWORD { + pNextWord: *mut SPWORD, + LangID: ::WORD, + wReserved: ::WORD, + eWordType: SPWORDTYPE, + pszWord: ::LPWSTR, + pFirstWordPronunciation: *mut SPWORDPRONUNCIATION, +}} +STRUCT!{struct SPWORDLIST { + ulSize: ::ULONG, + pvBuffer: *mut ::BYTE, + pFirstWord: *mut SPWORD, +}} +RIDL!( +interface ISpLexicon(ISpLexiconVtbl): IUnknown(IUnknownVtbl) { + fn GetPronunciations( + &mut self, pszWord: ::LPCWSTR, LangID: ::WORD, dwFlags: ::DWORD, + pWordPronunciationList: *mut SPWORDPRONUNCIATIONLIST + ) -> ::HRESULT, + fn AddPronunciation( + &mut self, pszWord: ::LPCWSTR, LangID: ::WORD, ePartOfSpeech: SPPARTOFSPEECH, + pszPronunciation: PCSPPHONEID + ) -> ::HRESULT, + fn RemovePronunciation( + &mut self, pszWord: ::LPCWSTR, LangID: ::WORD, ePartOfSpeech: SPPARTOFSPEECH, + pszPronunciation: PCSPPHONEID + ) -> ::HRESULT, + fn GetGeneration(&mut self, pdwGeneration: *mut ::DWORD) -> ::HRESULT, + fn GetGenerationChange( + &mut self, dwFlags: ::DWORD, pdwGeneration: *mut ::DWORD, pWordList: *mut SPWORDLIST + ) -> ::HRESULT, + fn GetWords( + &mut self, dwFlags: ::DWORD, pdwGeneration: *mut ::DWORD, pdwCookie: *mut ::DWORD, + pWordList: *mut SPWORDLIST + ) -> ::HRESULT +} +); +RIDL!( +interface ISpContainerLexicon(ISpContainerLexiconVtbl): ISpLexicon(ISpLexiconVtbl) { + fn AddLexicon(&mut self, pAddLexicon: *mut ISpLexicon, dwFlags: ::DWORD) -> ::HRESULT +} +); +ENUM!{enum SPSHORTCUTTYPE { + SPSHT_NotOverriden = -1i32 as u32, + SPSHT_Unknown = 0, + SPSHT_EMAIL = 0x1000, + SPSHT_OTHER = 0x2000, + SPPS_RESERVED1 = 0x3000, + SPPS_RESERVED2 = 0x4000, + SPPS_RESERVED3 = 0x5000, + SPPS_RESERVED4 = 0xf000, +}} +STRUCT!{struct SPSHORTCUTPAIR { + pNextSHORTCUTPAIR: *mut SPSHORTCUTPAIR, + LangID: ::WORD, + shType: SPSHORTCUTTYPE, + pszDisplay: ::LPWSTR, + pszSpoken: ::LPWSTR, +}} +STRUCT!{struct SPSHORTCUTPAIRLIST { + ulSize: ::ULONG, + pvBuffer: *mut ::BYTE, + pFirstShortcutPair: *mut SPSHORTCUTPAIR, +}} +RIDL!( +interface ISpShortcut(ISpShortcutVtbl): IUnknown(IUnknownVtbl) { + fn AddShortcut( + &mut self, pszDisplay: ::LPCWSTR, LangID: ::WORD, pszSpoken: ::LPCWSTR, + shType: SPSHORTCUTTYPE + ) -> ::HRESULT, + fn RemoveShortcut( + &mut self, pszDisplay: ::LPCWSTR, LangID: ::WORD, pszSpoken: ::LPCWSTR, + shType: SPSHORTCUTTYPE + ) -> ::HRESULT, + fn GetShortcuts( + &mut self, LangId: ::WORD, pShortcutpairList: *mut SPSHORTCUTPAIRLIST + ) -> ::HRESULT, + fn GetGeneration(&mut self, pdwGeneration: *mut ::DWORD) -> ::HRESULT, + fn GetWordsFromGenerationChange( + &mut self, pdwGeneration: *mut ::DWORD, pWordList: *mut SPWORDLIST + ) -> ::HRESULT, + fn GetWords( + &mut self, pdwGeneration: *mut ::DWORD, pdwCookie: *mut ::DWORD, pWordList: *mut SPWORDLIST + ) -> ::HRESULT, + fn GetShortcutsForGeneration( + &mut self, pdwGeneration: *mut ::DWORD, pdwCookie: *mut ::DWORD, + pShortcutpairList: *mut SPSHORTCUTPAIRLIST + ) -> ::HRESULT, + fn GetGenerationChange( + &mut self, pdwGeneration: *mut ::DWORD, pShortcutpairList: *mut SPSHORTCUTPAIRLIST + ) -> ::HRESULT +} +); +RIDL!( +interface ISpPhoneConverter(ISpPhoneConverterVtbl): ISpObjectWithToken(ISpObjectWithTokenVtbl) { + fn PhoneToId(&mut self, pszPhone: ::LPCWSTR, pId: *mut SPPHONEID) -> ::HRESULT, + fn IdToPhone(&mut self, pId: PCSPPHONEID, pszPhone: *mut ::WCHAR) -> ::HRESULT +} +); +RIDL!( +interface ISpPhoneticAlphabetConverter(ISpPhoneticAlphabetConverterVtbl): IUnknown(IUnknownVtbl) { + fn GetLangId(&mut self, pLangID: *mut ::WORD) -> ::HRESULT, + fn SetLangId(&mut self, LangID: *mut ::WORD) -> ::HRESULT, + fn SAPI2UPS( + &mut self, pszSAPIId: *const SPPHONEID, pszUPSId: *mut SPPHONEID, cMaxLength: ::DWORD + ) -> ::HRESULT, + fn UPS2SAPI( + &mut self, pszUPSId: *const SPPHONEID, pszSAPIId: *mut SPPHONEID, cMaxLength: ::DWORD + ) -> ::HRESULT, + fn GetMaxConvertLength( + &mut self, cSrcLength: ::DWORD, bSAPI2UPS: ::BOOL, pcMaxDestLength: *mut ::DWORD + ) -> ::HRESULT +} +); +RIDL!( +interface ISpPhoneticAlphabetSelection(ISpPhoneticAlphabetSelectionVtbl): IUnknown(IUnknownVtbl) { + fn IsAlphabetUPS(&mut self, pfIsUPS: *mut ::BOOL) -> ::HRESULT, + fn SetAlphabetToUPS(&mut self, fForceUPS: ::BOOL) -> ::HRESULT +} +); +STRUCT!{struct SPVPITCH { + MiddleAdj: ::c_long, + RangeAdj: ::c_long, +}} +ENUM!{enum SPVACTIONS { + SPVA_Speak = 0, + SPVA_Silence, + SPVA_Pronounce, + SPVA_Bookmark, + SPVA_SpellOut, + SPVA_Section, + SPVA_ParseUnknownTag, +}} +STRUCT!{struct SPVCONTEXT { + pCategory: ::LPCWSTR, + pBefore: ::LPCWSTR, + pAfter: ::LPCWSTR, +}} +STRUCT!{struct SPVSTATE { + eAction: SPVACTIONS, + LangID: ::WORD, + wReserved: ::WORD, + EmphAdj: ::c_long, + RateAdj: ::c_long, + Volume: ::ULONG, + PitchAdj: SPVPITCH, + SilenceMSecs: ::ULONG, + pPhoneIds: *mut SPPHONEID, + ePartOfSpeech: SPPARTOFSPEECH, + Context: SPVCONTEXT, +}} +ENUM!{enum SPRUNSTATE { + SPRS_DONE = 1 << 0, + SPRS_IS_SPEAKING = 1 << 1, +}} +ENUM!{enum SPVLIMITS { + SPMIN_VOLUME = 0, + SPMAX_VOLUME = 100, + SPMIN_RATE = -10i32 as u32, + SPMAX_RATE = 10, +}} +ENUM!{enum SPVPRIORITY { + SPVPRI_NORMAL = 0, + SPVPRI_ALERT = 1 << 0, + SPVPRI_OVER = 1 << 1, +}} +STRUCT!{struct SPVOICESTATUS { + ulCurrentStream: ::ULONG, + ulLastStreamQueued: ::ULONG, + hrLastResult: ::HRESULT, + dwRunningState: ::DWORD, + ulInputWordPos: ::ULONG, + ulInputWordLen: ::ULONG, + ulInputSentPos: ::ULONG, + ulInputSentLen: ::ULONG, + lBookmarkId: ::LONG, + PhonemeId: SPPHONEID, + VisemeId: SPVISEMES, + dwReserved1: ::DWORD, + dwReserved2: ::DWORD, +}} +FLAGS!{enum SPEAKFLAGS { + SPF_DEFAULT = 0, + SPF_ASYNC = 1 << 0, + SPF_PURGEBEFORESPEAK = 1 << 1, + SPF_IS_FILENAME = 1 << 2, + SPF_IS_XML = 1 << 3, + SPF_IS_NOT_XML = 1 << 4, + SPF_PERSIST_XML = 1 << 5, + SPF_NLP_SPEAK_PUNC = 1 << 6, + SPF_PARSE_SAPI = 1 << 7, + SPF_PARSE_SSML = 1 << 8, +}} +pub const SPF_PARSE_AUTODETECT: SPEAKFLAGS = SPF_DEFAULT; +pub const SPF_NLP_MASK: SPEAKFLAGS = SPF_NLP_SPEAK_PUNC; +pub const SPF_PARSE_MASK: i32 = SPF_PARSE_SAPI.0 as i32 | SPF_PARSE_SSML.0 as i32; +pub const SPF_VOICE_MASK: i32 = + SPF_ASYNC.0 as i32 | SPF_PURGEBEFORESPEAK.0 as i32 | SPF_IS_FILENAME.0 as i32 | SPF_IS_XML.0 as i32 | + SPF_IS_NOT_XML.0 as i32 | SPF_NLP_MASK.0 as i32 | SPF_PERSIST_XML.0 as i32 | SPF_PARSE_MASK; +pub const SPF_UNUSED_FLAGS: i32 = !SPF_VOICE_MASK; +RIDL!( +interface ISpVoice(ISpVoiceVtbl): ISpEventSource(ISpEventSourceVtbl) { + fn SetOutput(&mut self, pUnkOutput: *mut ::IUnknown, fAllowFormatChanges: ::BOOL) -> ::HRESULT, + fn GetOutputObjectToken(&mut self, ppObjectToken: *mut *mut ISpObjectToken) -> ::HRESULT, + fn GetOutputStream(&mut self, ppStream: *mut *mut ISpStreamFormat) -> ::HRESULT, + fn Pause(&mut self) -> ::HRESULT, + fn Resume(&mut self) -> ::HRESULT, + fn SetVoice(&mut self, pToken: *mut ISpObjectToken) -> ::HRESULT, + fn GetVoice(&mut self, ppToken: *mut *mut ISpObjectToken) -> ::HRESULT, + fn Speak( + &mut self, pwcs: ::LPCWSTR, dwFlags: ::DWORD, pulStreamNumber: *mut ::ULONG + ) -> ::HRESULT, + fn SpeakStream( + &mut self, pStream: *mut ::IStream, dwFlags: ::DWORD, pulStreamNumber: *mut ::ULONG + ) -> ::HRESULT, + fn GetStatus( + &mut self, pStatus: *mut SPVOICESTATUS, ppszLastBookmark: *mut ::LPWSTR + ) -> ::HRESULT, + fn Skip( + &mut self, pItemType: ::LPCWSTR, lNumItems: ::c_long, pulNumSkipped: *mut ::ULONG + ) -> ::HRESULT, + fn SetPriority(&mut self, ePriority: SPVPRIORITY) -> ::HRESULT, + fn GetPriority(&mut self, pePriority: *mut SPVPRIORITY) -> ::HRESULT, + fn SetAlertBoundary(&mut self, eBoundary: SPEVENTENUM) -> ::HRESULT, + fn GetAlertBoundary(&mut self, peBoundary: *mut SPEVENTENUM) -> ::HRESULT, + fn SetRate(&mut self, RateAdjust: ::c_long) -> ::HRESULT, + fn GetRate(&mut self, pRateAdjust: *mut ::c_long) -> ::HRESULT, + fn SetVolume(&mut self, usVolume: ::USHORT) -> ::HRESULT, + fn GetVolume(&mut self, pusVolume: *mut ::USHORT) -> ::HRESULT, + fn WaitUntilDone(&mut self, msTimeout: ::ULONG) -> ::HRESULT, + fn SetSyncSpeakTimeout(&mut self, msTimeout: ::ULONG) -> ::HRESULT, + fn GetSyncSpeakTimeout(&mut self, pmsTimeout: *mut ::ULONG) -> ::HRESULT, + fn SpeakCompleteEvent(&mut self) -> ::HANDLE, + fn IsUISupported( + &mut self, pszTypeOfUI: ::LPCWSTR, pvExtraData: *mut ::c_void, cbExtraData: ::ULONG, + pfSupported: *mut ::BOOL + ) -> ::HRESULT, + fn DisplayUI( + &mut self, hwndParent: ::HWND, pszTitle: ::LPCWSTR, pszTypeOfUI: ::LPCWSTR, + pvExtraData: *mut ::c_void, cbExtraData: ::ULONG + ) -> ::HRESULT +} +); +DEFINE_GUID!( + UuidOfISpVoice, + 0x6C44DF74, 0x72B9, 0x4992, 0xA1, 0xEC, 0xEF, 0x99, 0x6E, 0x04, 0x22, 0xD4 +); +RIDL!( +interface ISpPhrase(ISpPhraseVtbl): IUnknown(IUnknownVtbl) { + fn GetPhrase(&mut self, ppCoMemPhrase: *mut *mut SPPHRASE) -> ::HRESULT, + fn GetSerializedPhrase(&mut self, ppCoMemPhrase: *mut *mut SPSERIALIZEDPHRASE) -> ::HRESULT, + fn GetText( + &mut self, ulStart: ::ULONG, ulCount: ::ULONG, fUseTextReplacements: ::BOOL, + ppszCoMemText: *mut ::LPWSTR, pbDisplayAttributes: *mut ::BYTE + ) -> ::HRESULT, + fn Discard(&mut self, dwValueTypes: ::DWORD) -> ::HRESULT +} +); +RIDL!( +interface ISpPhraseAlt(ISpPhraseAltVtbl): ISpPhrase(ISpPhraseVtbl) { + fn GetAltInfo( + &mut self, pParent: *mut *mut ISpPhrase, pulStartElementInParent: *mut ::ULONG, + pcElementsInParent: *mut ::ULONG, pcElementsInAlt: *mut ::ULONG + ) -> ::HRESULT, + fn Commit(&mut self) -> ::HRESULT +} +); +ENUM!{enum SPXMLRESULTOPTIONS { + SPXRO_SML = 0, + SPXRO_Alternates_SML = 1, +}} +RIDL!( +interface ISpPhrase2(ISpPhrase2Vtbl): ISpPhrase(ISpPhraseVtbl) { + fn GetXMLResult( + &mut self, ppszCoMemXMLResult: *mut ::LPWSTR, Options: SPXMLRESULTOPTIONS + ) -> ::HRESULT, + fn GetXMLErrorInfo(&mut self, pSemanticErrorInfo: *mut SPSEMANTICERRORINFO) -> ::HRESULT, + fn GetAudio( + &mut self, ulStartElement: ::ULONG, cElements: ::ULONG, ppStream: *mut *mut ISpStreamFormat + ) -> ::HRESULT +} +); +STRUCT!{struct SPRECORESULTTIMES { + ftStreamTime: ::FILETIME, + ullLength: ::ULONGLONG, + dwTickCount: ::DWORD, + ullStart: ::ULONGLONG, +}} +STRUCT!{struct SPSERIALIZEDRESULT { + ulSerializedSize: ::ULONG, +}} +RIDL!( +interface ISpRecoResult(ISpRecoResultVtbl): ISpPhrase(ISpPhraseVtbl) { + fn GetResultTimes(&mut self, pTimes: *mut SPRECORESULTTIMES) -> ::HRESULT, + fn GetAlternates( + &mut self, ulStartElement: ::ULONG, cElements: ::ULONG, ulRequestCount: ::ULONG, + ppPhrases: *mut *mut ISpPhraseAlt, pcPhrasesReturned: *mut ::ULONG + ) -> ::HRESULT, + fn GetAudio( + &mut self, ulStartElement: ::ULONG, cElements: ::ULONG, ppStream: *mut *mut ISpStreamFormat + ) -> ::HRESULT, + fn SpeakAudio( + &mut self, ulStartElement: ::ULONG, cElements: ::ULONG, dwFlags: ::DWORD, + pulStreamNumber: *mut ::ULONG + ) -> ::HRESULT, + fn Serialize(&mut self, ppCoMemSerializedResult: *mut *mut SPSERIALIZEDRESULT) -> ::HRESULT, + fn ScaleAudio( + &mut self, pAudioFormatId: *const ::GUID, pWaveFormatEx: *const ::WAVEFORMATEX + ) -> ::HRESULT, + fn GetRecoContext(&mut self, ppRecoContext: *mut *mut ISpRecoContext) -> ::HRESULT +} +); +FLAGS!{enum SPCOMMITFLAGS { + SPCF_NONE = 0, + SPCF_ADD_TO_USER_LEXICON = 1 << 0, + SPCF_DEFINITE_CORRECTION = 1 << 1, +}} +RIDL!( +interface ISpRecoResult2(ISpRecoResult2Vtbl): ISpRecoResult(ISpRecoResultVtbl) { + fn CommitAlternate( + &mut self, pPhraseAlt: *mut ISpPhraseAlt, ppNewResult: *mut *mut ISpRecoResult + ) -> ::HRESULT, + fn CommitText( + &mut self, ulStartElement: ::ULONG, cElements: ::ULONG, pszCorrectedData: ::LPCWSTR, + eCommitFlags: ::DWORD + ) -> ::HRESULT, + fn SetTextFeedback(&mut self, pszFeedback: ::LPCWSTR, fSuccessful: ::BOOL) -> ::HRESULT +} +); +RIDL!( +interface ISpXMLRecoResult(ISpXMLRecoResultVtbl): ISpRecoResult(ISpRecoResultVtbl) { + fn GetXMLResult( + &mut self, ppszCoMemXMLResult: *mut ::LPWSTR, Options: SPXMLRESULTOPTIONS + ) -> ::HRESULT, + fn GetXMLErrorInfo(&mut self, pSemanticErrorInfo: *mut SPSEMANTICERRORINFO) -> ::HRESULT +} +); +STRUCT!{struct SPTEXTSELECTIONINFO { + ulStartActiveOffset: ::ULONG, + cchActiveChars: ::ULONG, + ulStartSelection: ::ULONG, + cchSelection: ::ULONG, +}} +ENUM!{enum SPWORDPRONOUNCEABLE { + SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE = 0, + SPWP_UNKNOWN_WORD_PRONOUNCEABLE = 1, + SPWP_KNOWN_WORD_PRONOUNCEABLE = 2, +}} +ENUM!{enum SPGRAMMARSTATE { + SPGS_DISABLED = 0, + SPGS_ENABLED = 1, + SPGS_EXCLUSIVE = 3, +}} +ENUM!{enum SPCONTEXTSTATE { + SPCS_DISABLED = 0, + SPCS_ENABLED = 1, +}} +ENUM!{enum SPRULESTATE { + SPRS_INACTIVE = 0, + SPRS_ACTIVE = 1, + SPRS_ACTIVE_WITH_AUTO_PAUSE = 3, + SPRS_ACTIVE_USER_DELIMITED = 4, +}} +pub const SP_STREAMPOS_ASAP: ::INT = 0; +pub const SP_STREAMPOS_REALTIME: ::INT = -1; +pub const SPRULETRANS_TEXTBUFFER: SPSTATEHANDLE = -1isize as SPSTATEHANDLE; +pub const SPRULETRANS_WILDCARD: SPSTATEHANDLE = -2isize as SPSTATEHANDLE; +pub const SPRULETRANS_DICTATION: SPSTATEHANDLE = -3isize as SPSTATEHANDLE; +ENUM!{enum SPGRAMMARWORDTYPE { + SPWT_DISPLAY = 0, + SPWT_LEXICAL = 1, + SPWT_PRONUNCIATION = 2, + SPWT_LEXICAL_NO_SPECIAL_CHARS = 3, +}} +STRUCT!{struct SPPROPERTYINFO { + pszName: ::LPCWSTR, + ulId: ::ULONG, + pszValue: ::LPCWSTR, + vValue: ::VARIANT, +}} +FLAGS!{enum SPCFGRULEATTRIBUTES { + SPRAF_TopLevel = 1 << 0, + SPRAF_Active = 1 << 1, + SPRAF_Export = 1 << 2, + SPRAF_Import = 1 << 3, + SPRAF_Interpreter = 1 << 4, + SPRAF_Dynamic = 1 << 5, + SPRAF_Root = 1 << 6, + SPRAF_AutoPause = 1 << 16, + SPRAF_UserDelimited = 1 << 17, +}} +RIDL!( +interface ISpGrammarBuilder(ISpGrammarBuilderVtbl): IUnknown(IUnknownVtbl) { + fn ResetGrammar(&mut self, NewLanguage: ::WORD) -> ::HRESULT, + fn GetRule( + &mut self, pszRuleName: ::LPCWSTR, dwRuleId: ::DWORD, dwAttributes: ::DWORD, + fCreateIfNotExist: ::BOOL, phInitialState: *mut SPSTATEHANDLE + ) -> ::HRESULT, + fn ClearRule(&mut self, hState: SPSTATEHANDLE) -> ::HRESULT, + fn CreateNewState(&mut self, hState: SPSTATEHANDLE, phState: *mut SPSTATEHANDLE) -> ::HRESULT, + fn AddWordTransition( + &mut self, hFromState: SPSTATEHANDLE, hToState: SPSTATEHANDLE, psz: ::LPCWSTR, + pszSeparators: ::LPCWSTR, eWordType: SPGRAMMARWORDTYPE, Weight: ::c_float, + pPropInfo: *const SPPROPERTYINFO + ) -> ::HRESULT, + fn AddRuleTransition( + &mut self, hFromState: SPSTATEHANDLE, hToState: SPSTATEHANDLE, hRule: SPSTATEHANDLE, + Weight: ::c_float, pPropInfo: *const SPPROPERTYINFO + ) -> ::HRESULT, + fn AddResource( + &mut self, hRuleState: SPSTATEHANDLE, pszResourceName: ::LPCWSTR, + pszResourceValue: ::LPCWSTR + ) -> ::HRESULT, + fn Commit(&mut self, dwReserved: ::DWORD) -> ::HRESULT +} +); +ENUM!{enum SPLOADOPTIONS { + SPLO_STATIC = 0, + SPLO_DYNAMIC = 1, +}} +RIDL!( +interface ISpRecoGrammar(ISpRecoGrammarVtbl): ISpGrammarBuilder(ISpGrammarBuilderVtbl) { + fn GetGrammarId(&mut self, pullGrammarId: *mut ::ULONGLONG) -> ::HRESULT, + fn GetRecoContext(&mut self, ppRecoCtxt: *mut *mut ISpRecoContext) -> ::HRESULT, + fn LoadCmdFromFile(&mut self, pszFileName: ::LPCWSTR, Options: SPLOADOPTIONS) -> ::HRESULT, + fn LoadCmdFromObject( + &mut self, rcid: ::REFCLSID, pszGrammarName: ::LPCWSTR, Options: SPLOADOPTIONS + ) -> ::HRESULT, + fn LoadCmdFromResource( + &mut self, hModule: ::HMODULE, pszResourceName: ::LPCWSTR, pszResourceType: ::LPCWSTR, + wLanguage: ::WORD, Options: SPLOADOPTIONS + ) -> ::HRESULT, + fn LoadCmdFromMemory( + &mut self, pGrammar: *const SPBINARYGRAMMAR, Options: SPLOADOPTIONS + ) -> ::HRESULT, + fn LoadCmdFromProprietaryGrammar( + &mut self, rguidParam: ::REFGUID, pszStringParam: ::LPCWSTR, pvDataPrarm: *const ::c_void, + cbDataSize: ::ULONG, Options: SPLOADOPTIONS + ) -> ::HRESULT, + fn SetRuleState( + &mut self, pszName: ::LPCWSTR, pReserved: *mut ::c_void, NewState: SPRULESTATE + ) -> ::HRESULT, + fn SetRuleIdState(&mut self, ulRuleId: ::ULONG, NewState: SPRULESTATE) -> ::HRESULT, + fn LoadDictation(&mut self, pszTopicName: ::LPCWSTR, Options: SPLOADOPTIONS) -> ::HRESULT, + fn UnloadDictation(&mut self) -> ::HRESULT, + fn SetDictationState(&mut self, NewState: SPRULESTATE) -> ::HRESULT, + fn SetWordSequenceData( + &mut self, pText: *const ::WCHAR, cchText: ::ULONG, pInfo: *const SPTEXTSELECTIONINFO + ) -> ::HRESULT, + fn SetTextSelection(&mut self, pInfo: *const SPTEXTSELECTIONINFO) -> ::HRESULT, + fn IsPronounceable( + &mut self, pszWord: ::LPCWSTR, pWordPronounceable: *mut SPWORDPRONOUNCEABLE + ) -> ::HRESULT, + fn SetGrammarState(&mut self, eGrammarState: SPGRAMMARSTATE) -> ::HRESULT, + fn SaveCmd(&mut self, pStream: *mut ::IStream, ppszCoMemErrorText: *mut ::LPWSTR) -> ::HRESULT, + fn GetGrammarState(&mut self, peGrammarState: *mut SPGRAMMARSTATE) -> ::HRESULT +} +); +ENUM!{enum SPMATCHINGMODE { + AllWords = 0, + Subsequence = 1, + OrderedSubset = 3, + SubsequenceContentRequired = 5, + OrderedSubsetContentRequired = 7, +}} +ENUM!{enum PHONETICALPHABET { + PA_Ipa = 0, + PA_Ups = 1, + PA_Sapi = 2, +}} +RIDL!( +interface ISpGrammarBuilder2(ISpGrammarBuilder2Vtbl): IUnknown(IUnknownVtbl) { + fn AddTextSubset( + &mut self, hFromState: SPSTATEHANDLE, hToState: SPSTATEHANDLE, psz: ::LPCWSTR, + eMatchMode: SPMATCHINGMODE + ) -> ::HRESULT, + fn SetPhoneticAlphabet(&mut self, phoneticALphabet: PHONETICALPHABET) -> ::HRESULT +} +); +RIDL!( +interface ISpRecoGrammar2(ISpRecoGrammar2Vtbl): IUnknown(IUnknownVtbl) { + fn GetRules(&mut self, ppCoMemRules: *mut *mut SPRULE, puNumRules: *mut ::UINT) -> ::HRESULT, + fn LoadCmdFromFile2( + &mut self, pszFileName: ::LPCWSTR, Options: SPLOADOPTIONS, pszSharingUri: ::LPCWSTR, + pszBaseUri: ::LPCWSTR + ) -> ::HRESULT, + fn LoadCmdFromMemory2( + &mut self, pGrammar: *const SPBINARYGRAMMAR, Options: SPLOADOPTIONS, + pszSharingUri: ::LPCWSTR, pszBaseUri: ::LPCWSTR + ) -> ::HRESULT, + fn SetRulePriority( + &mut self, pszRuleName: ::LPCWSTR, ulRuleId: ::ULONG, nRulePriority: ::c_int + ) -> ::HRESULT, + fn SetRuleWeight( + &mut self, pszRuleName: ::LPCWSTR, ulRuleId: ::ULONG, flWeight: ::c_float + ) -> ::HRESULT, + fn SetDictationWeight(&mut self, flWeight: ::c_float) -> ::HRESULT, + fn SetGrammarLoader(&mut self, pLoader: *mut ISpeechResourceLoader) -> ::HRESULT, + fn SetSMLSecurityManager( + &mut self, pSMLSecurityManager: *mut ::IInternetSecurityManager + ) -> ::HRESULT +} +); +RIDL!( +interface ISpeechResourceLoader(ISpeechResourceLoaderVtbl): IDispatch(IDispatchVtbl) { + fn LoadResource( + &mut self, bstrResourceUri: ::BSTR, fAlwaysReload: ::VARIANT_BOOL, + pStream: *mut *mut ::IUnknown, pbstrMIMEType: *mut ::BSTR, pfModified: *mut ::VARIANT_BOOL, + pbstrRedirectUrl: *mut ::BSTR + ) -> ::HRESULT, + fn GetLocalCopy( + &mut self, bstrResourceUri: ::BSTR, pbstrLocalPath: *mut ::BSTR, + pbstrMIMEType: *mut ::BSTR, pbstrRedirectUrl: *mut ::BSTR + ) -> ::HRESULT, + fn ReleaseLocalCopy(&mut self, pbstrLocalPath: ::BSTR) -> ::HRESULT +} +); +STRUCT!{nodebug struct SPRECOCONTEXTSTATUS { + eInterference: SPINTERFERENCE, + szRequestTypeOfUI: [::WCHAR; 255], + dwReserved1: ::DWORD, + dwReserved2: ::DWORD, +}} +FLAGS!{enum SPBOOKMARKOPTIONS { + SPBO_NONE = 0, + SPBO_PAUSE = 1 << 0, + SPBO_AHEAD = 1 << 1, + SPBO_TIME_UNITS = 1 << 2, +}} +FLAGS!{enum SPAUDIOOPTIONS { + SPAO_NONE = 0, + SPAO_RETAIN_AUDIO = 1 << 0, +}} +RIDL!( +interface ISpRecoContext(ISpRecoContextVtbl): ISpEventSource(ISpEventSourceVtbl) { + fn GetRecognizer(&mut self, ppRecognizer: *mut *mut ISpRecognizer) -> ::HRESULT, + fn CreateGrammer( + &mut self, ullGrammarId: ::ULONGLONG, ppGrammar: *mut *mut ISpRecoGrammar + ) -> ::HRESULT, + fn GetStatus(&mut self, pState: *mut SPRECOCONTEXTSTATUS) -> ::HRESULT, + fn GetMaxAlternates(&mut self, pcAlternates: *mut ::ULONG) -> ::HRESULT, + fn SetMaxAlternates(&mut self, cAlternates: ::ULONG) -> ::HRESULT, + fn SetAudioOptions( + &mut self, Options: SPAUDIOOPTIONS, pAudioFormatId: *const ::GUID, + pWaveFormatEx: *const ::WAVEFORMATEX + ) -> ::HRESULT, + fn GetAudioOptions( + &mut self, pOptions: *mut SPAUDIOOPTIONS, pAudioFormatId: *mut ::GUID, + ppCoMemWFEX: *mut *mut ::WAVEFORMATEX + ) -> ::HRESULT, + fn DeserializeResult( + &mut self, pSerializedResult: *const SPSERIALIZEDRESULT, ppResult: *mut *mut ISpRecoResult + ) -> ::HRESULT, + fn Bookmark( + &mut self, Options: SPBOOKMARKOPTIONS, ullStreamPosition: ::ULONGLONG, + lparamEvent: ::LPARAM + ) -> ::HRESULT, + fn SetAdaptionData(&mut self, pAdaptionData: ::LPCWSTR, cch: ::ULONG) -> ::HRESULT, + fn Pause(&mut self, dwReserved: ::DWORD) -> ::HRESULT, + fn Resume(&mut self, dwReserved: ::DWORD) -> ::HRESULT, + fn SetVoice(&mut self, pVoice: *mut ISpVoice, fAllowFormatChanges: ::BOOL) -> ::HRESULT, + fn GetVoice(&mut self, ppVoice: *mut *mut ISpVoice) -> ::HRESULT, + fn SetVoicePurgeEvent(&mut self, ullEventIntereset: ::ULONGLONG) -> ::HRESULT, + fn GetVoicePurgeEvent(&mut self, pullEventIntereset: *mut ::ULONGLONG) -> ::HRESULT, + fn SetContextState(&mut self, eContextState: SPCONTEXTSTATE) -> ::HRESULT, + fn GetContextState(&mut self, peContextState: *mut SPCONTEXTSTATE) -> ::HRESULT +} +); +FLAGS!{enum SPGRAMMAROPTIONS { + SPGO_SAPI = 0x1, + SPGO_SRGS = 0x2, + SPGO_UPS = 0x4, + SPGO_SRGS_MS_SCRIPT = 0x8, + SPGO_SRGS_W3C_SCRIPT = 0x100, + SPGO_SRGS_STG_SCRIPT = 0x200, + SPGO_SRGS_SCRIPT = + SPGO_SRGS.0 | SPGO_SRGS_MS_SCRIPT.0 | SPGO_SRGS_W3C_SCRIPT.0 | + SPGO_SRGS_STG_SCRIPT.0, + SPGO_FILE = 0x10, + SPGO_HTTP = 0x20, + SPGO_RES = 0x40, + SPGO_OBJECT = 0x80, + SPGO_DEFAULT = 0x3fb, + SPGO_ALL = 0x3ff, +}} +FLAGS!{enum SPADAPTATIONSETTINGS { + SPADS_Default = 0, + SPADS_CurrentRecognizer = 0x1, + SPADS_RecoProfile = 0x2, + SPADS_Immediate = 0x4, + SPADS_Reset = 0x8, + SPADS_HighVolumeDataSource = 0x10, +}} +ENUM!{enum SPADAPTATIONRELEVANCE { + SPAR_Unknown = 0, + SPAR_Low = 1, + SPAR_Medium = 2, + SPAR_High = 3, +}} +RIDL!( +interface ISpRecoContext2(ISpRecoContext2Vtbl): IUnknown(IUnknownVtbl) { + fn SetGrammarOptions(&mut self, eGrammarOptions: ::DWORD) -> ::HRESULT, + fn GetGrammarOptions(&mut self, peGrammarOptions: *mut ::DWORD) -> ::HRESULT, + fn SetAdaptationData2( + &mut self, pAdaptationData: ::LPCWSTR, cch: ::ULONG, pTopicName: ::LPCWSTR, + eAdaptationSettings: ::DWORD, eRelevance: SPADAPTATIONRELEVANCE + ) -> ::HRESULT +} +); +RIDL!( +interface ISpProperties(ISpPropertiesVtbl): IUnknown(IUnknownVtbl) { + fn SetPropertyNum(&mut self, pName: ::LPCWSTR, lValue: ::LONG) -> ::HRESULT, + fn GetPropertyNum(&mut self, pName: ::LPCWSTR, plValue: *mut ::LONG) -> ::HRESULT, + fn SetPropertyString(&mut self, pName: ::LPCWSTR, pValue: ::LPCWSTR) -> ::HRESULT, + fn GetPropertyString(&mut self, pName: ::LPCWSTR, ppCoMemValue: *mut ::LPWSTR) -> ::HRESULT +} +); +STRUCT!{struct SPRECOGNIZERSTATUS { + AudioStatus: SPAUDIOSTATUS, + ullRecognitionStreamPos: ::ULONGLONG, + ulStreamNumber: ::ULONG, + ulNumActive: ::ULONG, + clsidEngine: ::CLSID, + cLangIDs: ::ULONG, + aLangID: [::WORD; 20], + ullRecognitionStreamTime: ::ULONGLONG, +}} +ENUM!{enum SPWAVEFORMATTYPE { + SPWF_INPUT = 0, + SPWF_SRENGINE = 1, +}} +pub type SPSTREAMFORMATTYPE = SPWAVEFORMATTYPE; +ENUM!{enum SPRECOSTATE { + SPRST_INACTIVE = 0, + SPRST_ACTIVE = 1, + SPRST_ACTIVE_ALWAYS = 2, + SPRST_INACTIVE_WITH_PURGE = 3, + SPRST_NUM_STATES = 4, +}} +RIDL!( +interface ISpRecognizer(ISpRecognizerVtbl): ISpProperties(ISpPropertiesVtbl) { + fn SetRecognizer(&mut self, pRecognizer: *mut ISpObjectToken) -> ::HRESULT, + fn GetRecognizer(&mut self, ppRecognizer: *mut *mut ISpObjectToken) -> ::HRESULT, + fn SetInput(&mut self, pUnkInput: *mut ::IUnknown, fAllowFormatChanges: ::BOOL) -> ::HRESULT, + fn GetInputObjectToken(&mut self, ppToken: *mut *mut ISpObjectToken) -> ::HRESULT, + fn GetInputStream(&mut self, ppStream: *mut *mut ISpStreamFormat) -> ::HRESULT, + fn CreateRecoContext(&mut self, ppNewCtxt: *mut *mut ISpRecoContext) -> ::HRESULT, + fn GetRecoProfile(&mut self, ppToken: *mut *mut ISpObjectToken) -> ::HRESULT, + fn SetRecoProfile(&mut self, pToken: *mut ISpObjectToken) -> ::HRESULT, + fn IsSharedInstance(&mut self) -> ::HRESULT, + fn GetRecoState(&mut self, pState: *mut SPRECOSTATE) -> ::HRESULT, + fn SetRecoState(&mut self, NewState: SPRECOSTATE) -> ::HRESULT, + fn GetStatus(&mut self, pStatus: *mut SPRECOGNIZERSTATUS) -> ::HRESULT, + fn GetFormat( + &mut self, WaveFormatType: SPSTREAMFORMATTYPE, pFormatId: *mut ::GUID, + ppCoMemWFEX: *mut ::WAVEFORMATEX + ) -> ::HRESULT, + fn IsUISupported( + &mut self, pszTypeOfUI: ::LPCWSTR, pvExtraData: *mut ::c_void, cbExtraData: ::ULONG, + pfSupported: *mut ::BOOL + ) -> ::HRESULT, + fn DisplayUI( + &mut self, hwndParent: ::HWND, pszTitle: ::LPCWSTR, pszTypeOfUI: ::LPCWSTR, + pvExtraData: *mut ::c_void, cbExtraData: ::ULONG + ) -> ::HRESULT, + fn EmulateRecognition(&mut self, pPhrase: *mut ISpPhrase) -> ::HRESULT +} +); +RIDL!( +interface ISpSerializeState(ISpSerializeStateVtbl): IUnknown(IUnknownVtbl) { + fn GetSerializedState( + &mut self, ppbData: *mut *mut ::BYTE, pulSize: *mut ::ULONG, dwReserved: ::DWORD + ) -> ::HRESULT, + fn SetSerializedState( + &mut self, pbData: *mut ::BYTE, ulSize: ::ULONG, dwReserved: ::DWORD + ) -> ::HRESULT +} +); +RIDL!( +interface ISpRecognizer2(ISpRecognizer2Vtbl): IUnknown(IUnknownVtbl) { + fn EmulateRecognitionEx( + &mut self, pPhrase: *mut ISpPhrase, dwCompareFlags: ::DWORD + ) -> ::HRESULT, + fn SetTrainingState( + &mut self, fDoingTraining: ::BOOL, fAdaptFromTrainingData: ::BOOL + ) -> ::HRESULT, + fn ResetAcousticModelAdaptation(&mut self) -> ::HRESULT +} +); +ENUM!{enum SPCATEGORYTYPE { + SPCT_COMMAND = 0, + SPCT_DICTATION, + SPCT_SLEEP, + SPCT_SUB_COMMAND, + SPCT_SUB_DICTATION, +}} +RIDL!( +interface ISpRecoCategory(ISpRecoCategoryVtbl): IUnknown(IUnknownVtbl) { + fn GetType(&mut self, peCategoryType: *mut SPCATEGORYTYPE) -> ::HRESULT +} +); +RIDL!( +interface ISpRecognizer3(ISpRecognizer3Vtbl): IUnknown(IUnknownVtbl) { + fn GetCategory( + &mut self, categoryType: SPCATEGORYTYPE, ppCategory: *mut *mut ISpRecoCategory + ) -> ::HRESULT, + fn SetActiveCategory(&mut self, pCategory: *mut ISpRecoCategory) -> ::HRESULT, + fn GetActiveCategory(&mut self, ppCategory: *mut *mut ISpRecoCategory) -> ::HRESULT +} +); +STRUCT!{struct SPNORMALIZATIONLIST { + ulSize: ::ULONG, + ppszzNormalizedList: *mut *mut ::WCHAR, +}} +RIDL!( +interface ISpEnginePronunciation(ISpEnginePronunciationVtbl): IUnknown(IUnknownVtbl) { + fn Normalize( + &mut self, pszWord: ::LPCWSTR, pszLeftContext: ::LPCWSTR, pszRightContext: ::LPCWSTR, + LangID: ::WORD, pNormalizationList: *mut SPNORMALIZATIONLIST + ) -> ::HRESULT, + fn GetPronunciations( + &mut self, pszWord: ::LPCWSTR, pszLeftContext: ::LPCWSTR, pszRightContext: ::LPCWSTR, + LangID: ::WORD, pEnginePronunciationList: *mut SPWORDPRONUNCIATIONLIST + ) -> ::HRESULT +} +); +STRUCT!{struct SPDISPLAYTOKEN { + pszLexical: *const ::WCHAR, + pszDisplay: *const ::WCHAR, + bDisplayAttributes: ::BYTE, +}} +STRUCT!{struct SPDISPLAYPHRASE { + ulNumTokens: ::ULONG, + pTokens: *mut SPDISPLAYTOKEN, +}} +RIDL!( +interface ISpDisplayAlternates(ISpDisplayAlternatesVtbl): IUnknown(IUnknownVtbl) { + fn GetDisplayAlternates( + &mut self, pPhrase: *const SPDISPLAYPHRASE, cRequestCount: ::ULONG, + ppCoMemPhrases: *mut *mut SPDISPLAYPHRASE, pcPhrasesReturned: *mut ::ULONG + ) -> ::HRESULT, + fn SetFullStopTrailSpace(&mut self, ulTrailSpace: ::ULONG) -> ::HRESULT +} +); +pub type SpeechLanguageId = ::c_long; +ENUM!{enum DISPID_SpeechDataKey { + DISPID_SDKSetBinaryValue = 1, + DISPID_SDKGetBinaryValue, + DISPID_SDKSetStringValue, + DISPID_SDKGetStringValue, + DISPID_SDKSetLongValue, + DISPID_SDKGetlongValue, + DISPID_SDKOpenKey, + DISPID_SDKCreateKey, + DISPID_SDKDeleteKey, + DISPID_SDKDeleteValue, + DISPID_SDKEnumKeys, + DISPID_SDKEnumValues, +}} +ENUM!{enum DISPID_SpeechObjectToken { + DISPID_SOTId = 1, + DISPID_SOTDataKey, + DISPID_SOTCategory, + DISPID_SOTGetDescription, + DISPID_SOTSetId, + DISPID_SOTGetAttribute, + DISPID_SOTCreateInstance, + DISPID_SOTRemove, + DISPID_SOTGetStorageFileName, + DISPID_SOTRemoveStorageFileName, + DISPID_SOTIsUISupported, + DISPID_SOTDisplayUI, + DISPID_SOTMatchesAttributes, +}} +ENUM!{enum SpeechDataKeyLocation { + SDKLDefaultLocation = SPDKL_DefaultLocation.0, + SDKLCurrentUser = SPDKL_CurrentUser.0, + SDKLLocalMachine = SPDKL_LocalMachine.0, + SDKLCurrentConfig = SPDKL_CurrentConfig.0, +}} +ENUM!{enum SpeechTokenContext { + STCInprocServer = ::CLSCTX_INPROC_SERVER, + STCInprocHandler = ::CLSCTX_INPROC_HANDLER, + STCLocalServer = ::CLSCTX_LOCAL_SERVER, + STCRemoteServer = ::CLSCTX_REMOTE_SERVER, + STCAll = ::CLSCTX_INPROC_SERVER | ::CLSCTX_INPROC_HANDLER | + ::CLSCTX_LOCAL_SERVER | ::CLSCTX_REMOTE_SERVER, +}} +ENUM!{enum SpeechTokenShellFolder { + STSF_AppData = 0x1a, + STSF_LocalAppData = 0x1c, + STSF_CommonAppData = 0x23, + STSF_FlagCreate = 0x8000, +}} +ENUM!{enum DISPID_SpeechObjectTokens { + DISPID_SOTsCount = 1, + DISPID_SOTsItem = ::DISPID_VALUE as u32, + DISPID_SOTs_NewEnum = ::DISPID_NEWENUM as u32, +}} +ENUM!{enum DISPID_SpeechObjectTokenCategory { + DISPID_SOTCId = 1, + DISPID_SOTCDefault, + DISPID_SOTCSetId, + DISPID_SOTCGetDataKey, + DISPID_SOTCEnumerateTokens, +}} +ENUM!{enum SpeechAudioFormatType { + SAFTDefault = -1i32 as u32, + SAFTNoAssignedFormat = 0, + SAFTText = 1, + SAFTNonStandardFormat = 2, + SAFTExtendedAudioFormat = 3, + SAFT8kHz8BitMono = 4, + SAFT8kHz8BitStereo = 5, + SAFT8kHz16BitMono = 6, + SAFT8kHz16BitStereo = 7, + SAFT11kHz8BitMono = 8, + SAFT11kHz8BitStereo = 9, + SAFT11kHz16BitMono = 10, + SAFT11kHz16BitStereo = 11, + SAFT12kHz8BitMono = 12, + SAFT12kHz8BitStereo = 13, + SAFT12kHz16BitMono = 14, + SAFT12kHz16BitStereo = 15, + SAFT16kHz8BitMono = 16, + SAFT16kHz8BitStereo = 17, + SAFT16kHz16BitMono = 18, + SAFT16kHz16BitStereo = 19, + SAFT22kHz8BitMono = 20, + SAFT22kHz8BitStereo = 21, + SAFT22kHz16BitMono = 22, + SAFT22kHz16BitStereo = 23, + SAFT24kHz8BitMono = 24, + SAFT24kHz8BitStereo = 25, + SAFT24kHz16BitMono = 26, + SAFT24kHz16BitStereo = 27, + SAFT32kHz8BitMono = 28, + SAFT32kHz8BitStereo = 29, + SAFT32kHz16BitMono = 30, + SAFT32kHz16BitStereo = 31, + SAFT44kHz8BitMono = 32, + SAFT44kHz8BitStereo = 33, + SAFT44kHz16BitMono = 34, + SAFT44kHz16BitStereo = 35, + SAFT48kHz8BitMono = 36, + SAFT48kHz8BitStereo = 37, + SAFT48kHz16BitMono = 38, + SAFT48kHz16BitStereo = 39, + SAFTTrueSpeech_8kHz1BitMono = 40, + SAFTCCITT_ALaw_8kHzMono = 41, + SAFTCCITT_ALaw_8kHzStereo = 42, + SAFTCCITT_ALaw_11kHzMono = 43, + SAFTCCITT_ALaw_11kHzStereo = 44, + SAFTCCITT_ALaw_22kHzMono = 45, + SAFTCCITT_ALaw_22kHzStereo = 46, + SAFTCCITT_ALaw_44kHzMono = 47, + SAFTCCITT_ALaw_44kHzStereo = 48, + SAFTCCITT_uLaw_8kHzMono = 49, + SAFTCCITT_uLaw_8kHzStereo = 50, + SAFTCCITT_uLaw_11kHzMono = 51, + SAFTCCITT_uLaw_11kHzStereo = 52, + SAFTCCITT_uLaw_22kHzMono = 53, + SAFTCCITT_uLaw_22kHzStereo = 54, + SAFTCCITT_uLaw_44kHzMono = 55, + SAFTCCITT_uLaw_44kHzStereo = 56, + SAFTADPCM_8kHzMono = 57, + SAFTADPCM_8kHzStereo = 58, + SAFTADPCM_11kHzMono = 59, + SAFTADPCM_11kHzStereo = 60, + SAFTADPCM_22kHzMono = 61, + SAFTADPCM_22kHzStereo = 62, + SAFTADPCM_44kHzMono = 63, + SAFTADPCM_44kHzStereo = 64, + SAFTGSM610_8kHzMono = 65, + SAFTGSM610_11kHzMono = 66, + SAFTGSM610_22kHzMono = 67, + SAFTGSM610_44kHzMono = 68, +}} +ENUM!{enum DISPID_SpeechAudioFormat { + DISPID_SAFType = 1, + DISPID_SAFGuid, + DISPID_SAFGetWaveFormatEx, + DISPID_SAFSetWaveFormatEx, +}} +ENUM!{enum DISPID_SpeechBaseStream { + DISPID_SBSFormat = 1, + DISPID_SBSRead, + DISPID_SBSWrite, + DISPID_SBSSeek, +}} +ENUM!{enum SpeechStreamSeekPositionType { + SSSPTRelativeToStart = ::STREAM_SEEK_SET.0, + SSSPTRelativeToCurrentPosition = ::STREAM_SEEK_CUR.0, + SSSPTRelativeToEnd = ::STREAM_SEEK_END.0, +}} +ENUM!{enum DISPID_SpeechAudio { + DISPID_SAStatus = 200, + DISPID_SABufferInfo, + DISPID_SADefaultFormat, + DISPID_SAVolume, + DISPID_SABufferNotifySize, + DISPID_SAEventHandle, + DISPID_SASetState, +}} +ENUM!{enum SpeechAudioState { + SASClosed = SPAS_CLOSED.0, + SASStop = SPAS_STOP.0, + SASPause = SPAS_PAUSE.0, + SASRun = SPAS_RUN.0, +}} +ENUM!{enum DISPID_SpeechMMSysAudio { + DISPID_SMSADeviceId = 300, + DISPID_SMSALineId, + DISPID_SMSAMMHandle, +}} +ENUM!{enum DISPID_SpeechFileStream { + DISPID_SFSOpen = 100, + DISPID_SFSClose, +}} +ENUM!{enum SpeechStreamFileMode { + SSFMOpenForRead = SPFM_OPEN_READONLY.0, + SSFMOpenReadWrite = SPFM_OPEN_READWRITE.0, + SSFMCreate = SPFM_CREATE.0, + SSFMCreateForWrite = SPFM_CREATE_ALWAYS.0, +}} +ENUM!{enum DISPID_SpeechCustomStream { + DISPID_SCSBaseStream = 100, +}} +ENUM!{enum DISPID_SpeechMemoryStream { + DISPID_SMSSetData = 100, + DISPID_SMSGetData, +}} +ENUM!{enum DISPID_SpeechAudioStatus { + DISPID_SASFreeBufferSpace = 1, + DISPID_SASNonBlockingIO, + DISPID_SASState, + DISPID_SASCurrentSeekPosition, + DISPID_SASCurrentDevicePosition, +}} +ENUM!{enum DISPID_SpeechAudioBufferInfo { + DISPID_SABIMinNotification = 1, + DISPID_SABIBufferSize, + DISPID_SABIEventBias, +}} +ENUM!{enum DISPID_SpeechWaveFormatEx { + DISPID_SWFEFormatTag = 1, + DISPID_SWFEChannels, + DISPID_SWFESamplesPerSec, + DISPID_SWFEAvgBytesPerSec, + DISPID_SWFEBlockAlign, + DISPID_SWFEBitsPerSample, + DISPID_SWFEExtraData, +}} +ENUM!{enum DISPID_SpeechVoice { + DISPID_SVStatus = 1, + DISPID_SVVoice, + DISPID_SVAudioOutput, + DISPID_SVAudioOutputStream, + DISPID_SVRate, + DISPID_SVVolume, + DISPID_SVAllowAudioOuputFormatChangesOnNextSet, + DISPID_SVEventInterests, + DISPID_SVPriority, + DISPID_SVAlertBoundary, + DISPID_SVSyncronousSpeakTimeout, + DISPID_SVSpeak, + DISPID_SVSpeakStream, + DISPID_SVPause, + DISPID_SVResume, + DISPID_SVSkip, + DISPID_SVGetVoices, + DISPID_SVGetAudioOutputs, + DISPID_SVWaitUntilDone, + DISPID_SVSpeakCompleteEvent, + DISPID_SVIsUISupported, + DISPID_SVDisplayUI, +}} +ENUM!{enum SpeechVoicePriority { + SVPNormal = SPVPRI_NORMAL.0, + SVPAlert = SPVPRI_ALERT.0, + SVPOver = SPVPRI_OVER.0, +}} +FLAGS!{enum SpeechVoiceSpeakFlags { + SVSFDefault = SPF_DEFAULT.0, + SVSFlagsAsync = SPF_ASYNC.0, + SVSFPurgeBeforeSpeak = SPF_PURGEBEFORESPEAK.0, + SVSFIsFilename = SPF_IS_FILENAME.0, + SVSFIsXML = SPF_IS_XML.0, + SVSFIsNotXML = SPF_IS_NOT_XML.0, + SVSFPersistXML = SPF_PERSIST_XML.0, + SVSFNLPSpeakPunc = SPF_NLP_SPEAK_PUNC.0, + SVSFParseSapi = SPF_PARSE_SAPI.0, + SVSFParseSsml = SPF_PARSE_SSML.0, + SVSFParseMask = SPF_PARSE_MASK as u32, + SVSFVoiceMask = SPF_VOICE_MASK as u32, + SVSFUnusedFlags = SPF_UNUSED_FLAGS as u32, +}} +pub const SVSFParseAutodetect: SpeechVoiceSpeakFlags = SVSFDefault; +pub const SVSFNLPMask: SpeechVoiceSpeakFlags = SVSFNLPSpeakPunc; +FLAGS!{enum SpeechVoiceEvents { + SVEStartInputStream = 1 << 1, + SVEEndInputStream = 1 << 2, + SVEVoiceChange = 1 << 3, + SVEBookmark = 1 << 4, + SVEWordBoundary = 1 << 5, + SVEPhoneme = 1 << 6, + SVESentenceBoundary = 1 << 7, + SVEViseme = 1 << 8, + SVEAudioLevel = 1 << 9, + SVEPrivate = 1 << 15, + SVEAllEvents = 0x83fe, +}} +ENUM!{enum DISPID_SpeechVoiceStatus { + DISPID_SVSCurrentStreamNumber = 1, + DISPID_SVSLastStreamNumberQueued, + DISPID_SVSLastResult, + DISPID_SVSRunningState, + DISPID_SVSInputWordPosition, + DISPID_SVSInputWordLength, + DISPID_SVSInputSentencePosition, + DISPID_SVSInputSentenceLength, + DISPID_SVSLastBookmark, + DISPID_SVSLastBookmarkId, + DISPID_SVSPhonemeId, + DISPID_SVSVisemeId, +}} +ENUM!{enum SpeechRunState { + SRSEDone = SPRS_DONE.0, + SRSEIsSpeaking = SPRS_IS_SPEAKING.0, +}} +ENUM!{enum SpeechVisemeType { + SVP_0 = 0, + SVP_1, + SVP_2, + SVP_3, + SVP_4, + SVP_5, + SVP_6, + SVP_7, + SVP_8, + SVP_9, + SVP_10, + SVP_11, + SVP_12, + SVP_13, + SVP_14, + SVP_15, + SVP_16, + SVP_17, + SVP_18, + SVP_19, + SVP_20, + SVP_21, +}} +ENUM!{enum SpeechVisemeFeature { + SVF_None = 0, + SVF_Stressed = SPVFEATURE_STRESSED.0, + SVF_Emphasis = SPVFEATURE_EMPHASIS.0, +}} +ENUM!{enum DISPID_SpeechVoiceEvent { + DISPID_SVEStreamStart = 1, + DISPID_SVEStreamEnd, + DISPID_SVEVoiceChange, + DISPID_SVEBookmark, + DISPID_SVEWord, + DISPID_SVEPhoneme, + DISPID_SVESentenceBoundary, + DISPID_SVEViseme, + DISPID_SVEAudioLevel, + DISPID_SVEEnginePrivate, +}} +ENUM!{enum DISPID_SpeechRecognizer { + DISPID_SRRecognizer = 1, + DISPID_SRAllowAudioInputFormatChangesOnNextSet, + DISPID_SRAudioInput, + DISPID_SRAudioInputStream, + DISPID_SRIsShared, + DISPID_SRState, + DISPID_SRStatus, + DISPID_SRProfile, + DISPID_SREmulateRecognition, + DISPID_SRCreateRecoContext, + DISPID_SRGetFormat, + DISPID_SRSetPropertyNumber, + DISPID_SRGetPropertyNumber, + DISPID_SRSetPropertyString, + DISPID_SRGetPropertyString, + DISPID_SRIsUISupported, + DISPID_SRDisplayUI, + DISPID_SRGetRecognizers, + DISPID_SVGetAudioInputs, + DISPID_SVGetProfiles, +}} +ENUM!{enum SpeechRecognizerState { + SRSInactive = SPRST_INACTIVE.0, + SRSActive = SPRST_ACTIVE.0, + SRSActiveAlways = SPRST_ACTIVE_ALWAYS.0, + SRSInactiveWithPurge = SPRST_INACTIVE_WITH_PURGE.0, +}} +ENUM!{enum SpeechDisplayAttributes { + SDA_No_Trailing_Space = 0, + SDA_One_Trailing_Space = SPAF_ONE_TRAILING_SPACE.0, + SDA_Two_Trailing_Spaces = SPAF_TWO_TRAILING_SPACES.0, + SDA_Consume_Leading_Spaces = SPAF_CONSUME_LEADING_SPACES.0, +}} +ENUM!{enum SpeechFormatType { + SFTInput = SPWF_INPUT.0, + SFTSREngine = SPWF_SRENGINE.0, +}} +FLAGS!{enum SpeechEmulationCompareFlags { + SECFIgnoreCase = 0x1, + SECFIgnoreKanaType = 0x10000, + SECFIgnoreWidth = 0x20000, + SECFNoSpecialChars = 0x20000000, + SECFEmulateResult = 0x40000000, + SECFDefault = SECFIgnoreCase.0 | SECFIgnoreKanaType.0 | SECFIgnoreWidth.0, +}} +ENUM!{enum DISPID_SpeechRecognizerStatus { + DISPID_SRSAudioStatus = 1, + DISPID_SRSCurrentStreamPosition, + DISPID_SRSCurrentStreamNumber, + DISPID_SRSNumberOfActiveRules, + DISPID_SRSClsidEngine, + DISPID_SRSSupportedLanguages, +}} +ENUM!{enum DISPID_SpeechRecoContext { + DISPID_SRCRecognizer = 1, + DISPID_SRCAudioInInterferenceStatus, + DISPID_SRCRequestedUIType, + DISPID_SRCVoice, + DISPID_SRAllowVoiceFormatMatchingOnNextSet, + DISPID_SRCVoicePurgeEvent, + DISPID_SRCEventInterests, + DISPID_SRCCmdMaxAlternates, + DISPID_SRCState, + DISPID_SRCRetainedAudio, + DISPID_SRCRetainedAudioFormat, + DISPID_SRCPause, + DISPID_SRCResume, + DISPID_SRCCreateGrammar, + DISPID_SRCCreateResultFromMemory, + DISPID_SRCBookmark, + DISPID_SRCSetAdaptationData, +}} +ENUM!{enum SpeechRetainedAudioOptions { + SRAONone = SPAO_NONE.0, + SRAORetainAudio = SPAO_RETAIN_AUDIO.0, +}} +ENUM!{enum SpeechBookmarkOptions { + SBONone = SPBO_NONE.0, + SBOPause = SPBO_PAUSE.0, +}} +ENUM!{enum SpeechInterference { + SINone = SPINTERFERENCE_NONE.0, + SINoise = SPINTERFERENCE_NOISE.0, + SINoSignal = SPINTERFERENCE_NOSIGNAL.0, + SITooLoud = SPINTERFERENCE_TOOLOUD.0, + SITooQuiet = SPINTERFERENCE_TOOQUIET.0, + SITooFast = SPINTERFERENCE_TOOFAST.0, + SITooSlow = SPINTERFERENCE_TOOSLOW.0, +}} +FLAGS!{enum SpeechRecoEvents { + SREStreamEnd = 1 << 0, + SRESoundStart = 1 << 1, + SRESoundEnd = 1 << 2, + SREPhraseStart = 1 << 3, + SRERecognition = 1 << 4, + SREHypothesis = 1 << 5, + SREBookmark = 1 << 6, + SREPropertyNumChange = 1 << 7, + SREPropertyStringChange = 1 << 8, + SREFalseRecognition = 1 << 9, + SREInterference = 1 << 10, + SRERequestUI = 1 << 11, + SREStateChange = 1 << 12, + SREAdaptation = 1 << 13, + SREStreamStart = 1 << 14, + SRERecoOtherContext = 1 << 15, + SREAudioLevel = 1 << 16, + SREPrivate = 1 << 18, + SREAllEvents = 0x5ffff, +}} +ENUM!{enum SpeechRecoContextState { + SRCS_Disabled = SPCS_DISABLED.0, + SRCS_Enabled = SPCS_ENABLED.0, +}} +ENUM!{enum DISPIDSPRG { + DISPID_SRGId = 1, + DISPID_SRGRecoContext, + DISPID_SRGState, + DISPID_SRGRules, + DISPID_SRGReset, + DISPID_SRGCommit, + DISPID_SRGCmdLoadFromFile, + DISPID_SRGCmdLoadFromObject, + DISPID_SRGCmdLoadFromResource, + DISPID_SRGCmdLoadFromMemory, + DISPID_SRGCmdLoadFromProprietaryGrammar, + DISPID_SRGCmdSetRuleState, + DISPID_SRGCmdSetRuleIdState, + DISPID_SRGDictationLoad, + DISPID_SRGDictationUnload, + DISPID_SRGDictationSetState, + DISPID_SRGSetWordSequenceData, + DISPID_SRGSetTextSelection, + DISPID_SRGIsPronounceable, +}} +ENUM!{enum SpeechLoadOption { + SLOStatic = SPLO_STATIC.0, + SLODynamic = SPLO_DYNAMIC.0, +}} +ENUM!{enum SpeechWordPronounceable { + SWPUnknownWordUnpronounceable = SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE.0, + SWPUnknownWordPronounceable = SPWP_UNKNOWN_WORD_PRONOUNCEABLE.0, + SWPKnownWordPronounceable = SPWP_KNOWN_WORD_PRONOUNCEABLE.0, +}} +ENUM!{enum SpeechGrammarState { + SGSEnabled = SPGS_ENABLED.0, + SGSDisabled = SPGS_DISABLED.0, + SGSExclusive = SPGS_EXCLUSIVE.0, +}} +ENUM!{enum SpeechRuleState { + SGDSInactive = SPRS_INACTIVE.0, + SGDSActive = SPRS_ACTIVE.0, + SGDSActiveWithAutoPause = SPRS_ACTIVE_WITH_AUTO_PAUSE.0, + SGDSActiveUserDelimited = SPRS_ACTIVE_USER_DELIMITED.0, +}} +ENUM!{enum SpeechRuleAttributes { + SRATopLevel = SPRAF_TopLevel.0, + SRADefaultToActive = SPRAF_Active.0, + SRAExport = SPRAF_Export.0, + SRAImport = SPRAF_Import.0, + SRAInterpreter = SPRAF_Interpreter.0, + SRADynamic = SPRAF_Dynamic.0, + SRARoot = SPRAF_Root.0, +}} +ENUM!{enum SpeechGrammarWordType { + SGDisplay = SPWT_DISPLAY.0, + SGLexical = SPWT_LEXICAL.0, + SGPronounciation = SPWT_PRONUNCIATION.0, + SGLexicalNoSpecialChars = SPWT_LEXICAL_NO_SPECIAL_CHARS.0, +}} +ENUM!{enum DISPID_SpeechRecoContextEvents { + DISPID_SRCEStartStream = 1, + DISPID_SRCEEndStream, + DISPID_SRCEBookmark, + DISPID_SRCESoundStart, + DISPID_SRCESoundEnd, + DISPID_SRCEPhraseStart, + DISPID_SRCERecognition, + DISPID_SRCEHypothesis, + DISPID_SRCEPropertyNumberChange, + DISPID_SRCEPropertyStringChange, + DISPID_SRCEFalseRecognition, + DISPID_SRCEInterference, + DISPID_SRCERequestUI, + DISPID_SRCERecognizerStateChange, + DISPID_SRCEAdaptation, + DISPID_SRCERecognitionForOtherContext, + DISPID_SRCEAudioLevel, + DISPID_SRCEEnginePrivate, +}} +ENUM!{enum SpeechRecognitionType { + SRTStandard = 0, + SRTAutopause = SPREF_AutoPause.0, + SRTEmulated = SPREF_Emulated.0, + SRTSMLTimeout = SPREF_SMLTimeout.0, + SRTExtendableParse = SPREF_ExtendableParse.0, + SRTReSent = SPREF_ReSent.0, +}} +ENUM!{enum DISPID_SpeechGrammarRule { + DISPID_SGRAttributes = 1, + DISPID_SGRInitialState, + DISPID_SGRName, + DISPID_SGRId, + DISPID_SGRClear, + DISPID_SGRAddResource, + DISPID_SGRAddState, +}} +ENUM!{enum DISPID_SpeechGrammarRules { + DISPID_SGRsCount = 1, + DISPID_SGRsDynamic, + DISPID_SGRsAdd, + DISPID_SGRsCommit, + DISPID_SGRsCommitAndSave, + DISPID_SGRsFindRule, + DISPID_SGRsItem = ::DISPID_VALUE as u32, + DISPID_SGRs_NewEnum = ::DISPID_NEWENUM as u32, +}} +ENUM!{enum DISPID_SpeechGrammarRuleState { + DISPID_SGRSRule = 1, + DISPID_SGRSTransitions, + DISPID_SGRSAddWordTransition, + DISPID_SGRSAddRuleTransition, + DISPID_SGRSAddSpecialTransition, +}} +ENUM!{enum SpeechSpecialTransitionType { + SSTTWildcard = 1, + SSTTDictation, + SSTTTextBuffer, +}} +ENUM!{enum DISPID_SpeechGrammarRuleStateTransitions { + DISPID_SGRSTsCount = 1, + DISPID_SGRSTsItem = ::DISPID_VALUE as u32, + DISPID_SGRSTs_NewEnum = ::DISPID_NEWENUM as u32, +}} +ENUM!{enum DISPID_SpeechGrammarRuleStateTransition { + DISPID_SGRSTType = 1, + DISPID_SGRSTText, + DISPID_SGRSTRule, + DISPID_SGRSTWeight, + DISPID_SGRSTPropertyName, + DISPID_SGRSTPropertyId, + DISPID_SGRSTPropertyValue, + DISPID_SGRSTNextState, +}} +ENUM!{enum SpeechGrammarRuleStateTransitionType { + SGRSTTEpsilon = 0, + SGRSTTWord, + SGRSTTRule, + SGRSTTDictation, + SGRSTTWildcard, + SGRSTTTextBuffer, +}} +ENUM!{enum DISPIDSPTSI { + DISPIDSPTSI_ActiveOffset = 1, + DISPIDSPTSI_ActiveLength, + DISPIDSPTSI_SelectionOffset, + DISPIDSPTSI_SelectionLength, +}} +ENUM!{enum DISPID_SpeechRecoResult { + DISPID_SRRRecoContext = 1, + DISPID_SRRTimes, + DISPID_SRRAudioFormat, + DISPID_SRRPhraseInfo, + DISPID_SRRAlternates, + DISPID_SRRAudio, + DISPID_SRRSpeakAudio, + DISPID_SRRSaveToMemory, + DISPID_SRRDiscardResultInfo, +}} +ENUM!{enum SpeechDiscardType { + SDTProperty = SPDF_PROPERTY.0, + SDTReplacement = SPDF_REPLACEMENT.0, + SDTRule = SPDF_RULE.0, + SDTDisplayText = SPDF_DISPLAYTEXT.0, + SDTLexicalForm = SPDF_LEXICALFORM.0, + SDTPronunciation = SPDF_PRONUNCIATION.0, + SDTAudio = SPDF_AUDIO.0, + SDTAlternates = SPDF_ALTERNATES.0, + SDTAll = SPDF_ALL.0, +}} +ENUM!{enum DISPID_SpeechXMLRecoResult { + DISPID_SRRGetXMLResult, + DISPID_SRRGetXMLErrorInfo, +}} +ENUM!{enum DISPID_SpeechRecoResult2 { + DISPID_SRRSetTextFeedback, +}} +ENUM!{enum DISPID_SpeechPhraseBuilder { + DISPID_SPPBRestorePhraseFromMemory = 1, +}} +ENUM!{enum DISPID_SpeechRecoResultTimes { + DISPID_SRRTStreamTime = 1, + DISPID_SRRTLength, + DISPID_SRRTTickCount, + DISPID_SRRTOffsetFromStart, +}} +ENUM!{enum DISPID_SpeechPhraseAlternate { + DISPID_SPARecoResult = 1, + DISPID_SPAStartElementInResult, + DISPID_SPANumberOfElementsInResult, + DISPID_SPAPhraseInfo, + DISPID_SPACommit, +}} +ENUM!{enum DISPID_SpeechPhraseAlternates { + DISPID_SPAsCount = 1, + DISPID_SPAsItem = ::DISPID_VALUE as u32, + DISPID_SPAs_NewEnum = ::DISPID_NEWENUM as u32, +}} +ENUM!{enum DISPID_SpeechPhraseInfo { + DISPID_SPILanguageId = 1, + DISPID_SPIGrammarId, + DISPID_SPIStartTime, + DISPID_SPIAudioStreamPosition, + DISPID_SPIAudioSizeBytes, + DISPID_SPIRetainedSizeBytes, + DISPID_SPIAudioSizeTime, + DISPID_SPIRule, + DISPID_SPIProperties, + DISPID_SPIElements, + DISPID_SPIReplacements, + DISPID_SPIEngineId, + DISPID_SPIEnginePrivateData, + DISPID_SPISaveToMemory, + DISPID_SPIGetText, + DISPID_SPIGetDisplayAttributes, +}} +ENUM!{enum DISPID_SpeechPhraseElement { + DISPID_SPEAudioTimeOffset = 1, + DISPID_SPEAudioSizeTime, + DISPID_SPEAudioStreamOffset, + DISPID_SPEAudioSizeBytes, + DISPID_SPERetainedStreamOffset, + DISPID_SPERetainedSizeBytes, + DISPID_SPEDisplayText, + DISPID_SPELexicalForm, + DISPID_SPEPronunciation, + DISPID_SPEDisplayAttributes, + DISPID_SPERequiredConfidence, + DISPID_SPEActualConfidence, + DISPID_SPEEngineConfidence, +}} +ENUM!{enum SpeechEngineConfidence { + SECLowConfidence = -1i32 as u32, + SECNormalConfidence = 0, + SECHighConfidence = 1, +}} +ENUM!{enum DISPID_SpeechPhraseElements { + DISPID_SPEsCount = 1, + DISPID_SPEsItem = ::DISPID_VALUE as u32, + DISPID_SPEs_NewEnum = ::DISPID_NEWENUM as u32, +}} +ENUM!{enum DISPID_SpeechPhraseReplacement { + DISPID_SPRDisplayAttributes = 1, + DISPID_SPRText, + DISPID_SPRFirstElement, + DISPID_SPRNumberOfElements, +}} +ENUM!{enum DISPID_SpeechPhraseReplacements { + DISPID_SPRsCount = 1, + DISPID_SPRsItem = ::DISPID_VALUE as u32, + DISPID_SPRs_NewEnum = ::DISPID_NEWENUM as u32, +}} +ENUM!{enum DISPID_SpeechPhraseProperty { + DISPID_SPPName = 1, + DISPID_SPPId, + DISPID_SPPValue, + DISPID_SPPFirstElement, + DISPID_SPPNumberOfElements, + DISPID_SPPEngineConfidence, + DISPID_SPPConfidence, + DISPID_SPPParent, + DISPID_SPPChildren, +}} +ENUM!{enum DISPID_SpeechPhraseProperties { + DISPID_SPPsCount = 1, + DISPID_SPPsItem = ::DISPID_VALUE as u32, + DISPID_SPPs_NewEnum = ::DISPID_NEWENUM as u32, +}} +ENUM!{enum DISPID_SpeechPhraseRule { + DISPID_SPRuleName = 1, + DISPID_SPRuleId, + DISPID_SPRuleFirstElement, + DISPID_SPRuleNumberOfElements, + DISPID_SPRuleParent, + DISPID_SPRuleChildren, + DISPID_SPRuleConfidence, + DISPID_SPRuleEngineConfidence, +}} +ENUM!{enum DISPID_SpeechPhraseRules { + DISPID_SPRulesCount = 1, + DISPID_SPRulesItem = ::DISPID_VALUE as u32, + DISPID_SPRules_NewEnum = ::DISPID_NEWENUM as u32, +}} +ENUM!{enum DISPID_SpeechLexicon { + DISPID_SLGenerationId = 1, + DISPID_SLGetWords, + DISPID_SLAddPronunciation, + DISPID_SLAddPronunciationByPhoneIds, + DISPID_SLRemovePronunciation, + DISPID_SLRemovePronunciationByPhoneIds, + DISPID_SLGetPronunciations, + DISPID_SLGetGenerationChange, +}} +ENUM!{enum SpeechLexiconType { + SLTUser = eLEXTYPE_USER.0, + SLTApp = eLEXTYPE_APP.0, +}} +ENUM!{enum SpeechPartOfSpeech { + SPSNotOverriden = SPPS_NotOverriden.0, + SPSUnknown = SPPS_Unknown.0, + SPSNoun = SPPS_Noun.0, + SPSVerb = SPPS_Verb.0, + SPSModifier = SPPS_Modifier.0, + SPSFunction = SPPS_Function.0, + SPSInterjection = SPPS_Interjection.0, + SPSLMA = SPPS_LMA.0, + SPSSuppressWord = SPPS_SuppressWord.0, +}} +ENUM!{enum DISPID_SpeechLexiconWords { + DISPID_SLWsCount = 1, + DISPID_SLWsItem = ::DISPID_VALUE as u32, + DISPID_SLWs_NewEnum = ::DISPID_NEWENUM as u32, +}} +ENUM!{enum SpeechWordType { + SWTAdded = eWORDTYPE_ADDED.0, + SWTDeleted = eWORDTYPE_DELETED.0, +}} +ENUM!{enum DISPID_SpeechLexiconWord { + DISPID_SLWLangId = 1, + DISPID_SLWType, + DISPID_SLWWord, + DISPID_SLWPronunciations, +}} +ENUM!{enum DISPID_SpeechLexiconProns { + DISPID_SLPsCount = 1, + DISPID_SLPsItem = ::DISPID_VALUE as u32, + DISPID_SLPs_NewEnum = ::DISPID_NEWENUM as u32, +}} +ENUM!{enum DISPID_SpeechLexiconPronunciation { + DISPID_SLPType = 1, + DISPID_SLPLangId, + DISPID_SLPPartOfSpeech, + DISPID_SLPPhoneIds, + DISPID_SLPSymbolic, +}} +ENUM!{enum DISPID_SpeechPhoneConverter { + DISPID_SPCLangId = 1, + DISPID_SPCPhoneToId, + DISPID_SPCIdToPhone, +}} +RIDL!( +interface ISpeechDataKey(ISpeechDataKeyVtbl): IDispatch(IDispatchVtbl) { + fn SetBinaryValue(&mut self, ValueName: ::BSTR, Value: ::VARIANT) -> ::HRESULT, + fn GetBinaryValue(&mut self, ValueName: ::BSTR, Value: *mut ::VARIANT) -> ::HRESULT, + fn SetStringValue(&mut self, ValueName: ::BSTR, Value: ::BSTR) -> ::HRESULT, + fn GetStringValue(&mut self, ValueName: ::BSTR, Value: *mut ::BSTR) -> ::HRESULT, + fn SetLongValue(&mut self, ValueName: ::BSTR, Value: ::c_long) -> ::HRESULT, + fn GetLongValue(&mut self, ValueName: ::BSTR, Value: *mut ::c_long) -> ::HRESULT, + fn OpenKey(&mut self, SubKeyName: ::BSTR, SubKey: *mut *mut ISpeechDataKey) -> ::HRESULT, + fn CreateKey(&mut self, SubKeyName: ::BSTR, SubKey: *mut *mut ISpeechDataKey) -> ::HRESULT, + fn DeleteKey(&mut self, SubKeyName: ::BSTR) -> ::HRESULT, + fn DeleteValue(&mut self, ValueName: ::BSTR) -> ::HRESULT, + fn EnumKeys(&mut self, Index: ::c_long, SubKeyName: *mut ::BSTR) -> ::HRESULT, + fn EnumValues(&mut self, Index: ::c_long, ValueName: *mut ::BSTR) -> ::HRESULT +} +); +RIDL!( +interface ISpeechObjectToken(ISpeechObjectTokenVtbl): IDispatch(IDispatchVtbl) { + fn get_Id(&mut self, ObjectId: *mut ::BSTR) -> ::HRESULT, + fn get_DataKey(&mut self, DataKey: *mut *mut ISpeechDataKey) -> ::HRESULT, + fn get_Category(&mut self, Category: *mut *mut ISpeechObjectTokenCategory) -> ::HRESULT, + fn GetDescription(&mut self, Locale: ::c_long, Description: *mut ::BSTR) -> ::HRESULT, + fn SetId( + &mut self, Id: ::BSTR, CategoryId: ::BSTR, CreateIfNotExist: ::VARIANT_BOOL + ) -> ::HRESULT, + fn GetAttribute(&mut self, AttributeName: ::BSTR, AttributeValue: *mut ::BSTR) -> ::HRESULT, + fn CreateInstance( + &mut self, pUnkOuter: *mut ::IUnknown, ClsContext: SpeechTokenContext, + Object: *mut *mut ::IUnknown + ) -> ::HRESULT, + fn Remove(&mut self, ObjectStorageCLSID: ::BSTR) -> ::HRESULT, + fn GetStorageFileName( + &mut self, ObjectStorageCLSID: ::BSTR, KeyName: ::BSTR, FileName: ::BSTR, Folder: ::BSTR, + FilePath: *mut ::BSTR + ) -> ::HRESULT, + fn RemoveStorageFileName( + &mut self, ObjectStorageCLSID: ::BSTR, KeyName: ::BSTR, DeleteFile: ::VARIANT_BOOL + ) -> ::HRESULT, + fn IsUISupported( + &mut self, TypeOfUI: ::BSTR, ExtraData: *const ::VARIANT, Object: *mut ::IUnknown, + Supported: *mut ::VARIANT_BOOL + ) -> ::HRESULT, + fn DisplayUI( + &mut self, hWnd: ::c_long, Title: ::BSTR, TypeOfUI: ::BSTR, ExtraData: *const ::VARIANT, + Object: *mut ::IUnknown + ) -> ::HRESULT, + fn MatchesAttributes(&mut self, Attributes: ::BSTR, Matches: *mut ::VARIANT_BOOL) -> ::HRESULT +} +); +RIDL!( +interface ISpeechObjectTokens(ISpeechObjectTokensVtbl): IDispatch(IDispatchVtbl) { + fn get_Count(&mut self, Count: *mut ::c_long) -> ::HRESULT, + fn Item(&mut self, Index: ::c_long, Token: *mut *mut ISpeechObjectToken) -> ::HRESULT, + fn get__NewEnum(&mut self, ppEnumVARIANT: *mut *mut ::IUnknown) -> ::HRESULT +} +); +RIDL!( +interface ISpeechObjectTokenCategory(ISpeechObjectTokenCategoryVtbl): IDispatch(IDispatchVtbl) { + fn get_Id(&mut self, Id: *mut ::BSTR) -> ::HRESULT, + fn put_Default(&mut self, TokenId: ::BSTR) -> ::HRESULT, + fn get_Default(&mut self, TokenId: *mut ::BSTR) -> ::HRESULT, + fn SetId(&mut self, Id: ::BSTR, CreateIfNotExist: ::VARIANT_BOOL) -> ::HRESULT, + fn GetDataKey( + &mut self, Location: SpeechDataKeyLocation, DataKey: *mut *mut ISpeechDataKey + ) -> ::HRESULT, + fn EnumerateTokens( + &mut self, RequiredAttributes: ::BSTR, OptionalAttributes: ::BSTR, + Tokens: *mut *mut ISpeechObjectTokens + ) -> ::HRESULT +} +); +RIDL!( +interface ISpeechAudioBufferInfo(ISpeechAudioBufferInfoVtbl): IDispatch(IDispatchVtbl) { + fn get_MinNotification(&mut self, MinNotification: *mut ::c_long) -> ::HRESULT, + fn put_MinNotification(&mut self, MinNotification: ::c_long) -> ::HRESULT, + fn get_BufferSize(&mut self, BufferSize: *mut ::c_long) -> ::HRESULT, + fn put_BufferSize(&mut self, BufferSize: ::c_long) -> ::HRESULT, + fn get_EventBias(&mut self, EventBias: *mut ::c_long) -> ::HRESULT, + fn put_EventBias(&mut self, EventBias: ::c_long) -> ::HRESULT +} +); +RIDL!( +interface ISpeechAudioStatus(ISpeechAudioStatusVtbl): IDispatch(IDispatchVtbl) { + fn get_FreeBufferSpace(&mut self, FreeBufferSpace: *mut ::c_long) -> ::HRESULT, + fn get_NonBlockingIO(&mut self, NonBlockingIO: *mut ::c_long) -> ::HRESULT, + fn get_State(&mut self, State: *mut SpeechAudioState) -> ::HRESULT, + fn get_CurrentSeekPosition(&mut self, CurrentSeekPosition: *mut ::VARIANT) -> ::HRESULT, + fn get_CurrentDevicePosition(&mut self, CurrentDevicePosition: *mut ::VARIANT) -> ::HRESULT +} +); +RIDL!( +interface ISpeechAudioFormat(ISpeechAudioFormatVtbl): IDispatch(IDispatchVtbl) { + fn get_Type(&mut self, AudioFormat: *mut SpeechAudioFormatType) -> ::HRESULT, + fn put_Type(&mut self, AudioFormat: SpeechAudioFormatType) -> ::HRESULT, + fn get_Guid(&mut self, Guid: *mut ::BSTR) -> ::HRESULT, + fn put_Guid(&mut self, Guid: ::BSTR) -> ::HRESULT, + fn GetWaveFormatEx(&mut self, SpeechWaveFormatEx: *mut *mut ISpeechWaveFormatEx) -> ::HRESULT, + fn SetWaveFormatEx(&mut self, SpeechWaveFormatEx: *mut ISpeechWaveFormatEx) -> ::HRESULT +} +); +RIDL!( +interface ISpeechWaveFormatEx(ISpeechWaveFormatExVtbl): IDispatch(IDispatchVtbl) { + fn get_FormatTag(&mut self, FormatTag: *mut ::c_short) -> ::HRESULT, + fn put_FormatTag(&mut self, FormatTag: ::c_short) -> ::HRESULT, + fn get_Channels(&mut self, Channels: *mut ::c_short) -> ::HRESULT, + fn put_Channels(&mut self, Channels: ::c_short) -> ::HRESULT, + fn get_SamplesPerSec(&mut self, SamplesPerSec: *mut ::c_long) -> ::HRESULT, + fn put_SamplesPerSec(&mut self, SamplesPerSec: ::c_long) -> ::HRESULT, + fn get_AvgBytesPerSec(&mut self, AvgBytesPerSec: *mut ::c_long) -> ::HRESULT, + fn put_AvgBytesPerSec(&mut self, AvgBytesPerSec: ::c_long) -> ::HRESULT, + fn get_BlockAlign(&mut self, BlockAlign: *mut ::c_short) -> ::HRESULT, + fn put_BlockAlign(&mut self, BlockAlign: ::c_short) -> ::HRESULT, + fn get_BitsPerSample(&mut self, BitsPerSample: *mut ::c_short) -> ::HRESULT, + fn put_BitsPerSample(&mut self, BitsPerSample: ::c_short) -> ::HRESULT, + fn get_ExtraData(&mut self, ExtraData: *mut ::VARIANT) -> ::HRESULT, + fn put_ExtraData(&mut self, ExtraData: ::VARIANT) -> ::HRESULT +} +); diff --git a/third_party/rust/winapi-0.2.8/src/schannel.rs b/third_party/rust/winapi-0.2.8/src/schannel.rs new file mode 100644 index 0000000000..d57aec82fe --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/schannel.rs @@ -0,0 +1,333 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Public Definitions for SCHANNEL Security Provider +pub const UNISP_NAME: &'static str = "Microsoft Unified Security Protocol Provider"; +pub const SSL2SP_NAME: &'static str = "Microsoft SSL 2.0"; +pub const SSL3SP_NAME: &'static str = "Microsoft SSL 3.0"; +pub const TLS1SP_NAME: &'static str = "Microsoft TLS 1.0"; +pub const PCT1SP_NAME: &'static str = "Microsoft PCT 1.0"; +pub const SCHANNEL_NAME: &'static str = "Schannel"; +ENUM!{enum eTlsSignatureAlgorithm { + TlsSignatureAlgorithm_Anonymous = 0, + TlsSignatureAlgorithm_Rsa = 1, + TlsSignatureAlgorithm_Dsa = 2, + TlsSignatureAlgorithm_Ecdsa = 3, +}} +ENUM!{enum eTlsHashAlgorithm { + TlsHashAlgorithm_None = 0, + TlsHashAlgorithm_Md5 = 1, + TlsHashAlgorithm_Sha1 = 2, + TlsHashAlgorithm_Sha224 = 3, + TlsHashAlgorithm_Sha256 = 4, + TlsHashAlgorithm_Sha384 = 5, + TlsHashAlgorithm_Sha512 = 6, +}} +pub const UNISP_RPC_ID: ::DWORD = 14; +STRUCT!{struct SecPkgContext_RemoteCredentialInfo { + cbCertificateChain: ::DWORD, + pbCertificateChain: ::PBYTE, + cCertificates: ::DWORD, + fFlags: ::DWORD, + dwBits: ::DWORD, +}} +pub type PSecPkgContext_RemoteCredentialInfo = *mut SecPkgContext_RemoteCredentialInfo; +pub type SecPkgContext_RemoteCredenitalInfo = SecPkgContext_RemoteCredentialInfo; +pub type PSecPkgContext_RemoteCredenitalInfo = *mut SecPkgContext_RemoteCredentialInfo; +pub const RCRED_STATUS_NOCRED: ::DWORD = 0x00000000; +pub const RCRED_CRED_EXISTS: ::DWORD = 0x00000001; +pub const RCRED_STATUS_UNKNOWN_ISSUER: ::DWORD = 0x00000002; +STRUCT!{struct SecPkgContext_LocalCredentialInfo { + cbCertificateChain: ::DWORD, + pbCertificateChain: ::PBYTE, + cCertificates: ::DWORD, + fFlags: ::DWORD, + dwBits: ::DWORD, +}} +pub type PSecPkgContext_LocalCredentialInfo = *mut SecPkgContext_LocalCredentialInfo; +pub type SecPkgContext_LocalCredenitalInfo = SecPkgContext_LocalCredentialInfo; +pub type PSecPkgContext_LocalCredenitalInfo = *mut SecPkgContext_LocalCredentialInfo; +pub const LCRED_STATUS_NOCRED: ::DWORD = 0x00000000; +pub const LCRED_CRED_EXISTS: ::DWORD = 0x00000001; +pub const LCRED_STATUS_UNKNOWN_ISSUER: ::DWORD = 0x00000002; +STRUCT!{struct SecPkgContext_ClientCertPolicyResult { + dwPolicyResult: ::HRESULT, + guidPolicyId: ::GUID, +}} +pub type PSecPkgContext_ClientCertPolicyResult = *mut SecPkgContext_ClientCertPolicyResult; +STRUCT!{struct SecPkgContext_IssuerListInfoEx { + aIssuers: ::PCERT_NAME_BLOB, + cIssuers: ::DWORD, +}} +pub type PSecPkgContext_IssuerListInfoEx = *mut SecPkgContext_IssuerListInfoEx; +STRUCT!{struct SecPkgContext_ConnectionInfo { + dwProtocol: ::DWORD, + aiCipher: ::ALG_ID, + dwCipherStrength: ::DWORD, + aiHash: ::ALG_ID, + dwHashStrength: ::DWORD, + aiExch: ::ALG_ID, + dwExchStrength: ::DWORD, +}} +pub type PSecPkgContext_ConnectionInfo = *mut SecPkgContext_ConnectionInfo; +pub const SZ_ALG_MAX_SIZE: usize = 64; +pub const SECPKGCONTEXT_CIPHERINFO_V1: ::DWORD = 1; +STRUCT!{nodebug struct SecPkgContext_CipherInfo { + dwVersion: ::DWORD, + dwProtocol: ::DWORD, + dwCipherSuite: ::DWORD, + dwBaseCipherSuite: ::DWORD, + szCipherSuite: [::WCHAR; SZ_ALG_MAX_SIZE], + szCipher: [::WCHAR; SZ_ALG_MAX_SIZE], + dwCipherLen: ::DWORD, + dwCipherBlockLen: ::DWORD, + szHash: [::WCHAR; SZ_ALG_MAX_SIZE], + dwHashLen: ::DWORD, + szExchange: [::WCHAR; SZ_ALG_MAX_SIZE], + dwMinExchangeLen: ::DWORD, + dwMaxExchangeLen: ::DWORD, + szCertificate: [::WCHAR; SZ_ALG_MAX_SIZE], + dwKeyType: ::DWORD, +}} +pub type PSecPkgContext_CipherInfo = *mut SecPkgContext_CipherInfo; +STRUCT!{nodebug struct SecPkgContext_EapKeyBlock { + rgbKeys: [::BYTE; 128], + rgbIVs: [::BYTE; 64], +}} +pub type PSecPkgContext_EapKeyBlock = *mut SecPkgContext_EapKeyBlock; +STRUCT!{struct SecPkgContext_MappedCredAttr { + dwAttribute: ::DWORD, + pvBuffer: ::PVOID, +}} +pub type PSecPkgContext_MappedCredAttr = *mut SecPkgContext_MappedCredAttr; +pub const SSL_SESSION_RECONNECT: ::DWORD = 1; +STRUCT!{struct SecPkgContext_SessionInfo { + dwFlags: ::DWORD, + cbSessionId: ::DWORD, + rgbSessionId: [::BYTE; 32], +}} +pub type PSecPkgContext_SessionInfo = *mut SecPkgContext_SessionInfo; +STRUCT!{struct SecPkgContext_SessionAppData { + dwFlags: ::DWORD, + cbAppData: ::DWORD, + pbAppData: ::PBYTE, +}} +pub type PSecPkgContext_SessionAppData = *mut SecPkgContext_SessionAppData; +STRUCT!{struct SecPkgContext_EapPrfInfo { + dwVersion: ::DWORD, + cbPrfData: ::DWORD, + pbPrfData: ::PBYTE, +}} +pub type PSecPkgContext_EapPrfInfo = *mut SecPkgContext_EapPrfInfo; +STRUCT!{struct SecPkgContext_SupportedSignatures { + cSignatureAndHashAlgorithms: ::WORD, + pSignatureAndHashAlgorithms: *mut ::WORD, +}} +pub type PSecPkgContext_SupportedSignatures = *mut SecPkgContext_SupportedSignatures; +STRUCT!{struct SecPkgContext_Certificates { + cCertificates: ::DWORD, + cbCertificateChain: ::DWORD, + pbCertificateChain: ::PBYTE, +}} +pub type PSecPkgContext_Certificates = *mut SecPkgContext_Certificates; +STRUCT!{struct SecPkgContext_CertInfo { + dwVersion: ::DWORD, + cbSubjectName: ::DWORD, + pwszSubjectName: ::LPWSTR, + cbIssuerName: ::DWORD, + pwszIssuerName: ::LPWSTR, + dwKeySize: ::DWORD, +}} +pub type PSecPkgContext_CertInfo = *mut SecPkgContext_CertInfo; +pub const KERN_CONTEXT_CERT_INFO_V1: ::DWORD = 0x00000000; +STRUCT!{struct SecPkgContext_UiInfo { + hParentWindow: ::HWND, +}} +pub type PSecPkgContext_UiInfo = *mut SecPkgContext_UiInfo; +STRUCT!{struct SecPkgContext_EarlyStart { + dwEarlyStartFlags: ::DWORD, +}} +pub type PSecPkgContext_EarlyStart = *mut SecPkgContext_EarlyStart; +pub const ENABLE_TLS_CLIENT_EARLY_START: ::DWORD = 0x00000001; +pub const SCH_CRED_V1: ::DWORD = 0x00000001; +pub const SCH_CRED_V2: ::DWORD = 0x00000002; +pub const SCH_CRED_VERSION: ::DWORD = 0x00000002; +pub const SCH_CRED_V3: ::DWORD = 0x00000003; +pub const SCHANNEL_CRED_VERSION: ::DWORD = 0x00000004; +pub enum _HMAPPER {} +STRUCT!{struct SCHANNEL_CRED { + dwVersion: ::DWORD, + cCreds: ::DWORD, + paCred: *mut ::PCCERT_CONTEXT, + hRootStore: ::HCERTSTORE, + cMappers: ::DWORD, + aphMappers: *mut *mut _HMAPPER, + cSupportedAlgs: ::DWORD, + palgSupportedAlgs: *mut ::ALG_ID, + grbitEnabledProtocols: ::DWORD, + dwMinimumCipherStrength: ::DWORD, + dwMaximumCipherStrength: ::DWORD, + dwSessionLifespan: ::DWORD, + dwFlags: ::DWORD, + dwCredFormat: ::DWORD, +}} +pub type PSCHANNEL_CRED = *mut SCHANNEL_CRED; +pub const SCH_CRED_FORMAT_CERT_CONTEXT: ::DWORD = 0x00000000; +pub const SCH_CRED_FORMAT_CERT_HASH: ::DWORD = 0x00000001; +pub const SCH_CRED_FORMAT_CERT_HASH_STORE: ::DWORD = 0x00000002; +pub const SCH_CRED_MAX_STORE_NAME_SIZE: usize = 128; +pub const SCH_CRED_MAX_SUPPORTED_ALGS: ::DWORD = 256; +pub const SCH_CRED_MAX_SUPPORTED_CERTS: ::DWORD = 100; +STRUCT!{struct SCHANNEL_CERT_HASH { + dwLength: ::DWORD, + dwFlags: ::DWORD, + hProv: ::HCRYPTPROV, + ShaHash: [::BYTE; 20], +}} +pub type PSCHANNEL_CERT_HASH = *mut SCHANNEL_CERT_HASH; +STRUCT!{nodebug struct SCHANNEL_CERT_HASH_STORE { + dwLength: ::DWORD, + dwFlags: ::DWORD, + hProv: ::HCRYPTPROV, + ShaHash: [::BYTE; 20], + pwszStoreName: [::WCHAR; SCH_CRED_MAX_STORE_NAME_SIZE], +}} +pub type PSCHANNEL_CERT_HASH_STORE = *mut SCHANNEL_CERT_HASH_STORE; +pub const SCH_MACHINE_CERT_HASH: ::DWORD = 0x00000001; +pub const SCH_CRED_NO_SYSTEM_MAPPER: ::DWORD = 0x00000002; +pub const SCH_CRED_NO_SERVERNAME_CHECK: ::DWORD = 0x00000004; +pub const SCH_CRED_MANUAL_CRED_VALIDATION: ::DWORD = 0x00000008; +pub const SCH_CRED_NO_DEFAULT_CREDS: ::DWORD = 0x00000010; +pub const SCH_CRED_AUTO_CRED_VALIDATION: ::DWORD = 0x00000020; +pub const SCH_CRED_USE_DEFAULT_CREDS: ::DWORD = 0x00000040; +pub const SCH_CRED_DISABLE_RECONNECTS: ::DWORD = 0x00000080; +pub const SCH_CRED_REVOCATION_CHECK_END_CERT: ::DWORD = 0x00000100; +pub const SCH_CRED_REVOCATION_CHECK_CHAIN: ::DWORD = 0x00000200; +pub const SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: ::DWORD = 0x00000400; +pub const SCH_CRED_IGNORE_NO_REVOCATION_CHECK: ::DWORD = 0x00000800; +pub const SCH_CRED_IGNORE_REVOCATION_OFFLINE: ::DWORD = 0x00001000; +pub const SCH_CRED_RESTRICTED_ROOTS: ::DWORD = 0x00002000; +pub const SCH_CRED_REVOCATION_CHECK_CACHE_ONLY: ::DWORD = 0x00004000; +pub const SCH_CRED_CACHE_ONLY_URL_RETRIEVAL: ::DWORD = 0x00008000; +pub const SCH_CRED_MEMORY_STORE_CERT: ::DWORD = 0x00010000; +pub const SCH_CRED_CACHE_ONLY_URL_RETRIEVAL_ON_CREATE: ::DWORD = 0x00020000; +pub const SCH_SEND_ROOT_CERT: ::DWORD = 0x00040000; +pub const SCH_CRED_SNI_CREDENTIAL: ::DWORD = 0x00080000; +pub const SCH_CRED_SNI_ENABLE_OCSP: ::DWORD = 0x00100000; +pub const SCH_SEND_AUX_RECORD: ::DWORD = 0x00200000; +pub const SCH_USE_STRONG_CRYPTO: ::DWORD = 0x00400000; +pub const SCHANNEL_RENEGOTIATE: ::DWORD = 0; +pub const SCHANNEL_SHUTDOWN: ::DWORD = 1; +pub const SCHANNEL_ALERT: ::DWORD = 2; +pub const SCHANNEL_SESSION: ::DWORD = 3; +STRUCT!{struct SCHANNEL_ALERT_TOKEN { + dwTokenType: ::DWORD, + dwAlertType: ::DWORD, + dwAlertNumber: ::DWORD, +}} +pub const TLS1_ALERT_WARNING: ::DWORD = 1; +pub const TLS1_ALERT_FATAL: ::DWORD = 2; +pub const TLS1_ALERT_CLOSE_NOTIFY: ::DWORD = 0; +pub const TLS1_ALERT_UNEXPECTED_MESSAGE: ::DWORD = 10; +pub const TLS1_ALERT_BAD_RECORD_MAC: ::DWORD = 20; +pub const TLS1_ALERT_DECRYPTION_FAILED: ::DWORD = 21; +pub const TLS1_ALERT_RECORD_OVERFLOW: ::DWORD = 22; +pub const TLS1_ALERT_DECOMPRESSION_FAIL: ::DWORD = 30; +pub const TLS1_ALERT_HANDSHAKE_FAILURE: ::DWORD = 40; +pub const TLS1_ALERT_BAD_CERTIFICATE: ::DWORD = 42; +pub const TLS1_ALERT_UNSUPPORTED_CERT: ::DWORD = 43; +pub const TLS1_ALERT_CERTIFICATE_REVOKED: ::DWORD = 44; +pub const TLS1_ALERT_CERTIFICATE_EXPIRED: ::DWORD = 45; +pub const TLS1_ALERT_CERTIFICATE_UNKNOWN: ::DWORD = 46; +pub const TLS1_ALERT_ILLEGAL_PARAMETER: ::DWORD = 47; +pub const TLS1_ALERT_UNKNOWN_CA: ::DWORD = 48; +pub const TLS1_ALERT_ACCESS_DENIED: ::DWORD = 49; +pub const TLS1_ALERT_DECODE_ERROR: ::DWORD = 50; +pub const TLS1_ALERT_DECRYPT_ERROR: ::DWORD = 51; +pub const TLS1_ALERT_EXPORT_RESTRICTION: ::DWORD = 60; +pub const TLS1_ALERT_PROTOCOL_VERSION: ::DWORD = 70; +pub const TLS1_ALERT_INSUFFIENT_SECURITY: ::DWORD = 71; +pub const TLS1_ALERT_INTERNAL_ERROR: ::DWORD = 80; +pub const TLS1_ALERT_USER_CANCELED: ::DWORD = 90; +pub const TLS1_ALERT_NO_RENEGOTIATION: ::DWORD = 100; +pub const TLS1_ALERT_UNSUPPORTED_EXT: ::DWORD = 110; +pub const TLS1_ALERT_NO_APP_PROTOCOL: ::DWORD = 120; +pub const SSL_SESSION_ENABLE_RECONNECTS: ::DWORD = 1; +pub const SSL_SESSION_DISABLE_RECONNECTS: ::DWORD = 2; +STRUCT!{struct SCHANNEL_SESSION_TOKEN { + dwTokenType: ::DWORD, + dwFlags: ::DWORD, +}} +STRUCT!{nodebug struct SCHANNEL_CLIENT_SIGNATURE { + cbLength: ::DWORD, + aiHash: ::ALG_ID, + cbHash: ::DWORD, + HashValue: [::BYTE; 36], + CertThumbprint: [::BYTE; 20], +}} +pub type PSCHANNEL_CLIENT_SIGNATURE = *mut SCHANNEL_CLIENT_SIGNATURE; +pub const SP_PROT_PCT1_SERVER: ::DWORD = 0x00000001; +pub const SP_PROT_PCT1_CLIENT: ::DWORD = 0x00000002; +pub const SP_PROT_PCT1: ::DWORD = SP_PROT_PCT1_SERVER | SP_PROT_PCT1_CLIENT; +pub const SP_PROT_SSL2_SERVER: ::DWORD = 0x00000004; +pub const SP_PROT_SSL2_CLIENT: ::DWORD = 0x00000008; +pub const SP_PROT_SSL2: ::DWORD = SP_PROT_SSL2_SERVER | SP_PROT_SSL2_CLIENT; +pub const SP_PROT_SSL3_SERVER: ::DWORD = 0x00000010; +pub const SP_PROT_SSL3_CLIENT: ::DWORD = 0x00000020; +pub const SP_PROT_SSL3: ::DWORD = SP_PROT_SSL3_SERVER | SP_PROT_SSL3_CLIENT; +pub const SP_PROT_TLS1_SERVER: ::DWORD = 0x00000040; +pub const SP_PROT_TLS1_CLIENT: ::DWORD = 0x00000080; +pub const SP_PROT_TLS1: ::DWORD = SP_PROT_TLS1_SERVER | SP_PROT_TLS1_CLIENT; +pub const SP_PROT_SSL3TLS1_CLIENTS: ::DWORD = SP_PROT_TLS1_CLIENT | SP_PROT_SSL3_CLIENT; +pub const SP_PROT_SSL3TLS1_SERVERS: ::DWORD = SP_PROT_TLS1_SERVER | SP_PROT_SSL3_SERVER; +pub const SP_PROT_SSL3TLS1: ::DWORD = SP_PROT_SSL3 | SP_PROT_TLS1; +pub const SP_PROT_UNI_SERVER: ::DWORD = 0x40000000; +pub const SP_PROT_UNI_CLIENT: ::DWORD = 0x80000000; +pub const SP_PROT_UNI: ::DWORD = SP_PROT_UNI_SERVER | SP_PROT_UNI_CLIENT; +pub const SP_PROT_ALL: ::DWORD = 0xffffffff; +pub const SP_PROT_NONE: ::DWORD = 0; +pub const SP_PROT_CLIENTS: ::DWORD = SP_PROT_PCT1_CLIENT | SP_PROT_SSL2_CLIENT + | SP_PROT_SSL3_CLIENT | SP_PROT_UNI_CLIENT | SP_PROT_TLS1_CLIENT; +pub const SP_PROT_SERVERS: ::DWORD = SP_PROT_PCT1_SERVER | SP_PROT_SSL2_SERVER + | SP_PROT_SSL3_SERVER | SP_PROT_UNI_SERVER | SP_PROT_TLS1_SERVER; +pub const SP_PROT_TLS1_0_SERVER: ::DWORD = SP_PROT_TLS1_SERVER; +pub const SP_PROT_TLS1_0_CLIENT: ::DWORD = SP_PROT_TLS1_CLIENT; +pub const SP_PROT_TLS1_0: ::DWORD = SP_PROT_TLS1_0_SERVER | SP_PROT_TLS1_0_CLIENT; +pub const SP_PROT_TLS1_1_SERVER: ::DWORD = 0x00000100; +pub const SP_PROT_TLS1_1_CLIENT: ::DWORD = 0x00000200; +pub const SP_PROT_TLS1_1: ::DWORD = SP_PROT_TLS1_1_SERVER | SP_PROT_TLS1_1_CLIENT; +pub const SP_PROT_TLS1_2_SERVER: ::DWORD = 0x00000400; +pub const SP_PROT_TLS1_2_CLIENT: ::DWORD = 0x00000800; +pub const SP_PROT_TLS1_2: ::DWORD = SP_PROT_TLS1_2_SERVER | SP_PROT_TLS1_2_CLIENT; +pub const SP_PROT_DTLS_SERVER: ::DWORD = 0x00010000; +pub const SP_PROT_DTLS_CLIENT: ::DWORD = 0x00020000; +pub const SP_PROT_DTLS: ::DWORD = SP_PROT_DTLS_SERVER | SP_PROT_DTLS_CLIENT; +pub const SP_PROT_DTLS1_0_SERVER: ::DWORD = SP_PROT_DTLS_SERVER; +pub const SP_PROT_DTLS1_0_CLIENT: ::DWORD = SP_PROT_DTLS_CLIENT; +pub const SP_PROT_DTLS1_0: ::DWORD = SP_PROT_DTLS1_0_SERVER | SP_PROT_DTLS1_0_CLIENT; +pub const SP_PROT_DTLS1_X_SERVER: ::DWORD = SP_PROT_DTLS1_0_SERVER; +pub const SP_PROT_DTLS1_X_CLIENT: ::DWORD = SP_PROT_DTLS1_0_CLIENT; +pub const SP_PROT_DTLS1_X: ::DWORD = SP_PROT_DTLS1_X_SERVER | SP_PROT_DTLS1_X_CLIENT; +pub const SP_PROT_TLS1_1PLUS_SERVER: ::DWORD = SP_PROT_TLS1_1_SERVER | SP_PROT_TLS1_2_SERVER; +pub const SP_PROT_TLS1_1PLUS_CLIENT: ::DWORD = SP_PROT_TLS1_1_CLIENT | SP_PROT_TLS1_2_CLIENT; +pub const SP_PROT_TLS1_1PLUS: ::DWORD = SP_PROT_TLS1_1PLUS_SERVER | SP_PROT_TLS1_1PLUS_CLIENT; +pub const SP_PROT_TLS1_X_SERVER: ::DWORD = SP_PROT_TLS1_0_SERVER | SP_PROT_TLS1_1_SERVER + | SP_PROT_TLS1_2_SERVER; +pub const SP_PROT_TLS1_X_CLIENT: ::DWORD = SP_PROT_TLS1_0_CLIENT | SP_PROT_TLS1_1_CLIENT + | SP_PROT_TLS1_2_CLIENT; +pub const SP_PROT_TLS1_X: ::DWORD = SP_PROT_TLS1_X_SERVER | SP_PROT_TLS1_X_CLIENT; +pub const SP_PROT_SSL3TLS1_X_CLIENTS: ::DWORD = SP_PROT_TLS1_X_CLIENT | SP_PROT_SSL3_CLIENT; +pub const SP_PROT_SSL3TLS1_X_SERVERS: ::DWORD = SP_PROT_TLS1_X_SERVER | SP_PROT_SSL3_SERVER; +pub const SP_PROT_SSL3TLS1_X: ::DWORD = SP_PROT_SSL3 | SP_PROT_TLS1_X; +pub const SP_PROT_X_CLIENTS: ::DWORD = SP_PROT_CLIENTS | SP_PROT_TLS1_X_CLIENT + | SP_PROT_DTLS1_X_CLIENT; +pub const SP_PROT_X_SERVERS: ::DWORD = SP_PROT_SERVERS | SP_PROT_TLS1_X_SERVER + | SP_PROT_DTLS1_X_SERVER; +//716 +pub const SCHANNEL_SECRET_TYPE_CAPI: ::DWORD = 0x00000001; +pub const SCHANNEL_SECRET_PRIVKEY: ::DWORD = 0x00000002; +pub const SCH_CRED_X509_CERTCHAIN: ::DWORD = 0x00000001; +pub const SCH_CRED_X509_CAPI: ::DWORD = 0x00000002; +pub const SCH_CRED_CERT_CONTEXT: ::DWORD = 0x00000003; +//838 +pub const SSL_CRACK_CERTIFICATE_NAME: &'static str = "SslCrackCertificate"; +pub const SSL_FREE_CERTIFICATE_NAME: &'static str = "SslFreeCertificate"; diff --git a/third_party/rust/winapi-0.2.8/src/servprov.rs b/third_party/rust/winapi-0.2.8/src/servprov.rs new file mode 100644 index 0000000000..8b37ba8b6c --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/servprov.rs @@ -0,0 +1,11 @@ +// Copyright © 2015, Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of servprov.h +pub type LPSERVICEPROVIDER = *mut IServiceProvider; +RIDL!( +interface IServiceProvider(IServiceProviderVtbl): IUnknown(IUnknownVtbl) { + fn QueryService( + &mut self, guidService: ::REFGUID, riid: ::REFIID, ppvObject: *mut *mut ::c_void + ) -> ::HRESULT +} +); diff --git a/third_party/rust/winapi-0.2.8/src/setupapi.rs b/third_party/rust/winapi-0.2.8/src/setupapi.rs new file mode 100644 index 0000000000..cf3149d79f --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/setupapi.rs @@ -0,0 +1,1301 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Windows NT Setup and Device Installer services +pub const LINE_LEN: usize = 256; +pub const MAX_INF_STRING_LENGTH: usize = 4096; +pub const MAX_INF_SECTION_NAME_LENGTH: usize = 255; +pub const MAX_TITLE_LEN: usize = 60; +pub const MAX_INSTRUCTION_LEN: usize = 256; +pub const MAX_LABEL_LEN: usize = 30; +pub const MAX_SERVICE_NAME_LEN: usize = 256; +pub const MAX_SUBTITLE_LEN: usize = 256; +pub const SP_MAX_MACHINENAME_LENGTH: usize = ::MAX_PATH + 3; +pub type HINF = ::PVOID; +STRUCT!{struct INFCONTEXT { + Inf: ::PVOID, + CurrentInf: ::PVOID, + Section: ::UINT, + Line: ::UINT, +}} +pub type PINFCONTEXT = *mut INFCONTEXT; +STRUCT!{struct SP_INF_INFORMATION { + InfStyle: ::DWORD, + InfCount: ::DWORD, + VersionData: [::BYTE; ::ANYSIZE_ARRAY], +}} +pub type PSP_INF_INFORMATION = *mut SP_INF_INFORMATION; +STRUCT!{struct SP_ALTPLATFORM_INFO_V2 { + cbSize: ::DWORD, + Platform: ::DWORD, + MajorVersion: ::DWORD, + MinorVersion: ::DWORD, + ProcessorArchitecture: ::WORD, + Reserved: ::WORD, + FirstValidatedMajorVersion: ::DWORD, + FirstValidatedMinorVersion: ::DWORD, +}} +UNION!(SP_ALTPLATFORM_INFO_V2, Reserved, Flags, Flags_mut, ::WORD); +pub type PSP_ALTPLATFORM_INFO_V2 = *mut SP_ALTPLATFORM_INFO_V2; +STRUCT!{struct SP_ALTPLATFORM_INFO_V1 { + cbSize: ::DWORD, + Platform: ::DWORD, + MajorVersion: ::DWORD, + MinorVersion: ::DWORD, + ProcessorArchitecture: ::WORD, + Reserved: ::WORD, +}} +pub type PSP_ALTPLATFORM_INFO_V1 = *mut SP_ALTPLATFORM_INFO_V1; +pub type SP_ALTPLATFORM_INFO = SP_ALTPLATFORM_INFO_V2; +pub type PSP_ALTPLATFORM_INFO = PSP_ALTPLATFORM_INFO_V2; +pub const SP_ALTPLATFORM_FLAGS_VERSION_RANGE: ::WORD = 0x0001; +STRUCT!{nodebug struct SP_ORIGINAL_FILE_INFO_A { + cbSize: ::DWORD, + OriginalInfName: [::CHAR; ::MAX_PATH], + OriginalCatalogName: [::CHAR; ::MAX_PATH], +}} +pub type PSP_ORIGINAL_FILE_INFO_A = *mut SP_ORIGINAL_FILE_INFO_A; +STRUCT!{nodebug struct SP_ORIGINAL_FILE_INFO_W { + cbSize: ::DWORD, + OriginalInfName: [::WCHAR; ::MAX_PATH], + OriginalCatalogName: [::WCHAR; ::MAX_PATH], +}} +pub type PSP_ORIGINAL_FILE_INFO_W = *mut SP_ORIGINAL_FILE_INFO_W; +pub const INF_STYLE_NONE: ::DWORD = 0x00000000; +pub const INF_STYLE_OLDNT: ::DWORD = 0x00000001; +pub const INF_STYLE_WIN4: ::DWORD = 0x00000002; +pub const INF_STYLE_CACHE_ENABLE: ::DWORD = 0x00000010; +pub const INF_STYLE_CACHE_DISABLE: ::DWORD = 0x00000020; +pub const INF_STYLE_CACHE_IGNORE: ::DWORD = 0x00000040; +pub const DIRID_ABSOLUTE: ::DWORD = -1i32 as ::DWORD; +pub const DIRID_ABSOLUTE_16BIT: ::DWORD = 0xffff; +pub const DIRID_NULL: ::DWORD = 0; +pub const DIRID_SRCPATH: ::DWORD = 1; +pub const DIRID_WINDOWS: ::DWORD = 10; +pub const DIRID_SYSTEM: ::DWORD = 11; +pub const DIRID_DRIVERS: ::DWORD = 12; +pub const DIRID_IOSUBSYS: ::DWORD = DIRID_DRIVERS; +pub const DIRID_DRIVER_STORE: ::DWORD = 13; +pub const DIRID_INF: ::DWORD = 17; +pub const DIRID_HELP: ::DWORD = 18; +pub const DIRID_FONTS: ::DWORD = 20; +pub const DIRID_VIEWERS: ::DWORD = 21; +pub const DIRID_COLOR: ::DWORD = 23; +pub const DIRID_APPS: ::DWORD = 24; +pub const DIRID_SHARED: ::DWORD = 25; +pub const DIRID_BOOT: ::DWORD = 30; +pub const DIRID_SYSTEM16: ::DWORD = 50; +pub const DIRID_SPOOL: ::DWORD = 51; +pub const DIRID_SPOOLDRIVERS: ::DWORD = 52; +pub const DIRID_USERPROFILE: ::DWORD = 53; +pub const DIRID_LOADER: ::DWORD = 54; +pub const DIRID_PRINTPROCESSOR: ::DWORD = 55; +pub const DIRID_DEFAULT: ::DWORD = DIRID_SYSTEM; +pub const DIRID_COMMON_STARTMENU: ::DWORD = 16406; +pub const DIRID_COMMON_PROGRAMS: ::DWORD = 16407; +pub const DIRID_COMMON_STARTUP: ::DWORD = 16408; +pub const DIRID_COMMON_DESKTOPDIRECTORY: ::DWORD = 16409; +pub const DIRID_COMMON_FAVORITES: ::DWORD = 16415; +pub const DIRID_COMMON_APPDATA: ::DWORD = 16419; +pub const DIRID_PROGRAM_FILES: ::DWORD = 16422; +pub const DIRID_SYSTEM_X86: ::DWORD = 16425; +pub const DIRID_PROGRAM_FILES_X86: ::DWORD = 16426; +pub const DIRID_PROGRAM_FILES_COMMON: ::DWORD = 16427; +pub const DIRID_PROGRAM_FILES_COMMONX86: ::DWORD = 16428; +pub const DIRID_COMMON_TEMPLATES: ::DWORD = 16429; +pub const DIRID_COMMON_DOCUMENTS: ::DWORD = 16430; +pub const DIRID_USER: ::DWORD = 0x8000; +pub type PSP_FILE_CALLBACK_A = Option<unsafe extern "system" fn( + Context: ::PVOID, Notification: ::UINT, Param1: ::UINT_PTR, Param2: ::UINT_PTR, +) -> ::UINT>; +pub type PSP_FILE_CALLBACK_W = Option<unsafe extern "system" fn( + Context: ::PVOID, Notification: ::UINT, Param1: ::UINT_PTR, Param2: ::UINT_PTR, +) -> ::UINT>; +pub const SPFILENOTIFY_STARTQUEUE: ::UINT = 0x00000001; +pub const SPFILENOTIFY_ENDQUEUE: ::UINT = 0x00000002; +pub const SPFILENOTIFY_STARTSUBQUEUE: ::UINT = 0x00000003; +pub const SPFILENOTIFY_ENDSUBQUEUE: ::UINT = 0x00000004; +pub const SPFILENOTIFY_STARTDELETE: ::UINT = 0x00000005; +pub const SPFILENOTIFY_ENDDELETE: ::UINT = 0x00000006; +pub const SPFILENOTIFY_DELETEERROR: ::UINT = 0x00000007; +pub const SPFILENOTIFY_STARTRENAME: ::UINT = 0x00000008; +pub const SPFILENOTIFY_ENDRENAME: ::UINT = 0x00000009; +pub const SPFILENOTIFY_RENAMEERROR: ::UINT = 0x0000000a; +pub const SPFILENOTIFY_STARTCOPY: ::UINT = 0x0000000b; +pub const SPFILENOTIFY_ENDCOPY: ::UINT = 0x0000000c; +pub const SPFILENOTIFY_COPYERROR: ::UINT = 0x0000000d; +pub const SPFILENOTIFY_NEEDMEDIA: ::UINT = 0x0000000e; +pub const SPFILENOTIFY_QUEUESCAN: ::UINT = 0x0000000f; +pub const SPFILENOTIFY_CABINETINFO: ::UINT = 0x00000010; +pub const SPFILENOTIFY_FILEINCABINET: ::UINT = 0x00000011; +pub const SPFILENOTIFY_NEEDNEWCABINET: ::UINT = 0x00000012; +pub const SPFILENOTIFY_FILEEXTRACTED: ::UINT = 0x00000013; +pub const SPFILENOTIFY_FILEOPDELAYED: ::UINT = 0x00000014; +pub const SPFILENOTIFY_STARTBACKUP: ::UINT = 0x00000015; +pub const SPFILENOTIFY_BACKUPERROR: ::UINT = 0x00000016; +pub const SPFILENOTIFY_ENDBACKUP: ::UINT = 0x00000017; +pub const SPFILENOTIFY_QUEUESCAN_EX: ::UINT = 0x00000018; +pub const SPFILENOTIFY_STARTREGISTRATION: ::UINT = 0x00000019; +pub const SPFILENOTIFY_ENDREGISTRATION: ::UINT = 0x00000020; +pub const SPFILENOTIFY_QUEUESCAN_SIGNERINFO: ::UINT = 0x00000040; +pub const SPFILENOTIFY_LANGMISMATCH: ::UINT = 0x00010000; +pub const SPFILENOTIFY_TARGETEXISTS: ::UINT = 0x00020000; +pub const SPFILENOTIFY_TARGETNEWER: ::UINT = 0x00040000; +pub const FILEOP_COPY: ::UINT = 0; +pub const FILEOP_RENAME: ::UINT = 1; +pub const FILEOP_DELETE: ::UINT = 2; +pub const FILEOP_BACKUP: ::UINT = 3; +pub const FILEOP_ABORT: ::UINT = 0; +pub const FILEOP_DOIT: ::UINT = 1; +pub const FILEOP_SKIP: ::UINT = 2; +pub const FILEOP_RETRY: ::UINT = FILEOP_DOIT; +pub const FILEOP_NEWPATH: ::UINT = 4; +pub const COPYFLG_WARN_IF_SKIP: ::UINT = 0x00000001; +pub const COPYFLG_NOSKIP: ::UINT = 0x00000002; +pub const COPYFLG_NOVERSIONCHECK: ::UINT = 0x00000004; +pub const COPYFLG_FORCE_FILE_IN_USE: ::UINT = 0x00000008; +pub const COPYFLG_NO_OVERWRITE: ::UINT = 0x00000010; +pub const COPYFLG_NO_VERSION_DIALOG: ::UINT = 0x00000020; +pub const COPYFLG_OVERWRITE_OLDER_ONLY: ::UINT = 0x00000040; +pub const COPYFLG_PROTECTED_WINDOWS_DRIVER_FILE: ::UINT = 0x00000100; +pub const COPYFLG_REPLACEONLY: ::UINT = 0x00000400; +pub const COPYFLG_NODECOMP: ::UINT = 0x00000800; +pub const COPYFLG_REPLACE_BOOT_FILE: ::UINT = 0x00001000; +pub const COPYFLG_NOPRUNE: ::UINT = 0x00002000; +pub const COPYFLG_IN_USE_TRY_RENAME: ::UINT = 0x00004000; +pub const DELFLG_IN_USE: ::UINT = 0x00000001; +pub const DELFLG_IN_USE1: ::UINT = 0x00010000; +STRUCT!{struct FILEPATHS_A { + Target: ::PCSTR, + Source: ::PCSTR, + Win32Error: ::UINT, + Flags: ::DWORD, +}} +pub type PFILEPATHS_A = *mut FILEPATHS_A; +STRUCT!{struct FILEPATHS_W { + Target: ::PCWSTR, + Source: ::PCWSTR, + Win32Error: ::UINT, + Flags: ::DWORD, +}} +pub type PFILEPATHS_W = *mut FILEPATHS_W; +STRUCT!{struct FILEPATHS_SIGNERINFO_A { + Target: ::PCSTR, + Source: ::PCSTR, + Win32Error: ::UINT, + Flags: ::DWORD, + DigitalSigner: ::PCSTR, + Version: ::PCSTR, + CatalogFile: ::PCSTR, +}} +pub type PFILEPATHS_SIGNERINFO_A = *mut FILEPATHS_SIGNERINFO_A; +STRUCT!{struct FILEPATHS_SIGNERINFO_W { + Target: ::PCWSTR, + Source: ::PCWSTR, + Win32Error: ::UINT, + Flags: ::DWORD, + DigitalSigner: ::PCWSTR, + Version: ::PCWSTR, + CatalogFile: ::PCWSTR, +}} +pub type PFILEPATHS_SIGNERINFO_W = *mut FILEPATHS_SIGNERINFO_W; +STRUCT!{struct SOURCE_MEDIA_A { + Reserved: ::PCSTR, + Tagfile: ::PCSTR, + Description: ::PCSTR, + SourcePath: ::PCSTR, + SourceFile: ::PCSTR, + Flags: ::DWORD, +}} +pub type PSOURCE_MEDIA_A = *mut SOURCE_MEDIA_A; +STRUCT!{struct SOURCE_MEDIA_W { + Reserved: ::PCWSTR, + Tagfile: ::PCWSTR, + Description: ::PCWSTR, + SourcePath: ::PCWSTR, + SourceFile: ::PCWSTR, + Flags: ::DWORD, +}} +pub type PSOURCE_MEDIA_W = *mut SOURCE_MEDIA_W; +STRUCT!{struct CABINET_INFO_A { + CabinetPath: ::PCSTR, + CabinetFile: ::PCSTR, + DiskName: ::PCSTR, + SetId: ::USHORT, + CabinetNumber: ::USHORT, +}} +pub type PCABINET_INFO_A = *mut CABINET_INFO_A; +STRUCT!{struct CABINET_INFO_W { + CabinetPath: ::PCWSTR, + CabinetFile: ::PCWSTR, + DiskName: ::PCWSTR, + SetId: ::USHORT, + CabinetNumber: ::USHORT, +}} +pub type PCABINET_INFO_W = *mut CABINET_INFO_W; +STRUCT!{nodebug struct FILE_IN_CABINET_INFO_A { + NameInCabinet: ::PCSTR, + FileSize: ::DWORD, + Win32Error: ::DWORD, + DosDate: ::WORD, + DosTime: ::WORD, + DosAttribs: ::WORD, + FullTargetName: [::CHAR; ::MAX_PATH], +}} +pub type PFILE_IN_CABINET_INFO_A = *mut FILE_IN_CABINET_INFO_A; +STRUCT!{nodebug struct FILE_IN_CABINET_INFO_W { + NameInCabinet: ::PCWSTR, + FileSize: ::DWORD, + Win32Error: ::DWORD, + DosDate: ::WORD, + DosTime: ::WORD, + DosAttribs: ::WORD, + FullTargetName: [::WCHAR; ::MAX_PATH], +}} +pub type PFILE_IN_CABINET_INFO_W = *mut FILE_IN_CABINET_INFO_W; +STRUCT!{struct SP_REGISTER_CONTROL_STATUSA { + cbSize: ::DWORD, + FileName: ::PCSTR, + Win32Error: ::DWORD, + FailureCode: ::DWORD, +}} +pub type PSP_REGISTER_CONTROL_STATUSA = *mut SP_REGISTER_CONTROL_STATUSA; +STRUCT!{struct SP_REGISTER_CONTROL_STATUSW { + cbSize: ::DWORD, + FileName: ::PCWSTR, + Win32Error: ::DWORD, + FailureCode: ::DWORD, +}} +pub type PSP_REGISTER_CONTROL_STATUSW = *mut SP_REGISTER_CONTROL_STATUSW; +pub const SPREG_SUCCESS: ::DWORD = 0x00000000; +pub const SPREG_LOADLIBRARY: ::DWORD = 0x00000001; +pub const SPREG_GETPROCADDR: ::DWORD = 0x00000002; +pub const SPREG_REGSVR: ::DWORD = 0x00000003; +pub const SPREG_DLLINSTALL: ::DWORD = 0x00000004; +pub const SPREG_TIMEOUT: ::DWORD = 0x00000005; +pub const SPREG_UNKNOWN: ::DWORD = 0xFFFFFFFF; +pub type HSPFILEQ = ::PVOID; +STRUCT!{struct SP_FILE_COPY_PARAMS_A { + cbSize: ::DWORD, + QueueHandle: HSPFILEQ, + SourceRootPath: ::PCSTR, + SourcePath: ::PCSTR, + SourceFilename: ::PCSTR, + SourceDescription: ::PCSTR, + SourceTagfile: ::PCSTR, + TargetDirectory: ::PCSTR, + TargetFilename: ::PCSTR, + CopyStyle: ::DWORD, + LayoutInf: HINF, + SecurityDescriptor: ::PCSTR, +}} +pub type PSP_FILE_COPY_PARAMS_A = *mut SP_FILE_COPY_PARAMS_A; +STRUCT!{struct SP_FILE_COPY_PARAMS_W { + cbSize: ::DWORD, + QueueHandle: HSPFILEQ, + SourceRootPath: ::PCWSTR, + SourcePath: ::PCWSTR, + SourceFilename: ::PCWSTR, + SourceDescription: ::PCWSTR, + SourceTagfile: ::PCWSTR, + TargetDirectory: ::PCWSTR, + TargetFilename: ::PCWSTR, + CopyStyle: ::DWORD, + LayoutInf: HINF, + SecurityDescriptor: ::PCWSTR, +}} +pub type PSP_FILE_COPY_PARAMS_W = *mut SP_FILE_COPY_PARAMS_W; +pub type HDSKSPC = ::PVOID; +pub type HDEVINFO = ::PVOID; +STRUCT!{struct SP_DEVINFO_DATA { + cbSize: ::DWORD, + ClassGuid: ::GUID, + DevInst: ::DWORD, + Reserved: ::ULONG_PTR, +}} +pub type PSP_DEVINFO_DATA = *mut SP_DEVINFO_DATA; +STRUCT!{struct SP_DEVICE_INTERFACE_DATA { + cbSize: ::DWORD, + InterfaceClassGuid: ::GUID, + Flags: ::DWORD, + Reserved: ::ULONG_PTR, +}} +pub type PSP_DEVICE_INTERFACE_DATA = *mut SP_DEVICE_INTERFACE_DATA; +pub const SPINT_ACTIVE: ::DWORD = 0x00000001; +pub const SPINT_DEFAULT: ::DWORD = 0x00000002; +pub const SPINT_REMOVED: ::DWORD = 0x00000004; +pub type SP_INTERFACE_DEVICE_DATA = SP_DEVICE_INTERFACE_DATA; +pub type PSP_INTERFACE_DEVICE_DATA = PSP_DEVICE_INTERFACE_DATA; +pub const SPID_ACTIVE: ::DWORD = SPINT_ACTIVE; +pub const SPID_DEFAULT: ::DWORD = SPINT_DEFAULT; +pub const SPID_REMOVED: ::DWORD = SPINT_REMOVED; +STRUCT!{struct SP_DEVICE_INTERFACE_DETAIL_DATA_A { + cbSize: ::DWORD, + DevicePath: [::CHAR; ::ANYSIZE_ARRAY], +}} +pub type PSP_DEVICE_INTERFACE_DETAIL_DATA_A = *mut SP_DEVICE_INTERFACE_DETAIL_DATA_A; +STRUCT!{struct SP_DEVICE_INTERFACE_DETAIL_DATA_W { + cbSize: ::DWORD, + DevicePath: [::WCHAR; ::ANYSIZE_ARRAY], +}} +pub type PSP_DEVICE_INTERFACE_DETAIL_DATA_W = *mut SP_DEVICE_INTERFACE_DETAIL_DATA_W; +STRUCT!{nodebug struct SP_DEVINFO_LIST_DETAIL_DATA_A { + cbSize: ::DWORD, + ClassGuid: ::GUID, + RemoteMachineHandle: ::HANDLE, + RemoteMachineName: [::CHAR; SP_MAX_MACHINENAME_LENGTH], +}} +pub type PSP_DEVINFO_LIST_DETAIL_DATA_A = *mut SP_DEVINFO_LIST_DETAIL_DATA_A; +STRUCT!{nodebug struct SP_DEVINFO_LIST_DETAIL_DATA_W { + cbSize: ::DWORD, + ClassGuid: ::GUID, + RemoteMachineHandle: ::HANDLE, + RemoteMachineName: [::WCHAR; SP_MAX_MACHINENAME_LENGTH], +}} +pub type PSP_DEVINFO_LIST_DETAIL_DATA_W = *mut SP_DEVINFO_LIST_DETAIL_DATA_W; +pub const DIF_SELECTDEVICE: DI_FUNCTION = 0x00000001; +pub const DIF_INSTALLDEVICE: DI_FUNCTION = 0x00000002; +pub const DIF_ASSIGNRESOURCES: DI_FUNCTION = 0x00000003; +pub const DIF_PROPERTIES: DI_FUNCTION = 0x00000004; +pub const DIF_REMOVE: DI_FUNCTION = 0x00000005; +pub const DIF_FIRSTTIMESETUP: DI_FUNCTION = 0x00000006; +pub const DIF_FOUNDDEVICE: DI_FUNCTION = 0x00000007; +pub const DIF_SELECTCLASSDRIVERS: DI_FUNCTION = 0x00000008; +pub const DIF_VALIDATECLASSDRIVERS: DI_FUNCTION = 0x00000009; +pub const DIF_INSTALLCLASSDRIVERS: DI_FUNCTION = 0x0000000A; +pub const DIF_CALCDISKSPACE: DI_FUNCTION = 0x0000000B; +pub const DIF_DESTROYPRIVATEDATA: DI_FUNCTION = 0x0000000C; +pub const DIF_VALIDATEDRIVER: DI_FUNCTION = 0x0000000D; +pub const DIF_DETECT: DI_FUNCTION = 0x0000000F; +pub const DIF_INSTALLWIZARD: DI_FUNCTION = 0x00000010; +pub const DIF_DESTROYWIZARDDATA: DI_FUNCTION = 0x00000011; +pub const DIF_PROPERTYCHANGE: DI_FUNCTION = 0x00000012; +pub const DIF_ENABLECLASS: DI_FUNCTION = 0x00000013; +pub const DIF_DETECTVERIFY: DI_FUNCTION = 0x00000014; +pub const DIF_INSTALLDEVICEFILES: DI_FUNCTION = 0x00000015; +pub const DIF_UNREMOVE: DI_FUNCTION = 0x00000016; +pub const DIF_SELECTBESTCOMPATDRV: DI_FUNCTION = 0x00000017; +pub const DIF_ALLOW_INSTALL: DI_FUNCTION = 0x00000018; +pub const DIF_REGISTERDEVICE: DI_FUNCTION = 0x00000019; +pub const DIF_NEWDEVICEWIZARD_PRESELECT: DI_FUNCTION = 0x0000001A; +pub const DIF_NEWDEVICEWIZARD_SELECT: DI_FUNCTION = 0x0000001B; +pub const DIF_NEWDEVICEWIZARD_PREANALYZE: DI_FUNCTION = 0x0000001C; +pub const DIF_NEWDEVICEWIZARD_POSTANALYZE: DI_FUNCTION = 0x0000001D; +pub const DIF_NEWDEVICEWIZARD_FINISHINSTALL: DI_FUNCTION = 0x0000001E; +pub const DIF_UNUSED1: DI_FUNCTION = 0x0000001F; +pub const DIF_INSTALLINTERFACES: DI_FUNCTION = 0x00000020; +pub const DIF_DETECTCANCEL: DI_FUNCTION = 0x00000021; +pub const DIF_REGISTER_COINSTALLERS: DI_FUNCTION = 0x00000022; +pub const DIF_ADDPROPERTYPAGE_ADVANCED: DI_FUNCTION = 0x00000023; +pub const DIF_ADDPROPERTYPAGE_BASIC: DI_FUNCTION = 0x00000024; +pub const DIF_RESERVED1: DI_FUNCTION = 0x00000025; +pub const DIF_TROUBLESHOOTER: DI_FUNCTION = 0x00000026; +pub const DIF_POWERMESSAGEWAKE: DI_FUNCTION = 0x00000027; +pub const DIF_ADDREMOTEPROPERTYPAGE_ADVANCED: DI_FUNCTION = 0x00000028; +pub const DIF_UPDATEDRIVER_UI: DI_FUNCTION = 0x00000029; +pub const DIF_FINISHINSTALL_ACTION: DI_FUNCTION = 0x0000002A; +pub const DIF_RESERVED2: DI_FUNCTION = 0x00000030; +pub const DIF_MOVEDEVICE: DI_FUNCTION = 0x0000000E; +pub type DI_FUNCTION = ::UINT; +STRUCT!{nodebug struct SP_DEVINSTALL_PARAMS_A { + cbSize: ::DWORD, + Flags: ::DWORD, + FlagsEx: ::DWORD, + hwndParent: ::HWND, + InstallMsgHandler: PSP_FILE_CALLBACK_A, + InstallMsgHandlerContext: ::PVOID, + FileQueue: HSPFILEQ, + ClassInstallReserved: ::ULONG_PTR, + Reserved: ::DWORD, + DriverPath: [::CHAR; ::MAX_PATH], +}} +pub type PSP_DEVINSTALL_PARAMS_A = *mut SP_DEVINSTALL_PARAMS_A; +STRUCT!{nodebug struct SP_DEVINSTALL_PARAMS_W { + cbSize: ::DWORD, + Flags: ::DWORD, + FlagsEx: ::DWORD, + hwndParent: ::HWND, + InstallMsgHandler: PSP_FILE_CALLBACK_W, + InstallMsgHandlerContext: ::PVOID, + FileQueue: HSPFILEQ, + ClassInstallReserved: ::ULONG_PTR, + Reserved: ::DWORD, + DriverPath: [::WCHAR; ::MAX_PATH], +}} +pub type PSP_DEVINSTALL_PARAMS_W = *mut SP_DEVINSTALL_PARAMS_W; +pub const DI_SHOWOEM: ::DWORD = 0x00000001; +pub const DI_SHOWCOMPAT: ::DWORD = 0x00000002; +pub const DI_SHOWCLASS: ::DWORD = 0x00000004; +pub const DI_SHOWALL: ::DWORD = 0x00000007; +pub const DI_NOVCP: ::DWORD = 0x00000008; +pub const DI_DIDCOMPAT: ::DWORD = 0x00000010; +pub const DI_DIDCLASS: ::DWORD = 0x00000020; +pub const DI_AUTOASSIGNRES: ::DWORD = 0x00000040; +pub const DI_NEEDRESTART: ::DWORD = 0x00000080; +pub const DI_NEEDREBOOT: ::DWORD = 0x00000100; +pub const DI_NOBROWSE: ::DWORD = 0x00000200; +pub const DI_MULTMFGS: ::DWORD = 0x00000400; +pub const DI_DISABLED: ::DWORD = 0x00000800; +pub const DI_GENERALPAGE_ADDED: ::DWORD = 0x00001000; +pub const DI_RESOURCEPAGE_ADDED: ::DWORD = 0x00002000; +pub const DI_PROPERTIES_CHANGE: ::DWORD = 0x00004000; +pub const DI_INF_IS_SORTED: ::DWORD = 0x00008000; +pub const DI_ENUMSINGLEINF: ::DWORD = 0x00010000; +pub const DI_DONOTCALLCONFIGMG: ::DWORD = 0x00020000; +pub const DI_INSTALLDISABLED: ::DWORD = 0x00040000; +pub const DI_COMPAT_FROM_CLASS: ::DWORD = 0x00080000; +pub const DI_CLASSINSTALLPARAMS: ::DWORD = 0x00100000; +pub const DI_NODI_DEFAULTACTION: ::DWORD = 0x00200000; +pub const DI_QUIETINSTALL: ::DWORD = 0x00800000; +pub const DI_NOFILECOPY: ::DWORD = 0x01000000; +pub const DI_FORCECOPY: ::DWORD = 0x02000000; +pub const DI_DRIVERPAGE_ADDED: ::DWORD = 0x04000000; +pub const DI_USECI_SELECTSTRINGS: ::DWORD = 0x08000000; +pub const DI_OVERRIDE_INFFLAGS: ::DWORD = 0x10000000; +pub const DI_PROPS_NOCHANGEUSAGE: ::DWORD = 0x20000000; +pub const DI_NOSELECTICONS: ::DWORD = 0x40000000; +pub const DI_NOWRITE_IDS: ::DWORD = 0x80000000; +pub const DI_FLAGSEX_RESERVED2: ::DWORD = 0x00000001; +pub const DI_FLAGSEX_RESERVED3: ::DWORD = 0x00000002; +pub const DI_FLAGSEX_CI_FAILED: ::DWORD = 0x00000004; +pub const DI_FLAGSEX_FINISHINSTALL_ACTION: ::DWORD = 0x00000008; +pub const DI_FLAGSEX_DIDINFOLIST: ::DWORD = 0x00000010; +pub const DI_FLAGSEX_DIDCOMPATINFO: ::DWORD = 0x00000020; +pub const DI_FLAGSEX_FILTERCLASSES: ::DWORD = 0x00000040; +pub const DI_FLAGSEX_SETFAILEDINSTALL: ::DWORD = 0x00000080; +pub const DI_FLAGSEX_DEVICECHANGE: ::DWORD = 0x00000100; +pub const DI_FLAGSEX_ALWAYSWRITEIDS: ::DWORD = 0x00000200; +pub const DI_FLAGSEX_PROPCHANGE_PENDING: ::DWORD = 0x00000400; +pub const DI_FLAGSEX_ALLOWEXCLUDEDDRVS: ::DWORD = 0x00000800; +pub const DI_FLAGSEX_NOUIONQUERYREMOVE: ::DWORD = 0x00001000; +pub const DI_FLAGSEX_USECLASSFORCOMPAT: ::DWORD = 0x00002000; +pub const DI_FLAGSEX_RESERVED4: ::DWORD = 0x00004000; +pub const DI_FLAGSEX_NO_DRVREG_MODIFY: ::DWORD = 0x00008000; +pub const DI_FLAGSEX_IN_SYSTEM_SETUP: ::DWORD = 0x00010000; +pub const DI_FLAGSEX_INET_DRIVER: ::DWORD = 0x00020000; +pub const DI_FLAGSEX_APPENDDRIVERLIST: ::DWORD = 0x00040000; +pub const DI_FLAGSEX_PREINSTALLBACKUP: ::DWORD = 0x00080000; +pub const DI_FLAGSEX_BACKUPONREPLACE: ::DWORD = 0x00100000; +pub const DI_FLAGSEX_DRIVERLIST_FROM_URL: ::DWORD = 0x00200000; +pub const DI_FLAGSEX_RESERVED1: ::DWORD = 0x00400000; +pub const DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS: ::DWORD = 0x00800000; +pub const DI_FLAGSEX_POWERPAGE_ADDED: ::DWORD = 0x01000000; +pub const DI_FLAGSEX_FILTERSIMILARDRIVERS: ::DWORD = 0x02000000; +pub const DI_FLAGSEX_INSTALLEDDRIVER: ::DWORD = 0x04000000; +pub const DI_FLAGSEX_NO_CLASSLIST_NODE_MERGE: ::DWORD = 0x08000000; +pub const DI_FLAGSEX_ALTPLATFORM_DRVSEARCH: ::DWORD = 0x10000000; +pub const DI_FLAGSEX_RESTART_DEVICE_ONLY: ::DWORD = 0x20000000; +pub const DI_FLAGSEX_RECURSIVESEARCH: ::DWORD = 0x40000000; +pub const DI_FLAGSEX_SEARCH_PUBLISHED_INFS: ::DWORD = 0x80000000; +STRUCT!{struct SP_CLASSINSTALL_HEADER { + cbSize: ::DWORD, + InstallFunction: DI_FUNCTION, +}} +pub type PSP_CLASSINSTALL_HEADER = *mut SP_CLASSINSTALL_HEADER; +STRUCT!{struct SP_ENABLECLASS_PARAMS { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + ClassGuid: ::GUID, + EnableMessage: ::DWORD, +}} +pub type PSP_ENABLECLASS_PARAMS = *mut SP_ENABLECLASS_PARAMS; +pub const ENABLECLASS_QUERY: ::DWORD = 0; +pub const ENABLECLASS_SUCCESS: ::DWORD = 1; +pub const ENABLECLASS_FAILURE: ::DWORD = 2; +pub const DICS_ENABLE: ::DWORD = 0x00000001; +pub const DICS_DISABLE: ::DWORD = 0x00000002; +pub const DICS_PROPCHANGE: ::DWORD = 0x00000003; +pub const DICS_START: ::DWORD = 0x00000004; +pub const DICS_STOP: ::DWORD = 0x00000005; +pub const DICS_FLAG_GLOBAL: ::DWORD = 0x00000001; +pub const DICS_FLAG_CONFIGSPECIFIC: ::DWORD = 0x00000002; +pub const DICS_FLAG_CONFIGGENERAL: ::DWORD = 0x00000004; +STRUCT!{struct SP_PROPCHANGE_PARAMS { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + StateChange: ::DWORD, + Scope: ::DWORD, + HwProfile: ::DWORD, +}} +pub type PSP_PROPCHANGE_PARAMS = *mut SP_PROPCHANGE_PARAMS; +STRUCT!{struct SP_REMOVEDEVICE_PARAMS { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + Scope: ::DWORD, + HwProfile: ::DWORD, +}} +pub type PSP_REMOVEDEVICE_PARAMS = *mut SP_REMOVEDEVICE_PARAMS; +pub const DI_REMOVEDEVICE_GLOBAL: ::DWORD = 0x00000001; +pub const DI_REMOVEDEVICE_CONFIGSPECIFIC: ::DWORD = 0x00000002; +STRUCT!{struct SP_UNREMOVEDEVICE_PARAMS { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + Scope: ::DWORD, + HwProfile: ::DWORD, +}} +pub type PSP_UNREMOVEDEVICE_PARAMS = *mut SP_UNREMOVEDEVICE_PARAMS; +pub const DI_UNREMOVEDEVICE_CONFIGSPECIFIC: ::DWORD = 0x00000002; +STRUCT!{nodebug struct SP_SELECTDEVICE_PARAMS_A { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + Title: [::CHAR; MAX_TITLE_LEN], + Instructions: [::CHAR; MAX_INSTRUCTION_LEN], + ListLabel: [::CHAR; MAX_LABEL_LEN], + SubTitle: [::CHAR; MAX_SUBTITLE_LEN], + Reserved: [::BYTE; 2], +}} +pub type PSP_SELECTDEVICE_PARAMS_A = *mut SP_SELECTDEVICE_PARAMS_A; +STRUCT!{nodebug struct SP_SELECTDEVICE_PARAMS_W { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + Title: [::WCHAR; MAX_TITLE_LEN], + Instructions: [::WCHAR; MAX_INSTRUCTION_LEN], + ListLabel: [::WCHAR; MAX_LABEL_LEN], + SubTitle: [::WCHAR; MAX_SUBTITLE_LEN], +}} +pub type PSP_SELECTDEVICE_PARAMS_W = *mut SP_SELECTDEVICE_PARAMS_W; +pub type PDETECT_PROGRESS_NOTIFY = Option<unsafe extern "system" fn( + ProgressNotifyParam: ::PVOID, DetectComplete: ::DWORD, +) -> ::BOOL>; +STRUCT!{nodebug struct SP_DETECTDEVICE_PARAMS { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + DetectProgressNotify: PDETECT_PROGRESS_NOTIFY, + ProgressNotifyParam: ::PVOID, +}} +pub type PSP_DETECTDEVICE_PARAMS = *mut SP_DETECTDEVICE_PARAMS; +pub const MAX_INSTALLWIZARD_DYNAPAGES: usize = 20; +STRUCT!{struct SP_INSTALLWIZARD_DATA { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + Flags: ::DWORD, + DynamicPages: [::HPROPSHEETPAGE; MAX_INSTALLWIZARD_DYNAPAGES], + NumDynamicPages: ::DWORD, + DynamicPageFlags: ::DWORD, + PrivateFlags: ::DWORD, + PrivateData: ::LPARAM, + hwndWizardDlg: ::HWND, +}} +pub type PSP_INSTALLWIZARD_DATA = *mut SP_INSTALLWIZARD_DATA; +pub const NDW_INSTALLFLAG_DIDFACTDEFS: ::DWORD = 0x00000001; +pub const NDW_INSTALLFLAG_HARDWAREALLREADYIN: ::DWORD = 0x00000002; +pub const NDW_INSTALLFLAG_NEEDRESTART: ::DWORD = DI_NEEDRESTART; +pub const NDW_INSTALLFLAG_NEEDREBOOT: ::DWORD = DI_NEEDREBOOT; +pub const NDW_INSTALLFLAG_NEEDSHUTDOWN: ::DWORD = 0x00000200; +pub const NDW_INSTALLFLAG_EXPRESSINTRO: ::DWORD = 0x00000400; +pub const NDW_INSTALLFLAG_SKIPISDEVINSTALLED: ::DWORD = 0x00000800; +pub const NDW_INSTALLFLAG_NODETECTEDDEVS: ::DWORD = 0x00001000; +pub const NDW_INSTALLFLAG_INSTALLSPECIFIC: ::DWORD = 0x00002000; +pub const NDW_INSTALLFLAG_SKIPCLASSLIST: ::DWORD = 0x00004000; +pub const NDW_INSTALLFLAG_CI_PICKED_OEM: ::DWORD = 0x00008000; +pub const NDW_INSTALLFLAG_PCMCIAMODE: ::DWORD = 0x00010000; +pub const NDW_INSTALLFLAG_PCMCIADEVICE: ::DWORD = 0x00020000; +pub const NDW_INSTALLFLAG_USERCANCEL: ::DWORD = 0x00040000; +pub const NDW_INSTALLFLAG_KNOWNCLASS: ::DWORD = 0x00080000; +pub const DYNAWIZ_FLAG_PAGESADDED: ::DWORD = 0x00000001; +pub const DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT: ::DWORD = 0x00000008; +pub const DYNAWIZ_FLAG_INSTALLDET_NEXT: ::DWORD = 0x00000002; +pub const DYNAWIZ_FLAG_INSTALLDET_PREV: ::DWORD = 0x00000004; +pub const MIN_IDD_DYNAWIZ_RESOURCE_ID: ::c_int = 10000; +pub const MAX_IDD_DYNAWIZ_RESOURCE_ID: ::c_int = 11000; +pub const IDD_DYNAWIZ_FIRSTPAGE: ::c_int = 10000; +pub const IDD_DYNAWIZ_SELECT_PREVPAGE: ::c_int = 10001; +pub const IDD_DYNAWIZ_SELECT_NEXTPAGE: ::c_int = 10002; +pub const IDD_DYNAWIZ_ANALYZE_PREVPAGE: ::c_int = 10003; +pub const IDD_DYNAWIZ_ANALYZE_NEXTPAGE: ::c_int = 10004; +pub const IDD_DYNAWIZ_SELECTDEV_PAGE: ::c_int = 10009; +pub const IDD_DYNAWIZ_ANALYZEDEV_PAGE: ::c_int = 10010; +pub const IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE: ::c_int = 10011; +pub const IDD_DYNAWIZ_SELECTCLASS_PAGE: ::c_int = 10012; +pub const IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE: ::c_int = 10006; +pub const IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE: ::c_int = 10007; +pub const IDD_DYNAWIZ_INSTALLDETECTED_NODEVS: ::c_int = 10008; +STRUCT!{struct SP_NEWDEVICEWIZARD_DATA { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + Flags: ::DWORD, + DynamicPages: [::HPROPSHEETPAGE; MAX_INSTALLWIZARD_DYNAPAGES], + NumDynamicPages: ::DWORD, + hwndWizardDlg: ::HWND, +}} +pub type PSP_NEWDEVICEWIZARD_DATA = *mut SP_NEWDEVICEWIZARD_DATA; +pub type SP_ADDPROPERTYPAGE_DATA = SP_NEWDEVICEWIZARD_DATA; +pub type PSP_ADDPROPERTYPAGE_DATA = PSP_NEWDEVICEWIZARD_DATA; +STRUCT!{nodebug struct SP_TROUBLESHOOTER_PARAMS_A { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + ChmFile: [::CHAR; ::MAX_PATH], + HtmlTroubleShooter: [::CHAR; ::MAX_PATH], +}} +pub type PSP_TROUBLESHOOTER_PARAMS_A = *mut SP_TROUBLESHOOTER_PARAMS_A; +STRUCT!{nodebug struct SP_TROUBLESHOOTER_PARAMS_W { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + ChmFile: [::WCHAR; ::MAX_PATH], + HtmlTroubleShooter: [::WCHAR; ::MAX_PATH], +}} +pub type PSP_TROUBLESHOOTER_PARAMS_W = *mut SP_TROUBLESHOOTER_PARAMS_W; +STRUCT!{nodebug struct SP_POWERMESSAGEWAKE_PARAMS_A { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + PowerMessageWake: [::CHAR; LINE_LEN * 2], +}} +pub type PSP_POWERMESSAGEWAKE_PARAMS_A = *mut SP_POWERMESSAGEWAKE_PARAMS_A; +STRUCT!{nodebug struct SP_POWERMESSAGEWAKE_PARAMS_W { + ClassInstallHeader: SP_CLASSINSTALL_HEADER, + PowerMessageWake: [::WCHAR; LINE_LEN * 2], +}} +pub type PSP_POWERMESSAGEWAKE_PARAMS_W = *mut SP_POWERMESSAGEWAKE_PARAMS_W; +STRUCT!{nodebug struct SP_DRVINFO_DATA_V2_A { + cbSize: ::DWORD, + DriverType: ::DWORD, + Reserved: ::ULONG_PTR, + Description: [::CHAR; LINE_LEN], + MfgName: [::CHAR; LINE_LEN], + ProviderName: [::CHAR; LINE_LEN], + DriverDate: ::FILETIME, + DriverVersion: ::DWORDLONG, +}} +pub type PSP_DRVINFO_DATA_V2_A = *mut SP_DRVINFO_DATA_V2_A; +STRUCT!{nodebug struct SP_DRVINFO_DATA_V2_W { + cbSize: ::DWORD, + DriverType: ::DWORD, + Reserved: ::ULONG_PTR, + Description: [::WCHAR; LINE_LEN], + MfgName: [::WCHAR; LINE_LEN], + ProviderName: [::WCHAR; LINE_LEN], + DriverDate: ::FILETIME, + DriverVersion: ::DWORDLONG, +}} +pub type PSP_DRVINFO_DATA_V2_W = *mut SP_DRVINFO_DATA_V2_W; +STRUCT!{nodebug struct SP_DRVINFO_DATA_V1_A { + cbSize: ::DWORD, + DriverType: ::DWORD, + Reserved: ::ULONG_PTR, + Description: [::CHAR; LINE_LEN], + MfgName: [::CHAR; LINE_LEN], + ProviderName: [::CHAR; LINE_LEN], +}} +pub type PSP_DRVINFO_DATA_V1_A = *mut SP_DRVINFO_DATA_V1_A; +STRUCT!{nodebug struct SP_DRVINFO_DATA_V1_W { + cbSize: ::DWORD, + DriverType: ::DWORD, + Reserved: ::ULONG_PTR, + Description: [::WCHAR; LINE_LEN], + MfgName: [::WCHAR; LINE_LEN], + ProviderName: [::WCHAR; LINE_LEN], +}} +pub type PSP_DRVINFO_DATA_V1_W = *mut SP_DRVINFO_DATA_V1_W; +pub type SP_DRVINFO_DATA_A = SP_DRVINFO_DATA_V2_A; +pub type PSP_DRVINFO_DATA_A = PSP_DRVINFO_DATA_V2_A; +pub type SP_DRVINFO_DATA_W = SP_DRVINFO_DATA_V2_W; +pub type PSP_DRVINFO_DATA_W = PSP_DRVINFO_DATA_V2_W; +STRUCT!{nodebug struct SP_DRVINFO_DETAIL_DATA_A { + cbSize: ::DWORD, + InfDate: ::FILETIME, + CompatIDsOffset: ::DWORD, + CompatIDsLength: ::DWORD, + Reserved: ::ULONG_PTR, + SectionName: [::CHAR; LINE_LEN], + InfFileName: [::CHAR; ::MAX_PATH], + DrvDescription: [::CHAR; LINE_LEN], + HardwareID: [::CHAR; ::ANYSIZE_ARRAY], +}} +pub type PSP_DRVINFO_DETAIL_DATA_A = *mut SP_DRVINFO_DETAIL_DATA_A; +STRUCT!{nodebug struct SP_DRVINFO_DETAIL_DATA_W { + cbSize: ::DWORD, + InfDate: ::FILETIME, + CompatIDsOffset: ::DWORD, + CompatIDsLength: ::DWORD, + Reserved: ::ULONG_PTR, + SectionName: [::WCHAR; LINE_LEN], + InfFileName: [::WCHAR; ::MAX_PATH], + DrvDescription: [::WCHAR; LINE_LEN], + HardwareID: [::WCHAR; ::ANYSIZE_ARRAY], +}} +pub type PSP_DRVINFO_DETAIL_DATA_W = *mut SP_DRVINFO_DETAIL_DATA_W; +STRUCT!{struct SP_DRVINSTALL_PARAMS { + cbSize: ::DWORD, + Rank: ::DWORD, + Flags: ::DWORD, + PrivateData: ::DWORD_PTR, + Reserved: ::DWORD, +}} +pub type PSP_DRVINSTALL_PARAMS = *mut SP_DRVINSTALL_PARAMS; +pub const DNF_DUPDESC: ::DWORD = 0x00000001; +pub const DNF_OLDDRIVER: ::DWORD = 0x00000002; +pub const DNF_EXCLUDEFROMLIST: ::DWORD = 0x00000004; +pub const DNF_NODRIVER: ::DWORD = 0x00000008; +pub const DNF_LEGACYINF: ::DWORD = 0x00000010; +pub const DNF_CLASS_DRIVER: ::DWORD = 0x00000020; +pub const DNF_COMPATIBLE_DRIVER: ::DWORD = 0x00000040; +pub const DNF_INET_DRIVER: ::DWORD = 0x00000080; +pub const DNF_UNUSED1: ::DWORD = 0x00000100; +pub const DNF_UNUSED2: ::DWORD = 0x00000200; +pub const DNF_OLD_INET_DRIVER: ::DWORD = 0x00000400; +pub const DNF_BAD_DRIVER: ::DWORD = 0x00000800; +pub const DNF_DUPPROVIDER: ::DWORD = 0x00001000; +pub const DNF_INF_IS_SIGNED: ::DWORD = 0x00002000; +pub const DNF_OEM_F6_INF: ::DWORD = 0x00004000; +pub const DNF_DUPDRIVERVER: ::DWORD = 0x00008000; +pub const DNF_BASIC_DRIVER: ::DWORD = 0x00010000; +pub const DNF_AUTHENTICODE_SIGNED: ::DWORD = 0x00020000; +pub const DNF_INSTALLEDDRIVER: ::DWORD = 0x00040000; +pub const DNF_ALWAYSEXCLUDEFROMLIST: ::DWORD = 0x00080000; +pub const DNF_INBOX_DRIVER: ::DWORD = 0x00100000; +pub const DNF_REQUESTADDITIONALSOFTWARE: ::DWORD = 0x00200000; +pub const DNF_UNUSED_22: ::DWORD = 0x00400000; +pub const DNF_UNUSED_23: ::DWORD = 0x00800000; +pub const DNF_UNUSED_24: ::DWORD = 0x01000000; +pub const DNF_UNUSED_25: ::DWORD = 0x02000000; +pub const DNF_UNUSED_26: ::DWORD = 0x04000000; +pub const DNF_UNUSED_27: ::DWORD = 0x08000000; +pub const DNF_UNUSED_28: ::DWORD = 0x10000000; +pub const DNF_UNUSED_29: ::DWORD = 0x20000000; +pub const DNF_UNUSED_30: ::DWORD = 0x40000000; +pub const DNF_UNUSED_31: ::DWORD = 0x80000000; +pub type PSP_DETSIG_CMPPROC = Option<unsafe extern "system" fn( + DeviceInfoSet: HDEVINFO, NewDeviceData: PSP_DEVINFO_DATA, ExistingDeviceData: PSP_DEVINFO_DATA, + CompareContext: ::PVOID, +) -> ::DWORD>; +STRUCT!{struct COINSTALLER_CONTEXT_DATA { + PostProcessing: ::BOOL, + InstallResult: ::DWORD, + PrivateData: ::PVOID, +}} +pub type PCOINSTALLER_CONTEXT_DATA = *mut COINSTALLER_CONTEXT_DATA; +STRUCT!{struct SP_CLASSIMAGELIST_DATA { + cbSize: ::DWORD, + ImageList: ::HIMAGELIST, + Reserved: ::ULONG_PTR, +}} +pub type PSP_CLASSIMAGELIST_DATA = *mut SP_CLASSIMAGELIST_DATA; +STRUCT!{struct SP_PROPSHEETPAGE_REQUEST { + cbSize: ::DWORD, + PageRequested: ::DWORD, + DeviceInfoSet: HDEVINFO, + DeviceInfoData: PSP_DEVINFO_DATA, +}} +pub type PSP_PROPSHEETPAGE_REQUEST = *mut SP_PROPSHEETPAGE_REQUEST; +pub const SPPSR_SELECT_DEVICE_RESOURCES: ::DWORD = 1; +pub const SPPSR_ENUM_BASIC_DEVICE_PROPERTIES: ::DWORD = 2; +pub const SPPSR_ENUM_ADV_DEVICE_PROPERTIES: ::DWORD = 3; +STRUCT!{nodebug struct SP_BACKUP_QUEUE_PARAMS_V2_A { + cbSize: ::DWORD, + FullInfPath: [::CHAR; ::MAX_PATH], + FilenameOffset: ::INT, + ReinstallInstance: [::CHAR; ::MAX_PATH], +}} +pub type PSP_BACKUP_QUEUE_PARAMS_V2_A = *mut SP_BACKUP_QUEUE_PARAMS_V2_A; +STRUCT!{nodebug struct SP_BACKUP_QUEUE_PARAMS_V2_W { + cbSize: ::DWORD, + FullInfPath: [::WCHAR; ::MAX_PATH], + FilenameOffset: ::INT, + ReinstallInstance: [::WCHAR; ::MAX_PATH], +}} +pub type PSP_BACKUP_QUEUE_PARAMS_V2_W = *mut SP_BACKUP_QUEUE_PARAMS_V2_W; +STRUCT!{nodebug struct SP_BACKUP_QUEUE_PARAMS_V1_A { + cbSize: ::DWORD, + FullInfPath: [::CHAR; ::MAX_PATH], + FilenameOffset: ::INT, +}} +pub type PSP_BACKUP_QUEUE_PARAMS_V1_A = *mut SP_BACKUP_QUEUE_PARAMS_V1_A; +STRUCT!{nodebug struct SP_BACKUP_QUEUE_PARAMS_V1_W { + cbSize: ::DWORD, + FullInfPath: [::WCHAR; ::MAX_PATH], + FilenameOffset: ::INT, +}} +pub type PSP_BACKUP_QUEUE_PARAMS_V1_W = *mut SP_BACKUP_QUEUE_PARAMS_V1_W; +pub type SP_BACKUP_QUEUE_PARAMS_A = SP_BACKUP_QUEUE_PARAMS_V2_A; +pub type PSP_BACKUP_QUEUE_PARAMS_A = PSP_BACKUP_QUEUE_PARAMS_V2_A; +pub type SP_BACKUP_QUEUE_PARAMS_W = SP_BACKUP_QUEUE_PARAMS_V2_W; +pub type PSP_BACKUP_QUEUE_PARAMS_W = PSP_BACKUP_QUEUE_PARAMS_V2_W; +pub const ERROR_EXPECTED_SECTION_NAME: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0; +pub const ERROR_BAD_SECTION_NAME_LINE: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 1; +pub const ERROR_SECTION_NAME_TOO_LONG: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 2; +pub const ERROR_GENERAL_SYNTAX: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR | 3; +pub const ERROR_WRONG_INF_STYLE: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x100; +pub const ERROR_SECTION_NOT_FOUND: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x101; +pub const ERROR_LINE_NOT_FOUND: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR | 0x102; +pub const ERROR_NO_BACKUP: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR | 0x103; +pub const ERROR_NO_ASSOCIATED_CLASS: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x200; +pub const ERROR_CLASS_MISMATCH: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR | 0x201; +pub const ERROR_DUPLICATE_FOUND: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x202; +pub const ERROR_NO_DRIVER_SELECTED: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x203; +pub const ERROR_KEY_DOES_NOT_EXIST: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x204; +pub const ERROR_INVALID_DEVINST_NAME: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x205; +pub const ERROR_INVALID_CLASS: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR | 0x206; +pub const ERROR_DEVINST_ALREADY_EXISTS: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x207; +pub const ERROR_DEVINFO_NOT_REGISTERED: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x208; +pub const ERROR_INVALID_REG_PROPERTY: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x209; +pub const ERROR_NO_INF: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR | 0x20A; +pub const ERROR_NO_SUCH_DEVINST: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x20B; +pub const ERROR_CANT_LOAD_CLASS_ICON: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x20C; +pub const ERROR_INVALID_CLASS_INSTALLER: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x20D; +pub const ERROR_DI_DO_DEFAULT: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR | 0x20E; +pub const ERROR_DI_NOFILECOPY: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR | 0x20F; +pub const ERROR_INVALID_HWPROFILE: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x210; +pub const ERROR_NO_DEVICE_SELECTED: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x211; +pub const ERROR_DEVINFO_LIST_LOCKED: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x212; +pub const ERROR_DEVINFO_DATA_LOCKED: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x213; +pub const ERROR_DI_BAD_PATH: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR | 0x214; +pub const ERROR_NO_CLASSINSTALL_PARAMS: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x215; +pub const ERROR_FILEQUEUE_LOCKED: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x216; +pub const ERROR_BAD_SERVICE_INSTALLSECT: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x217; +pub const ERROR_NO_CLASS_DRIVER_LIST: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x218; +pub const ERROR_NO_ASSOCIATED_SERVICE: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x219; +pub const ERROR_NO_DEFAULT_DEVICE_INTERFACE: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x21A; +pub const ERROR_DEVICE_INTERFACE_ACTIVE: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x21B; +pub const ERROR_DEVICE_INTERFACE_REMOVED: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x21C; +pub const ERROR_BAD_INTERFACE_INSTALLSECT: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x21D; +pub const ERROR_NO_SUCH_INTERFACE_CLASS: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x21E; +pub const ERROR_INVALID_REFERENCE_STRING: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x21F; +pub const ERROR_INVALID_MACHINENAME: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x220; +pub const ERROR_REMOTE_COMM_FAILURE: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x221; +pub const ERROR_MACHINE_UNAVAILABLE: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x222; +pub const ERROR_NO_CONFIGMGR_SERVICES: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x223; +pub const ERROR_INVALID_PROPPAGE_PROVIDER: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x224; +pub const ERROR_NO_SUCH_DEVICE_INTERFACE: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x225; +pub const ERROR_DI_POSTPROCESSING_REQUIRED: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x226; +pub const ERROR_INVALID_COINSTALLER: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x227; +pub const ERROR_NO_COMPAT_DRIVERS: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x228; +pub const ERROR_NO_DEVICE_ICON: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x229; +pub const ERROR_INVALID_INF_LOGCONFIG: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x22A; +pub const ERROR_DI_DONT_INSTALL: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x22B; +pub const ERROR_INVALID_FILTER_DRIVER: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x22C; +pub const ERROR_NON_WINDOWS_NT_DRIVER: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x22D; +pub const ERROR_NON_WINDOWS_DRIVER: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x22E; +pub const ERROR_NO_CATALOG_FOR_OEM_INF: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x22F; +pub const ERROR_DEVINSTALL_QUEUE_NONNATIVE: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x230; +pub const ERROR_NOT_DISABLEABLE: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x231; +pub const ERROR_CANT_REMOVE_DEVINST: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x232; +pub const ERROR_INVALID_TARGET: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x233; +pub const ERROR_DRIVER_NONNATIVE: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x234; +pub const ERROR_IN_WOW64: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR | 0x235; +pub const ERROR_SET_SYSTEM_RESTORE_POINT: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x236; +pub const ERROR_SCE_DISABLED: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR | 0x238; +pub const ERROR_UNKNOWN_EXCEPTION: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x239; +pub const ERROR_PNP_REGISTRY_ERROR: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x23A; +pub const ERROR_REMOTE_REQUEST_UNSUPPORTED: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x23B; +pub const ERROR_NOT_AN_INSTALLED_OEM_INF: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x23C; +pub const ERROR_INF_IN_USE_BY_DEVICES: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x23D; +pub const ERROR_DI_FUNCTION_OBSOLETE: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x23E; +pub const ERROR_NO_AUTHENTICODE_CATALOG: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x23F; +pub const ERROR_AUTHENTICODE_DISALLOWED: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x240; +pub const ERROR_AUTHENTICODE_TRUSTED_PUBLISHER: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x241; +pub const ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x242; +pub const ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x243; +pub const ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x244; +pub const ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x245; +pub const ERROR_DEVICE_INSTALLER_NOT_READY: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x246; +pub const ERROR_DRIVER_STORE_ADD_FAILED: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x247; +pub const ERROR_DEVICE_INSTALL_BLOCKED: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x248; +pub const ERROR_DRIVER_INSTALL_BLOCKED: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x249; +pub const ERROR_WRONG_INF_TYPE: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x24A; +pub const ERROR_FILE_HASH_NOT_IN_CATALOG: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x24B; +pub const ERROR_DRIVER_STORE_DELETE_FAILED: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x24C; +pub const ERROR_UNRECOVERABLE_STACK_OVERFLOW: ::DWORD = ::APPLICATION_ERROR_MASK + | ::ERROR_SEVERITY_ERROR | 0x300; +pub const EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW: ::DWORD = + ERROR_UNRECOVERABLE_STACK_OVERFLOW; +pub const ERROR_NO_DEFAULT_INTERFACE_DEVICE: ::DWORD = ERROR_NO_DEFAULT_DEVICE_INTERFACE; +pub const ERROR_INTERFACE_DEVICE_ACTIVE: ::DWORD = ERROR_DEVICE_INTERFACE_ACTIVE; +pub const ERROR_INTERFACE_DEVICE_REMOVED: ::DWORD = ERROR_DEVICE_INTERFACE_REMOVED; +pub const ERROR_NO_SUCH_INTERFACE_DEVICE: ::DWORD = ERROR_NO_SUCH_DEVICE_INTERFACE; +pub const ERROR_NOT_INSTALLED: ::DWORD = ::APPLICATION_ERROR_MASK | ::ERROR_SEVERITY_ERROR + | 0x1000; +pub const INFINFO_INF_SPEC_IS_HINF: ::DWORD = 1; +pub const INFINFO_INF_NAME_IS_ABSOLUTE: ::DWORD = 2; +pub const INFINFO_DEFAULT_SEARCH: ::DWORD = 3; +pub const INFINFO_REVERSE_DEFAULT_SEARCH: ::DWORD = 4; +pub const INFINFO_INF_PATH_LIST_SEARCH: ::DWORD = 5; +pub const FILE_COMPRESSION_NONE: ::UINT = 0; +pub const FILE_COMPRESSION_WINLZA: ::UINT = 1; +pub const FILE_COMPRESSION_MSZIP: ::UINT = 2; +pub const FILE_COMPRESSION_NTCAB: ::UINT = 3; +pub const SRCLIST_TEMPORARY: ::DWORD = 0x00000001; +pub const SRCLIST_NOBROWSE: ::DWORD = 0x00000002; +pub const SRCLIST_SYSTEM: ::DWORD = 0x00000010; +pub const SRCLIST_USER: ::DWORD = 0x00000020; +pub const SRCLIST_SYSIFADMIN: ::DWORD = 0x00000040; +pub const SRCLIST_SUBDIRS: ::DWORD = 0x00000100; +pub const SRCLIST_APPEND: ::DWORD = 0x00000200; +pub const SRCLIST_NOSTRIPPLATFORM: ::DWORD = 0x00000400; +pub const IDF_NOBROWSE: ::DWORD = 0x00000001; +pub const IDF_NOSKIP: ::DWORD = 0x00000002; +pub const IDF_NODETAILS: ::DWORD = 0x00000004; +pub const IDF_NOCOMPRESSED: ::DWORD = 0x00000008; +pub const IDF_CHECKFIRST: ::DWORD = 0x00000100; +pub const IDF_NOBEEP: ::DWORD = 0x00000200; +pub const IDF_NOFOREGROUND: ::DWORD = 0x00000400; +pub const IDF_WARNIFSKIP: ::DWORD = 0x00000800; +pub const IDF_NOREMOVABLEMEDIAPROMPT: ::DWORD = 0x00001000; +pub const IDF_USEDISKNAMEASPROMPT: ::DWORD = 0x00002000; +pub const IDF_OEMDISK: ::DWORD = 0x80000000; +pub const DPROMPT_SUCCESS: ::UINT = 0; +pub const DPROMPT_CANCEL: ::UINT = 1; +pub const DPROMPT_SKIPFILE: ::UINT = 2; +pub const DPROMPT_BUFFERTOOSMALL: ::UINT = 3; +pub const DPROMPT_OUTOFMEMORY: ::UINT = 4; +pub const SETDIRID_NOT_FULL_PATH: ::DWORD = 0x00000001; +pub const SRCINFO_PATH: ::UINT = 1; +pub const SRCINFO_TAGFILE: ::UINT = 2; +pub const SRCINFO_DESCRIPTION: ::UINT = 3; +pub const SRCINFO_FLAGS: ::UINT = 4; +pub const SRCINFO_TAGFILE2: ::UINT = 4; +pub const SRC_FLAGS_CABFILE: ::UINT = 0x0010; +pub const SP_COPY_DELETESOURCE: ::DWORD = 0x0000001; +pub const SP_COPY_REPLACEONLY: ::DWORD = 0x0000002; +pub const SP_COPY_NEWER: ::DWORD = 0x0000004; +pub const SP_COPY_NEWER_OR_SAME: ::DWORD = SP_COPY_NEWER; +pub const SP_COPY_NOOVERWRITE: ::DWORD = 0x0000008; +pub const SP_COPY_NODECOMP: ::DWORD = 0x0000010; +pub const SP_COPY_LANGUAGEAWARE: ::DWORD = 0x0000020; +pub const SP_COPY_SOURCE_ABSOLUTE: ::DWORD = 0x0000040; +pub const SP_COPY_SOURCEPATH_ABSOLUTE: ::DWORD = 0x0000080; +pub const SP_COPY_IN_USE_NEEDS_REBOOT: ::DWORD = 0x0000100; +pub const SP_COPY_FORCE_IN_USE: ::DWORD = 0x0000200; +pub const SP_COPY_NOSKIP: ::DWORD = 0x0000400; +pub const SP_FLAG_CABINETCONTINUATION: ::DWORD = 0x0000800; +pub const SP_COPY_FORCE_NOOVERWRITE: ::DWORD = 0x0001000; +pub const SP_COPY_FORCE_NEWER: ::DWORD = 0x0002000; +pub const SP_COPY_WARNIFSKIP: ::DWORD = 0x0004000; +pub const SP_COPY_NOBROWSE: ::DWORD = 0x0008000; +pub const SP_COPY_NEWER_ONLY: ::DWORD = 0x0010000; +pub const SP_COPY_RESERVED: ::DWORD = 0x0020000; +pub const SP_COPY_OEMINF_CATALOG_ONLY: ::DWORD = 0x0040000; +pub const SP_COPY_REPLACE_BOOT_FILE: ::DWORD = 0x0080000; +pub const SP_COPY_NOPRUNE: ::DWORD = 0x0100000; +pub const SP_COPY_OEM_F6_INF: ::DWORD = 0x0200000; +pub const SP_COPY_ALREADYDECOMP: ::DWORD = 0x0400000; +pub const SP_COPY_WINDOWS_SIGNED: ::DWORD = 0x1000000; +pub const SP_COPY_PNPLOCKED: ::DWORD = 0x2000000; +pub const SP_COPY_IN_USE_TRY_RENAME: ::DWORD = 0x4000000; +pub const SP_COPY_INBOX_INF: ::DWORD = 0x8000000; +pub const SP_COPY_HARDLINK: ::DWORD = 0x10000000; +pub const SP_BACKUP_BACKUPPASS: ::DWORD = 0x00000001; +pub const SP_BACKUP_DEMANDPASS: ::DWORD = 0x00000002; +pub const SP_BACKUP_SPECIAL: ::DWORD = 0x00000004; +pub const SP_BACKUP_BOOTFILE: ::DWORD = 0x00000008; +pub const SPQ_SCAN_FILE_PRESENCE: ::DWORD = 0x00000001; +pub const SPQ_SCAN_FILE_VALIDITY: ::DWORD = 0x00000002; +pub const SPQ_SCAN_USE_CALLBACK: ::DWORD = 0x00000004; +pub const SPQ_SCAN_USE_CALLBACKEX: ::DWORD = 0x00000008; +pub const SPQ_SCAN_INFORM_USER: ::DWORD = 0x00000010; +pub const SPQ_SCAN_PRUNE_COPY_QUEUE: ::DWORD = 0x00000020; +pub const SPQ_SCAN_USE_CALLBACK_SIGNERINFO: ::DWORD = 0x00000040; +pub const SPQ_SCAN_PRUNE_DELREN: ::DWORD = 0x00000080; +pub const SPQ_SCAN_FILE_PRESENCE_WITHOUT_SOURCE: ::DWORD = 0x00000100; +pub const SPQ_SCAN_FILE_COMPARISON: ::DWORD = 0x00000200; +pub const SPQ_SCAN_ACTIVATE_DRP: ::DWORD = 0x00000400; +pub const SPQ_DELAYED_COPY: ::DWORD = 0x00000001; +pub const SPQ_FLAG_BACKUP_AWARE: ::DWORD = 0x00000001; +pub const SPQ_FLAG_ABORT_IF_UNSIGNED: ::DWORD = 0x00000002; +pub const SPQ_FLAG_FILES_MODIFIED: ::DWORD = 0x00000004; +pub const SPQ_FLAG_DO_SHUFFLEMOVE: ::DWORD = 0x00000008; +pub const SPQ_FLAG_VALID: ::DWORD = 0x0000000F; +pub const SPOST_NONE: ::DWORD = 0; +pub const SPOST_PATH: ::DWORD = 1; +pub const SPOST_URL: ::DWORD = 2; +pub const SPOST_MAX: ::DWORD = 3; +pub const SUOI_FORCEDELETE: ::DWORD = 0x00000001; +pub const SUOI_INTERNAL1: ::DWORD = 0x00000002; +pub const SPDSL_IGNORE_DISK: ::UINT = 0x00000001; +pub const SPDSL_DISALLOW_NEGATIVE_ADJUST: ::UINT = 0x00000002; +pub const SPFILEQ_FILE_IN_USE: ::INT = 0x00000001; +pub const SPFILEQ_REBOOT_RECOMMENDED: ::INT = 0x00000002; +pub const SPFILEQ_REBOOT_IN_PROGRESS: ::INT = 0x00000004; +pub const FLG_ADDREG_DELREG_BIT: ::DWORD = 0x00008000; +pub const FLG_ADDREG_BINVALUETYPE: ::DWORD = 0x00000001; +pub const FLG_ADDREG_NOCLOBBER: ::DWORD = 0x00000002; +pub const FLG_ADDREG_DELVAL: ::DWORD = 0x00000004; +pub const FLG_ADDREG_APPEND: ::DWORD = 0x00000008; +pub const FLG_ADDREG_KEYONLY: ::DWORD = 0x00000010; +pub const FLG_ADDREG_OVERWRITEONLY: ::DWORD = 0x00000020; +pub const FLG_ADDREG_64BITKEY: ::DWORD = 0x00001000; +pub const FLG_ADDREG_KEYONLY_COMMON: ::DWORD = 0x00002000; +pub const FLG_ADDREG_32BITKEY: ::DWORD = 0x00004000; +pub const FLG_ADDREG_TYPE_MASK: ::DWORD = 0xFFFF0000 | FLG_ADDREG_BINVALUETYPE; +pub const FLG_ADDREG_TYPE_SZ: ::DWORD = 0x00000000; +pub const FLG_ADDREG_TYPE_MULTI_SZ: ::DWORD = 0x00010000; +pub const FLG_ADDREG_TYPE_EXPAND_SZ: ::DWORD = 0x00020000; +pub const FLG_ADDREG_TYPE_BINARY: ::DWORD = 0x00000000 | FLG_ADDREG_BINVALUETYPE; +pub const FLG_ADDREG_TYPE_DWORD: ::DWORD = 0x00010000 | FLG_ADDREG_BINVALUETYPE; +pub const FLG_ADDREG_TYPE_NONE: ::DWORD = 0x00020000 | FLG_ADDREG_BINVALUETYPE; +pub const FLG_DELREG_VALUE: ::DWORD = 0x00000000; +pub const FLG_DELREG_TYPE_MASK: ::DWORD = FLG_ADDREG_TYPE_MASK; +pub const FLG_DELREG_TYPE_SZ: ::DWORD = FLG_ADDREG_TYPE_SZ; +pub const FLG_DELREG_TYPE_MULTI_SZ: ::DWORD = FLG_ADDREG_TYPE_MULTI_SZ; +pub const FLG_DELREG_TYPE_EXPAND_SZ: ::DWORD = FLG_ADDREG_TYPE_EXPAND_SZ; +pub const FLG_DELREG_TYPE_BINARY: ::DWORD = FLG_ADDREG_TYPE_BINARY; +pub const FLG_DELREG_TYPE_DWORD: ::DWORD = FLG_ADDREG_TYPE_DWORD; +pub const FLG_DELREG_TYPE_NONE: ::DWORD = FLG_ADDREG_TYPE_NONE; +pub const FLG_DELREG_64BITKEY: ::DWORD = FLG_ADDREG_64BITKEY; +pub const FLG_DELREG_KEYONLY_COMMON: ::DWORD = FLG_ADDREG_KEYONLY_COMMON; +pub const FLG_DELREG_32BITKEY: ::DWORD = FLG_ADDREG_32BITKEY; +pub const FLG_DELREG_OPERATION_MASK: ::DWORD = 0x000000FE; +pub const FLG_DELREG_MULTI_SZ_DELSTRING: ::DWORD = FLG_DELREG_TYPE_MULTI_SZ | FLG_ADDREG_DELREG_BIT + | 0x00000002; +pub const FLG_BITREG_CLEARBITS: ::DWORD = 0x00000000; +pub const FLG_BITREG_SETBITS: ::DWORD = 0x00000001; +pub const FLG_BITREG_64BITKEY: ::DWORD = 0x00001000; +pub const FLG_BITREG_32BITKEY: ::DWORD = 0x00004000; +pub const FLG_INI2REG_64BITKEY: ::DWORD = 0x00001000; +pub const FLG_INI2REG_32BITKEY: ::DWORD = 0x00004000; +pub const FLG_REGSVR_DLLREGISTER: ::DWORD = 0x00000001; +pub const FLG_REGSVR_DLLINSTALL: ::DWORD = 0x00000002; +pub const FLG_PROFITEM_CURRENTUSER: ::DWORD = 0x00000001; +pub const FLG_PROFITEM_DELETE: ::DWORD = 0x00000002; +pub const FLG_PROFITEM_GROUP: ::DWORD = 0x00000004; +pub const FLG_PROFITEM_CSIDL: ::DWORD = 0x00000008; +pub const FLG_ADDPROPERTY_NOCLOBBER: ::DWORD = 0x00000001; +pub const FLG_ADDPROPERTY_OVERWRITEONLY: ::DWORD = 0x00000002; +pub const FLG_ADDPROPERTY_APPEND: ::DWORD = 0x00000004; +pub const FLG_ADDPROPERTY_OR: ::DWORD = 0x00000008; +pub const FLG_ADDPROPERTY_AND: ::DWORD = 0x00000010; +pub const FLG_DELPROPERTY_MULTI_SZ_DELSTRING: ::DWORD = 0x00000001; +pub const SPINST_LOGCONFIG: ::UINT = 0x00000001; +pub const SPINST_INIFILES: ::UINT = 0x00000002; +pub const SPINST_REGISTRY: ::UINT = 0x00000004; +pub const SPINST_INI2REG: ::UINT = 0x00000008; +pub const SPINST_FILES: ::UINT = 0x00000010; +pub const SPINST_BITREG: ::UINT = 0x00000020; +pub const SPINST_REGSVR: ::UINT = 0x00000040; +pub const SPINST_UNREGSVR: ::UINT = 0x00000080; +pub const SPINST_PROFILEITEMS: ::UINT = 0x00000100; +pub const SPINST_COPYINF: ::UINT = 0x00000200; +pub const SPINST_PROPERTIES: ::UINT = 0x00000400; +pub const SPINST_ALL: ::UINT = 0x000007ff; +pub const SPINST_SINGLESECTION: ::UINT = 0x00010000; +pub const SPINST_LOGCONFIG_IS_FORCED: ::UINT = 0x00020000; +pub const SPINST_LOGCONFIGS_ARE_OVERRIDES: ::UINT = 0x00040000; +pub const SPINST_REGISTERCALLBACKAWARE: ::UINT = 0x00080000; +pub const SPINST_DEVICEINSTALL: ::UINT = 0x00100000; +pub const SPSVCINST_TAGTOFRONT: ::DWORD = 0x00000001; +pub const SPSVCINST_ASSOCSERVICE: ::DWORD = 0x00000002; +pub const SPSVCINST_DELETEEVENTLOGENTRY: ::DWORD = 0x00000004; +pub const SPSVCINST_NOCLOBBER_DISPLAYNAME: ::DWORD = 0x00000008; +pub const SPSVCINST_NOCLOBBER_STARTTYPE: ::DWORD = 0x00000010; +pub const SPSVCINST_NOCLOBBER_ERRORCONTROL: ::DWORD = 0x00000020; +pub const SPSVCINST_NOCLOBBER_LOADORDERGROUP: ::DWORD = 0x00000040; +pub const SPSVCINST_NOCLOBBER_DEPENDENCIES: ::DWORD = 0x00000080; +pub const SPSVCINST_NOCLOBBER_DESCRIPTION: ::DWORD = 0x00000100; +pub const SPSVCINST_STOPSERVICE: ::DWORD = 0x00000200; +pub const SPSVCINST_CLOBBER_SECURITY: ::DWORD = 0x00000400; +pub const SPSVCINST_STARTSERVICE: ::DWORD = 0x00000800; +pub const SPSVCINST_NOCLOBBER_REQUIREDPRIVILEGES: ::DWORD = 0x00001000; +pub type HSPFILELOG = ::PVOID; +pub const SPFILELOG_SYSTEMLOG: ::DWORD = 0x00000001; +pub const SPFILELOG_FORCENEW: ::DWORD = 0x00000002; +pub const SPFILELOG_QUERYONLY: ::DWORD = 0x00000004; +pub const SPFILELOG_OEMFILE: ::DWORD = 0x00000001; +ENUM!{enum SetupFileLogInfo { + SetupFileLogSourceFilename, + SetupFileLogChecksum, + SetupFileLogDiskTagfile, + SetupFileLogDiskDescription, + SetupFileLogOtherInfo, + SetupFileLogMax, +}} +pub type LogSeverity = ::DWORD; +pub const LogSevInformation: LogSeverity = 0x00000000; +pub const LogSevWarning: LogSeverity = 0x00000001; +pub const LogSevError: LogSeverity = 0x00000002; +pub const LogSevFatalError: LogSeverity = 0x00000003; +pub const LogSevMaximum: LogSeverity = 0x00000004; +pub const DICD_GENERATE_ID: ::DWORD = 0x00000001; +pub const DICD_INHERIT_CLASSDRVS: ::DWORD = 0x00000002; +pub const DIOD_INHERIT_CLASSDRVS: ::DWORD = 0x00000002; +pub const DIOD_CANCEL_REMOVE: ::DWORD = 0x00000004; +pub const DIODI_NO_ADD: ::DWORD = 0x00000001; +pub const SPRDI_FIND_DUPS: ::DWORD = 0x00000001; +pub const SPDIT_NODRIVER: ::DWORD = 0x00000000; +pub const SPDIT_CLASSDRIVER: ::DWORD = 0x00000001; +pub const SPDIT_COMPATDRIVER: ::DWORD = 0x00000002; +pub const DIGCF_DEFAULT: ::DWORD = 0x00000001; +pub const DIGCF_PRESENT: ::DWORD = 0x00000002; +pub const DIGCF_ALLCLASSES: ::DWORD = 0x00000004; +pub const DIGCF_PROFILE: ::DWORD = 0x00000008; +pub const DIGCF_DEVICEINTERFACE: ::DWORD = 0x00000010; +pub const DIBCI_NOINSTALLCLASS: ::DWORD = 0x00000001; +pub const DIBCI_NODISPLAYCLASS: ::DWORD = 0x00000002; +pub const DIOCR_INSTALLER: ::DWORD = 0x00000001; +pub const DIOCR_INTERFACE: ::DWORD = 0x00000002; +pub const DIREG_DEV: ::DWORD = 0x00000001; +pub const DIREG_DRV: ::DWORD = 0x00000002; +pub const DIREG_BOTH: ::DWORD = 0x00000004; +pub const DICLASSPROP_INSTALLER: ::DWORD = 0x00000001; +pub const DICLASSPROP_INTERFACE: ::DWORD = 0x00000002; +pub const SPDRP_DEVICEDESC: ::DWORD = 0x00000000; +pub const SPDRP_HARDWAREID: ::DWORD = 0x00000001; +pub const SPDRP_COMPATIBLEIDS: ::DWORD = 0x00000002; +pub const SPDRP_UNUSED0: ::DWORD = 0x00000003; +pub const SPDRP_SERVICE: ::DWORD = 0x00000004; +pub const SPDRP_UNUSED1: ::DWORD = 0x00000005; +pub const SPDRP_UNUSED2: ::DWORD = 0x00000006; +pub const SPDRP_CLASS: ::DWORD = 0x00000007; +pub const SPDRP_CLASSGUID: ::DWORD = 0x00000008; +pub const SPDRP_DRIVER: ::DWORD = 0x00000009; +pub const SPDRP_CONFIGFLAGS: ::DWORD = 0x0000000A; +pub const SPDRP_MFG: ::DWORD = 0x0000000B; +pub const SPDRP_FRIENDLYNAME: ::DWORD = 0x0000000C; +pub const SPDRP_LOCATION_INFORMATION: ::DWORD = 0x0000000D; +pub const SPDRP_PHYSICAL_DEVICE_OBJECT_NAME: ::DWORD = 0x0000000E; +pub const SPDRP_CAPABILITIES: ::DWORD = 0x0000000F; +pub const SPDRP_UI_NUMBER: ::DWORD = 0x00000010; +pub const SPDRP_UPPERFILTERS: ::DWORD = 0x00000011; +pub const SPDRP_LOWERFILTERS: ::DWORD = 0x00000012; +pub const SPDRP_BUSTYPEGUID: ::DWORD = 0x00000013; +pub const SPDRP_LEGACYBUSTYPE: ::DWORD = 0x00000014; +pub const SPDRP_BUSNUMBER: ::DWORD = 0x00000015; +pub const SPDRP_ENUMERATOR_NAME: ::DWORD = 0x00000016; +pub const SPDRP_SECURITY: ::DWORD = 0x00000017; +pub const SPDRP_SECURITY_SDS: ::DWORD = 0x00000018; +pub const SPDRP_DEVTYPE: ::DWORD = 0x00000019; +pub const SPDRP_EXCLUSIVE: ::DWORD = 0x0000001A; +pub const SPDRP_CHARACTERISTICS: ::DWORD = 0x0000001B; +pub const SPDRP_ADDRESS: ::DWORD = 0x0000001C; +pub const SPDRP_UI_NUMBER_DESC_FORMAT: ::DWORD = 0x0000001D; +pub const SPDRP_DEVICE_POWER_DATA: ::DWORD = 0x0000001E; +pub const SPDRP_REMOVAL_POLICY: ::DWORD = 0x0000001F; +pub const SPDRP_REMOVAL_POLICY_HW_DEFAULT: ::DWORD = 0x00000020; +pub const SPDRP_REMOVAL_POLICY_OVERRIDE: ::DWORD = 0x00000021; +pub const SPDRP_INSTALL_STATE: ::DWORD = 0x00000022; +pub const SPDRP_LOCATION_PATHS: ::DWORD = 0x00000023; +pub const SPDRP_BASE_CONTAINERID: ::DWORD = 0x00000024; +pub const SPDRP_MAXIMUM_PROPERTY: ::DWORD = 0x00000025; +pub const SPCRP_UPPERFILTERS: ::DWORD = 0x00000011; +pub const SPCRP_LOWERFILTERS: ::DWORD = 0x00000012; +pub const SPCRP_SECURITY: ::DWORD = 0x00000017; +pub const SPCRP_SECURITY_SDS: ::DWORD = 0x00000018; +pub const SPCRP_DEVTYPE: ::DWORD = 0x00000019; +pub const SPCRP_EXCLUSIVE: ::DWORD = 0x0000001A; +pub const SPCRP_CHARACTERISTICS: ::DWORD = 0x0000001B; +pub const SPCRP_MAXIMUM_PROPERTY: ::DWORD = 0x0000001C; +pub const DMI_MASK: ::DWORD = 0x00000001; +pub const DMI_BKCOLOR: ::DWORD = 0x00000002; +pub const DMI_USERECT: ::DWORD = 0x00000004; +pub const DIGCDP_FLAG_BASIC: ::DWORD = 0x00000001; +pub const DIGCDP_FLAG_ADVANCED: ::DWORD = 0x00000002; +pub const DIGCDP_FLAG_REMOTE_BASIC: ::DWORD = 0x00000003; +pub const DIGCDP_FLAG_REMOTE_ADVANCED: ::DWORD = 0x00000004; +pub const IDI_RESOURCEFIRST: ::c_int = 159; +pub const IDI_RESOURCE: ::c_int = 159; +pub const IDI_RESOURCELAST: ::c_int = 161; +pub const IDI_RESOURCEOVERLAYFIRST: ::c_int = 161; +pub const IDI_RESOURCEOVERLAYLAST: ::c_int = 161; +pub const IDI_CONFLICT: ::c_int = 161; +pub const IDI_CLASSICON_OVERLAYFIRST: ::c_int = 500; +pub const IDI_CLASSICON_OVERLAYLAST: ::c_int = 502; +pub const IDI_PROBLEM_OVL: ::c_int = 500; +pub const IDI_DISABLED_OVL: ::c_int = 501; +pub const IDI_FORCED_OVL: ::c_int = 502; +pub const SPWPT_SELECTDEVICE: ::DWORD = 0x00000001; +pub const SPWP_USE_DEVINFO_DATA: ::DWORD = 0x00000001; +STRUCT!{nodebug struct SP_INF_SIGNER_INFO_V1_A { + cbSize: ::DWORD, + CatalogFile: [::CHAR; ::MAX_PATH], + DigitalSigner: [::CHAR; ::MAX_PATH], + DigitalSignerVersion: [::CHAR; ::MAX_PATH], +}} +pub type PSP_INF_SIGNER_INFO_V1_A = *mut SP_INF_SIGNER_INFO_V1_A; +STRUCT!{nodebug struct SP_INF_SIGNER_INFO_V1_W { + cbSize: ::DWORD, + CatalogFile: [::WCHAR; ::MAX_PATH], + DigitalSigner: [::WCHAR; ::MAX_PATH], + DigitalSignerVersion: [::WCHAR; ::MAX_PATH], +}} +pub type PSP_INF_SIGNER_INFO_V1_W = *mut SP_INF_SIGNER_INFO_V1_W; +STRUCT!{nodebug struct SP_INF_SIGNER_INFO_V2_A { + cbSize: ::DWORD, + CatalogFile: [::CHAR; ::MAX_PATH], + DigitalSigner: [::CHAR; ::MAX_PATH], + DigitalSignerVersion: [::CHAR; ::MAX_PATH], + SignerScore: ::DWORD, +}} +pub type PSP_INF_SIGNER_INFO_V2_A = *mut SP_INF_SIGNER_INFO_V2_A; +STRUCT!{nodebug struct SP_INF_SIGNER_INFO_V2_W { + cbSize: ::DWORD, + CatalogFile: [::WCHAR; ::MAX_PATH], + DigitalSigner: [::WCHAR; ::MAX_PATH], + DigitalSignerVersion: [::WCHAR; ::MAX_PATH], + SignerScore: ::DWORD, +}} +pub type PSP_INF_SIGNER_INFO_V2_W = *mut SP_INF_SIGNER_INFO_V2_W; +pub type SP_INF_SIGNER_INFO_A = SP_INF_SIGNER_INFO_V2_A; +pub type PSP_INF_SIGNER_INFO_A = PSP_INF_SIGNER_INFO_V2_A; +pub type SP_INF_SIGNER_INFO_W = SP_INF_SIGNER_INFO_V2_W; +pub type PSP_INF_SIGNER_INFO_W = PSP_INF_SIGNER_INFO_V2_W; +pub const SIGNERSCORE_UNKNOWN: ::DWORD = 0xFF000000; +pub const SIGNERSCORE_W9X_SUSPECT: ::DWORD = 0xC0000000; +pub const SIGNERSCORE_UNSIGNED: ::DWORD = 0x80000000; +pub const SIGNERSCORE_AUTHENTICODE: ::DWORD = 0x0F000000; +pub const SIGNERSCORE_WHQL: ::DWORD = 0x0D000005; +pub const SIGNERSCORE_UNCLASSIFIED: ::DWORD = 0x0D000004; +pub const SIGNERSCORE_INBOX: ::DWORD = 0x0D000003; +pub const SIGNERSCORE_LOGO_STANDARD: ::DWORD = 0x0D000002; +pub const SIGNERSCORE_LOGO_PREMIUM: ::DWORD = 0x0D000001; +pub const SIGNERSCORE_MASK: ::DWORD = 0xFF000000; +pub const SIGNERSCORE_SIGNED_MASK: ::DWORD = 0xF0000000; +pub const DICUSTOMDEVPROP_MERGE_MULTISZ: ::DWORD = 0x00000001; +pub const SCWMI_CLOBBER_SECURITY: ::DWORD = 0x00000001; diff --git a/third_party/rust/winapi-0.2.8/src/shellapi.rs b/third_party/rust/winapi-0.2.8/src/shellapi.rs new file mode 100644 index 0000000000..6f253cfd15 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/shellapi.rs @@ -0,0 +1,62 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +// STUB +DECLARE_HANDLE!(HDROP, HDROP__); + +pub const NIM_ADD: ::DWORD = 0x00000000; +pub const NIM_MODIFY: ::DWORD = 0x00000001; +pub const NIM_DELETE: ::DWORD = 0x00000002; +pub const NIM_SETFOCUS: ::DWORD = 0x00000003; +pub const NIM_SETVERSION: ::DWORD = 0x00000004; +pub const NIF_MESSAGE: ::UINT = 0x00000001; +pub const NIF_ICON: ::UINT = 0x00000002; +pub const NIF_TIP: ::UINT = 0x00000004; +pub const NIF_STATE: ::UINT = 0x00000008; +pub const NIF_INFO: ::UINT = 0x00000010; +pub const NIF_GUID: ::UINT = 0x00000020; +pub const NIF_REALTIME: ::UINT = 0x00000040; +pub const NIF_SHOWTIP: ::UINT = 0x00000080; +pub const NOTIFYICON_VERSION: ::UINT = 3; +pub const NOTIFYICON_VERSION_4: ::UINT = 4; + +STRUCT!{nodebug struct NOTIFYICONDATAA { + cbSize: ::DWORD, + hWnd: ::HWND, + uID: ::UINT, + uFlags: ::UINT, + uCallbackMessage: ::UINT, + hIcon: ::HICON, + szTip: [::CHAR; 128], + dwState: ::DWORD, + dwStateMask: ::DWORD, + szInfo: [::CHAR; 256], + uTimeout: ::UINT, + szInfoTitle: [::CHAR; 64], + dwInfoFlags: ::DWORD, + guidItem: ::GUID, + hBalloonIcon: ::HICON, +}} +UNION!(NOTIFYICONDATAA, uTimeout, uTimeout, uTimeout_mut, ::UINT); +UNION!(NOTIFYICONDATAA, uTimeout, uVersion, uVersion_mut, ::UINT); +pub type PNOTIFYICONDATAA = *mut NOTIFYICONDATAA; + +STRUCT!{nodebug struct NOTIFYICONDATAW { + cbSize: ::DWORD, + hWnd: ::HWND, + uID: ::UINT, + uFlags: ::UINT, + uCallbackMessage: ::UINT, + hIcon: ::HICON, + szTip: [::WCHAR; 128], + dwState: ::DWORD, + dwStateMask: ::DWORD, + szInfo: [::WCHAR; 256], + uTimeout: ::UINT, + szInfoTitle: [::WCHAR; 64], + dwInfoFlags: ::DWORD, + guidItem: ::GUID, + hBalloonIcon: ::HICON, +}} +UNION!(NOTIFYICONDATAW, uTimeout, uTimeout, uTimeout_mut, ::UINT); +UNION!(NOTIFYICONDATAW, uTimeout, uVersion, uVersion_mut, ::UINT); // used with NIM_SETVERSION, values 0, 3 and 4 +pub type PNOTIFYICONDATAW = *mut NOTIFYICONDATAW; diff --git a/third_party/rust/winapi-0.2.8/src/shellscalingapi.rs b/third_party/rust/winapi-0.2.8/src/shellscalingapi.rs new file mode 100644 index 0000000000..d313ddef92 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/shellscalingapi.rs @@ -0,0 +1,19 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +// ShellScalingApi.h +ENUM!{enum PROCESS_DPI_AWARENESS { + Process_DPI_Unaware = 0, + Process_System_DPI_Aware = 1, + Process_Per_Monitor_DPI_Aware = 2, +}} +ENUM!{enum SHELL_UI_COMPONENT { + SHELL_UI_COMPONENT_TASKBARS = 0, + SHELL_UI_COMPONENT_NOTIFICATIONAREA = 1, + SHELL_UI_COMPONENT_DESKBAND = 2, +}} +ENUM!{enum MONITOR_DPI_TYPE { + MDT_EFFECTIVE_DPI = 0, + MDT_ANGULAR_DPI = 1, + MDT_RAW_DPI = 2, +}} +pub const MDT_DEFAULT: MONITOR_DPI_TYPE = MDT_EFFECTIVE_DPI; diff --git a/third_party/rust/winapi-0.2.8/src/shlguid.rs b/third_party/rust/winapi-0.2.8/src/shlguid.rs new file mode 100644 index 0000000000..f01b4e4522 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/shlguid.rs @@ -0,0 +1,2 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> diff --git a/third_party/rust/winapi-0.2.8/src/shlobj.rs b/third_party/rust/winapi-0.2.8/src/shlobj.rs new file mode 100644 index 0000000000..d551f9215c --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/shlobj.rs @@ -0,0 +1,94 @@ +// Copyright © 2015, Peter Atashian, skdltmxn +// Licensed under the MIT License <LICENSE.md> +pub const INVALID_HANDLE_VALUE: ::HANDLE = -1isize as ::HANDLE; +pub type GPFIDL_FLAGS = ::c_int; +ENUM!{enum KNOWN_FOLDER_FLAG { + KF_FLAG_DEFAULT = 0x00000000, + KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000, + KF_FLAG_CREATE = 0x00008000, + KF_FLAG_DONT_VERIFY = 0x00004000, + KF_FLAG_DONT_UNEXPAND = 0x00002000, + KF_FLAG_NO_ALIAS = 0x00001000, + KF_FLAG_INIT = 0x00000800, + KF_FLAG_DEFAULT_PATH = 0x00000400, + KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200, + KF_FLAG_SIMPLE_IDLIST = 0x00000100, + KF_FLAG_ALIAS_ONLY = 0x80000000, +}} +pub const IDO_SHGIOI_SHARE: ::c_int = 0x0FFFFFFF; +pub const IDO_SHGIOI_LINK: ::c_int = 0x0FFFFFFE; +// Yes, these values are supposed to overflow. Blame Microsoft. +pub const IDO_SHGIOI_SLOWFILE: ::c_int = 0xFFFFFFFDu32 as ::c_int; +pub const IDO_SHGIOI_DEFAULT: ::c_int = 0xFFFFFFFCu32 as ::c_int; +pub const GPFIDL_DEFAULT: GPFIDL_FLAGS = 0x0000; +pub const GPFIDL_ALTNAME: GPFIDL_FLAGS = 0x0001; +pub const GPFIDL_UNCPRINTER: GPFIDL_FLAGS = 0x0002; +pub const OFASI_EDIT: ::DWORD = 0x0001; +pub const OFASI_OPENDESKTOP: ::DWORD = 0x0002; +// 1204 +pub const CSIDL_DESKTOP: ::c_int = 0x0000; +pub const CSIDL_INTERNET: ::c_int = 0x0001; +pub const CSIDL_PROGRAMS: ::c_int = 0x0002; +pub const CSIDL_CONTROLS: ::c_int = 0x0003; +pub const CSIDL_PRINTERS: ::c_int = 0x0004; +pub const CSIDL_PERSONAL: ::c_int = 0x0005; +pub const CSIDL_FAVORITES: ::c_int = 0x0006; +pub const CSIDL_STARTUP: ::c_int = 0x0007; +pub const CSIDL_RECENT: ::c_int = 0x0008; +pub const CSIDL_SENDTO: ::c_int = 0x0009; +pub const CSIDL_BITBUCKET: ::c_int = 0x000a; +pub const CSIDL_STARTMENU: ::c_int = 0x000b; +pub const CSIDL_MYDOCUMENTS: ::c_int = CSIDL_PERSONAL; +pub const CSIDL_MYMUSIC: ::c_int = 0x000d; +pub const CSIDL_MYVIDEO: ::c_int = 0x000e; +pub const CSIDL_DESKTOPDIRECTORY: ::c_int = 0x0010; +pub const CSIDL_DRIVES: ::c_int = 0x0011; +pub const CSIDL_NETWORK: ::c_int = 0x0012; +pub const CSIDL_NETHOOD: ::c_int = 0x0013; +pub const CSIDL_FONTS: ::c_int = 0x0014; +pub const CSIDL_TEMPLATES: ::c_int = 0x0015; +pub const CSIDL_COMMON_STARTMENU: ::c_int = 0x0016; +pub const CSIDL_COMMON_PROGRAMS: ::c_int = 0x0017; +pub const CSIDL_COMMON_STARTUP: ::c_int = 0x0018; +pub const CSIDL_COMMON_DESKTOPDIRECTORY: ::c_int = 0x0019; +pub const CSIDL_APPDATA: ::c_int = 0x001a; +pub const CSIDL_PRINTHOOD: ::c_int = 0x001b; +pub const CSIDL_LOCAL_APPDATA: ::c_int = 0x001c; +pub const CSIDL_ALTSTARTUP: ::c_int = 0x001d; +pub const CSIDL_COMMON_ALTSTARTUP: ::c_int = 0x001e; +pub const CSIDL_COMMON_FAVORITES: ::c_int = 0x001f; +pub const CSIDL_INTERNET_CACHE: ::c_int = 0x0020; +pub const CSIDL_COOKIES: ::c_int = 0x0021; +pub const CSIDL_HISTORY: ::c_int = 0x0022; +pub const CSIDL_COMMON_APPDATA: ::c_int = 0x0023; +pub const CSIDL_WINDOWS: ::c_int = 0x0024; +pub const CSIDL_SYSTEM: ::c_int = 0x0025; +pub const CSIDL_PROGRAM_FILES: ::c_int = 0x0026; +pub const CSIDL_MYPICTURES: ::c_int = 0x0027; +pub const CSIDL_PROFILE: ::c_int = 0x0028; +pub const CSIDL_SYSTEMX86: ::c_int = 0x0029; +pub const CSIDL_PROGRAM_FILESX86: ::c_int = 0x002a; +pub const CSIDL_PROGRAM_FILES_COMMON: ::c_int = 0x002b; +pub const CSIDL_PROGRAM_FILES_COMMONX86: ::c_int = 0x002c; +pub const CSIDL_COMMON_TEMPLATES: ::c_int = 0x002d; +pub const CSIDL_COMMON_DOCUMENTS: ::c_int = 0x002e; +pub const CSIDL_COMMON_ADMINTOOLS: ::c_int = 0x002f; +pub const CSIDL_ADMINTOOLS: ::c_int = 0x0030; +pub const CSIDL_CONNECTIONS: ::c_int = 0x0031; +pub const CSIDL_COMMON_MUSIC: ::c_int = 0x0035; +pub const CSIDL_COMMON_PICTURES: ::c_int = 0x0036; +pub const CSIDL_COMMON_VIDEO: ::c_int = 0x0037; +pub const CSIDL_RESOURCES: ::c_int = 0x0038; +pub const CSIDL_RESOURCES_LOCALIZED: ::c_int = 0x0039; +pub const CSIDL_COMMON_OEM_LINKS: ::c_int = 0x003a; +pub const CSIDL_CDBURN_AREA: ::c_int = 0x003b; +pub const CSIDL_COMPUTERSNEARME: ::c_int = 0x003d; +pub const CSIDL_FLAG_CREATE: ::c_int = 0x8000; +pub const CSIDL_FLAG_DONT_VERIFY: ::c_int = 0x4000; +pub const CSIDL_FLAG_DONT_UNEXPAND: ::c_int = 0x2000; +pub const CSIDL_FLAG_NO_ALIAS: ::c_int = 0x1000; +pub const CSIDL_FLAG_PER_USER_INIT: ::c_int = 0x0800; +pub const CSIDL_FLAG_MASK: ::c_int = 0xff00; +//1312 +pub const SHGFP_TYPE_CURRENT: ::DWORD = 0; +pub const SHGFP_TYPE_DEFAULT: ::DWORD = 1; diff --git a/third_party/rust/winapi-0.2.8/src/shobjidl.rs b/third_party/rust/winapi-0.2.8/src/shobjidl.rs new file mode 100644 index 0000000000..ef7caa1c37 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/shobjidl.rs @@ -0,0 +1,652 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! this ALWAYS GENERATED file contains the definitions for the interfaces +//Terrible forward declarations that need to be filled in +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IContextMenu; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IContextMenu2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IContextMenu3; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IExecuteCommand; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPersistFolder; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IRunnableTask; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellTaskScheduler; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IQueryCodePage; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPersistFolder2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPersistFolder3; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPersistIDList; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IEnumIDList; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IEnumFullIDList; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFileSyncMergeHandler; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IObjectWithFolderEnumMode; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IParseAndCreateItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellFolder; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IEnumExtraSearch; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellFolder2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFolderViewOptions; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellView; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellView2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellView3; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFolderView; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ISearchBoxInfo; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFolderView2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFolderViewSettings; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPreviewHandlerVisuals; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IVisualProperties; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICommDlgBrowser; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICommDlgBrowser2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICommDlgBrowser3; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IColumnManager; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFolderFilterSite; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFolderFilter; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IInputObjectSite; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IInputObject; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IInputObject2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellIcon; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellBrowser; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IProfferService; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellItem2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellItemImageFactory; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IUserAccountChangeCallback; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IEnumShellItems; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITransferAdviseSink; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITransferSource; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IEnumResources; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellItemResources; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITransferDestination; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IStreamAsync; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IStreamUnbufferedInfo; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IInitializeWithItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IObjectWithSelection; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IObjectWithBackReferences; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPropertyUI; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICategoryProvider; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICategorizer; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDropTargetHelper; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDragSourceHelper; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDragSourceHelper2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellLinkA; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellLinkW; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellLinkDataList; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IResolveShellLink; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IActionProgressDialog; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IHWEventHandler; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IHWEventHandler2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IQueryCancelAutoPlay; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDynamicHWHandler; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IActionProgress; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellExtInit; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellPropSheetExt; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IRemoteComputer; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IQueryContinue; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IObjectWithCancelEvent; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IUserNotification; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IUserNotificationCallback; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IUserNotification2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IItemNameLimits; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ISearchFolderItemFactory; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IExtractImage; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IExtractImage2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IThumbnailHandlerFactory; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IParentAndItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDockingWindow; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDeskBand; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDeskBandInfo; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDeskBand2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITaskbarList; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITaskbarList2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITaskbarList3; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITaskbarList4; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IStartMenuPinnedList; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICDBurn; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IWizardSite; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IWizardExtension; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IWebWizardExtension; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPublishingWizard; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFolderViewHost; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IExplorerBrowserEvents; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IExplorerBrowser; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IAccessibleObject; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IResultsFolder; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IEnumObjects; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IOperationsProgressDialog; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IIOCancelInformation; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFileOperation; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IObjectProvider; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INamespaceWalkCB; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INamespaceWalkCB2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INamespaceWalk; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IAutoCompleteDropDown; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IBandSite; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICDBurnExt; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IContextMenuSite; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IEnumReadyCallback; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IEnumerableView; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IInsertItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IMenuBand; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFolderBandPriv; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IRegTreeItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IImageRecompress; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDeskBar; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IMenuPopup; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFileIsInUse; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IApplicationAssociationRegistration; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IApplicationAssociationRegistrationUI; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDelegateFolder; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IBrowserFrameOptions; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INewWindowManager; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IAttachmentExecute; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellMenuCallback; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellMenu; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellRunDll; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IKnownFolder; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IKnownFolderManager; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ISharingConfigurationManager; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPreviousVersionsInfo; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IRelatedItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IIdentityName; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDelegateItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICurrentItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITransferMediumItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IUseToBrowseItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDisplayItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IViewStateIdentityItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPreviewItem; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDestinationStreamFactory; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INewMenuClient; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IInitializeWithBindCtx; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INameSpaceTreeControl; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INameSpaceTreeControl2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INameSpaceTreeControlEvents; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INameSpaceTreeControlDropHandler; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INameSpaceTreeAccessible; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INameSpaceTreeControlCustomDraw; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct INameSpaceTreeControlFolderCapabilities; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPreviewHandler; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPreviewHandlerFrame; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ITrayDeskBand; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IBandHost; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IExplorerPaneVisibility; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IContextMenuCB; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDefaultExtractIconInit; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IExplorerCommand; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IExplorerCommandState; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IInitializeCommand; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IEnumExplorerCommand; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IExplorerCommandProvider; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IMarkupCallback; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IControlMarkup; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IInitializeNetworkFolder; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IOpenControlPanel; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IComputerInfoChangeNotify; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFileSystemBindData; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFileSystemBindData2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ICustomDestinationList; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IApplicationDestinations; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IApplicationDocumentLists; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IObjectWithAppUserModelID; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IObjectWithProgID; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IUpdateIDList; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDesktopGadget; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDesktopWallpaper; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IHomeGroup; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IInitializeWithPropertyStore; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IOpenSearchSource; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IShellLibrary; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDefaultFolderMenuInitialize; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IApplicationActivationManager; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IAssocHandlerInvoker; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IAssocHandler; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IEnumAssocHandlers; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDataObjectProvider; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IDataTransferManagerInterop; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFrameworkInputPaneHandler; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IFrameworkInputPane; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IAccessibilityDockingServiceCallback; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IAccessibilityDockingService; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IAppVisibilityEvents; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IAppVisibility; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPackageExecutionStateChangeNotification; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IPackageDebugSettings; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ISuspensionDependencyManager; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IExecuteCommandApplicationHostEnvironment; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IExecuteCommandHost; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IApplicationDesignModeSettings; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IApplicationDesignModeSettings2; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ILaunchTargetMonitor; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ILaunchSourceViewSizePreference; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ILaunchTargetViewSizePreference; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct ILaunchSourceAppUserModelId; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IInitializeWithWindow; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IHandlerInfo; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IHandlerActivationHost; +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IContactManagerInterop; +//4498 +pub type SFGAOF = ::ULONG; +//9466 +ENUM!{enum SIGDN { + SIGDN_NORMALDISPLAY = 0, + SIGDN_PARENTRELATIVEPARSING = 0x80018001, + SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000, + SIGDN_PARENTRELATIVEEDITING = 0x80031001, + SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000, + SIGDN_FILESYSPATH = 0x80058000, + SIGDN_URL = 0x80068000, + SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8007c001, + SIGDN_PARENTRELATIVE = 0x80080001, + SIGDN_PARENTRELATIVEFORUI = 0x80094001, +}} +ENUM!{enum SICHINTF { + SICHINT_DISPLAY = 0, + SICHINT_ALLFIELDS = 0x80000000, + SICHINT_CANONICAL = 0x10000000, + SICHINT_TEST_FILESYSPATH_IF_NOT_EQUAL = 0x20000000, +}} +//9498 +RIDL!( +interface IShellItem(IShellItemVtbl): IUnknown(IUnknownVtbl) { + fn BindToHandler( + &mut self, pbc: *mut ::IBindCtx, bhid: ::REFGUID, riid: ::REFIID, ppv: *mut *mut ::c_void + ) -> ::HRESULT, + fn GetParent(&mut self, ppsi: *mut *mut IShellItem) -> ::HRESULT, + fn GetDisplayName(&mut self, sigdnName: SIGDN, ppszName: *mut ::LPWSTR) -> ::HRESULT, + fn GetAttributes(&mut self, sfgaoMask: SFGAOF, psfgaoAttribs: *mut SFGAOF) -> ::HRESULT, + fn Compare(&mut self, psi: *mut IShellItem, hint: SICHINTF, piOrder: *mut ::c_int) -> ::HRESULT +} +); +//11963 +pub type IFileOperationProgressSink = ::IUnknown; // TODO +pub type IShellItemArray = ::IUnknown; // TODO +//20869 +RIDL!( +interface IModalWindow(IModalWindowVtbl): IUnknown(IUnknownVtbl) { + fn Show(&mut self, hwndOwner: ::HWND) -> ::HRESULT +} +); +//22307 +ENUM!{enum FDE_OVERWRITE_RESPONSE { + FDEOR_DEFAULT = 0, + FDEOR_ACCEPT = 1, + FDEOR_REFUSE = 2, +}} +ENUM!{enum FDE_SHAREVIOLATION_RESPONSE { + FDESVR_DEFAULT = 0, + FDESVR_ACCEPT = 1, + FDESVR_REFUSE = 2, +}} +ENUM!{enum FDAP { + FDAP_BOTTOM = 0, + FDAP_TOP = 1, +}} +RIDL!( +interface IFileDialogEvents(IFileDialogEventsVtbl): IUnknown(IUnknownVtbl) { + fn OnFileOk(&mut self, pfd: *mut IFileDialog) -> ::HRESULT, + fn OnFolderChanging(&mut self, pfd: *mut IFileDialog, psiFolder: *mut IShellItem) -> ::HRESULT, + fn OnFolderChange(&mut self, pfd: *mut IFileDialog) -> ::HRESULT, + fn OnSelectionChange(&mut self, pfd: *mut IFileDialog) -> ::HRESULT, + fn OnShareViolation( + &mut self, pfd: *mut IFileDialog, psi: *mut IShellItem, + pResponse: *mut FDE_SHAREVIOLATION_RESPONSE + ) -> ::HRESULT, + fn OnTypeChange(&mut self, pfd: *mut IFileDialog) -> ::HRESULT, + fn OnOverwrite( + &mut self, pfd: *mut IFileDialog, psi: *mut IShellItem, + pResponse: *mut FDE_OVERWRITE_RESPONSE + ) -> ::HRESULT +} +); +FLAGS!{enum FILEOPENDIALOGOPTIONS { + FOS_OVERWRITEPROMPT = 0x2, + FOS_STRICTFILETYPES = 0x4, + FOS_NOCHANGEDIR = 0x8, + FOS_PICKFOLDERS = 0x20, + FOS_FORCEFILESYSTEM = 0x40, + FOS_ALLNONSTORAGEITEMS = 0x80, + FOS_NOVALIDATE = 0x100, + FOS_ALLOWMULTISELECT = 0x200, + FOS_PATHMUSTEXIST = 0x800, + FOS_FILEMUSTEXIST = 0x1000, + FOS_CREATEPROMPT = 0x2000, + FOS_SHAREAWARE = 0x4000, + FOS_NOREADONLYRETURN = 0x8000, + FOS_NOTESTFILECREATE = 0x10000, + FOS_HIDEMRUPLACES = 0x20000, + FOS_HIDEPINNEDPLACES = 0x40000, + FOS_NODEREFERENCELINKS = 0x100000, + FOS_DONTADDTORECENT = 0x2000000, + FOS_FORCESHOWHIDDEN = 0x10000000, + FOS_DEFAULTNOMINIMODE = 0x20000000, + FOS_FORCEPREVIEWPANEON = 0x40000000, + FOS_SUPPORTSTREAMABLEITEMS = 0x80000000, +}} +RIDL!( +interface IFileDialog(IFileDialogVtbl): IModalWindow(IModalWindowVtbl) { + fn SetFileTypes( + &mut self, cFileTypes: ::UINT, rgFilterSpec: *const ::COMDLG_FILTERSPEC + ) -> ::HRESULT, + fn SetFileTypeIndex(&mut self, iFileType: ::UINT) -> ::HRESULT, + fn GetFileTypeIndex(&mut self, piFileType: *mut ::UINT) -> ::HRESULT, + fn Advise(&mut self, pfde: *mut IFileDialogEvents, pdwCookie: *mut ::DWORD) -> ::HRESULT, + fn Unadvise(&mut self, dwCookie: ::DWORD) -> ::HRESULT, + fn SetOptions(&mut self, fos: FILEOPENDIALOGOPTIONS) -> ::HRESULT, + fn GetOptions(&mut self, pfos: *mut FILEOPENDIALOGOPTIONS) -> ::HRESULT, + fn SetDefaultFolder(&mut self, psi: *mut IShellItem) -> ::HRESULT, + fn SetFolder(&mut self, psi: *mut IShellItem) -> ::HRESULT, + fn GetFolder(&mut self, ppsi: *mut *mut IShellItem) -> ::HRESULT, + fn GetCurrentSelection(&mut self, ppsi: *mut *mut IShellItem) -> ::HRESULT, + fn SetFileName(&mut self, pszName: ::LPCWSTR) -> ::HRESULT, + fn GetFileName(&mut self, pszName: *mut ::LPWSTR) -> ::HRESULT, + fn SetTitle(&mut self, pszTitle: ::LPCWSTR) -> ::HRESULT, + fn SetOkButtonLabel(&mut self, pszText: ::LPCWSTR) -> ::HRESULT, + fn SetFileNameLabel(&mut self, pszLabel: ::LPCWSTR) -> ::HRESULT, + fn GetResult(&mut self, ppsi: *mut *mut IShellItem) -> ::HRESULT, + fn AddPlace(&mut self, psi: *mut IShellItem, fdap: FDAP) -> ::HRESULT, + fn SetDefaultExtension(&mut self, pszDefaultExtension: ::LPCWSTR) -> ::HRESULT, + fn Close(&mut self, hr: ::HRESULT) -> ::HRESULT, + fn SetClientGuid(&mut self, guid: ::REFGUID) -> ::HRESULT, + fn ClearClientData(&mut self) -> ::HRESULT, + fn SetFilter(&mut self, pFilter: *mut IShellItemFilter) -> ::HRESULT +} +); +RIDL!( +interface IFileSaveDialog(IFileSaveDialogVtbl): IFileDialog(IFileDialogVtbl) { + fn SetSaveAsItem(&mut self, psi: *mut IShellItem) -> ::HRESULT, + fn SetProperties(&mut self, pStore: *mut ::IPropertyStore) -> ::HRESULT, + fn SetCollectedProperties( + &mut self, pList: *mut ::IPropertyDescriptionList, fAppendDefault: ::BOOL + ) -> ::HRESULT, + fn GetProperties(&mut self, ppStore: *mut *mut ::IPropertyStore) -> ::HRESULT, + fn ApplyProperties( + &mut self, psi: *mut IShellItem, pStore: *mut ::IPropertyStore, hwnd: ::HWND, + pSink: *mut IFileOperationProgressSink + ) -> ::HRESULT +} +); +RIDL!( +interface IFileOpenDialog(IFileOpenDialogVtbl): IFileDialog(IFileDialogVtbl) { + fn GetResults(&mut self, ppenum: *mut *mut IShellItemArray) -> ::HRESULT, + fn GetSelectedItems(&mut self, ppsai: *mut *mut IShellItemArray) -> ::HRESULT +} +); +ENUM!{enum CDCONTROLSTATE { + CDCS_INACTIVE = 0x00000000, + CDCS_ENABLED = 0x00000001, + CDCS_VISIBLE = 0x00000002, + CDCS_ENABLEDVISIBLE = 0x00000003, +}} +RIDL!( +interface IFileDialogCustomize(IFileDialogCustomizeVtbl): IUnknown(IUnknownVtbl) { + fn EnableOpenDropDown(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, + fn AddMenu(&mut self, dwIDCtl: ::DWORD, pszLabel: ::LPCWSTR) -> ::HRESULT, + fn AddPushButton(&mut self, dwIDCtl: ::DWORD, pszLabel: ::LPCWSTR) -> ::HRESULT, + fn AddComboBox(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, + fn AddRadioButtonList(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, + fn AddCheckButton( + &mut self, dwIDCtl: ::DWORD, pszLabel: ::LPCWSTR, bChecked: ::BOOL + ) -> ::HRESULT, + fn AddEditBox(&mut self, dwIDCtl: ::DWORD, pszText: ::LPCWSTR) -> ::HRESULT, + fn AddSeparator(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, + fn AddText(&mut self, dwIDCtl: ::DWORD, pszText: ::LPCWSTR) -> ::HRESULT, + fn SetControlLabel(&mut self, dwIDCtl: ::DWORD, pszLabel: ::LPCWSTR) -> ::HRESULT, + fn GetControlState(&mut self, dwIDCtl: ::DWORD, pdwState: *mut CDCONTROLSTATE) -> ::HRESULT, + fn SetControlState(&mut self, dwIDCtl: ::DWORD, dwState: CDCONTROLSTATE) -> ::HRESULT, + fn GetEditBoxText(&mut self, dwIDCtl: ::DWORD, ppszText: *mut *mut ::WCHAR) -> ::HRESULT, + fn SetEditBoxText(&mut self, dwIDCtl: ::DWORD, pszText: ::LPCWSTR) -> ::HRESULT, + fn GetCheckButtonState(&mut self, dwIDCtl: ::DWORD, pbChecked: *mut ::BOOL) -> ::HRESULT, + fn SetCheckButtonState(&mut self, dwIDCtl: ::DWORD, bChecked: ::BOOL) -> ::HRESULT, + fn AddControlItem( + &mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD, pszLabel: ::LPCWSTR + ) -> ::HRESULT, + fn RemoveControlItem(&mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD) -> ::HRESULT, + fn RemoveAllControlItems(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, + fn GetControlItemState( + &mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD, pdwState: *mut CDCONTROLSTATE + ) -> ::HRESULT, + fn SetControlItemState( + &mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD, dwState: CDCONTROLSTATE + ) -> ::HRESULT, + fn GetSelectedControlItem(&mut self, dwIDCtl: ::DWORD, pdwIDItem: *mut ::DWORD) -> ::HRESULT, + fn SetSelectedControlItem(&mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD) -> ::HRESULT, + fn StartVisualGroup(&mut self, dwIDCtl: ::DWORD, pszLabel: ::LPCWSTR) -> ::HRESULT, + fn EndVisualGroup(&mut self) -> ::HRESULT, + fn MakeProminent(&mut self, dwIDCtl: ::DWORD) -> ::HRESULT, + fn SetControlItemText(&mut self, dwIDCtl: ::DWORD, dwIDItem: ::DWORD, pszLabel: ::LPCWSTR) -> ::HRESULT +} +); +RIDL!( +interface IFileDialogControlEvents(IFileDialogControlEventsVtbl): IUnknown(IUnknownVtbl) { + fn OnItemSelected( + &mut self, pfdc: *mut IFileDialogCustomize, dwIDCtl: ::DWORD, dwIDItem: ::DWORD + ) -> ::HRESULT, + fn OnButtonClicked(&mut self, pfdc: *mut IFileDialogCustomize, dwIDCtl: ::DWORD) -> ::HRESULT, + fn OnCheckButtonToggled( + &mut self, pfdc: *mut IFileDialogCustomize, dwIDCtl: ::DWORD, bChecked: ::BOOL + ) -> ::HRESULT, + fn OnControlActivating( + &mut self, pfdc: *mut IFileDialogCustomize, dwIDCtl: ::DWORD + ) -> ::HRESULT +} +); +RIDL!( +interface IFileDialog2(IFileDialog2Vtbl): IFileDialog(IFileDialogVtbl) { + fn SetCancelButtonLabel(&mut self, pszLabel: ::LPCWSTR) -> ::HRESULT, + fn SetNavigationRoot(&mut self, psi: IShellItem) -> ::HRESULT +} +); +//27457 +pub type IShellItemFilter = ::IUnknown; // TODO diff --git a/third_party/rust/winapi-0.2.8/src/shtypes.rs b/third_party/rust/winapi-0.2.8/src/shtypes.rs new file mode 100644 index 0000000000..0bea4b1f70 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/shtypes.rs @@ -0,0 +1,40 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! this ALWAYS GENERATED file contains the definitions for the interfaces +#[repr(C)] #[allow(missing_copy_implementations)] +pub struct SHITEMID { + pub cb: ::USHORT, + pub abID: [::BYTE; 0], +} +pub type LPSHITEMID = *mut SHITEMID; +pub type LPCSHITEMID = *const SHITEMID; +#[repr(C)] +pub struct ITEMIDLIST { + pub mkid: SHITEMID, +} +pub type ITEMIDLIST_RELATIVE = ITEMIDLIST; +pub type ITEMID_CHILD = ITEMIDLIST; +pub type ITEMIDLIST_ABSOLUTE = ITEMIDLIST; +pub type LPITEMIDLIST = *mut ITEMIDLIST; +pub type LPCITEMIDLIST = *const ITEMIDLIST; +pub type PIDLIST_ABSOLUTE = *mut ITEMIDLIST_ABSOLUTE; +pub type PCIDLIST_ABSOLUTE = *const ITEMIDLIST_ABSOLUTE; +pub type PCUIDLIST_ABSOLUTE = *const ITEMIDLIST_ABSOLUTE; +pub type PIDLIST_RELATIVE = *mut ITEMIDLIST_RELATIVE; +pub type PCIDLIST_RELATIVE = *const ITEMIDLIST_RELATIVE; +pub type PUIDLIST_RELATIVE = *mut ITEMIDLIST_RELATIVE; +pub type PCUIDLIST_RELATIVE = *const ITEMIDLIST_RELATIVE; +pub type PITEMID_CHILD = *mut ITEMID_CHILD; +pub type PCITEMID_CHILD = *const ITEMID_CHILD; +pub type PUITEMID_CHILD = *mut ITEMID_CHILD; +pub type PCUITEMID_CHILD = *const ITEMID_CHILD; +pub type PCUITEMID_CHILD_ARRAY = *const PCUITEMID_CHILD; +pub type PCUIDLIST_RELATIVE_ARRAY = *const PCUIDLIST_RELATIVE; +pub type PCIDLIST_ABSOLUTE_ARRAY = *const PCIDLIST_ABSOLUTE; +pub type PCUIDLIST_ABSOLUTE_ARRAY = *const PCUIDLIST_ABSOLUTE; +STRUCT!{struct COMDLG_FILTERSPEC { + pszName: ::LPCWSTR, + pszSpec: ::LPCWSTR, +}} +pub type KNOWNFOLDERID = ::GUID; +pub type REFKNOWNFOLDERID = *const KNOWNFOLDERID; diff --git a/third_party/rust/winapi-0.2.8/src/spapidef.rs b/third_party/rust/winapi-0.2.8/src/spapidef.rs new file mode 100644 index 0000000000..05861ddc80 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/spapidef.rs @@ -0,0 +1,48 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Windows NT Setup and Device Installer services +pub type SP_LOG_TOKEN = ::DWORDLONG; +pub type PSP_LOG_TOKEN = *mut ::DWORDLONG; +pub const LOGTOKEN_TYPE_MASK: SP_LOG_TOKEN = 3; +pub const LOGTOKEN_UNSPECIFIED: SP_LOG_TOKEN = 0; +pub const LOGTOKEN_NO_LOG: SP_LOG_TOKEN = 1; +pub const LOGTOKEN_SETUPAPI_APPLOG: SP_LOG_TOKEN = 2; +pub const LOGTOKEN_SETUPAPI_DEVLOG: SP_LOG_TOKEN = 3; +pub const TXTLOG_SETUPAPI_DEVLOG: ::DWORD = 0x00000001; +pub const TXTLOG_SETUPAPI_CMDLINE: ::DWORD = 0x00000002; +pub const TXTLOG_SETUPAPI_BITS: ::DWORD = 0x00000003; +pub const TXTLOG_ERROR: ::DWORD = 0x1; +pub const TXTLOG_WARNING: ::DWORD = 0x2; +pub const TXTLOG_SYSTEM_STATE_CHANGE: ::DWORD = 0x3; +pub const TXTLOG_SUMMARY: ::DWORD = 0x4; +pub const TXTLOG_DETAILS: ::DWORD = 0x5; +pub const TXTLOG_VERBOSE: ::DWORD = 0x6; +pub const TXTLOG_VERY_VERBOSE: ::DWORD = 0x7; +pub const TXTLOG_RESERVED_FLAGS: ::DWORD = 0x0000FFF0; +pub const TXTLOG_TIMESTAMP: ::DWORD = 0x00010000; +pub const TXTLOG_DEPTH_INCR: ::DWORD = 0x00020000; +pub const TXTLOG_DEPTH_DECR: ::DWORD = 0x00040000; +pub const TXTLOG_TAB_1: ::DWORD = 0x00080000; +pub const TXTLOG_FLUSH_FILE: ::DWORD = 0x00100000; +#[inline] #[allow(dead_code)] +pub fn TXTLOG_LEVEL(flags: ::DWORD) -> ::DWORD { + return flags & 0xf; +} +pub const TXTLOG_DEVINST: ::DWORD = 0x00000001; +pub const TXTLOG_INF: ::DWORD = 0x00000002; +pub const TXTLOG_FILEQ: ::DWORD = 0x00000004; +pub const TXTLOG_COPYFILES: ::DWORD = 0x00000008; +pub const TXTLOG_SIGVERIF: ::DWORD = 0x00000020; +pub const TXTLOG_BACKUP: ::DWORD = 0x00000080; +pub const TXTLOG_UI: ::DWORD = 0x00000100; +pub const TXTLOG_UTIL: ::DWORD = 0x00000200; +pub const TXTLOG_INFDB: ::DWORD = 0x00000400; +pub const TXTLOG_POLICY: ::DWORD = 0x00800000; +pub const TXTLOG_NEWDEV: ::DWORD = 0x01000000; +pub const TXTLOG_UMPNPMGR: ::DWORD = 0x02000000; +pub const TXTLOG_DRIVER_STORE: ::DWORD = 0x04000000; +pub const TXTLOG_SETUP: ::DWORD = 0x08000000; +pub const TXTLOG_CMI: ::DWORD = 0x10000000; +pub const TXTLOG_DEVMGR: ::DWORD = 0x20000000; +pub const TXTLOG_INSTALLER: ::DWORD = 0x40000000; +pub const TXTLOG_VENDOR: ::DWORD = 0x80000000; diff --git a/third_party/rust/winapi-0.2.8/src/sql.rs b/third_party/rust/winapi-0.2.8/src/sql.rs new file mode 100644 index 0000000000..503fa81629 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/sql.rs @@ -0,0 +1,179 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +pub const SQL_NULL_DATA: SQLLEN = -1; +pub const SQL_DATA_AT_EXEC: SQLLEN = -2; +pub const SQL_SUCCESS: SQLRETURN = 0; +pub const SQL_SUCCESS_WITH_INFO: SQLRETURN = 1; +pub const SQL_NO_DATA: SQLRETURN = 100; +pub const SQL_PARAM_DATA_AVAILABLE: SQLRETURN = 101; +pub const SQL_ERROR: SQLRETURN = -1; +pub const SQL_INVALID_HANDLE: SQLRETURN = -2; +pub const SQL_STILL_EXECUTING: SQLRETURN = 2; +pub const SQL_NEED_DATA: SQLRETURN = 99; +pub const SQL_NTS: SQLSMALLINT = -3; +pub const SQL_MAX_MESSAGE_LENGTH: usize = 512; +pub const SQL_DATE_LEN: usize = 10; +pub const SQL_TIME_LEN: usize = 8; +pub const SQL_TIMESTAMP_LEN: usize = 19; +pub const SQL_HANDLE_ENV: SQLSMALLINT = 1; +pub const SQL_HANDLE_DBC: SQLSMALLINT = 2; +pub const SQL_HANDLE_STMT: SQLSMALLINT = 3; +pub const SQL_HANDLE_DESC: SQLSMALLINT = 4; +pub const SQL_ATTR_OUTPUT_NTS: SQLINTEGER = 10001; +pub const SQL_ATTR_AUTO_IPD: SQLINTEGER = 10001; +pub const SQL_ATTR_METADATA_ID: SQLINTEGER = 10014; +pub const SQL_ATTR_APP_ROW_DESC: SQLINTEGER = 10010; +pub const SQL_ATTR_APP_PARAM_DESC: SQLINTEGER = 10011; +pub const SQL_ATTR_IMP_ROW_DESC: SQLINTEGER = 10012; +pub const SQL_ATTR_IMP_PARAM_DESC: SQLINTEGER = 10013; +pub const SQL_ATTR_CURSOR_SCROLLABLE: SQLINTEGER = -1; +pub const SQL_ATTR_CURSOR_SENSITIVITY: SQLINTEGER = -2; + +//Null handle used in place of parent handle when allocating HENV +pub const SQL_NULL_HANDLE: SQLHANDLE = 0 as SQLHANDLE; + +//Special length/indicator values + +//Return values from functions + + +//Values of NULLABLE field in descriptor +pub const SQL_NO_NULLS: SQLSMALLINT = 0; +pub const SQL_NULLABLE: SQLSMALLINT = 1; +pub const SQL_NULLABLE_UNKNOWN: SQLSMALLINT = 2; + +//Env attribute +pub const SQL_ATTR_ODBC_VERSION: SQLINTEGER = 200; +pub const SQL_ATTR_CONNECTION_POOLING: SQLINTEGER = 201; +pub const SQL_ATTR_CP_MATCH: SQLINTEGER = 202; + +//Values for SQL_ATTR_ODBC_VERSION +pub const SQL_OV_ODBC2: SQLINTEGER = 2; +pub const SQL_OV_ODBC3: SQLINTEGER = 3; +pub const SQL_OV_ODBC3_80: SQLINTEGER = 380; + +//Connection attributes +pub const SQL_ACCESS_MODE: SQLINTEGER = 101; +pub const SQL_AUTOCOMMIT: SQLINTEGER = 102; +pub const SQL_LOGIN_TIMEOUT: SQLINTEGER = 103; +pub const SQL_OPT_TRACE: SQLINTEGER = 104; +pub const SQL_OPT_TRACEFILE: SQLINTEGER = 105; +pub const SQL_TRANSLATE_DLL: SQLINTEGER = 106; +pub const SQL_TRANSLATE_OPTION: SQLINTEGER = 107; +pub const SQL_TXN_ISOLATION: SQLINTEGER = 108; +pub const SQL_CURRENT_QUALIFIER: SQLINTEGER = 109; +pub const SQL_ODBC_CURSORS: SQLINTEGER = 110; +pub const SQL_QUIET_MODE: SQLINTEGER = 111; +pub const SQL_PACKET_SIZE: SQLINTEGER = 112; + +//Connection attributes with new names +pub const SQL_ATTR_ACCESS_MODE: SQLINTEGER = SQL_ACCESS_MODE; +pub const SQL_ATTR_AUTOCOMMIT: SQLINTEGER = SQL_AUTOCOMMIT; +pub const SQL_ATTR_CONNECTION_TIMEOUT: SQLINTEGER = 113; +pub const SQL_ATTR_CURRENT_CATALOG: SQLINTEGER = SQL_CURRENT_QUALIFIER; +pub const SQL_ATTR_DISCONNECT_BEHAVIOR: SQLINTEGER = 114; +pub const SQL_ATTR_ENLIST_IN_DTC: SQLINTEGER = 1207; +pub const SQL_ATTR_ENLIST_IN_XA: SQLINTEGER = 1208; +pub const SQL_ATTR_LOGIN_TIMEOUT: SQLINTEGER = SQL_LOGIN_TIMEOUT; +pub const SQL_ATTR_ODBC_CURSORS: SQLINTEGER = SQL_ODBC_CURSORS; +pub const SQL_ATTR_PACKET_SIZE: SQLINTEGER = SQL_PACKET_SIZE; +pub const SQL_ATTR_QUIET_MODE: SQLINTEGER = SQL_QUIET_MODE; +pub const SQL_ATTR_TRACE: SQLINTEGER = SQL_OPT_TRACE; +pub const SQL_ATTR_TRACEFILE: SQLINTEGER = SQL_OPT_TRACEFILE; +pub const SQL_ATTR_TRANSLATE_LIB: SQLINTEGER = SQL_TRANSLATE_DLL; +pub const SQL_ATTR_TRANSLATE_OPTION: SQLINTEGER = SQL_TRANSLATE_OPTION; +pub const SQL_ATTR_TXN_ISOLATION: SQLINTEGER = SQL_TXN_ISOLATION; +pub const SQL_ATTR_CONNECTION_DEAD: SQLINTEGER = 1209; + +//Flags for null-terminated string +pub const SQL_NTS: SQLSMALLINT = -3; + +//Options for SQLDriverConnect +pub const SQL_DRIVER_NOPROMPT: SQLUSMALLINT = 0; +pub const SQL_DRIVER_COMPLETE: SQLUSMALLINT = 1; +pub const SQL_DRIVER_PROMPT: SQLUSMALLINT = 2; +pub const SQL_DRIVER_COMPLETE_REQUIRED: SQLUSMALLINT = 3; + +//Whether an attribute is a pointer or not +pub const SQL_IS_POINTER: SQLINTEGER = -4; +pub const SQL_IS_UINTEGER: SQLINTEGER = -5; +pub const SQL_IS_INTEGER: SQLINTEGER = -6; +pub const SQL_IS_USMALLINT: SQLINTEGER = -7; +pub const SQL_IS_SMALLINT: SQLINTEGER = -8; + +//FreeStmt options +pub const SQL_CLOSE: SQLUSMALLINT = 0; +pub const SQL_DROP: SQLUSMALLINT = 1; +pub const SQL_UNBIND: SQLUSMALLINT = 2; +pub const SQL_RESET_PARAMS: SQLUSMALLINT = 3; + +//C datatype to SQL datatype mapping +pub const SQL_UNKNOWN_TYPE: SQLSMALLINT = 0; +pub const SQL_CHAR: SQLSMALLINT = 1; +pub const SQL_NUMERIC: SQLSMALLINT = 2; +pub const SQL_DECIMAL: SQLSMALLINT = 3; +pub const SQL_INTEGER: SQLSMALLINT = 4; +pub const SQL_SMALLINT: SQLSMALLINT = 5; +pub const SQL_FLOAT: SQLSMALLINT = 6; +pub const SQL_REAL: SQLSMALLINT = 7; +pub const SQL_DOUBLE: SQLSMALLINT = 8; +pub const SQL_DATETIME: SQLSMALLINT = 9; +pub const SQL_VARCHAR: SQLSMALLINT = 12; + +pub const SQL_TYPE_DATE: SQLSMALLINT = 91; +pub const SQL_TYPE_TIME: SQLSMALLINT = 92; +pub const SQL_TYPE_TIMESTAMP: SQLSMALLINT = 93; + +pub const SQL_DATE: SQLSMALLINT = 9; +pub const SQL_INTERVAL: SQLSMALLINT = 10; +pub const SQL_TIME: SQLSMALLINT = 10; +pub const SQL_TIMESTAMP: SQLSMALLINT = 11; +pub const SQL_LONGVARCHAR: SQLSMALLINT = -1; +pub const SQL_BINARY: SQLSMALLINT = -2; +pub const SQL_VARBINARY: SQLSMALLINT = -3; +pub const SQL_LONGVARBINARY: SQLSMALLINT = -4; +pub const SQL_BIGINT: SQLSMALLINT = -5; +pub const SQL_TINYINT: SQLSMALLINT = -6; +pub const SQL_BIT: SQLSMALLINT = -7; +pub const SQL_GUID: SQLSMALLINT = -11; + +pub const SQL_C_CHAR: SQLSMALLINT = SQL_CHAR; +pub const SQL_C_LONG: SQLSMALLINT = SQL_INTEGER; +pub const SQL_C_SHORT: SQLSMALLINT = SQL_SMALLINT; +pub const SQL_C_FLOAT: SQLSMALLINT = SQL_REAL; +pub const SQL_C_DOUBLE: SQLSMALLINT = SQL_DOUBLE; +pub const SQL_C_NUMERIC: SQLSMALLINT = SQL_NUMERIC; +pub const SQL_C_DEFAULT: SQLSMALLINT = 99; + +pub const SQL_SIGNED_OFFSET: SQLSMALLINT = -20; +pub const SQL_UNSIGNED_OFFSET: SQLSMALLINT = -22; + +pub const SQL_C_DATE: SQLSMALLINT = SQL_DATE; +pub const SQL_C_TIME: SQLSMALLINT = SQL_TIME; +pub const SQL_C_TIMESTAMP: SQLSMALLINT = SQL_TIMESTAMP; + +pub const SQL_C_TYPE_DATE: SQLSMALLINT = SQL_TYPE_DATE; +pub const SQL_C_TYPE_TIME: SQLSMALLINT = SQL_TYPE_TIME; +pub const SQL_C_TYPE_TIMESTAMP: SQLSMALLINT = SQL_TYPE_TIMESTAMP; + +pub const SQL_C_BINARY: SQLSMALLINT = SQL_BINARY; +pub const SQL_C_BIT: SQLSMALLINT = SQL_BIT; +pub const SQL_C_SBIGINT: SQLSMALLINT = SQL_BIGINT + SQL_SIGNED_OFFSET; +pub const SQL_C_UBIGINT: SQLSMALLINT = SQL_BIGINT + SQL_UNSIGNED_OFFSET; +pub const SQL_C_TINYINT: SQLSMALLINT = SQL_TINYINT; +pub const SQL_C_SLONG: SQLSMALLINT = SQL_C_LONG + SQL_SIGNED_OFFSET; +pub const SQL_C_SSHORT: SQLSMALLINT = SQL_C_SHORT + SQL_SIGNED_OFFSET; +pub const SQL_C_STINYINT: SQLSMALLINT = SQL_TINYINT + SQL_SIGNED_OFFSET; +pub const SQL_C_ULONG: SQLSMALLINT = SQL_C_LONG + SQL_UNSIGNED_OFFSET; +pub const SQL_C_USHORT: SQLSMALLINT = SQL_C_SHORT + SQL_UNSIGNED_OFFSET; +pub const SQL_C_UTINYINT: SQLSMALLINT = SQL_TINYINT + SQL_UNSIGNED_OFFSET; + +pub const SQL_C_GUID: SQLSMALLINT = SQL_GUID; + +pub const SQL_WCHAR: SQLSMALLINT = -8; +pub const SQL_WVARCHAR: SQLSMALLINT = -9; +pub const SQL_WLONGVARCHAR: SQLSMALLINT = -10; +pub const SQL_C_WCHAR: SQLSMALLINT = SQL_WCHAR; + +pub const SQL_TYPE_NULL: SQLSMALLINT = 0; + diff --git a/third_party/rust/winapi-0.2.8/src/sqltypes.rs b/third_party/rust/winapi-0.2.8/src/sqltypes.rs new file mode 100644 index 0000000000..a5ded3afcc --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/sqltypes.rs @@ -0,0 +1,130 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +pub type SQLCHAR = ::c_uchar; +pub type SQLSCHAR = ::c_schar; +pub type SQLDATE = ::c_uchar; +pub type SQLDECIMAL = ::c_uchar; +pub type SQLDOUBLE = ::c_double; +pub type SQLFLOAT = ::c_double; +pub type SQLINTEGER = ::c_long; +pub type SQLUINTEGER = ::c_ulong; +#[cfg(target_arch = "x86_64")] +pub type SQLLEN = ::INT64; +#[cfg(target_arch = "x86_64")] +pub type SQLULEN = ::UINT64; +#[cfg(target_arch = "x86_64")] +pub type SQLSETPOSIROW = ::UINT64; +#[cfg(target_arch = "x86")] +pub type SQLLEN = SQLINTEGER; +#[cfg(target_arch = "x86")] +pub type SQLULEN = SQLUINTEGER; +#[cfg(target_arch = "x86")] +pub type SQLSETPOSIROW = SQLUSMALLINT; +pub type SQLROWCOUNT = SQLULEN; +pub type SQLROWSETSIZE = SQLULEN; +pub type SQLTRANSID = SQLULEN; +pub type SQLROWOFFSET = SQLLEN; +pub type SQLNUMERIC = ::c_uchar; +pub type SQLPOINTER = *mut ::c_void; +pub type SQLREAL = ::c_float; +pub type SQLSMALLINT = ::c_short; +pub type SQLUSMALLINT = ::c_ushort; +pub type SQLTIME = ::c_uchar; +pub type SQLTIMESTAMP = ::c_uchar; +pub type SQLVARCHAR = ::c_uchar; +pub type SQLRETURN = SQLSMALLINT; +pub type SQLHANDLE = *mut ::c_void; +pub type SQLHENV = SQLHANDLE; +pub type SQLHDBC = SQLHANDLE; +pub type SQLHSTMT = SQLHANDLE; +pub type SQLHDESC = SQLHANDLE; +//pub type UCHAR = ::c_uchar; +pub type SCHAR = ::c_schar; +//pub type SQLSCHAR = SCHAR; +pub type SDWORD = ::c_long; +pub type SWORD = ::c_short; +pub type UDWORD = ::c_ulong; +//pub type UWORD = ::c_ushort; +//#[cfg(target_arch = "x86")] +//pub type SQLUINTEGER = ::UDWORD; +pub type SLONG = ::c_long; +pub type SSHORT = ::c_short; +//pub type ULONG = ::c_ulong; +//pub type USHORT = ::c_ushort; +pub type SDOUBLE = ::c_double; +pub type LDOUBLE = ::c_double; +pub type SFLOAT = ::c_float; +pub type PTR = *mut ::c_void; +pub type HENV = *mut ::c_void; +pub type HDBC = *mut ::c_void; +pub type HSTMT = *mut ::c_void; +pub type RETCODE = ::c_short; +pub type SQLHWND = ::HWND; +STRUCT!{struct DATE_STRUCT { + year: SQLSMALLINT, + month: SQLUSMALLINT, + day: SQLUSMALLINT, +}} +pub type SQL_DATE_STRUCT = DATE_STRUCT; +STRUCT!{struct TIME_STRUCT { + hour: SQLUSMALLINT, + minute: SQLUSMALLINT, + second: SQLUSMALLINT, +}} +pub type SQL_TIME_STRUCT = TIME_STRUCT; +STRUCT!{struct TIMESTAMP_STRUCT { + year: SQLSMALLINT, + month: SQLUSMALLINT, + day: SQLUSMALLINT, + hour: SQLUSMALLINT, + minute: SQLUSMALLINT, + second: SQLUSMALLINT, + fraction: SQLUINTEGER, +}} +pub type SQL_TIMESTAMP_STRUCT = TIMESTAMP_STRUCT; +ENUM!{enum SQLINTERVAL { + SQL_IS_YEAR = 1, + SQL_IS_MONTH = 2, + SQL_IS_DAY = 3, + SQL_IS_HOUR = 4, + SQL_IS_MINUTE = 5, + SQL_IS_SECOND = 6, + SQL_IS_YEAR_TO_MONTH = 7, + SQL_IS_DAY_TO_HOUR = 8, + SQL_IS_DAY_TO_MINUTE = 9, + SQL_IS_DAY_TO_SECOND = 10, + SQL_IS_HOUR_TO_MINUTE = 11, + SQL_IS_HOUR_TO_SECOND = 12, + SQL_IS_MINUTE_TO_SECOND = 13, +}} +STRUCT!{struct SQL_YEAR_MONTH_STRUCT { + year: SQLUINTEGER, + month: SQLUINTEGER, +}} +STRUCT!{struct SQL_DAY_SECOND_STRUCT { + day: SQLUINTEGER, + hour: SQLUINTEGER, + minute: SQLUINTEGER, + second: SQLUINTEGER, + fraction: SQLUINTEGER, +}} +STRUCT!{struct SQL_INTERVAL_STRUCT { + interval_type: SQLINTERVAL, + interval_sign: SQLSMALLINT, + intval: [u32; 5], +}} +UNION!{SQL_INTERVAL_STRUCT, intval, year_month, year_month_mut, SQL_YEAR_MONTH_STRUCT} +UNION!{SQL_INTERVAL_STRUCT, intval, day_second, day_second_mut, SQL_DAY_SECOND_STRUCT} +pub type ODBCINT64 = ::__int64; +pub type SQLBIGINT = ODBCINT64; +pub type SQLUBIGINT = ::__uint64; +pub const SQL_MAX_NUMERIC_LEN: usize = 16; +STRUCT!{struct SQL_NUMERIC_STRUCT { + precision: SQLCHAR, + scale: SQLSCHAR, + sign: SQLCHAR, + val: [SQLCHAR; SQL_MAX_NUMERIC_LEN], +}} +pub type SQLGUID = ::GUID; +pub type BOOKMARK = SQLULEN; +pub type SQLWCHAR = ::wchar_t; diff --git a/third_party/rust/winapi-0.2.8/src/sspi.rs b/third_party/rust/winapi-0.2.8/src/sspi.rs new file mode 100644 index 0000000000..688fe70c74 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/sspi.rs @@ -0,0 +1,657 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Security Support Provider Interface Prototypes and structure definitions +pub type SEC_WCHAR = ::WCHAR; +pub type SEC_CHAR = ::CHAR; +pub type SECURITY_STATUS = ::LONG; +STRUCT!{struct SecHandle { + dwLower: ::ULONG_PTR, + dwUpper: ::ULONG_PTR, +}} +pub type PSecHandle = *mut SecHandle; +pub const SEC_DELETED_HANDLE: ::ULONG_PTR = 2; +pub type CredHandle = SecHandle; +pub type PCredHandle = PSecHandle; +pub type CtxtHandle = SecHandle; +pub type PCtxtHandle = PSecHandle; +pub type SECURITY_INTEGER = ::LARGE_INTEGER; +pub type PSECURITY_INTEGER = *mut ::LARGE_INTEGER; +pub type TimeStamp = SECURITY_INTEGER; +pub type PTimeStamp = *mut SECURITY_INTEGER; +STRUCT!{struct SECURITY_STRING { + Length: ::c_ushort, + MaximumLength: ::c_ushort, + Buffer: *mut ::c_ushort, +}} +pub type PSECURITY_STRING = *mut SECURITY_STRING; +STRUCT!{struct SecPkgInfoW { + fCapabilities: ::c_ulong, + wVersion: ::c_ushort, + wRPCID: ::c_ushort, + cbMaxToken: ::c_ulong, + Name: *mut SEC_WCHAR, + Comment: *mut SEC_WCHAR, +}} +pub type PSecPkgInfoW = *mut SecPkgInfoW; +STRUCT!{struct SecPkgInfoA { + fCapabilities: ::c_ulong, + wVersion: ::c_ushort, + wRPCID: ::c_ushort, + cbMaxToken: ::c_ulong, + Name: *mut SEC_CHAR, + Comment: *mut SEC_CHAR, +}} +pub type PSecPkgInfoA = *mut SecPkgInfoA; +pub const SECPKG_FLAG_INTEGRITY: ::c_ulong = 0x00000001; +pub const SECPKG_FLAG_PRIVACY: ::c_ulong = 0x00000002; +pub const SECPKG_FLAG_TOKEN_ONLY: ::c_ulong = 0x00000004; +pub const SECPKG_FLAG_DATAGRAM: ::c_ulong = 0x00000008; +pub const SECPKG_FLAG_CONNECTION: ::c_ulong = 0x00000010; +pub const SECPKG_FLAG_MULTI_REQUIRED: ::c_ulong = 0x00000020; +pub const SECPKG_FLAG_CLIENT_ONLY: ::c_ulong = 0x00000040; +pub const SECPKG_FLAG_EXTENDED_ERROR: ::c_ulong = 0x00000080; +pub const SECPKG_FLAG_IMPERSONATION: ::c_ulong = 0x00000100; +pub const SECPKG_FLAG_ACCEPT_WIN32_NAME: ::c_ulong = 0x00000200; +pub const SECPKG_FLAG_STREAM: ::c_ulong = 0x00000400; +pub const SECPKG_FLAG_NEGOTIABLE: ::c_ulong = 0x00000800; +pub const SECPKG_FLAG_GSS_COMPATIBLE: ::c_ulong = 0x00001000; +pub const SECPKG_FLAG_LOGON: ::c_ulong = 0x00002000; +pub const SECPKG_FLAG_ASCII_BUFFERS: ::c_ulong = 0x00004000; +pub const SECPKG_FLAG_FRAGMENT: ::c_ulong = 0x00008000; +pub const SECPKG_FLAG_MUTUAL_AUTH: ::c_ulong = 0x00010000; +pub const SECPKG_FLAG_DELEGATION: ::c_ulong = 0x00020000; +pub const SECPKG_FLAG_READONLY_WITH_CHECKSUM: ::c_ulong = 0x00040000; +pub const SECPKG_FLAG_RESTRICTED_TOKENS: ::c_ulong = 0x00080000; +pub const SECPKG_FLAG_NEGO_EXTENDER: ::c_ulong = 0x00100000; +pub const SECPKG_FLAG_NEGOTIABLE2: ::c_ulong = 0x00200000; +pub const SECPKG_FLAG_APPCONTAINER_PASSTHROUGH: ::c_ulong = 0x00400000; +pub const SECPKG_FLAG_APPCONTAINER_CHECKS: ::c_ulong = 0x00800000; +pub const SECPKG_ID_NONE: ::c_ulong = 0xFFFF; +pub const SECPKG_CALLFLAGS_APPCONTAINER: ::c_ulong = 0x00000001; +pub const SECPKG_CALLFLAGS_APPCONTAINER_AUTHCAPABLE: ::c_ulong = 0x00000002; +pub const SECPKG_CALLFLAGS_FORCE_SUPPLIED: ::c_ulong = 0x00000004; +STRUCT!{struct SecBuffer { + cbBuffer: ::c_ulong, + BufferType: ::c_ulong, + pvBuffer: *mut ::c_void, +}} +pub type PSecBuffer = *mut SecBuffer; +STRUCT!{struct SecBufferDesc { + ulVersion: ::c_ulong, + cBuffers: ::c_ulong, + pBuffers: PSecBuffer, +}} +pub type PSecBufferDesc = *mut SecBufferDesc; +pub const SECBUFFER_VERSION: ::c_ulong = 0; +pub const SECBUFFER_EMPTY: ::c_ulong = 0; +pub const SECBUFFER_DATA: ::c_ulong = 1; +pub const SECBUFFER_TOKEN: ::c_ulong = 2; +pub const SECBUFFER_PKG_PARAMS: ::c_ulong = 3; +pub const SECBUFFER_MISSING: ::c_ulong = 4; +pub const SECBUFFER_EXTRA: ::c_ulong = 5; +pub const SECBUFFER_STREAM_TRAILER: ::c_ulong = 6; +pub const SECBUFFER_STREAM_HEADER: ::c_ulong = 7; +pub const SECBUFFER_NEGOTIATION_INFO: ::c_ulong = 8; +pub const SECBUFFER_PADDING: ::c_ulong = 9; +pub const SECBUFFER_STREAM: ::c_ulong = 10; +pub const SECBUFFER_MECHLIST: ::c_ulong = 11; +pub const SECBUFFER_MECHLIST_SIGNATURE: ::c_ulong = 12; +pub const SECBUFFER_TARGET: ::c_ulong = 13; +pub const SECBUFFER_CHANNEL_BINDINGS: ::c_ulong = 14; +pub const SECBUFFER_CHANGE_PASS_RESPONSE: ::c_ulong = 15; +pub const SECBUFFER_TARGET_HOST: ::c_ulong = 16; +pub const SECBUFFER_ALERT: ::c_ulong = 17; +pub const SECBUFFER_APPLICATION_PROTOCOLS: ::c_ulong = 18; +pub const SECBUFFER_ATTRMASK: ::c_ulong = 0xF0000000; +pub const SECBUFFER_READONLY: ::c_ulong = 0x80000000; +pub const SECBUFFER_READONLY_WITH_CHECKSUM: ::c_ulong = 0x10000000; +pub const SECBUFFER_RESERVED: ::c_ulong = 0x60000000; +STRUCT!{struct SEC_NEGOTIATION_INFO { + Size: ::c_ulong, + NameLength: ::c_ulong, + Name: *mut SEC_WCHAR, + Reserved: *mut ::c_void, +}} +pub type PSEC_NEGOTIATION_INFO = *mut SEC_NEGOTIATION_INFO; +STRUCT!{struct SEC_CHANNEL_BINDINGS { + dwInitiatorAddrType: ::c_ulong, + cbInitiatorLength: ::c_ulong, + dwInitiatorOffset: ::c_ulong, + dwAcceptorAddrType: ::c_ulong, + cbAcceptorLength: ::c_ulong, + dwAcceptorOffset: ::c_ulong, + cbApplicationDataLength: ::c_ulong, + dwApplicationDataOffset: ::c_ulong, +}} +pub type PSEC_CHANNEL_BINDINGS = *mut SEC_CHANNEL_BINDINGS; +ENUM!{enum SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT { + SecApplicationProtocolNegotiationExt_None, + SecApplicationProtocolNegotiationExt_NPN, + SecApplicationProtocolNegotiationExt_ALPN, +}} +pub type PSEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT = *mut SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT; +STRUCT!{struct SEC_APPLICATION_PROTOCOL_LIST { + ProtoNegoExt: ::SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT, + ProtocolListSize: ::c_ushort, + ProtocolList: [::c_uchar; 0], +}} +STRUCT!{struct SEC_APPLICATION_PROTOCOLS { + ProtocolListsSize: ::c_ulong, + ProtocolLists: [SEC_APPLICATION_PROTOCOL_LIST; 0], +}} +pub type PSEC_APPLICATION_PROTOCOLS = *mut SEC_APPLICATION_PROTOCOLS; +pub const SECURITY_NATIVE_DREP: ::c_ulong = 0x00000010; +pub const SECURITY_NETWORK_DREP: ::c_ulong = 0x00000000; +pub const SECPKG_CRED_INBOUND: ::c_ulong = 0x00000001; +pub const SECPKG_CRED_OUTBOUND: ::c_ulong = 0x00000002; +pub const SECPKG_CRED_BOTH: ::c_ulong = 0x00000003; +pub const SECPKG_CRED_DEFAULT: ::c_ulong = 0x00000004; +pub const SECPKG_CRED_RESERVED: ::c_ulong = 0xF0000000; +pub const SECPKG_CRED_AUTOLOGON_RESTRICTED: ::c_ulong = 0x00000010; +pub const SECPKG_CRED_PROCESS_POLICY_ONLY: ::c_ulong = 0x00000020; +pub const ISC_REQ_DELEGATE: ::c_ulong = 0x00000001; +pub const ISC_REQ_MUTUAL_AUTH: ::c_ulong = 0x00000002; +pub const ISC_REQ_REPLAY_DETECT: ::c_ulong = 0x00000004; +pub const ISC_REQ_SEQUENCE_DETECT: ::c_ulong = 0x00000008; +pub const ISC_REQ_CONFIDENTIALITY: ::c_ulong = 0x00000010; +pub const ISC_REQ_USE_SESSION_KEY: ::c_ulong = 0x00000020; +pub const ISC_REQ_PROMPT_FOR_CREDS: ::c_ulong = 0x00000040; +pub const ISC_REQ_USE_SUPPLIED_CREDS: ::c_ulong = 0x00000080; +pub const ISC_REQ_ALLOCATE_MEMORY: ::c_ulong = 0x00000100; +pub const ISC_REQ_USE_DCE_STYLE: ::c_ulong = 0x00000200; +pub const ISC_REQ_DATAGRAM: ::c_ulong = 0x00000400; +pub const ISC_REQ_CONNECTION: ::c_ulong = 0x00000800; +pub const ISC_REQ_CALL_LEVEL: ::c_ulong = 0x00001000; +pub const ISC_REQ_FRAGMENT_SUPPLIED: ::c_ulong = 0x00002000; +pub const ISC_REQ_EXTENDED_ERROR: ::c_ulong = 0x00004000; +pub const ISC_REQ_STREAM: ::c_ulong = 0x00008000; +pub const ISC_REQ_INTEGRITY: ::c_ulong = 0x00010000; +pub const ISC_REQ_IDENTIFY: ::c_ulong = 0x00020000; +pub const ISC_REQ_NULL_SESSION: ::c_ulong = 0x00040000; +pub const ISC_REQ_MANUAL_CRED_VALIDATION: ::c_ulong = 0x00080000; +pub const ISC_REQ_RESERVED1: ::c_ulong = 0x00100000; +pub const ISC_REQ_FRAGMENT_TO_FIT: ::c_ulong = 0x00200000; +pub const ISC_REQ_FORWARD_CREDENTIALS: ::c_ulong = 0x00400000; +pub const ISC_REQ_NO_INTEGRITY: ::c_ulong = 0x00800000; +pub const ISC_REQ_USE_HTTP_STYLE: ::c_ulong = 0x01000000; +pub const ISC_REQ_UNVERIFIED_TARGET_NAME: ::c_ulong = 0x20000000; +pub const ISC_REQ_CONFIDENTIALITY_ONLY: ::c_ulong = 0x40000000; +pub const ISC_RET_DELEGATE: ::c_ulong = 0x00000001; +pub const ISC_RET_MUTUAL_AUTH: ::c_ulong = 0x00000002; +pub const ISC_RET_REPLAY_DETECT: ::c_ulong = 0x00000004; +pub const ISC_RET_SEQUENCE_DETECT: ::c_ulong = 0x00000008; +pub const ISC_RET_CONFIDENTIALITY: ::c_ulong = 0x00000010; +pub const ISC_RET_USE_SESSION_KEY: ::c_ulong = 0x00000020; +pub const ISC_RET_USED_COLLECTED_CREDS: ::c_ulong = 0x00000040; +pub const ISC_RET_USED_SUPPLIED_CREDS: ::c_ulong = 0x00000080; +pub const ISC_RET_ALLOCATED_MEMORY: ::c_ulong = 0x00000100; +pub const ISC_RET_USED_DCE_STYLE: ::c_ulong = 0x00000200; +pub const ISC_RET_DATAGRAM: ::c_ulong = 0x00000400; +pub const ISC_RET_CONNECTION: ::c_ulong = 0x00000800; +pub const ISC_RET_INTERMEDIATE_RETURN: ::c_ulong = 0x00001000; +pub const ISC_RET_CALL_LEVEL: ::c_ulong = 0x00002000; +pub const ISC_RET_EXTENDED_ERROR: ::c_ulong = 0x00004000; +pub const ISC_RET_STREAM: ::c_ulong = 0x00008000; +pub const ISC_RET_INTEGRITY: ::c_ulong = 0x00010000; +pub const ISC_RET_IDENTIFY: ::c_ulong = 0x00020000; +pub const ISC_RET_NULL_SESSION: ::c_ulong = 0x00040000; +pub const ISC_RET_MANUAL_CRED_VALIDATION: ::c_ulong = 0x00080000; +pub const ISC_RET_RESERVED1: ::c_ulong = 0x00100000; +pub const ISC_RET_FRAGMENT_ONLY: ::c_ulong = 0x00200000; +pub const ISC_RET_FORWARD_CREDENTIALS: ::c_ulong = 0x00400000; +pub const ISC_RET_USED_HTTP_STYLE: ::c_ulong = 0x01000000; +pub const ISC_RET_NO_ADDITIONAL_TOKEN: ::c_ulong = 0x02000000; +pub const ISC_RET_REAUTHENTICATION: ::c_ulong = 0x08000000; +pub const ISC_RET_CONFIDENTIALITY_ONLY: ::c_ulong = 0x40000000; +pub const ASC_REQ_DELEGATE: ::c_ulong = 0x00000001; +pub const ASC_REQ_MUTUAL_AUTH: ::c_ulong = 0x00000002; +pub const ASC_REQ_REPLAY_DETECT: ::c_ulong = 0x00000004; +pub const ASC_REQ_SEQUENCE_DETECT: ::c_ulong = 0x00000008; +pub const ASC_REQ_CONFIDENTIALITY: ::c_ulong = 0x00000010; +pub const ASC_REQ_USE_SESSION_KEY: ::c_ulong = 0x00000020; +pub const ASC_REQ_SESSION_TICKET: ::c_ulong = 0x00000040; +pub const ASC_REQ_ALLOCATE_MEMORY: ::c_ulong = 0x00000100; +pub const ASC_REQ_USE_DCE_STYLE: ::c_ulong = 0x00000200; +pub const ASC_REQ_DATAGRAM: ::c_ulong = 0x00000400; +pub const ASC_REQ_CONNECTION: ::c_ulong = 0x00000800; +pub const ASC_REQ_CALL_LEVEL: ::c_ulong = 0x00001000; +pub const ASC_REQ_EXTENDED_ERROR: ::c_ulong = 0x00008000; +pub const ASC_REQ_STREAM: ::c_ulong = 0x00010000; +pub const ASC_REQ_INTEGRITY: ::c_ulong = 0x00020000; +pub const ASC_REQ_LICENSING: ::c_ulong = 0x00040000; +pub const ASC_REQ_IDENTIFY: ::c_ulong = 0x00080000; +pub const ASC_REQ_ALLOW_NULL_SESSION: ::c_ulong = 0x00100000; +pub const ASC_REQ_ALLOW_NON_USER_LOGONS: ::c_ulong = 0x00200000; +pub const ASC_REQ_ALLOW_CONTEXT_REPLAY: ::c_ulong = 0x00400000; +pub const ASC_REQ_FRAGMENT_TO_FIT: ::c_ulong = 0x00800000; +pub const ASC_REQ_FRAGMENT_SUPPLIED: ::c_ulong = 0x00002000; +pub const ASC_REQ_NO_TOKEN: ::c_ulong = 0x01000000; +pub const ASC_REQ_PROXY_BINDINGS: ::c_ulong = 0x04000000; +pub const ASC_REQ_ALLOW_MISSING_BINDINGS: ::c_ulong = 0x10000000; +pub const ASC_RET_DELEGATE: ::c_ulong = 0x00000001; +pub const ASC_RET_MUTUAL_AUTH: ::c_ulong = 0x00000002; +pub const ASC_RET_REPLAY_DETECT: ::c_ulong = 0x00000004; +pub const ASC_RET_SEQUENCE_DETECT: ::c_ulong = 0x00000008; +pub const ASC_RET_CONFIDENTIALITY: ::c_ulong = 0x00000010; +pub const ASC_RET_USE_SESSION_KEY: ::c_ulong = 0x00000020; +pub const ASC_RET_SESSION_TICKET: ::c_ulong = 0x00000040; +pub const ASC_RET_ALLOCATED_MEMORY: ::c_ulong = 0x00000100; +pub const ASC_RET_USED_DCE_STYLE: ::c_ulong = 0x00000200; +pub const ASC_RET_DATAGRAM: ::c_ulong = 0x00000400; +pub const ASC_RET_CONNECTION: ::c_ulong = 0x00000800; +pub const ASC_RET_CALL_LEVEL: ::c_ulong = 0x00002000; +pub const ASC_RET_THIRD_LEG_FAILED: ::c_ulong = 0x00004000; +pub const ASC_RET_EXTENDED_ERROR: ::c_ulong = 0x00008000; +pub const ASC_RET_STREAM: ::c_ulong = 0x00010000; +pub const ASC_RET_INTEGRITY: ::c_ulong = 0x00020000; +pub const ASC_RET_LICENSING: ::c_ulong = 0x00040000; +pub const ASC_RET_IDENTIFY: ::c_ulong = 0x00080000; +pub const ASC_RET_NULL_SESSION: ::c_ulong = 0x00100000; +pub const ASC_RET_ALLOW_NON_USER_LOGONS: ::c_ulong = 0x00200000; +pub const ASC_RET_ALLOW_CONTEXT_REPLAY: ::c_ulong = 0x00400000; +pub const ASC_RET_FRAGMENT_ONLY: ::c_ulong = 0x00800000; +pub const ASC_RET_NO_TOKEN: ::c_ulong = 0x01000000; +pub const ASC_RET_NO_ADDITIONAL_TOKEN: ::c_ulong = 0x02000000; +pub const SECPKG_CRED_ATTR_NAMES: ::c_ulong = 1; +pub const SECPKG_CRED_ATTR_SSI_PROVIDER: ::c_ulong = 2; +pub const SECPKG_CRED_ATTR_KDC_PROXY_SETTINGS: ::c_ulong = 3; +pub const SECPKG_CRED_ATTR_CERT: ::c_ulong = 4; +STRUCT!{struct SecPkgCredentials_NamesW { + sUserName: *mut SEC_WCHAR, +}} +pub type PSecPkgCredentials_NamesW = *mut SecPkgCredentials_NamesW; +STRUCT!{struct SecPkgCredentials_NamesA { + sUserName: *mut SEC_CHAR, +}} +pub type PSecPkgCredentials_NamesA = *mut SecPkgCredentials_NamesA; +STRUCT!{struct SecPkgCredentials_SSIProviderW { + sProviderName: *mut SEC_WCHAR, + ProviderInfoLength: ::c_ulong, + ProviderInfo: *mut ::c_char, +}} +pub type PSecPkgCredentials_SSIProviderW = *mut SecPkgCredentials_SSIProviderW; +STRUCT!{struct SecPkgCredentials_SSIProviderA { + sProviderName: *mut SEC_CHAR, + ProviderInfoLength: ::c_ulong, + ProviderInfo: *mut ::c_char, +}} +pub type PSecPkgCredentials_SSIProviderA = *mut SecPkgCredentials_SSIProviderA; +pub const KDC_PROXY_SETTINGS_V1: ::ULONG = 1; +pub const KDC_PROXY_SETTINGS_FLAGS_FORCEPROXY: ::ULONG = 0x1; +STRUCT!{struct SecPkgCredentials_KdcProxySettingsW { + Version: ::ULONG, + Flags: ::ULONG, + ProxyServerOffset: ::USHORT, + ProxyServerLength: ::USHORT, + ClientTlsCredOffset: ::USHORT, + ClientTlsCredLength: ::USHORT, +}} +pub type PSecPkgCredentials_KdcProxySettingsW = *mut SecPkgCredentials_KdcProxySettingsW; +STRUCT!{struct SecPkgCredentials_Cert { + EncodedCertSize: ::c_ulong, + EncodedCert: *mut ::c_uchar, +}} +pub type PSecPkgCredentials_Cert = *mut SecPkgCredentials_Cert; +pub const SECPKG_ATTR_SIZES: ::c_ulong = 0; +pub const SECPKG_ATTR_NAMES: ::c_ulong = 1; +pub const SECPKG_ATTR_LIFESPAN: ::c_ulong = 2; +pub const SECPKG_ATTR_DCE_INFO: ::c_ulong = 3; +pub const SECPKG_ATTR_STREAM_SIZES: ::c_ulong = 4; +pub const SECPKG_ATTR_KEY_INFO: ::c_ulong = 5; +pub const SECPKG_ATTR_AUTHORITY: ::c_ulong = 6; +pub const SECPKG_ATTR_PROTO_INFO: ::c_ulong = 7; +pub const SECPKG_ATTR_PASSWORD_EXPIRY: ::c_ulong = 8; +pub const SECPKG_ATTR_SESSION_KEY: ::c_ulong = 9; +pub const SECPKG_ATTR_PACKAGE_INFO: ::c_ulong = 10; +pub const SECPKG_ATTR_USER_FLAGS: ::c_ulong = 11; +pub const SECPKG_ATTR_NEGOTIATION_INFO: ::c_ulong = 12; +pub const SECPKG_ATTR_NATIVE_NAMES: ::c_ulong = 13; +pub const SECPKG_ATTR_FLAGS: ::c_ulong = 14; +pub const SECPKG_ATTR_USE_VALIDATED: ::c_ulong = 15; +pub const SECPKG_ATTR_CREDENTIAL_NAME: ::c_ulong = 16; +pub const SECPKG_ATTR_TARGET_INFORMATION: ::c_ulong = 17; +pub const SECPKG_ATTR_ACCESS_TOKEN: ::c_ulong = 18; +pub const SECPKG_ATTR_TARGET: ::c_ulong = 19; +pub const SECPKG_ATTR_AUTHENTICATION_ID: ::c_ulong = 20; +pub const SECPKG_ATTR_LOGOFF_TIME: ::c_ulong = 21; +pub const SECPKG_ATTR_NEGO_KEYS: ::c_ulong = 22; +pub const SECPKG_ATTR_PROMPTING_NEEDED: ::c_ulong = 24; +pub const SECPKG_ATTR_UNIQUE_BINDINGS: ::c_ulong = 25; +pub const SECPKG_ATTR_ENDPOINT_BINDINGS: ::c_ulong = 26; +pub const SECPKG_ATTR_CLIENT_SPECIFIED_TARGET: ::c_ulong = 27; +pub const SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS: ::c_ulong = 30; +pub const SECPKG_ATTR_NEGO_PKG_INFO: ::c_ulong = 31; +pub const SECPKG_ATTR_NEGO_STATUS: ::c_ulong = 32; +pub const SECPKG_ATTR_CONTEXT_DELETED: ::c_ulong = 33; +pub const SECPKG_ATTR_DTLS_MTU: ::c_ulong = 34; +pub const SECPKG_ATTR_DATAGRAM_SIZES: ::c_ulong = SECPKG_ATTR_STREAM_SIZES; +pub const SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES: ::c_ulong = 128; +pub const SECPKG_ATTR_APPLICATION_PROTOCOL: ::c_ulong = 35; +STRUCT!{struct SecPkgContext_SubjectAttributes { + AttributeInfo: *mut ::c_void, +}} +pub type PSecPkgContext_SubjectAttributes = *mut SecPkgContext_SubjectAttributes; +pub const SECPKG_ATTR_NEGO_INFO_FLAG_NO_KERBEROS: ::c_ulong = 0x1; +pub const SECPKG_ATTR_NEGO_INFO_FLAG_NO_NTLM: ::c_ulong = 0x2; +ENUM!{enum SECPKG_CRED_CLASS { + SecPkgCredClass_None = 0, + SecPkgCredClass_Ephemeral = 10, + SecPkgCredClass_PersistedGeneric = 20, + SecPkgCredClass_PersistedSpecific = 30, + SecPkgCredClass_Explicit = 40, +}} +pub type PSECPKG_CRED_CLASS = *mut SECPKG_CRED_CLASS; +STRUCT!{struct SecPkgContext_CredInfo { + CredClass: SECPKG_CRED_CLASS, + IsPromptingNeeded: ::c_ulong, +}} +pub type PSecPkgContext_CredInfo = *mut SecPkgContext_CredInfo; +STRUCT!{struct SecPkgContext_NegoPackageInfo { + PackageMask: ::c_ulong, +}} +pub type PSecPkgContext_NegoPackageInfo = *mut SecPkgContext_NegoPackageInfo; +STRUCT!{struct SecPkgContext_NegoStatus { + LastStatus: ::c_ulong, +}} +pub type PSecPkgContext_NegoStatus = *mut SecPkgContext_NegoStatus; +STRUCT!{struct SecPkgContext_Sizes { + cbMaxToken: ::c_ulong, + cbMaxSignature: ::c_ulong, + cbBlockSize: ::c_ulong, + cbSecurityTrailer: ::c_ulong, +}} +pub type PSecPkgContext_Sizes = *mut SecPkgContext_Sizes; +STRUCT!{struct SecPkgContext_StreamSizes { + cbHeader: ::c_ulong, + cbTrailer: ::c_ulong, + cbMaximumMessage: ::c_ulong, + cBuffers: ::c_ulong, + cbBlockSize: ::c_ulong, +}} +pub type PSecPkgContext_StreamSizes = *mut SecPkgContext_StreamSizes; +pub type SecPkgContext_DatagramSizes = SecPkgContext_StreamSizes; +pub type PSecPkgContext_DatagramSizes = PSecPkgContext_StreamSizes; +STRUCT!{struct SecPkgContext_NamesW { + sUserName: *mut SEC_WCHAR, +}} +pub type PSecPkgContext_NamesW = *mut SecPkgContext_NamesW; +ENUM!{enum SECPKG_ATTR_LCT_STATUS { + SecPkgAttrLastClientTokenYes, + SecPkgAttrLastClientTokenNo, + SecPkgAttrLastClientTokenMaybe, +}} +pub type PSECPKG_ATTR_LCT_STATUS = *mut SECPKG_ATTR_LCT_STATUS; +STRUCT!{struct SecPkgContext_LastClientTokenStatus { + LastClientTokenStatus: SECPKG_ATTR_LCT_STATUS, +}} +pub type PSecPkgContext_LastClientTokenStatus = *mut SecPkgContext_LastClientTokenStatus; +STRUCT!{struct SecPkgContext_NamesA { + sUserName: *mut SEC_CHAR, +}} +pub type PSecPkgContext_NamesA = *mut SecPkgContext_NamesA; +STRUCT!{struct SecPkgContext_Lifespan { + tsStart: TimeStamp, + tsExpiry: TimeStamp, +}} +pub type PSecPkgContext_Lifespan = *mut SecPkgContext_Lifespan; +STRUCT!{struct SecPkgContext_DceInfo { + AuthzSvc: ::c_ulong, + pPac: *mut ::c_void, +}} +pub type PSecPkgContext_DceInfo = *mut SecPkgContext_DceInfo; +STRUCT!{struct SecPkgContext_KeyInfoA { + sSignatureAlgorithmName: *mut ::SEC_CHAR, + sEncryptAlgorithmName: *mut ::SEC_CHAR, + KeySize: ::c_ulong, + SignatureAlgorithm: ::c_ulong, + EncryptAlgorithm: ::c_ulong, +}} +pub type PSecPkgContext_KeyInfoA = *mut SecPkgContext_KeyInfoA; +STRUCT!{struct SecPkgContext_KeyInfoW { + sSignatureAlgorithmName: *mut ::SEC_WCHAR, + sEncryptAlgorithmName: *mut ::SEC_WCHAR, + KeySize: ::c_ulong, + SignatureAlgorithm: ::c_ulong, + EncryptAlgorithm: ::c_ulong, +}} +pub type PSecPkgContext_KeyInfoW = *mut SecPkgContext_KeyInfoW; +STRUCT!{struct SecPkgContext_AuthorityA { + sAuthorityName: *mut SEC_CHAR, +}} +pub type PSecPkgContext_AuthorityA = *mut SecPkgContext_AuthorityA; +STRUCT!{struct SecPkgContext_AuthorityW { + sAuthorityName: *mut SEC_WCHAR, +}} +pub type PSecPkgContext_AuthorityW = *mut SecPkgContext_AuthorityW; +STRUCT!{struct SecPkgContext_ProtoInfoA { + sProtocolName: *mut SEC_CHAR, + majorVersion: ::c_ulong, + minorVersion: ::c_ulong, +}} +pub type PSecPkgContext_ProtoInfoA = *mut SecPkgContext_ProtoInfoA; +STRUCT!{struct SecPkgContext_ProtoInfoW { + sProtocolName: *mut SEC_WCHAR, + majorVersion: ::c_ulong, + minorVersion: ::c_ulong, +}} +pub type PSecPkgContext_ProtoInfoW = *mut SecPkgContext_ProtoInfoW; +STRUCT!{struct SecPkgContext_PasswordExpiry { + tsPasswordExpires: TimeStamp, +}} +pub type PSecPkgContext_PasswordExpiry = *mut SecPkgContext_PasswordExpiry; +STRUCT!{struct SecPkgContext_LogoffTime { + tsLogoffTime: TimeStamp, +}} +pub type PSecPkgContext_LogoffTime = *mut SecPkgContext_LogoffTime; +STRUCT!{struct SecPkgContext_SessionKey { + SessionKeyLength: ::c_ulong, + SessionKey: *mut ::c_uchar, +}} +pub type PSecPkgContext_SessionKey = *mut SecPkgContext_SessionKey; +STRUCT!{struct SecPkgContext_NegoKeys { + KeyType: ::c_ulong, + KeyLength: ::c_ushort, + KeyValue: *mut ::c_uchar, + VerifyKeyType: ::c_ulong, + VerifyKeyLength: ::c_ushort, + VerifyKeyValue: *mut ::c_uchar, +}} +pub type PSecPkgContext_NegoKeys = *mut SecPkgContext_NegoKeys; +STRUCT!{struct SecPkgContext_PackageInfoW { + PackageInfo: PSecPkgInfoW, +}} +pub type PSecPkgContext_PackageInfoW = *mut SecPkgContext_PackageInfoW; +STRUCT!{struct SecPkgContext_PackageInfoA { + PackageInfo: PSecPkgInfoA, +}} +pub type PSecPkgContext_PackageInfoA = *mut SecPkgContext_PackageInfoA; +STRUCT!{struct SecPkgContext_UserFlags { + UserFlags: ::c_ulong, +}} +pub type PSecPkgContext_UserFlags = *mut SecPkgContext_UserFlags; +STRUCT!{struct SecPkgContext_Flags { + Flags: ::c_ulong, +}} +pub type PSecPkgContext_Flags = *mut SecPkgContext_Flags; +STRUCT!{struct SecPkgContext_NegotiationInfoA { + PackageInfo: PSecPkgInfoA, + NegotiationState: ::c_ulong, +}} +pub type PSecPkgContext_NegotiationInfoA = *mut SecPkgContext_NegotiationInfoA; +STRUCT!{struct SecPkgContext_NegotiationInfoW { + PackageInfo: PSecPkgInfoW, + NegotiationState: ::c_ulong, +}} +pub type PSecPkgContext_NegotiationInfoW = *mut SecPkgContext_NegotiationInfoW; +pub const SECPKG_NEGOTIATION_COMPLETE: ::c_ulong = 0; +pub const SECPKG_NEGOTIATION_OPTIMISTIC: ::c_ulong = 1; +pub const SECPKG_NEGOTIATION_IN_PROGRESS: ::c_ulong = 2; +pub const SECPKG_NEGOTIATION_DIRECT: ::c_ulong = 3; +pub const SECPKG_NEGOTIATION_TRY_MULTICRED: ::c_ulong = 4; +STRUCT!{struct SecPkgContext_NativeNamesW { + sClientName: SEC_WCHAR, + sServerName: SEC_WCHAR, +}} +pub type PSecPkgContext_NativeNamesW = *mut SecPkgContext_NativeNamesW; +STRUCT!{struct SecPkgContext_NativeNamesA { + sClientName: SEC_CHAR, + sServerName: SEC_CHAR, +}} +pub type PSecPkgContext_NativeNamesA = *mut SecPkgContext_NativeNamesA; +STRUCT!{struct SecPkgContext_CredentialNameW { + CredentialType: ::c_ulong, + sCredentialName: *mut SEC_WCHAR, +}} +pub type PSecPkgContext_CredentialNameW = *mut SecPkgContext_CredentialNameW; +STRUCT!{struct SecPkgContext_CredentialNameA { + CredentialType: ::c_ulong, + sCredentialName: *mut SEC_CHAR, +}} +pub type PSecPkgContext_CredentialNameA = *mut SecPkgContext_CredentialNameA; +STRUCT!{struct SecPkgContext_AccessToken { + AccessToken: *mut ::c_void, +}} +pub type PSecPkgContext_AccessToken = *mut SecPkgContext_AccessToken; +STRUCT!{struct SecPkgContext_TargetInformation { + MarshalledTargetInfoLength: ::c_ulong, + MarshalledTargetInfo: *mut ::c_uchar, +}} +pub type PSecPkgContext_TargetInformation = *mut SecPkgContext_TargetInformation; +STRUCT!{struct SecPkgContext_AuthzID { + AuthzIDLength: ::c_ulong, + AuthzID: *mut ::c_char, +}} +pub type PSecPkgContext_AuthzID = *mut SecPkgContext_AuthzID; +STRUCT!{struct SecPkgContext_Target { + TargetLength: ::c_ulong, + Target: *mut ::c_char, +}} +pub type PSecPkgContext_Target = *mut SecPkgContext_Target; +STRUCT!{struct SecPkgContext_ClientSpecifiedTarget { + sTargetName: *mut SEC_WCHAR, +}} +pub type PSecPkgContext_ClientSpecifiedTarget = *mut SecPkgContext_ClientSpecifiedTarget; +STRUCT!{struct SecPkgContext_Bindings { + BindingsLength: ::c_ulong, + Bindings: *mut SEC_CHANNEL_BINDINGS, +}} +pub type PSecPkgContext_Bindings = *mut SecPkgContext_Bindings; +ENUM!{enum SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS { + SecApplicationProtocolNegotiationStatus_None, + SecApplicationProtocolNegotiationStatus_Success, + SecApplicationProtocolNegotiationStatus_SelectedClientOnly, +}} +pub type PSEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS = + *mut SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS; +pub const MAX_PROTOCOL_ID_SIZE: usize = 0xff; +STRUCT!{nodebug struct SecPkgContext_ApplicationProtocol { + ProtoNegoStatus: SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS, + ProtoNegoExt: SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT, + ProtocolIdSize: ::c_uchar, + ProtocolId: [::c_uchar; MAX_PROTOCOL_ID_SIZE], +}} +pub type PSecPkgContext_ApplicationProtocol = *mut SecPkgContext_ApplicationProtocol; +pub type SEC_GET_KEY_FN = Option<unsafe extern "system" fn( + Arg: *mut ::c_void, Principal: *mut ::c_void, KeyVer: ::c_ulong, Key: *mut *mut ::c_void, + Status: *mut SECURITY_STATUS, +)>; +pub const SECPKG_CONTEXT_EXPORT_RESET_NEW: ::c_ulong = 0x00000001; +pub const SECPKG_CONTEXT_EXPORT_DELETE_OLD: ::c_ulong = 0x00000002; +pub const SECPKG_CONTEXT_EXPORT_TO_KERNEL: ::c_ulong = 0x00000004; +pub type ACQUIRE_CREDENTIALS_HANDLE_FN_W = Option<unsafe extern "system" fn( + *mut SEC_WCHAR, *mut SEC_WCHAR, ::c_ulong, *mut ::c_void, *mut ::c_void, SEC_GET_KEY_FN, + *mut ::c_void, PCredHandle, PTimeStamp, +) -> SECURITY_STATUS>; +pub type ACQUIRE_CREDENTIALS_HANDLE_FN_A = Option<unsafe extern "system" fn( + *mut SEC_CHAR, *mut SEC_CHAR, ::c_ulong, *mut ::c_void, *mut ::c_void, SEC_GET_KEY_FN, + *mut ::c_void, PCredHandle, PTimeStamp, +) -> SECURITY_STATUS>; +pub type FREE_CREDENTIALS_HANDLE_FN = Option<unsafe extern "system" fn( + PCredHandle, +) -> SECURITY_STATUS>; +pub type ADD_CREDENTIALS_FN_W = Option<unsafe extern "system" fn( + PCredHandle, *mut SEC_WCHAR, *mut SEC_WCHAR, ::c_ulong, *mut ::c_void, SEC_GET_KEY_FN, + *mut ::c_void, PTimeStamp, +) -> SECURITY_STATUS>; +pub type ADD_CREDENTIALS_FN_A = Option<unsafe extern "system" fn( + PCredHandle, *mut SEC_CHAR, *mut SEC_CHAR, ::c_ulong, *mut ::c_void, SEC_GET_KEY_FN, + *mut ::c_void, PTimeStamp, +) -> SECURITY_STATUS>; +pub type CHANGE_PASSWORD_FN_W = Option<unsafe extern "system" fn( + *mut SEC_WCHAR, *mut SEC_WCHAR, *mut SEC_WCHAR, *mut SEC_WCHAR, *mut SEC_WCHAR, ::BOOLEAN, + ::c_ulong, PSecBufferDesc, +) -> SECURITY_STATUS>; +pub type CHANGE_PASSWORD_FN_A = Option<unsafe extern "system" fn( + *mut SEC_CHAR, *mut SEC_CHAR, *mut SEC_CHAR, *mut SEC_CHAR, *mut SEC_CHAR, ::BOOLEAN, + ::c_ulong, PSecBufferDesc, +) -> SECURITY_STATUS>; +//1844 +ENUM!{enum SecDelegationType { + SecFull, + SecService, + SecTree, + SecDirectory, + SecObject, +}} +pub type PSecDelegationType = *mut SecDelegationType; +STRUCT!{struct SEC_WINNT_AUTH_BYTE_VECTOR { + ByteArrayOffset: ::c_ulong, + ByteArrayLength: ::c_ushort, +}} +pub type PSEC_WINNT_AUTH_BYTE_VECTOR = *mut SEC_WINNT_AUTH_BYTE_VECTOR; +STRUCT!{struct SEC_WINNT_AUTH_DATA { + CredType: ::GUID, + CredData: SEC_WINNT_AUTH_BYTE_VECTOR, +}} +pub type PSEC_WINNT_AUTH_DATA = *mut SEC_WINNT_AUTH_DATA; +STRUCT!{struct SEC_WINNT_AUTH_PACKED_CREDENTIALS { + cbHeaderLength: ::c_ushort, + cbStructureLength: ::c_ushort, + AuthData: SEC_WINNT_AUTH_DATA, +}} +pub type PSEC_WINNT_AUTH_PACKED_CREDENTIALS = *mut SEC_WINNT_AUTH_PACKED_CREDENTIALS; +DEFINE_GUID!(SEC_WINNT_AUTH_DATA_TYPE_PASSWORD, 0x28bfc32f, 0x10f6, 0x4738, + 0x98, 0xd1, 0x1a, 0xc0, 0x61, 0xdf, 0x71, 0x6a); +DEFINE_GUID!(SEC_WINNT_AUTH_DATA_TYPE_CERT, 0x235f69ad, 0x73fb, 0x4dbc, + 0x82, 0x3, 0x6, 0x29, 0xe7, 0x39, 0x33, 0x9b); +STRUCT!{struct SEC_WINNT_AUTH_DATA_PASSWORD { + UnicodePassword: SEC_WINNT_AUTH_BYTE_VECTOR, +}} +pub type PSEC_WINNT_AUTH_DATA_PASSWORD = *mut SEC_WINNT_AUTH_DATA_PASSWORD; +DEFINE_GUID!(SEC_WINNT_AUTH_DATA_TYPE_CSP_DATA, 0x68fd9879, 0x79c, 0x4dfe, + 0x82, 0x81, 0x57, 0x8a, 0xad, 0xc1, 0xc1, 0x0); +STRUCT!{struct SEC_WINNT_AUTH_CERTIFICATE_DATA { + cbHeaderLength: ::c_ushort, + cbStructureLength: ::c_ushort, + Certificate: SEC_WINNT_AUTH_BYTE_VECTOR, +}} +pub type PSEC_WINNT_AUTH_CERTIFICATE_DATA = *mut SEC_WINNT_AUTH_CERTIFICATE_DATA; +STRUCT!{struct SEC_WINNT_CREDUI_CONTEXT_VECTOR { + CredUIContextArrayOffset: ::ULONG, + CredUIContextCount: ::USHORT, +}} +pub type PSEC_WINNT_CREDUI_CONTEXT_VECTOR = *mut SEC_WINNT_CREDUI_CONTEXT_VECTOR; +STRUCT!{struct SEC_WINNT_AUTH_SHORT_VECTOR { + ShortArrayOffset: ::ULONG, + ShortArrayCount: ::USHORT, +}} +pub type PSEC_WINNT_AUTH_SHORT_VECTOR = *mut SEC_WINNT_AUTH_SHORT_VECTOR; +STRUCT!{struct CREDUIWIN_MARSHALED_CONTEXT { + StructureType: ::GUID, + cbHeaderLength: ::USHORT, + LogonId: ::LUID, + MarshaledDataType: ::GUID, + MarshaledDataOffset: ::ULONG, + MarshaledDataLength: ::USHORT, +}} +pub type PCREDUIWIN_MARSHALED_CONTEXT = *mut CREDUIWIN_MARSHALED_CONTEXT; +STRUCT!{struct SEC_WINNT_CREDUI_CONTEXT { + cbHeaderLength: ::USHORT, + CredUIContextHandle: ::HANDLE, + UIInfo: ::PCREDUI_INFOW, + dwAuthError: ::ULONG, + pInputAuthIdentity: PSEC_WINNT_AUTH_IDENTITY_OPAQUE, + TargetName: ::PUNICODE_STRING, +}} +pub type PSEC_WINNT_CREDUI_CONTEXT = *mut SEC_WINNT_CREDUI_CONTEXT; +pub type PSEC_WINNT_AUTH_IDENTITY_OPAQUE = ::PVOID; diff --git a/third_party/rust/winapi-0.2.8/src/strmif.rs b/third_party/rust/winapi-0.2.8/src/strmif.rs new file mode 100644 index 0000000000..0edfe72c99 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/strmif.rs @@ -0,0 +1,4 @@ +// Copyright © 2016, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +use super::*; +pub type REFERENCE_TIME = LONGLONG; diff --git a/third_party/rust/winapi-0.2.8/src/subauth.rs b/third_party/rust/winapi-0.2.8/src/subauth.rs new file mode 100644 index 0000000000..d84dc8cad2 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/subauth.rs @@ -0,0 +1,198 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Types and macros for Subauthentication Packages. +STRUCT!{struct UNICODE_STRING { + Length: ::USHORT, + MaximumLength: ::USHORT, + Buffer: ::PWSTR, +}} +pub type PUNICODE_STRING = *mut UNICODE_STRING; +STRUCT!{struct STRING { + Length: ::USHORT, + MaximumLength: ::USHORT, + Buffer: ::PCHAR, +}} +pub type PSTRING = *mut STRING; +STRUCT!{struct OLD_LARGE_INTEGER { + LowPart: ::ULONG, + HighPart: ::LONG, +}} +pub type POLD_LARGE_INTEGER = *mut OLD_LARGE_INTEGER; +pub type SAM_HANDLE = ::PVOID; +pub type PSAM_HANDLE = *mut ::PVOID; +pub const USER_ACCOUNT_DISABLED: ::ULONG = 0x00000001; +pub const USER_HOME_DIRECTORY_REQUIRED: ::ULONG = 0x00000002; +pub const USER_PASSWORD_NOT_REQUIRED: ::ULONG = 0x00000004; +pub const USER_TEMP_DUPLICATE_ACCOUNT: ::ULONG = 0x00000008; +pub const USER_NORMAL_ACCOUNT: ::ULONG = 0x00000010; +pub const USER_MNS_LOGON_ACCOUNT: ::ULONG = 0x00000020; +pub const USER_INTERDOMAIN_TRUST_ACCOUNT: ::ULONG = 0x00000040; +pub const USER_WORKSTATION_TRUST_ACCOUNT: ::ULONG = 0x00000080; +pub const USER_SERVER_TRUST_ACCOUNT: ::ULONG = 0x00000100; +pub const USER_DONT_EXPIRE_PASSWORD: ::ULONG = 0x00000200; +pub const USER_ACCOUNT_AUTO_LOCKED: ::ULONG = 0x00000400; +pub const USER_ENCRYPTED_TEXT_PASSWORD_ALLOWED: ::ULONG = 0x00000800; +pub const USER_SMARTCARD_REQUIRED: ::ULONG = 0x00001000; +pub const USER_TRUSTED_FOR_DELEGATION: ::ULONG = 0x00002000; +pub const USER_NOT_DELEGATED: ::ULONG = 0x00004000; +pub const USER_USE_DES_KEY_ONLY: ::ULONG = 0x00008000; +pub const USER_DONT_REQUIRE_PREAUTH: ::ULONG = 0x00010000; +pub const USER_PASSWORD_EXPIRED: ::ULONG = 0x00020000; +pub const USER_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION: ::ULONG = 0x00040000; +pub const USER_NO_AUTH_DATA_REQUIRED: ::ULONG = 0x00080000; +pub const USER_PARTIAL_SECRETS_ACCOUNT: ::ULONG = 0x00100000; +pub const USER_USE_AES_KEYS: ::ULONG = 0x00200000; +pub const NEXT_FREE_ACCOUNT_CONTROL_BIT: ::ULONG = USER_USE_AES_KEYS << 1; +pub const USER_MACHINE_ACCOUNT_MASK: ::ULONG = USER_INTERDOMAIN_TRUST_ACCOUNT + | USER_WORKSTATION_TRUST_ACCOUNT | USER_SERVER_TRUST_ACCOUNT; +pub const USER_ACCOUNT_TYPE_MASK: ::ULONG = USER_TEMP_DUPLICATE_ACCOUNT | USER_NORMAL_ACCOUNT + | USER_MACHINE_ACCOUNT_MASK; +pub const USER_COMPUTED_ACCOUNT_CONTROL_BITS: ::ULONG = USER_ACCOUNT_AUTO_LOCKED +| USER_PASSWORD_EXPIRED; +pub const SAM_DAYS_PER_WEEK: ::USHORT = 7; +pub const SAM_HOURS_PER_WEEK: ::USHORT = 24 * SAM_DAYS_PER_WEEK; +pub const SAM_MINUTES_PER_WEEK: ::USHORT = 60 * SAM_HOURS_PER_WEEK; +STRUCT!{struct LOGON_HOURS { + UnitsPerWeek: ::USHORT, + LogonHours: ::PUCHAR, +}} +pub type PLOGON_HOURS = *mut LOGON_HOURS; +STRUCT!{struct SR_SECURITY_DESCRIPTOR { + Length: ::ULONG, + SecurityDescriptor: ::PUCHAR, +}} +pub type PSR_SECURITY_DESCRIPTOR = *mut SR_SECURITY_DESCRIPTOR; +STRUCT!{struct USER_ALL_INFORMATION { + LastLogon: ::LARGE_INTEGER, + LastLogoff: ::LARGE_INTEGER, + PasswordLastSet: ::LARGE_INTEGER, + AccountExpires: ::LARGE_INTEGER, + PasswordCanChange: ::LARGE_INTEGER, + PasswordMustChange: ::LARGE_INTEGER, + UserName: UNICODE_STRING, + FullName: UNICODE_STRING, + HomeDirectory: UNICODE_STRING, + HomeDirectoryDrive: UNICODE_STRING, + ScriptPath: UNICODE_STRING, + ProfilePath: UNICODE_STRING, + AdminComment: UNICODE_STRING, + WorkStations: UNICODE_STRING, + UserComment: UNICODE_STRING, + Parameters: UNICODE_STRING, + LmPassword: UNICODE_STRING, + NtPassword: UNICODE_STRING, + PrivateData: UNICODE_STRING, + SecurityDescriptor: SR_SECURITY_DESCRIPTOR, + UserId: ::ULONG, + PrimaryGroupId: ::ULONG, + UserAccountControl: ::ULONG, + WhichFields: ::ULONG, + LogonHours: LOGON_HOURS, + BadPasswordCount: ::USHORT, + LogonCount: ::USHORT, + CountryCode: ::USHORT, + CodePage: ::USHORT, + LmPasswordPresent: ::BOOLEAN, + NtPasswordPresent: ::BOOLEAN, + PasswordExpired: ::BOOLEAN, + PrivateDataSensitive: ::BOOLEAN, +}} +pub type PUSER_ALL_INFORMATION = *mut USER_ALL_INFORMATION; +pub const USER_ALL_PARAMETERS: ::ULONG = 0x00200000; +pub const CLEAR_BLOCK_LENGTH: usize = 8; +STRUCT!{struct CLEAR_BLOCK { + data: [::CHAR; CLEAR_BLOCK_LENGTH], +}} +pub type PCLEAR_BLOCK = *mut CLEAR_BLOCK; +pub const CYPHER_BLOCK_LENGTH: usize = 8; +STRUCT!{struct CYPHER_BLOCK { + data: [::CHAR; CYPHER_BLOCK_LENGTH], +}} +pub type PCYPHER_BLOCK = *mut CYPHER_BLOCK; +STRUCT!{struct LM_OWF_PASSWORD { + data: [CYPHER_BLOCK; 2], +}} +pub type PLM_OWF_PASSWORD = *mut LM_OWF_PASSWORD; +pub type LM_CHALLENGE = CLEAR_BLOCK; +pub type PLM_CHALLENGE = *mut LM_CHALLENGE; +pub type NT_OWF_PASSWORD = LM_OWF_PASSWORD; +pub type PNT_OWF_PASSWORD = *mut NT_OWF_PASSWORD; +pub type NT_CHALLENGE = LM_CHALLENGE; +pub type PNT_CHALLENGE = *mut NT_CHALLENGE; +pub const USER_SESSION_KEY_LENGTH: usize = CYPHER_BLOCK_LENGTH * 2; +STRUCT!{struct USER_SESSION_KEY { + data: [CYPHER_BLOCK; 2], +}} +pub type PUSER_SESSION_KEY = *mut USER_SESSION_KEY; +ENUM!{enum NETLOGON_LOGON_INFO_CLASS { + NetlogonInteractiveInformation = 1, + NetlogonNetworkInformation, + NetlogonServiceInformation, + NetlogonGenericInformation, + NetlogonInteractiveTransitiveInformation, + NetlogonNetworkTransitiveInformation, + NetlogonServiceTransitiveInformation, +}} +STRUCT!{struct NETLOGON_LOGON_IDENTITY_INFO { + LogonDomainName: UNICODE_STRING, + ParameterControl: ::ULONG, + LogonId: OLD_LARGE_INTEGER, + UserName: UNICODE_STRING, + Workstation: UNICODE_STRING, +}} +pub type PNETLOGON_LOGON_IDENTITY_INFO = *mut NETLOGON_LOGON_IDENTITY_INFO; +STRUCT!{struct NETLOGON_INTERACTIVE_INFO { + Identity: NETLOGON_LOGON_IDENTITY_INFO, + LmOwfPassword: LM_OWF_PASSWORD, + NtOwfPassword: NT_OWF_PASSWORD, +}} +pub type PNETLOGON_INTERACTIVE_INFO = *mut NETLOGON_INTERACTIVE_INFO; +STRUCT!{struct NETLOGON_SERVICE_INFO { + Identity: NETLOGON_LOGON_IDENTITY_INFO, + LmOwfPassword: LM_OWF_PASSWORD, + NtOwfPassword: NT_OWF_PASSWORD, +}} +pub type PNETLOGON_SERVICE_INFO = *mut NETLOGON_SERVICE_INFO; +STRUCT!{struct NETLOGON_NETWORK_INFO { + Identity: NETLOGON_LOGON_IDENTITY_INFO, + LmChallenge: LM_CHALLENGE, + NtChallengeResponse: STRING, + LmChallengeResponse: STRING, +}} +pub type PNETLOGON_NETWORK_INFO = *mut NETLOGON_NETWORK_INFO; +STRUCT!{struct NETLOGON_GENERIC_INFO { + Identity: NETLOGON_LOGON_IDENTITY_INFO, + PackageName: UNICODE_STRING, + DataLength: ::ULONG, + LogonData: ::PUCHAR, +}} +pub type PNETLOGON_GENERIC_INFO = *mut NETLOGON_GENERIC_INFO; +pub const MSV1_0_PASSTHRU: ::ULONG = 0x01; +pub const MSV1_0_GUEST_LOGON: ::ULONG = 0x02; +STRUCT!{struct MSV1_0_VALIDATION_INFO { + LogoffTime: ::LARGE_INTEGER, + KickoffTime: ::LARGE_INTEGER, + LogonServer: UNICODE_STRING, + LogonDomainName: UNICODE_STRING, + SessionKey: USER_SESSION_KEY, + Authoritative: ::BOOLEAN, + UserFlags: ::ULONG, + WhichFields: ::ULONG, + UserId: ::ULONG, +}} +pub type PMSV1_0_VALIDATION_INFO = *mut MSV1_0_VALIDATION_INFO; +pub const MSV1_0_VALIDATION_LOGOFF_TIME: ::ULONG = 0x00000001; +pub const MSV1_0_VALIDATION_KICKOFF_TIME: ::ULONG = 0x00000002; +pub const MSV1_0_VALIDATION_LOGON_SERVER: ::ULONG = 0x00000004; +pub const MSV1_0_VALIDATION_LOGON_DOMAIN: ::ULONG = 0x00000008; +pub const MSV1_0_VALIDATION_SESSION_KEY: ::ULONG = 0x00000010; +pub const MSV1_0_VALIDATION_USER_FLAGS: ::ULONG = 0x00000020; +pub const MSV1_0_VALIDATION_USER_ID: ::ULONG = 0x00000040; +pub const MSV1_0_SUBAUTH_ACCOUNT_DISABLED: ::ULONG = 0x00000001; +pub const MSV1_0_SUBAUTH_PASSWORD: ::ULONG = 0x00000002; +pub const MSV1_0_SUBAUTH_WORKSTATIONS: ::ULONG = 0x00000004; +pub const MSV1_0_SUBAUTH_LOGON_HOURS: ::ULONG = 0x00000008; +pub const MSV1_0_SUBAUTH_ACCOUNT_EXPIRY: ::ULONG = 0x00000010; +pub const MSV1_0_SUBAUTH_PASSWORD_EXPIRY: ::ULONG = 0x00000020; +pub const MSV1_0_SUBAUTH_ACCOUNT_TYPE: ::ULONG = 0x00000040; +pub const MSV1_0_SUBAUTH_LOCKOUT: ::ULONG = 0x00000080; diff --git a/third_party/rust/winapi-0.2.8/src/synchapi.rs b/third_party/rust/winapi-0.2.8/src/synchapi.rs new file mode 100644 index 0000000000..2eb9d1af25 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/synchapi.rs @@ -0,0 +1,14 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! ApiSet Contract for api-ms-win-core-synch-l1 +pub type SRWLOCK = ::RTL_SRWLOCK; +pub type PSRWLOCK = *mut ::RTL_SRWLOCK; +pub type SYNCHRONIZATION_BARRIER = ::RTL_BARRIER; +pub type PSYNCHRONIZATION_BARRIER = ::PRTL_BARRIER; +pub type LPSYNCHRONIZATION_BARRIER = ::PRTL_BARRIER; +pub type PINIT_ONCE_FN = Option<unsafe extern "system" fn( + InitOnce: ::PINIT_ONCE, Parameter: ::PVOID, Context: *mut ::PVOID, +) -> ::BOOL>; +pub type PTIMERAPCROUTINE = Option<unsafe extern "system" fn( + lpArgToCompletionRoutine: ::LPVOID, dwTimerLowValue: ::DWORD, dwTimerHighValue: ::DWORD, +)>; diff --git a/third_party/rust/winapi-0.2.8/src/sysinfoapi.rs b/third_party/rust/winapi-0.2.8/src/sysinfoapi.rs new file mode 100644 index 0000000000..95c38c64a8 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/sysinfoapi.rs @@ -0,0 +1,46 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! ApiSet Contract for api-ms-win-core-sysinfo-l1. +STRUCT!{struct SYSTEM_INFO { + wProcessorArchitecture: ::WORD, + wReserved: ::WORD, + dwPageSize: ::DWORD, + lpMinimumApplicationAddress: ::LPVOID, + lpMaximumApplicationAddress: ::LPVOID, + dwActiveProcessorMask: ::DWORD_PTR, + dwNumberOfProcessors: ::DWORD, + dwProcessorType: ::DWORD, + dwAllocationGranularity: ::DWORD, + wProcessorLevel: ::WORD, + wProcessorRevision: ::WORD, +}} +UNION!(SYSTEM_INFO, wProcessorArchitecture, dwOemId, dwOemId_mut, ::DWORD); +pub type LPSYSTEM_INFO = *mut SYSTEM_INFO; +STRUCT!{struct MEMORYSTATUSEX { + dwLength: ::DWORD, + dwMemoryLoad: ::DWORD, + ullTotalPhys: ::DWORDLONG, + ullAvailPhys: ::DWORDLONG, + ullTotalPageFile: ::DWORDLONG, + ullAvailPageFile: ::DWORDLONG, + ullTotalVirtual: ::DWORDLONG, + ullAvailVirtual: ::DWORDLONG, + ullAvailExtendedVirtual: ::DWORDLONG, +}} +pub type LPMEMORYSTATUSEX = *mut MEMORYSTATUSEX; +ENUM!{enum COMPUTER_NAME_FORMAT { + ComputerNameNetBIOS, + ComputerNameDnsHostname, + ComputerNameDnsDomain, + ComputerNameDnsFullyQualified, + ComputerNamePhysicalNetBIOS, + ComputerNamePhysicalDnsHostname, + ComputerNamePhysicalDnsDomain, + ComputerNamePhysicalDnsFullyQualified, + ComputerNameMax, +}} +pub type INIT_ONCE = ::RTL_RUN_ONCE; +pub type PINIT_ONCE = ::PRTL_RUN_ONCE; +pub type LPINIT_ONCE = ::PRTL_RUN_ONCE; +pub type CONDITION_VARIABLE = ::RTL_CONDITION_VARIABLE; +pub type PCONDITION_VARIABLE = *mut CONDITION_VARIABLE; diff --git a/third_party/rust/winapi-0.2.8/src/threadpoolapi.rs b/third_party/rust/winapi-0.2.8/src/threadpoolapi.rs new file mode 100644 index 0000000000..ec21aa05bc --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/threadpoolapi.rs @@ -0,0 +1,7 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! ApiSet Contract for api-ms-win-core-threadpool-l1. +pub type PTP_WIN32_IO_CALLBACK = Option<unsafe extern "system" fn( + Instance: ::PTP_CALLBACK_INSTANCE, Context: ::PVOID, Overlapped: ::PVOID, IoResult: ::ULONG, + NumberOfBytesTransferred: ::ULONG_PTR, Io: ::PTP_IO, +)>; diff --git a/third_party/rust/winapi-0.2.8/src/timezoneapi.rs b/third_party/rust/winapi-0.2.8/src/timezoneapi.rs new file mode 100644 index 0000000000..3c84b209fc --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/timezoneapi.rs @@ -0,0 +1,27 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! ApiSet Contract for api-ms-win-core-timezone-l1 +pub const TIME_ZONE_ID_INVALID: ::DWORD = 0xFFFFFFFF; +STRUCT!{struct TIME_ZONE_INFORMATION { + Bias: ::LONG, + StandardName: [::WCHAR; 32], + StandardDate: ::SYSTEMTIME, + StandardBias: ::LONG, + DaylightName: [::WCHAR; 32], + DaylightDate: ::SYSTEMTIME, + DaylightBias: ::LONG, +}} +pub type PTIME_ZONE_INFORMATION = *mut TIME_ZONE_INFORMATION; +pub type LPTIME_ZONE_INFORMATION = *mut TIME_ZONE_INFORMATION; +STRUCT!{nodebug struct DYNAMIC_TIME_ZONE_INFORMATION { + Bias: ::LONG, + StandardName: [::WCHAR; 32], + StandardDate: ::SYSTEMTIME, + StandardBias: ::LONG, + DaylightName: [::WCHAR; 32], + DaylightDate: ::SYSTEMTIME, + DaylightBias: ::LONG, + TimeZoneKeyName: [::WCHAR; 128], + DynamicDaylightTimeDisabled: ::BOOLEAN, +}} +pub type PDYNAMIC_TIME_ZONE_INFORMATION = *mut DYNAMIC_TIME_ZONE_INFORMATION; diff --git a/third_party/rust/winapi-0.2.8/src/tlhelp32.rs b/third_party/rust/winapi-0.2.8/src/tlhelp32.rs new file mode 100644 index 0000000000..2e809b25d9 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/tlhelp32.rs @@ -0,0 +1,104 @@ +// Copyright © 2015, Gigih Aji Ibrahim +// Licensed under the MIT License <LICENSE.md> +pub const MAX_MODULE_NAME32: usize = 255; +pub const TH32CS_SNAPHEAPLIST: ::DWORD = 0x00000001; +pub const TH32CS_SNAPPROCESS: ::DWORD = 0x00000002; +pub const TH32CS_SNAPTHREAD: ::DWORD = 0x00000004; +pub const TH32CS_SNAPMODULE: ::DWORD = 0x00000008; +pub const TH32CS_SNAPMODULE32: ::DWORD = 0x00000010; +pub const TH32CS_SNAPALL: ::DWORD = + (TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE); +pub const TH32CS_INHERIT: ::DWORD = 0x80000000; +STRUCT!{struct HEAPLIST32 { + dwSize: ::SIZE_T, + th32ProcessID: ::DWORD, + th32HeapID: :: ULONG_PTR, + dwFlags: ::DWORD, +}} +pub type PHEAPLIST32 = *mut HEAPLIST32; +pub type LPHEAPLIST32 = *mut HEAPLIST32; +pub const HF32_DEFAULT: ::DWORD = 1; +pub const HF32_SHARED: ::DWORD = 2; +STRUCT!{struct HEAPENTRY32 { + dwSize: ::SIZE_T, + hHandle: ::HANDLE, + dwAddress: ::ULONG_PTR, + dwBlockSize: ::SIZE_T, + dwFlags: ::DWORD, + dwLockCount: ::DWORD, + dwResvd: ::DWORD, + th32ProcessID: ::DWORD, + th32HeapID: ::ULONG_PTR, +}} +pub type PHEAPENTRY32 = *mut HEAPENTRY32; +pub type LPHEAPENTRY32 = *mut HEAPENTRY32; +pub const LF32_FIXED: ::DWORD = 0x00000001; +pub const LF32_FREE: ::DWORD = 0x00000002; +pub const LF32_MOVEABLE: ::DWORD = 0x00000004; +STRUCT!{nodebug struct PROCESSENTRY32W { + dwSize: ::DWORD, + cntUsage: ::DWORD, + th32ProcessID: ::DWORD, + th32DefaultHeapID: ::ULONG_PTR, + th32ModuleID: ::DWORD, + cntThreads: ::DWORD, + th32ParentProcessID: ::DWORD, + pcPriClassBase: ::LONG, + dwFlags: ::DWORD, + szExeFile: [::WCHAR; ::MAX_PATH], +}} +pub type PPROCESSENTRY32W = *mut PROCESSENTRY32W; +pub type LPPROCESSENTRY32W = *mut PROCESSENTRY32W; +STRUCT!{nodebug struct PROCESSENTRY32 { + dwSize: ::DWORD, + cntUsage: ::DWORD, + th32ProcessID: ::DWORD, + th32DefaultHeapID: ::ULONG_PTR, + th32ModuleID: ::DWORD, + cntThreads: ::DWORD, + th32ParentProcessID: ::DWORD, + pcPriClassBase: ::LONG, + dwFlags: ::DWORD, + szExeFile: [::CHAR; ::MAX_PATH], +}} +pub type PPROCESSENTRY32 = *mut PROCESSENTRY32; +pub type LPPROCESSENTRY32 = *mut PROCESSENTRY32; +STRUCT!{struct THREADENTRY32 { + dwSize: ::DWORD, + cntUsage: ::DWORD, + th32ThreadID: ::DWORD, + th32OwnerProcessID: ::DWORD, + tpBasePri: ::LONG, + tpDeltaPri: ::LONG, + dwFlags: ::DWORD, +}} +pub type PTHREADENTRY32 = *mut THREADENTRY32; +pub type LPTHREADENTRY32 = *mut THREADENTRY32; +STRUCT!{nodebug struct MODULEENTRY32W { + dwSize: ::DWORD, + th32ModuleID: ::DWORD, + th32ProcessID: ::DWORD, + GlblcntUsage: ::DWORD, + ProccntUsage: ::DWORD, + modBaseAddr: *mut ::BYTE, + modBaseSize: ::DWORD, + hModule: ::HMODULE, + szModule: [::WCHAR; ::MAX_MODULE_NAME32 + 1], + szExePath: [::WCHAR; ::MAX_PATH], +}} +pub type PMODULEENTRY32W = *mut MODULEENTRY32W; +pub type LPMODULEENTRY32W = *mut MODULEENTRY32W; +STRUCT!{nodebug struct MODULEENTRY32 { + dwSize: ::DWORD, + th32ModuleID: ::DWORD, + th32ProcessID: ::DWORD, + GlblcntUsage: ::DWORD, + ProccntUsage: ::DWORD, + modBaseAddr: *mut ::BYTE, + modBaseSize: ::DWORD, + hModule: ::HMODULE, + szModule: [::CHAR; ::MAX_MODULE_NAME32 + 1], + szExePath: [::CHAR; ::MAX_PATH], +}} +pub type PMODULEENTRY32 = *mut MODULEENTRY32; +pub type LPMODULEENTRY32 = *mut MODULEENTRY32; diff --git a/third_party/rust/winapi-0.2.8/src/unknwnbase.rs b/third_party/rust/winapi-0.2.8/src/unknwnbase.rs new file mode 100644 index 0000000000..2112561adb --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/unknwnbase.rs @@ -0,0 +1,29 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! this ALWAYS GENERATED file contains the definitions for the interfaces +RIDL!( +interface IUnknown(IUnknownVtbl) { + fn QueryInterface(&mut self, riid: ::REFIID, ppvObject: *mut *mut ::c_void) -> ::HRESULT, + fn AddRef(&mut self) -> ::ULONG, + fn Release(&mut self) -> ::ULONG +} +); +pub type LPUNKNOWN = *mut IUnknown; +RIDL!( +interface AsyncIUnknown(AsyncIUnknownVtbl): IUnknown(IUnknownVtbl) { + fn Begin_QueryInterface(&mut self, riid: ::REFIID) -> ::HRESULT, + fn Finish_QueryInterface(&mut self, ppvObject: *mut *mut ::c_void) -> ::HRESULT, + fn Begin_AddRef(&mut self) -> ::HRESULT, + fn Finish_AddRef(&mut self) -> ::ULONG, + fn Begin_Release(&mut self) -> ::HRESULT, + fn Finish_Release(&mut self) -> ::ULONG +} +); +RIDL!( +interface IClassFactory(IClassFactoryVtbl): IUnknown(IUnknownVtbl) { + fn CreateInstance( + &mut self, pUnkOuter: *mut IUnknown, riid: ::REFIID, ppvObject: *mut *mut ::c_void + ) -> ::HRESULT, + fn LockServer(&mut self, fLock: ::BOOL) -> ::HRESULT +} +); diff --git a/third_party/rust/winapi-0.2.8/src/urlhist.rs b/third_party/rust/winapi-0.2.8/src/urlhist.rs new file mode 100644 index 0000000000..b6fc2db155 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/urlhist.rs @@ -0,0 +1,56 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Url History Interfaces +pub const STATURL_QUERYFLAG_ISCACHED: ::DWORD = 0x00010000; +pub const STATURL_QUERYFLAG_NOURL: ::DWORD = 0x00020000; +pub const STATURL_QUERYFLAG_NOTITLE: ::DWORD = 0x00040000; +pub const STATURL_QUERYFLAG_TOPLEVEL: ::DWORD = 0x00080000; +pub const STATURLFLAG_ISCACHED: ::DWORD = 0x00000001; +pub const STATURLFLAG_ISTOPLEVEL: ::DWORD = 0x00000002; +ENUM!{enum ADDURL_FLAG { + ADDURL_FIRST = 0, + ADDURL_ADDTOHISTORYANDCACHE = 0, + ADDURL_ADDTOCACHE = 1, + ADDURL_Max = 2147483647, +}} +pub type LPENUMSTATURL = *mut IEnumSTATURL; +STRUCT!{struct STATURL { + cbSize: ::DWORD, + pwcsUrl: ::LPWSTR, + pwcsTitle: ::LPWSTR, + ftLastVisited: ::FILETIME, + ftLastUpdated: ::FILETIME, + ftExpires: ::FILETIME, + dwFlags: ::DWORD, +}} +pub type LPSTATURL = *mut STATURL; +RIDL!{interface IEnumSTATURL(IEnumSTATURLVtbl): IUnknown(IUnknownVtbl) { + fn Next(&mut self, celt: ::ULONG, rgelt: LPSTATURL, pceltFetched: *mut ::ULONG) -> ::HRESULT, + fn Skip(&mut self, celt: ::ULONG) -> ::HRESULT, + fn Reset(&mut self) -> ::HRESULT, + fn Clone(&mut self, ppenum: *mut *mut ::IEnumSTATURL) -> ::HRESULT, + fn SetFilter(&mut self, poszFilter: ::LPCOLESTR, dwFlags: ::DWORD) -> ::HRESULT +}} +pub type LPURLHISTORYSTG = *mut IUrlHistoryStg; +RIDL!{interface IUrlHistoryStg(IUrlHistoryStgVtbl): IUnknown(IUnknownVtbl) { + fn AddUrl(&mut self, pocsUrl: ::LPCOLESTR) -> ::HRESULT, + fn DeleteUrl(&mut self, pocsUrl: ::LPCOLESTR, dwFlags: ::DWORD) -> ::HRESULT, + fn QueryUrl( + &mut self, pocsUrl: ::LPCOLESTR, dwFlags: ::DWORD, lpSTATURL: LPSTATURL + ) -> ::HRESULT, + fn BindToObject( + &mut self, pocsUrl: ::LPCOLESTR, riid: ::REFIID, ppvOut: *mut *mut ::c_void + ) -> ::HRESULT, + fn EnumUrls(&mut self, ppEnum: *mut *mut ::IEnumSTATURL) -> ::HRESULT +}} +pub type LPURLHISTORYSTG2 = *mut IUrlHistoryStg2; +RIDL!{interface IUrlHistoryStg2(IUrlHistoryStg2Vtbl): IUrlHistoryStg(IUrlHistoryStgVtbl) { + fn AddUrlAndNotify( + &mut self, pocsUrl: ::LPCOLESTR, pocsTitle: ::LPCOLESTR, dwFlags: ::DWORD, + fWriteHistory: ::BOOL, poctNotify: *mut ::IOleCommandTarget, punkISFolder: *mut ::IUnknown + ) -> ::HRESULT, + fn ClearHistory(&mut self) -> ::HRESULT +}} +pub type LPURLHISTORYNOTIFY = *mut IUrlHistoryNotify; +RIDL!{interface IUrlHistoryNotify(IUrlHistoryNotifyVtbl): + IOleCommandTarget(IOleCommandTargetVtbl) {}} diff --git a/third_party/rust/winapi-0.2.8/src/urlmon.rs b/third_party/rust/winapi-0.2.8/src/urlmon.rs new file mode 100644 index 0000000000..e0a5e93562 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/urlmon.rs @@ -0,0 +1,6 @@ +// Copyright © 2015, Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of Urlmon.h +// FIXME: Implement these interfaces +#[repr(C)] #[derive(Clone, Copy, Debug)] +pub struct IInternetSecurityManager; diff --git a/third_party/rust/winapi-0.2.8/src/usb.rs b/third_party/rust/winapi-0.2.8/src/usb.rs new file mode 100644 index 0000000000..5a5904ec5e --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/usb.rs @@ -0,0 +1,18 @@ +// Copyright © 2016, bitbegin
+// Licensed under the MIT License <LICENSE.md>
+//! USB Definitions.
+ENUM!{enum USBD_PIPE_TYPE {
+ UsbdPipeTypeControl,
+ UsbdPipeTypeIsochronous,
+ UsbdPipeTypeBulk,
+ UsbdPipeTypeInterrupt,
+}}
+
+pub type USBD_STATUS = ::LONG;
+
+STRUCT!{struct USBD_ISO_PACKET_DESCRIPTOR {
+ Offset: ::ULONG,
+ Length: ::ULONG,
+ Status: ::USBD_STATUS,
+}}
+pub type PUSBD_ISO_PACKET_DESCRIPTOR = *mut USBD_ISO_PACKET_DESCRIPTOR;
diff --git a/third_party/rust/winapi-0.2.8/src/usbspec.rs b/third_party/rust/winapi-0.2.8/src/usbspec.rs new file mode 100644 index 0000000000..6b9605ba47 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/usbspec.rs @@ -0,0 +1,41 @@ +// Copyright © 2016, bitbegin
+// Licensed under the MIT License <LICENSE.md>
+//! USB Spec Definitions.
+ENUM!{enum USB_DEVICE_SPEED {
+ UsbLowSpeed = 0,
+ UsbFullSpeed,
+ UsbHighSpeed,
+ UsbSuperSpeed,
+}}
+ENUM!{enum USB_DEVICE_TYPE {
+ Usb11Device = 0,
+ Usb20Device,
+}}
+STRUCT!{struct BM_REQUEST_TYPE {
+ _BM: ::UCHAR,
+ B: ::UCHAR,
+}}
+BITFIELD!{BM_REQUEST_TYPE _BM: ::UINT8 [
+ Recipient set_Recipient[0..2],
+ Reserved set_Reserved[2..5],
+ Type set_Type[5..7],
+ Dir set_Dir[7..8],
+]}
+pub type PBM_REQUEST_TYPE = *mut BM_REQUEST_TYPE;
+
+STRUCT!{#[repr(packed)] struct USB_CONFIGURATION_DESCRIPTOR {
+ bLength: ::UCHAR,
+ bDescriptorType: ::UCHAR,
+ wTotalLength: ::USHORT,
+ bNumInterfaces: ::UCHAR,
+ bConfigurationValue: ::UCHAR,
+ iConfiguration: ::UCHAR,
+ bmAttributes: ::UCHAR,
+ MaxPower: ::UCHAR,
+}}
+pub type PUSB_CONFIGURATION_DESCRIPTOR = *mut USB_CONFIGURATION_DESCRIPTOR;
+#[test]
+fn test_USB_CONFIGURATION_DESCRIPTOR_size() {
+ use std::mem::size_of;
+ assert_eq!(size_of::<USB_CONFIGURATION_DESCRIPTOR>(), 9)
+}
diff --git a/third_party/rust/winapi-0.2.8/src/usp10.rs b/third_party/rust/winapi-0.2.8/src/usp10.rs new file mode 100644 index 0000000000..6c7b42bcd3 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/usp10.rs @@ -0,0 +1,201 @@ +// Copyright © 2015, Jordan Miner +// Licensed under the MIT License <LICENSE.md> +//! Uniscribe structure declarations and constant definitions +pub const SCRIPT_UNDEFINED: ::WORD = 0; +pub const USP_E_SCRIPT_NOT_IN_FONT: ::HRESULT = MAKE_HRESULT!( + ::SEVERITY_ERROR, ::FACILITY_ITF, 0x200 +); +DECLARE_HANDLE!(SCRIPT_CACHE, SCRIPT_CACHE__); +STRUCT!{struct SCRIPT_CONTROL { + bit_fields: ::DWORD, +}} +BITFIELD!(SCRIPT_CONTROL bit_fields: ::DWORD [ + uDefaultLanguage set_uDefaultLanguage[0..16], + fContextDigits set_fContextDigits[16..17], + fInvertPreBoundDir set_fInvertPreBoundDir[17..18], + fInvertPostBoundDir set_fInvertPostBoundDir[18..19], + fLinkStringBefore set_fLinkStringBefore[19..20], + fLinkStringAfter set_fLinkStringAfter[20..21], + fNeutralOverride set_fNeutralOverride[21..22], + fNumericOverride set_fNumericOverride[22..23], + fLegacyBidiClass set_fLegacyBidiClass[23..24], + fMergeNeutralItems set_fMergeNeutralItems[24..25], + fReserved set_fReserved[25..32], +]); +STRUCT!{struct SCRIPT_STATE { + bit_fields: ::WORD, +}} +BITFIELD!(SCRIPT_STATE bit_fields: ::WORD [ + uBidiLevel set_uBidiLevel[0..5], + fOverrideDirection set_fOverrideDirection[5..6], + fInhibitSymSwap set_fInhibitSymSwap[6..7], + fCharShape set_fCharShape[7..8], + fDigitSubstitute set_fDigitSubstitute[8..9], + fInhibitLigate set_fInhibitLigate[9..10], + fDisplayZWG set_fDisplayZWG[10..11], + fArabicNumContext set_fArabicNumContext[11..12], + fGcpClusters set_fGcpClusters[12..13], + fReserved set_fReserved[13..14], + fEngineReserved set_fEngineReserved[14..16], +]); +STRUCT!{struct SCRIPT_ANALYSIS { + bit_fields: ::WORD, + s: SCRIPT_STATE, +}} +BITFIELD!(SCRIPT_ANALYSIS bit_fields: ::WORD [ + eScript set_eScript[0..10], + fRTL set_fRTL[10..11], + fLayoutRTL set_fLayoutRTL[11..12], + fLinkBefore set_fLinkBefore[12..13], + fLinkAfter set_fLinkAfter[13..14], + fLogicalOrder set_fLogicalOrder[14..15], + fNoGlyphIndex set_fNoGlyphIndex[15..16], +]); +STRUCT!{struct SCRIPT_ITEM { + iCharPos: ::c_int, + a: SCRIPT_ANALYSIS, +}} +//490 +pub const SCRIPT_JUSTIFY_NONE: ::WORD = 0; +pub const SCRIPT_JUSTIFY_ARABIC_BLANK: ::WORD = 1; +pub const SCRIPT_JUSTIFY_CHARACTER: ::WORD = 2; +pub const SCRIPT_JUSTIFY_RESERVED1: ::WORD = 3; +pub const SCRIPT_JUSTIFY_BLANK: ::WORD = 4; +pub const SCRIPT_JUSTIFY_RESERVED2: ::WORD = 5; +pub const SCRIPT_JUSTIFY_RESERVED3: ::WORD = 6; +pub const SCRIPT_JUSTIFY_ARABIC_NORMAL: ::WORD = 7; +pub const SCRIPT_JUSTIFY_ARABIC_KASHIDA: ::WORD = 8; +pub const SCRIPT_JUSTIFY_ARABIC_ALEF: ::WORD = 9; +pub const SCRIPT_JUSTIFY_ARABIC_HA: ::WORD = 10; +pub const SCRIPT_JUSTIFY_ARABIC_RA: ::WORD = 11; +pub const SCRIPT_JUSTIFY_ARABIC_BA: ::WORD = 12; +pub const SCRIPT_JUSTIFY_ARABIC_BARA: ::WORD = 13; +pub const SCRIPT_JUSTIFY_ARABIC_SEEN: ::WORD = 14; +pub const SCRIPT_JUSTIFY_ARABIC_SEEN_M: ::WORD = 15; +STRUCT!{struct SCRIPT_VISATTR { + bit_fields: ::WORD, +}} +BITFIELD!(SCRIPT_VISATTR bit_fields: ::WORD [ + uJustification set_uJustification[0..4], + fClusterStart set_fClusterStart[4..5], + fDiacritic set_fDiacritic[5..6], + fZeroWidth set_fZeroWidth[6..7], + fReserved set_fReserved[7..8], + fShapeReserved set_fShapeReserved[8..16], +]); +STRUCT!{struct GOFFSET { + du: ::LONG, + dv: ::LONG, +}} +STRUCT!{struct SCRIPT_LOGATTR { + bit_fields: ::BYTE, +}} +BITFIELD!(SCRIPT_LOGATTR bit_fields: ::BYTE [ + fSoftBreak set_fSoftBreak[0..1], + fWhiteSpace set_fWhiteSpace[1..2], + fCharStop set_fCharStop[2..3], + fWordStop set_fWordStop[3..4], + fInvalid set_fInvalid[4..5], + fReserved set_fReserved[5..8], +]); +pub const SGCM_RTL: ::DWORD = 0x00000001; +STRUCT!{struct SCRIPT_PROPERTIES { + bit_fields1: ::DWORD, + bit_fields2: ::DWORD, +}} +BITFIELD!(SCRIPT_PROPERTIES bit_fields1: ::DWORD [ + langid set_langid[0..16], + fNumeric set_fNumeric[16..17], + fComplex set_fComplex[17..18], + fNeedsWordBreaking set_fNeedsWordBreaking[18..19], + fNeedsCaretInfo set_fNeedsCaretInfo[19..20], + bCharSet set_bCharSet[20..28], + fControl set_fControl[28..29], + fPrivateUseArea set_fPrivateUseArea[29..30], + fNeedsCharacterJustify set_fNeedsCharacterJustify[30..31], + fInvalidGlyph set_fInvalidGlyph[31..32], +]); +BITFIELD!(SCRIPT_PROPERTIES bit_fields2: ::DWORD [ + fInvalidLogAttr set_fInvalidLogAttr[0..1], + fCDM set_fCDM[1..2], + fAmbiguousCharSet set_fAmbiguousCharSet[2..3], + fClusterSizeVaries set_fClusterSizeVaries[3..4], + fRejectInvalid set_fRejectInvalid[4..5], +]); +STRUCT!{struct SCRIPT_FONTPROPERTIES { + cBytes: ::c_int, + wgBlank: ::WORD, + wgDefault: ::WORD, + wgInvalid: ::WORD, + wgKashida: ::WORD, + iKashidaWidth: ::c_int, +}} +//1440 +pub const SSA_PASSWORD: ::DWORD = 0x00000001; +pub const SSA_TAB: ::DWORD = 0x00000002; +pub const SSA_CLIP: ::DWORD = 0x00000004; +pub const SSA_FIT: ::DWORD = 0x00000008; +pub const SSA_DZWG: ::DWORD = 0x00000010; +pub const SSA_FALLBACK: ::DWORD = 0x00000020; +pub const SSA_BREAK: ::DWORD = 0x00000040; +pub const SSA_GLYPHS: ::DWORD = 0x00000080; +pub const SSA_RTL: ::DWORD = 0x00000100; +pub const SSA_GCP: ::DWORD = 0x00000200; +pub const SSA_HOTKEY: ::DWORD = 0x00000400; +pub const SSA_METAFILE: ::DWORD = 0x00000800; +pub const SSA_LINK: ::DWORD = 0x00001000; +pub const SSA_HIDEHOTKEY: ::DWORD = 0x00002000; +pub const SSA_HOTKEYONLY: ::DWORD = 0x00002400; +pub const SSA_FULLMEASURE: ::DWORD = 0x04000000; +pub const SSA_LPKANSIFALLBACK: ::DWORD = 0x08000000; +pub const SSA_PIDX: ::DWORD = 0x10000000; +pub const SSA_LAYOUTRTL: ::DWORD = 0x20000000; +pub const SSA_DONTGLYPH: ::DWORD = 0x40000000; +pub const SSA_NOKASHIDA: ::DWORD = 0x80000000; +STRUCT!{struct SCRIPT_TABDEF { + cTabStops: ::c_int, + iScale: ::c_int, + pTabStops: *mut ::c_int, + iTabOrigin: ::c_int, +}} +DECLARE_HANDLE!(SCRIPT_STRING_ANALYSIS, SCRIPT_STRING_ANALYSIS__); +pub const SIC_COMPLEX: ::DWORD = 1; +pub const SIC_ASCIIDIGIT: ::DWORD = 2; +pub const SIC_NEUTRAL: ::DWORD = 4; +STRUCT!{struct SCRIPT_DIGITSUBSTITUTE { + bit_fields1: ::DWORD, + bit_fields2: ::DWORD, + dwReserved: ::DWORD, +}} +BITFIELD!(SCRIPT_DIGITSUBSTITUTE bit_fields1: ::DWORD [ + NationalDigitLanguage set_NationalDigitLanguage[0..16], + TraditionalDigitLanguage set_TraditionalDigitLanguage[16..32], +]); +BITFIELD!(SCRIPT_DIGITSUBSTITUTE bit_fields2: ::DWORD [ + DigitSubstitute set_DigitSubstitute[0..8], +]); +pub const SCRIPT_DIGITSUBSTITUTE_CONTEXT: ::BYTE = 0; +pub const SCRIPT_DIGITSUBSTITUTE_NONE: ::BYTE = 1; +pub const SCRIPT_DIGITSUBSTITUTE_NATIONAL: ::BYTE = 2; +pub const SCRIPT_DIGITSUBSTITUTE_TRADITIONAL: ::BYTE = 3; +pub type OPENTYPE_TAG = ::ULONG; +pub const SCRIPT_TAG_UNKNOWN: OPENTYPE_TAG = 0x00000000; +STRUCT!{struct OPENTYPE_FEATURE_RECORD { + tagFeature: OPENTYPE_TAG, + lParameter: ::LONG, +}} +STRUCT!{struct TEXTRANGE_PROPERTIES { + potfRecords: *mut OPENTYPE_FEATURE_RECORD, + cotfRecords: ::c_int, +}} +STRUCT!{struct SCRIPT_CHARPROP { + bit_fields: ::WORD, +}} +BITFIELD!(SCRIPT_CHARPROP bit_fields: ::WORD [ + fCanGlyphAlone set_fCanGlyphAlone[0..1], + reserved set_reserved[1..16], +]); +STRUCT!{struct SCRIPT_GLYPHPROP { + sva: SCRIPT_VISATTR, + reserved: ::WORD, +}} diff --git a/third_party/rust/winapi-0.2.8/src/vadefs.rs b/third_party/rust/winapi-0.2.8/src/vadefs.rs new file mode 100644 index 0000000000..c482026f0e --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/vadefs.rs @@ -0,0 +1,7 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Definitions of macro helpers used by <stdarg.h>. This is the topmost header in the CRT header +//! lattice, and is always the first CRT header to be included, explicitly or implicitly. +//! Therefore, this header also has several definitions that are used throughout the CRT. +//39 +pub type va_list = *mut ::c_char; diff --git a/third_party/rust/winapi-0.2.8/src/vsbackup.rs b/third_party/rust/winapi-0.2.8/src/vsbackup.rs new file mode 100644 index 0000000000..5f6036a40d --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/vsbackup.rs @@ -0,0 +1,303 @@ +// Copyright © 2015, Brian Vincent +// Licensed under the MIT License <LICENSE.md> +//! VSS backup interfaces +DEFINE_GUID!(IID_IVssExamineWriterMetadata, 0x902fcf7f, 0xb7fd, 0x42f8, + 0x81, 0xf1, 0xb2, 0xe4, 0x00, 0xb1, 0xe5, 0xbd); +DEFINE_GUID!(IID_IVssExamineWriterMetadataEx, 0x0c0e5ec0, 0xca44, 0x472b, + 0xb7, 0x02, 0xe6, 0x52, 0xdb, 0x1c, 0x04, 0x51); +DEFINE_GUID!(IID_IVssBackupComponents, 0x665c1d5f, 0xc218, 0x414d, + 0xa0, 0x5d, 0x7f, 0xef, 0x5f, 0x9d, 0x5c, 0x86); +DEFINE_GUID!(IID_IVssBackupComponentsEx, 0x963f03ad, 0x9e4c, 0x4a34, + 0xac, 0x15, 0xe4, 0xb6, 0x17, 0x4e, 0x50, 0x36); +STRUCT!{struct VSS_COMPONENTINFO { + type_: ::VSS_COMPONENT_TYPE, // type is a keyword in rust + bstrLogicalPath: ::BSTR, + bstrComponentName: ::BSTR, + bstrCaption: ::BSTR, + pbIcon: *mut ::BYTE, + cbIcon: ::UINT, + bRestoreMetadata: bool, + bNotifyOnBackupComplete: bool, + bSelectable: bool, + bSelectableForRestore: bool, + dwComponentFlags: ::DWORD, + cFileCount: ::UINT, + cDatabases: ::UINT, + cLogFiles: ::UINT, + cDependencies: ::UINT, +}} +pub type PVSSCOMPONENTINFO = *const ::VSS_COMPONENTINFO; +RIDL!( +interface IVssWMComponent(IVssWMComponentVtbl): IUnknown(IUnknownVtbl) { + fn GetComponentInfo(&mut self, ppInfo: *mut ::PVSSCOMPONENTINFO) -> ::HRESULT, + fn FreeComponentInfo(&mut self, pInfo: ::PVSSCOMPONENTINFO) -> ::HRESULT, + fn GetFile(&mut self, iFile: ::UINT, ppFiledesc: *mut *mut ::IVssWMFiledesc) -> ::HRESULT, + fn GetDatabaseFile( + &mut self, iDBFile: ::UINT, ppFiledesc: *mut *mut ::IVssWMFiledesc + ) -> ::HRESULT, + fn GetDatabaseLogFile( + &mut self, iDbLogFile: ::UINT, ppFiledesc: *mut *mut ::IVssWMFiledesc + ) -> ::HRESULT, + fn GetDependency( + &mut self, iDependency: ::UINT, ppDependency: *mut *mut ::IVssWMDependency + ) -> ::HRESULT +} +); +RIDL!( +interface IVssExamineWriterMetadata(IVssExamineWriterMetadataVtbl): IUnknown(IUnknownVtbl) { + fn GetIdentity( + &mut self, pidInstance: *mut ::VSS_ID, pidWriter: *mut ::VSS_ID, + pbstrWriterName: *mut ::BSTR, pUsage: *mut ::VSS_USAGE_TYPE, + pSource: *mut ::VSS_SOURCE_TYPE + ) -> ::HRESULT, + fn GetFileCounts(&mut self, pcIncludeFiles: *mut ::UINT, pcExcludeFiles: *mut ::UINT, + pcComponents: *mut ::UINT + ) -> ::HRESULT, + fn GetIncludeFile( + &mut self, iFile: ::UINT, ppFiledesc: *mut *mut ::IVssWMFiledesc + ) -> ::HRESULT, + fn GetExcludeFile( + &mut self, iFile: ::UINT, ppFiledesc: *mut *mut ::IVssWMFiledesc + ) -> ::HRESULT, + fn GetComponent( + &mut self, iComponent: ::UINT, ppComponent: *mut *mut ::IVssWMComponent + ) -> ::HRESULT, + fn GetRestoreMethod( + &mut self, pMethod: *mut ::VSS_RESTOREMETHOD_ENUM, pbstrService: *mut ::BSTR, + pbstrUserProcedure: *mut ::BSTR, pwriterRestore: *mut ::VSS_WRITERRESTORE_ENUM, + pbRebootRequired: *mut bool, pcMappings: *mut ::UINT + ) -> ::HRESULT, + fn GetAlternateLocationMapping( + &mut self, iMapping: ::UINT, ppFiledesc: *mut *mut ::IVssWMFiledesc + ) -> ::HRESULT, + fn GetBackupSchema(&mut self, pdwSchemaMask: *mut ::DWORD) -> ::HRESULT, + fn GetDocument(&mut self, pDoc: *mut ::c_void) -> ::HRESULT, //TODO IXMLDOMDocument + fn SaveAsXML(&mut self, pbstrXML: *mut ::BSTR) -> ::HRESULT, + fn LoadFromXML(&mut self, pbstrXML: *mut ::BSTR) -> ::HRESULT +} +); +RIDL!( +interface IVssExamineWriterMetadataEx(IVssExamineWriterMetadataExVtbl): + IVssExamineWriterMetadata(IVssExamineWriterMetadataVtbl) { + fn GetIdentityEx( + &mut self, pidInstance: *mut ::VSS_ID, pidWriter: *mut ::VSS_ID, + pbstrWriterName: *mut ::BSTR, pbstrInstanceName: *mut ::BSTR, + pUsage: *mut ::VSS_USAGE_TYPE, pSource: *mut ::VSS_SOURCE_TYPE + ) -> ::HRESULT +} +); +RIDL!( +interface IVssExamineWriterMetadataEx2(IVssExamineWriterMetadataEx2Vtbl): + IVssExamineWriterMetadataEx(IVssExamineWriterMetadataExVtbl) { + fn GetVersion( + &mut self, pdwMajorVersion: *mut ::DWORD, pdwMinorVersion: *mut ::DWORD + ) -> ::HRESULT, + fn GetExcludeFromSnapshotCount(&mut self, pcExcludedFromSnapshot: *mut ::UINT) -> ::HRESULT, + fn GetExcludeFromSnapshotFile( + &mut self, iFile: ::UINT, ppFiledesc: *mut *mut ::IVssWMFiledesc + ) -> ::HRESULT +} +); +#[repr(C)] +pub struct IVssWriterComponentsExt { + pub lpVtbl: *const IVssWriterComponentsExtVtbl, +} +#[repr(C)] +pub struct IVssWriterComponentsExtVtbl { + pub parent1: ::IVssWriterComponentsVtbl, + pub parent2: ::IUnknownVtbl, +} +RIDL!( +interface IVssBackupComponents(IVssBackupComponentsVtbl): IUnknown(IUnknownVtbl) { + fn GetWriterComponentsCount(&mut self, pcComponents: *mut ::UINT) -> ::HRESULT, + fn GetWriterComponents( + &mut self, iWriter: ::UINT, ppWriter: *mut *mut IVssWriterComponentsExt + ) -> ::HRESULT, + fn InitializeForBackup(&mut self, bstrXML: ::BSTR) -> ::HRESULT, + fn SetBackupState( + &mut self, bSelectComponents: bool, bBackupBootableSystemState: bool, + backupType: ::VSS_BACKUP_TYPE, bPartialFileSupport: bool + ) -> ::HRESULT, + fn InitializeForRestore(&mut self, bstrXML: ::BSTR) -> ::HRESULT, + fn SetRestoreState(&mut self, restoreType: ::VSS_RESTORE_TYPE) -> ::HRESULT, + fn GatherWriterMetadata(&mut self, pAsync: *mut *mut ::IVssAsync) -> ::HRESULT, + fn GetWriterMetadataCount(&mut self, pcWriters: *mut ::UINT) -> ::HRESULT, + fn GetWriterMetadata( + &mut self, iWriter: ::UINT, pidInstance: *mut ::VSS_ID, + ppMetadata: *mut *mut IVssExamineWriterMetadata + ) -> ::HRESULT, + fn FreeWriterMetadata(&mut self) -> ::HRESULT, + fn AddComponent( + &mut self, instanceId: ::VSS_ID, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, + wszLogicalPath: ::LPCWSTR, wszComponentName: ::LPCWSTR + ) -> ::HRESULT, + fn PrepareForBackup(&mut self, ppAsync: *mut *mut ::IVssAsync) -> ::HRESULT, + fn AbortBackup(&mut self) -> ::HRESULT, + fn GatherWriterStatus(&mut self, ppAsync: *mut *mut ::IVssAsync) -> ::HRESULT, + fn GetWriterStatusCount(&mut self, pcWriters: *mut ::UINT) -> ::HRESULT, + fn FreeWriterStatus(&mut self) -> ::HRESULT, + fn GetWriterStatus( + &mut self, iWriter: ::UINT, pidInstance: *mut ::VSS_ID, pidWriter: *mut ::VSS_ID, + pbstrWriter: *mut ::BSTR, pnStatus: *mut ::VSS_WRITER_STATE, + phResultFailure: *mut ::HRESULT + ) -> ::HRESULT, + fn SetBackupSucceeded( + &mut self, instanceId: ::VSS_ID, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, + wszLogicalPath: ::LPCWSTR, wszComponentName: ::LPCWSTR, bSucceded: bool + ) -> ::HRESULT, + fn SetBackupOptions( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, wszBackupOptions: ::LPCWSTR + ) -> ::HRESULT, + fn SetSelectedForRestore( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, bSelectedForRestore: bool + ) -> ::HRESULT, + fn SetRestoreOptions( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, wszRestoreOptions: ::LPCWSTR + ) -> ::HRESULT, + fn SetAdditionalRestores( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, bAdditionalRestores: bool + ) -> ::HRESULT, + fn SetPreviousBackupStamp( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, wszPreviousBackupStamp: ::LPCWSTR + ) -> ::HRESULT, + fn SaveAsXML(&mut self, pbstrXML: *mut ::BSTR) -> ::HRESULT, + fn BackupComplete(&mut self, ppAsync: *mut *mut ::IVssAsync) -> ::HRESULT, + fn AddAlternativeLocationMapping( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, wszPath: ::LPCWSTR, wszFilespec: ::LPCWSTR, bRecursive: bool, + wszDestination: ::LPCWSTR + ) -> ::HRESULT, + fn AddRestoreSubcomponent( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, wszSubComponentLogicalPath: ::LPCWSTR, + wszSubComponentName: ::LPCWSTR, bRepair: bool + ) -> ::HRESULT, + fn SetFileRestoreStatus( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, status: ::VSS_FILE_RESTORE_STATUS + ) -> ::HRESULT, + fn AddNewTarget( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, wszPath: ::LPCWSTR, wszFileName: ::LPCWSTR, bRecursive: bool, + wszAlternatePath: ::LPCWSTR + ) -> ::HRESULT, + fn SetRangesFilePath( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, iPartialFile: ::UINT, wszRangesFile: ::LPCWSTR + ) -> ::HRESULT, + fn PreRestore(&mut self, ppAsync: *mut *mut ::IVssAsync) -> ::HRESULT, + fn PostRestore(&mut self, ppAsync: *mut *mut ::IVssAsync) -> ::HRESULT, + fn SetContext(&mut self, lContext: ::LONG) -> ::HRESULT, + fn StartSnapshotSet(&mut self, pSnapshotSetId: *mut ::VSS_ID) -> ::HRESULT, + fn AddToSnapshotSet( + &mut self, pwszVolumeName: ::VSS_PWSZ, ProviderId: ::VSS_ID, pidSnapshot: *mut ::VSS_ID + ) -> ::HRESULT, + fn DoSnapshotSet(&mut self, ppAsync: *mut *mut ::IVssAsync) -> ::HRESULT, + fn DeleteSnapshots( + &mut self, SourceObjectId: ::VSS_ID, eSourceObjectType: ::VSS_OBJECT_TYPE, + bForceDelete: ::BOOL, plDeletedSnapshots: *mut ::LONG, pNondeletedSnapshotID: *mut ::VSS_ID + ) -> ::HRESULT, + fn ImportSnapshots(&mut self, ppAsync: *mut *mut ::IVssAsync) -> ::HRESULT, + fn BreakSnapshotSet(&mut self, SnapshotSetId: ::VSS_ID) -> ::HRESULT, + fn GetSnapshotProperties( + &mut self, SnapshotId: ::VSS_ID, + pProp: *mut ::VSS_SNAPSHOT_PROP + ) -> ::HRESULT, + fn Query(&mut self, QueriedObjectId: ::VSS_ID, eQueriedObjectType: ::VSS_OBJECT_TYPE, + eReturnedObjectsType: ::VSS_OBJECT_TYPE, ppEnum: *mut *mut ::IVssEnumObject) -> ::HRESULT, + fn IsVolumeSupported( + &mut self, ProviderId: ::VSS_ID, pwszVolumeName: ::VSS_PWSZ, + pbSupportedByThisProvider: *mut ::BOOL + ) -> ::HRESULT, + fn DisableWriterClasses( + &mut self, rgWriterClassId: *const ::VSS_ID, cClassId: ::UINT + ) -> ::HRESULT, + fn EnableWriterClasses( + &mut self, rgWriterClassId: *const ::VSS_ID, cClassId: ::UINT + ) -> ::HRESULT, + fn DisableWriterInstances( + &mut self, rgWriterInstanceId: *const ::VSS_ID, cInstanceId: ::UINT + ) -> ::HRESULT, + fn ExposeSnapshot(&mut self, SnapshotId: ::VSS_ID, wszPathFromRoot: ::VSS_PWSZ, + lAttributes: ::LONG, wszExpose: ::VSS_PWSZ, pwszExposed: ::VSS_PWSZ + ) -> ::HRESULT, + fn RevertToSnapshot(&mut self, SnapshotId: ::VSS_ID, bForceDismount: ::BOOL) -> ::HRESULT, + fn QueryRevertStatus( + &mut self, pwszVolume: ::VSS_PWSZ, ppAsync: *mut *mut ::IVssAsync + ) -> ::HRESULT +} +); +RIDL!( +interface IVssBackupComponentsEx(IVssBackupComponentsExVtbl): + IVssBackupComponents(IVssBackupComponentsVtbl) { + fn GetWriterMetadataEx( + &mut self, iWriter: ::UINT, pidInstance: *mut ::VSS_ID, + ppMetadata: *mut *mut ::IVssExamineWriterMetadataEx + ) -> ::HRESULT, + fn SetSelectedForRestoreEx( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, bSelectedForRestore: bool, instanceId: ::VSS_ID + ) -> ::HRESULT +} +); +RIDL!( +interface IVssBackupComponentsEx2(IVssBackupComponentsEx2Vtbl): + IVssBackupComponentsEx(IVssBackupComponentsExVtbl) { + fn UnexposeSnapshot(&mut self, snapshotId: ::VSS_ID) -> ::HRESULT, + fn SetAuthoritativeRestore( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, bAuth: bool + ) -> ::HRESULT, + fn SetRollForward( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, rollType: ::VSS_ROLLFORWARD_TYPE, + wszRollForwardPoint: ::LPCWSTR + ) -> ::HRESULT, + fn SetRestoreName( + &mut self, writerId: ::VSS_ID, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, wszRestoreName: ::LPCWSTR + ) -> ::HRESULT, + fn BreakSnapshotSetEx( + &mut self, SnapshotSetID: ::VSS_ID, dwBreakFlags: ::DWORD, ppAsync: *mut *mut ::IVssAsync + ) -> ::HRESULT, + fn PreFastRecovery( + &mut self, SnapshotSetID: ::VSS_ID, dwPreFastRecoveryFlags: ::DWORD, + ppAsync: *mut *mut ::IVssAsync + ) -> ::HRESULT, + fn FastRecovery( + &mut self, SnapshotSetID: ::VSS_ID, dwFastRecoveryFlags: ::DWORD, + ppAsync: *mut *mut ::IVssAsync + ) -> ::HRESULT +} +); +RIDL!( +interface IVssBackupComponentsEx3(IVssBackupComponentsEx3Vtbl): + IVssBackupComponentsEx2(IVssBackupComponentsEx2Vtbl) { + fn GetWriterStatusEx( + &mut self, iWriter: ::UINT, pidInstance: *mut ::VSS_ID, pidWriter: *mut ::VSS_ID, + pbstrWriter: *mut ::BSTR, pnStatus: *mut ::VSS_WRITER_STATE, + phrFailureWriter: *mut ::HRESULT, phrApplication: *mut ::HRESULT, + pbstrApplicationMessage: *mut ::BSTR + ) -> ::HRESULT, + fn AddSnapshotToRecoverySet( + &mut self, snapshotId: ::VSS_ID, dwFlags: ::DWORD, pwszDestinationVolume: ::VSS_PWSZ + ) -> ::HRESULT, + fn RecoverSet(&mut self, dwFlags: ::DWORD, ppAsync: *mut *mut ::IVssAsync) -> ::HRESULT, + fn GetSessionId(&mut self, idSession: *mut ::VSS_ID) -> ::HRESULT +} +); +RIDL!( +interface IVssBackupComponentsEx4(IVssBackupComponentsEx4Vtbl): + IVssBackupComponentsEx3(IVssBackupComponentsEx3Vtbl) { + fn GetRootAndLogicalPrefixPaths( + &mut self, pwszFilePath: ::VSS_PWSZ, ppwszRootPath: *mut ::VSS_PWSZ, + ppwszLogicalPrefix: *mut ::VSS_PWSZ, bNormalizeFQDNforRootPath: ::BOOL + ) -> ::HRESULT +} +); +pub const VSS_SW_BOOTABLE_STATE: ::DWORD = 1; diff --git a/third_party/rust/winapi-0.2.8/src/vss.rs b/third_party/rust/winapi-0.2.8/src/vss.rs new file mode 100644 index 0000000000..259f181068 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/vss.rs @@ -0,0 +1,256 @@ +// Copyright © 2015, Brian Vincent +// Licensed under the MIT License <LICENSE.md> +//! VSS header file +ENUM!{enum VSS_OBJECT_TYPE { + VSS_OBJECT_UNKNOWN = 0, + VSS_OBJECT_NONE = 1, + VSS_OBJECT_SNAPSHOT_SET = 2, + VSS_OBJECT_SNAPSHOT = 3, + VSS_OBJECT_PROVIDER = 4, + VSS_OBJECT_TYPE_COUNT = 5, +}} +pub type PVSS_OBJECT_TYPE = *mut VSS_OBJECT_TYPE; +ENUM!{enum VSS_SNAPSHOT_STATE { + VSS_SS_UNKNOWN = 0x00, + VSS_SS_PREPARING = 0x01, + VSS_SS_PROCESSING_PREPARE = 0x02, + VSS_SS_PREPARED = 0x03, + VSS_SS_PROCESSING_PRECOMMIT = 0x04, + VSS_SS_PRECOMMITTED = 0x05, + VSS_SS_PROCESSING_COMMIT = 0x06, + VSS_SS_COMMITTED = 0x07, + VSS_SS_PROCESSING_POSTCOMMIT = 0x08, + VSS_SS_PROCESSING_PREFINALCOMMIT = 0x09, + VSS_SS_PREFINALCOMMITTED = 0x0a, + VSS_SS_PROCESSING_POSTFINALCOMMIT = 0x0b, + VSS_SS_CREATED = 0x0c, + VSS_SS_ABORTED = 0x0d, + VSS_SS_DELETED = 0x0e, + VSS_SS_POSTCOMMITTED = 0x0f, + VSS_SS_COUNT = 0x10, +}} +pub type PVSS_SNAPSHOT_STATE = *mut VSS_SNAPSHOT_STATE; +pub type VSS_VOLUME_SNAPSHOT_ATTRIBUTES = ::LONG; +pub const VSS_VOLSNAP_ATTR_PERSISTENT: ::LONG = 0x00000001; +pub const VSS_VOLSNAP_ATTR_NO_AUTORECOVERY: ::LONG = 0x00000002; +pub const VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE: ::LONG = 0x00000004; +pub const VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE: ::LONG = 0x00000008; +pub const VSS_VOLSNAP_ATTR_NO_WRITERS: ::LONG = 0x00000010; +pub const VSS_VOLSNAP_ATTR_TRANSPORTABLE: ::LONG = 0x00000020; +pub const VSS_VOLSNAP_ATTR_NOT_SURFACED: ::LONG = 0x00000040; +pub const VSS_VOLSNAP_ATTR_NOT_TRANSACTED: ::LONG = 0x00000080; +pub const VSS_VOLSNAP_ATTR_HARDWARE_ASSISTED: ::LONG = 0x00010000; +pub const VSS_VOLSNAP_ATTR_DIFFERENTIAL: ::LONG = 0x00020000; +pub const VSS_VOLSNAP_ATTR_PLEX: ::LONG = 0x00040000; +pub const VSS_VOLSNAP_ATTR_IMPORTED: ::LONG = 0x00080000; +pub const VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY: ::LONG = 0x00100000; +pub const VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY: ::LONG = 0x00200000; +pub const VSS_VOLSNAP_ATTR_AUTORECOVER: ::LONG = 0x00400000; +pub const VSS_VOLSNAP_ATTR_ROLLBACK_RECOVERY: ::LONG = 0x00800000; +pub const VSS_VOLSNAP_ATTR_DELAYED_POSTSNAPSHOT: ::LONG = 0x01000000; +pub const VSS_VOLSNAP_ATTR_TXF_RECOVERY: ::LONG = 0x02000000; +pub const VSS_VOLSNAP_ATTR_FILE_SHARE: ::LONG = 0x04000000; +pub type PVSS_VOLUME_SNAPSHOT_ATTRIBUTES = *mut VSS_VOLUME_SNAPSHOT_ATTRIBUTES; +pub type VSS_SNAPSHOT_CONTEXT = ::LONG; +pub type PVSS_SNAPSHOT_CONTEXT = *mut VSS_SNAPSHOT_CONTEXT; +pub const VSS_CTX_BACKUP: ::LONG = 0; +pub const VSS_CTX_FILE_SHARE_BACKUP: ::LONG = VSS_VOLSNAP_ATTR_NO_WRITERS; +pub const VSS_CTX_NAS_ROLLBACK: ::LONG = VSS_VOLSNAP_ATTR_PERSISTENT + | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE | VSS_VOLSNAP_ATTR_NO_WRITERS; +pub const VSS_CTX_APP_ROLLBACK: ::LONG = VSS_VOLSNAP_ATTR_PERSISTENT + | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE; +pub const VSS_CTX_CLIENT_ACCESSIBLE: ::LONG = VSS_VOLSNAP_ATTR_PERSISTENT + | VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE + | VSS_VOLSNAP_ATTR_NO_WRITERS; +pub const VSS_CTX_CLIENT_ACCESSIBLE_WRITERS: ::LONG = VSS_VOLSNAP_ATTR_PERSISTENT + | VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE; +pub const VSS_CTX_ALL: ::LONG = 0xffffffffu32 as ::LONG; +pub type VSS_PROVIDER_CAPABILITIES = ::DWORD; +pub type PVSS_PROVIDER_CAPABILITIES = *mut VSS_PROVIDER_CAPABILITIES; +pub const VSS_PRV_CAPABILITY_LEGACY: ::DWORD = 0x1; +pub const VSS_PRV_CAPABILITY_COMPLIANT: ::DWORD = 0x2; +pub const VSS_PRV_CAPABILITY_LUN_REPOINT: ::DWORD = 0x4; +pub const VSS_PRV_CAPABILITY_LUN_RESYNC: ::DWORD = 0x8; +pub const VSS_PRV_CAPABILITY_OFFLINE_CREATION: ::DWORD = 0x10; +pub const VSS_PRV_CAPABILITY_MULTIPLE_IMPORT: ::DWORD = 0x20; +pub const VSS_PRV_CAPABILITY_RECYCLING: ::DWORD = 0x40; +pub const VSS_PRV_CAPABILITY_PLEX: ::DWORD = 0x80; +pub const VSS_PRV_CAPABILITY_DIFFERENTIAL: ::DWORD = 0x100; +pub const VSS_PRV_CAPABILITY_CLUSTERED: ::DWORD = 0x200; +pub type VSS_HARDWARE_OPTIONS = ::DWORD; +pub type PVSS_HARDWARE_OPTIONS = *mut VSS_HARDWARE_OPTIONS; +pub const VSS_BREAKEX_FLAG_MASK_LUNS: ::DWORD = 0x1; +pub const VSS_BREAKEX_FLAG_MAKE_READ_WRITE: ::DWORD = 0x2; +pub const VSS_BREAKEX_FLAG_REVERT_IDENTITY_ALL: ::DWORD = 0x4; +pub const VSS_BREAKEX_FLAG_REVERT_IDENTITY_NONE: ::DWORD = 0x8; +pub const VSS_ONLUNSTATECHANGE_NOTIFY_READ_WRITE: ::DWORD = 0x100; +pub const VSS_ONLUNSTATECHANGE_NOTIFY_LUN_PRE_RECOVERY: ::DWORD = 0x200; +pub const VSS_ONLUNSTATECHANGE_NOTIFY_LUN_POST_RECOVERY: ::DWORD = 0x400; +pub const VSS_ONLUNSTATECHANGE_DO_MASK_LUNS: ::DWORD = 0x800; +pub type VSS_RECOVERY_OPTIONS = ::DWORD; +pub type PVSS_RECOVERY_OPTIONS = *mut VSS_RECOVERY_OPTIONS; +pub const VSS_RECOVERY_REVERT_IDENTITY_ALL: ::DWORD = 0x00000100; +pub const VSS_RECOVERY_NO_VOLUME_CHECK: ::DWORD = 0x00000200; +ENUM!{enum VSS_WRITER_STATE { + VSS_WS_UNKNOWN = 0, + VSS_WS_STABLE = 1, + VSS_WS_WAITING_FOR_FREEZE = 2, + VSS_WS_WAITING_FOR_THAW = 3, + VSS_WS_WAITING_FOR_POST_SNAPSHOT = 4, + VSS_WS_WAITING_FOR_BACKUP_COMPLETE = 5, + VSS_WS_FAILED_AT_IDENTIFY = 6, + VSS_WS_FAILED_AT_PREPARE_BACKUP = 7, + VSS_WS_FAILED_AT_PREPARE_SNAPSHOT = 8, + VSS_WS_FAILED_AT_FREEZE = 9, + VSS_WS_FAILED_AT_THAW = 10, + VSS_WS_FAILED_AT_POST_SNAPSHOT = 11, + VSS_WS_FAILED_AT_BACKUP_COMPLETE = 12, + VSS_WS_FAILED_AT_PRE_RESTORE = 13, + VSS_WS_FAILED_AT_POST_RESTORE = 14, + VSS_WS_FAILED_AT_BACKUPSHUTDOWN = 15, + VSS_WS_COUNT = 16, +}} +pub type PVSS_WRITER_STATE = *mut VSS_WRITER_STATE; +ENUM!{enum VSS_BACKUP_TYPE { + VSS_BT_UNDEFINED = 0, + VSS_BT_FULL = 1, + VSS_BT_INCREMENTAL = 2, + VSS_BT_DIFFERENTIAL = 3, + VSS_BT_LOG = 4, + VSS_BT_COPY = 5, + VSS_BT_OTHER = 6, +}} +pub type PVSS_BACKUP_TYPE = *mut VSS_BACKUP_TYPE; +ENUM!{enum VSS_RESTORE_TYPE { + VSS_RTYPE_UNDEFINED = 0, + VSS_RTYPE_BY_COPY = 1, + VSS_RTYPE_IMPORT = 2, + VSS_RTYPE_OTHER = 3, +}} +pub type PVSS_RESTORE_TYPE = *mut VSS_RESTORE_TYPE; +ENUM!{enum VSS_ROLLFORWARD_TYPE { + VSS_RF_UNDEFINED = 0, + VSS_RF_NONE = 1, + VSS_RF_ALL = 2, + VSS_RF_PARTIAL = 3, +}} +pub type PVSS_ROLLFORWARD_TYPE = *mut VSS_ROLLFORWARD_TYPE; +ENUM!{enum VSS_PROVIDER_TYPE { + VSS_PROV_UNKNOWN = 0, + VSS_PROV_SYSTEM = 1, + VSS_PROV_SOFTWARE = 2, + VSS_PROV_HARDWARE = 3, + VSS_PROV_FILESHARE = 4, +}} +pub type PVSS_PROVIDER_TYPE = *mut VSS_PROVIDER_TYPE; +ENUM!{enum VSS_APPLICATION_LEVEL { + VSS_APP_UNKNOWN = 0, + VSS_APP_SYSTEM = 1, + VSS_APP_BACK_END = 2, + VSS_APP_FRONT_END = 3, + VSS_APP_SYSTEM_RM = 4, + VSS_APP_AUTO = -1i32 as u32, +}} +pub type PVSS_APPLICATION_LEVEL = *mut VSS_APPLICATION_LEVEL; +ENUM!{enum VSS_SNAPSHOT_PROPERTY_ID { + VSS_SPROPID_UNKNOWN = 0, + VSS_SPROPID_SNAPSHOT_ID = 0x1, + VSS_SPROPID_SNAPSHOT_SET_ID = 0x2, + VSS_SPROPID_SNAPSHOTS_COUNT = 0x3, + VSS_SPROPID_SNAPSHOT_DEVICE = 0x4, + VSS_SPROPID_ORIGINAL_VOLUME = 0x5, + VSS_SPROPID_ORIGINATING_MACHINE = 0x6, + VSS_SPROPID_SERVICE_MACHINE = 0x7, + VSS_SPROPID_EXPOSED_NAME = 0x8, + VSS_SPROPID_EXPOSED_PATH = 0x9, + VSS_SPROPID_PROVIDER_ID = 0xa, + VSS_SPROPID_SNAPSHOT_ATTRIBUTES = 0xb, + VSS_SPROPID_CREATION_TIMESTAMP = 0xc, + VSS_SPROPID_STATUS = 0xd, +}} +pub type PVSS_SNAPSHOT_PROPERTY_ID = *mut VSS_SNAPSHOT_PROPERTY_ID; +pub type VSS_FILE_SPEC_BACKUP_TYPE = ::DWORD; +pub type PVSS_FILE_SPEC_BACKUP_TYPE = *mut VSS_FILE_SPEC_BACKUP_TYPE; +pub const VSS_FSBT_FULL_BACKUP_REQUIRED: ::DWORD = 0x1; +pub const VSS_FSBT_DIFFERENTIAL_BACKUP_REQUIRED: ::DWORD = 0x2; +pub const VSS_FSBT_INCREMENTAL_BACKUP_REQUIRED: ::DWORD = 0x4; +pub const VSS_FSBT_LOG_BACKUP_REQUIRED: ::DWORD = 0x8; +pub const VSS_FSBT_FULL_SNAPSHOT_REQUIRED: ::DWORD = 0x100; +pub const VSS_FSBT_DIFFERENTIAL_SNAPSHOT_REQUIRED: ::DWORD = 0x200; +pub const VSS_FSBT_INCREMENTAL_SNAPSHOT_REQUIRED: ::DWORD = 0x400; +pub const VSS_FSBT_LOG_SNAPSHOT_REQUIRED: ::DWORD = 0x800; +pub const VSS_FSBT_CREATED_DURING_BACKUP: ::DWORD = 0x10000; +pub const VSS_FSBT_ALL_BACKUP_REQUIRED: ::DWORD = 0xf; +pub const VSS_FSBT_ALL_SNAPSHOT_REQUIRED: ::DWORD = 0xf00; +pub type VSS_BACKUP_SCHEMA = ::DWORD; +pub type PVSS_BACKUP_SCHEMA = *mut VSS_BACKUP_SCHEMA; +pub const VSS_BS_UNDEFINED: ::DWORD = 0; +pub const VSS_BS_DIFFERENTIAL: ::DWORD = 0x1; +pub const VSS_BS_INCREMENTAL: ::DWORD = 0x2; +pub const VSS_BS_EXCLUSIVE_INCREMENTAL_DIFFERENTIAL: ::DWORD = 0x4; +pub const VSS_BS_LOG: ::DWORD = 0x8; +pub const VSS_BS_COPY: ::DWORD = 0x10; +pub const VSS_BS_TIMESTAMPED: ::DWORD = 0x20; +pub const VSS_BS_LAST_MODIFY: ::DWORD = 0x40; +pub const VSS_BS_LSN: ::DWORD = 0x80; +pub const VSS_BS_WRITER_SUPPORTS_NEW_TARGET: ::DWORD = 0x100; +pub const VSS_BS_WRITER_SUPPORTS_RESTORE_WITH_MOVE: ::DWORD = 0x200; +pub const VSS_BS_INDEPENDENT_SYSTEM_STATE: ::DWORD = 0x400; +pub const VSS_BS_ROLLFORWARD_RESTORE: ::DWORD = 0x1000; +pub const VSS_BS_RESTORE_RENAME: ::DWORD = 0x2000; +pub const VSS_BS_AUTHORITATIVE_RESTORE: ::DWORD = 0x4000; +pub const VSS_BS_WRITER_SUPPORTS_PARALLEL_RESTORES: ::DWORD = 0x8000; +pub type VSS_ID = ::GUID; +pub type VSS_PWSZ = *mut ::WCHAR; +pub type VSS_TIMESTAMP = ::LONGLONG; +STRUCT!{struct VSS_SNAPSHOT_PROP { + m_SnapshotId: ::VSS_ID, + m_SnapshotSetId: ::VSS_ID, + m_lSnapshotsCount: ::LONG, + m_pwszSnapshotDeviceObject: ::VSS_PWSZ, + m_pwszOriginalVolumeName: ::VSS_PWSZ, + m_pwszOriginatingMachine: ::VSS_PWSZ, + m_pwszServiceMachine: ::VSS_PWSZ, + m_pwszExposedName: ::VSS_PWSZ, + m_pwszExposedPath: ::VSS_PWSZ, + m_ProviderId: ::VSS_ID, + m_lSnapshotAttributes: ::LONG, + m_tsCreationTimestamp: ::VSS_TIMESTAMP, + m_eStatus: ::VSS_SNAPSHOT_STATE, +}} +type PVSS_SNAPSHOT_PROP = *mut VSS_SNAPSHOT_PROP; +STRUCT!{struct VSS_PROVIDER_PROP { + m_ProviderId: ::VSS_ID, + m_pwszProviderName: ::VSS_PWSZ, + m_eProviderType: ::VSS_PROVIDER_TYPE, + m_pwszProviderVersion: ::VSS_PWSZ, + m_ProviderVersionId: ::VSS_ID, + m_ClassId: ::CLSID, +}} +type PVSS_PROVIDER_PROP = *mut VSS_PROVIDER_PROP; +STRUCT!{struct VSS_OBJECT_UNION { + Snap: ::VSS_SNAPSHOT_PROP, +}} +UNION!(VSS_OBJECT_UNION, Snap, Prov, Prov_mut, VSS_PROVIDER_PROP); +STRUCT!{struct VSS_OBJECT_PROP { + Type: ::VSS_OBJECT_TYPE, + Obj: ::VSS_OBJECT_UNION, +}} +type PVSS_OBJECT_PROP = *mut VSS_OBJECT_PROP; +RIDL!( +interface IVssEnumObject(IVssEnumObjectVtbl): IUnknown(IUnknownVtbl) { + fn Next( + &mut self, celt: ::ULONG, rgelt: *mut ::VSS_OBJECT_PROP, pceltFetched: *mut ::ULONG + ) -> ::HRESULT, + fn Skip(&mut self, celt: ::ULONG) -> ::HRESULT, + fn Reset(&mut self) -> ::HRESULT, + fn Clone(&mut self, ppenum: *mut *mut ::IVssEnumObject) -> ::HRESULT +} +); +RIDL!( +interface IVssAsync(IVssAsyncVtbl): IUnknown(IUnknownVtbl) { + fn Cancel(&mut self) -> ::HRESULT, + fn Wait(&mut self, dwMilliseconds: ::DWORD) -> ::HRESULT, + fn QueryStatus(&mut self, pHrResult: *mut ::HRESULT, pReserved: *mut ::INT) -> ::HRESULT +} +); diff --git a/third_party/rust/winapi-0.2.8/src/vsserror.rs b/third_party/rust/winapi-0.2.8/src/vsserror.rs new file mode 100644 index 0000000000..ef84af0f08 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/vsserror.rs @@ -0,0 +1,85 @@ +// Copyright © 2015, Brian Vincent +// Licensed under the MIT License <LICENSE.md> +//! VSS Error header file +pub const VSS_E_BAD_STATE: ::HRESULT = 0x80042301u32 as i32; +pub const VSS_E_UNEXPECTED: ::HRESULT = 0x80042302u32 as i32; +pub const VSS_E_PROVIDER_ALREADY_REGISTERED: ::HRESULT = 0x80042303u32 as i32; +pub const VSS_E_PROVIDER_NOT_REGISTERED: ::HRESULT = 0x80042304u32 as i32; +pub const VSS_E_PROVIDER_VETO: ::HRESULT = 0x80042306u32 as i32; +pub const VSS_E_PROVIDER_IN_USE: ::HRESULT = 0x80042307u32 as i32; +pub const VSS_E_OBJECT_NOT_FOUND: ::HRESULT = 0x80042308u32 as i32; +pub const VSS_S_ASYNC_PENDING: ::HRESULT = 0x00042309u32 as i32; +pub const VSS_S_ASYNC_FINISHED: ::HRESULT = 0x0004230Au32 as i32; +pub const VSS_S_ASYNC_CANCELLED: ::HRESULT = 0x0004230Bu32 as i32; +pub const VSS_E_VOLUME_NOT_SUPPORTED: ::HRESULT = 0x8004230Cu32 as i32; +pub const VSS_E_VOLUME_NOT_SUPPORTED_BY_PROVIDER: ::HRESULT = 0x8004230Eu32 as i32; +pub const VSS_E_OBJECT_ALREADY_EXISTS: ::HRESULT = 0x8004230Du32 as i32; +pub const VSS_E_UNEXPECTED_PROVIDER_ERROR: ::HRESULT = 0x8004230Fu32 as i32; +pub const VSS_E_CORRUPT_XML_DOCUMENT: ::HRESULT = 0x80042310u32 as i32; +pub const VSS_E_INVALID_XML_DOCUMENT: ::HRESULT = 0x80042311u32 as i32; +pub const VSS_E_MAXIMUM_NUMBER_OF_VOLUMES_REACHED: ::HRESULT = 0x80042312u32 as i32; +pub const VSS_E_FLUSH_WRITES_TIMEOUT: ::HRESULT = 0x80042313u32 as i32; +pub const VSS_E_HOLD_WRITES_TIMEOUT: ::HRESULT = 0x80042314u32 as i32; +pub const VSS_E_UNEXPECTED_WRITER_ERROR: ::HRESULT = 0x80042315u32 as i32; +pub const VSS_E_SNAPSHOT_SET_IN_PROGRESS: ::HRESULT = 0x80042316u32 as i32; +pub const VSS_E_MAXIMUM_NUMBER_OF_SNAPSHOTS_REACHED: ::HRESULT = 0x80042317u32 as i32; +pub const VSS_E_WRITER_INFRASTRUCTURE: ::HRESULT = 0x80042318u32 as i32; +pub const VSS_E_WRITER_NOT_RESPONDING: ::HRESULT = 0x80042319u32 as i32; +pub const VSS_E_WRITER_ALREADY_SUBSCRIBED: ::HRESULT = 0x8004231Au32 as i32; +pub const VSS_E_UNSUPPORTED_CONTEXT: ::HRESULT = 0x8004231Bu32 as i32; +pub const VSS_E_VOLUME_IN_USE: ::HRESULT = 0x8004231Du32 as i32; +pub const VSS_E_MAXIMUM_DIFFAREA_ASSOCIATIONS_REACHED: ::HRESULT = 0x8004231Eu32 as i32; +pub const VSS_E_INSUFFICIENT_STORAGE: ::HRESULT = 0x8004231Fu32 as i32; +pub const VSS_E_NO_SNAPSHOTS_IMPORTED: ::HRESULT = 0x80042320u32 as i32; +pub const VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED: ::HRESULT = 0x00042321u32 as i32; +pub const VSS_E_SOME_SNAPSHOTS_NOT_IMPORTED: ::HRESULT = 0x80042321u32 as i32; +pub const VSS_E_MAXIMUM_NUMBER_OF_REMOTE_MACHINES_REACHED: ::HRESULT = 0x80042322u32 as i32; +pub const VSS_E_REMOTE_SERVER_UNAVAILABLE: ::HRESULT = 0x80042323u32 as i32; +pub const VSS_E_REMOTE_SERVER_UNSUPPORTED: ::HRESULT = 0x80042324u32 as i32; +pub const VSS_E_REVERT_IN_PROGRESS: ::HRESULT = 0x80042325u32 as i32; +pub const VSS_E_REVERT_VOLUME_LOST: ::HRESULT = 0x80042326u32 as i32; +pub const VSS_E_REBOOT_REQUIRED: ::HRESULT = 0x80042327u32 as i32; +pub const VSS_E_TRANSACTION_FREEZE_TIMEOUT: ::HRESULT = 0x80042328u32 as i32; +pub const VSS_E_TRANSACTION_THAW_TIMEOUT: ::HRESULT = 0x80042329u32 as i32; +pub const VSS_E_VOLUME_NOT_LOCAL: ::HRESULT = 0x8004232Du32 as i32; +pub const VSS_E_CLUSTER_TIMEOUT: ::HRESULT = 0x8004232Eu32 as i32; +pub const VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT: ::HRESULT = 0x800423F0u32 as i32; +pub const VSS_E_WRITERERROR_OUTOFRESOURCES: ::HRESULT = 0x800423F1u32 as i32; +pub const VSS_E_WRITERERROR_TIMEOUT: ::HRESULT = 0x800423F2u32 as i32; +pub const VSS_E_WRITERERROR_RETRYABLE: ::HRESULT = 0x800423F3u32 as i32; +pub const VSS_E_WRITERERROR_NONRETRYABLE: ::HRESULT = 0x800423F4u32 as i32; +pub const VSS_E_WRITERERROR_RECOVERY_FAILED: ::HRESULT = 0x800423F5u32 as i32; +pub const VSS_E_BREAK_REVERT_ID_FAILED: ::HRESULT = 0x800423F6u32 as i32; +pub const VSS_E_LEGACY_PROVIDER: ::HRESULT = 0x800423F7u32 as i32; +pub const VSS_E_MISSING_DISK: ::HRESULT = 0x800423F8u32 as i32; +pub const VSS_E_MISSING_HIDDEN_VOLUME: ::HRESULT = 0x800423F9u32 as i32; +pub const VSS_E_MISSING_VOLUME: ::HRESULT = 0x800423FAu32 as i32; +pub const VSS_E_AUTORECOVERY_FAILED: ::HRESULT = 0x800423FBu32 as i32; +pub const VSS_E_DYNAMIC_DISK_ERROR: ::HRESULT = 0x800423FCu32 as i32; +pub const VSS_E_NONTRANSPORTABLE_BCD: ::HRESULT = 0x800423FDu32 as i32; +pub const VSS_E_CANNOT_REVERT_DISKID: ::HRESULT = 0x800423FEu32 as i32; +pub const VSS_E_RESYNC_IN_PROGRESS: ::HRESULT = 0x800423FFu32 as i32; +pub const VSS_E_CLUSTER_ERROR: ::HRESULT = 0x80042400u32 as i32; +pub const VSS_E_UNSELECTED_VOLUME: ::HRESULT = 0x8004232Au32 as i32; +pub const VSS_E_SNAPSHOT_NOT_IN_SET: ::HRESULT = 0x8004232Bu32 as i32; +pub const VSS_E_NESTED_VOLUME_LIMIT: ::HRESULT = 0x8004232Cu32 as i32; +pub const VSS_E_NOT_SUPPORTED: ::HRESULT = 0x8004232Fu32 as i32; +pub const VSS_E_WRITERERROR_PARTIAL_FAILURE: ::HRESULT = 0x80042336u32 as i32; +pub const VSS_E_ASRERROR_DISK_ASSIGNMENT_FAILED: ::HRESULT = 0x80042401u32 as i32; +pub const VSS_E_ASRERROR_DISK_RECREATION_FAILED: ::HRESULT = 0x80042402u32 as i32; +pub const VSS_E_ASRERROR_NO_ARCPATH: ::HRESULT = 0x80042403u32 as i32; +pub const VSS_E_ASRERROR_MISSING_DYNDISK: ::HRESULT = 0x80042404u32 as i32; +pub const VSS_E_ASRERROR_SHARED_CRIDISK: ::HRESULT = 0x80042405u32 as i32; +pub const VSS_E_ASRERROR_DATADISK_RDISK0: ::HRESULT = 0x80042406u32 as i32; +pub const VSS_E_ASRERROR_RDISK0_TOOSMALL: ::HRESULT = 0x80042407u32 as i32; +pub const VSS_E_ASRERROR_CRITICAL_DISKS_TOO_SMALL: ::HRESULT = 0x80042408u32 as i32; +pub const VSS_E_WRITER_STATUS_NOT_AVAILABLE: ::HRESULT = 0x80042409u32 as i32; +pub const VSS_E_ASRERROR_DYNAMIC_VHD_NOT_SUPPORTED: ::HRESULT = 0x8004240Au32 as i32; +pub const VSS_E_CRITICAL_VOLUME_ON_INVALID_DISK: ::HRESULT = 0x80042411u32 as i32; +pub const VSS_E_ASRERROR_RDISK_FOR_SYSTEM_DISK_NOT_FOUND: ::HRESULT = 0x80042412u32 as i32; +pub const VSS_E_ASRERROR_NO_PHYSICAL_DISK_AVAILABLE: ::HRESULT = 0x80042413u32 as i32; +pub const VSS_E_ASRERROR_FIXED_PHYSICAL_DISK_AVAILABLE_AFTER_DISK_EXCLUSION: ::HRESULT = + 0x80042414u32 as i32; +pub const VSS_E_ASRERROR_CRITICAL_DISK_CANNOT_BE_EXCLUDED: ::HRESULT = 0x80042415u32 as i32; +pub const VSS_E_ASRERROR_SYSTEM_PARTITION_HIDDEN: ::HRESULT = 0x80042416u32 as i32; +pub const VSS_E_FSS_TIMEOUT: ::HRESULT = 0x80042417u32 as i32; diff --git a/third_party/rust/winapi-0.2.8/src/vswriter.rs b/third_party/rust/winapi-0.2.8/src/vswriter.rs new file mode 100644 index 0000000000..fd1509c814 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/vswriter.rs @@ -0,0 +1,241 @@ +// Copyright © 2015, Brian Vincent +// Licensed under the MIT License <LICENSE.md> +//! VSS Writer header file +ENUM!{enum VSS_USAGE_TYPE { + VSS_UT_UNDEFINED = 0, + VSS_UT_BOOTABLESYSTEMSTATE = 1, + VSS_UT_SYSTEMSERVICE = 2, + VSS_UT_USERDATA = 3, + VSS_UT_OTHER = 4, +}} +ENUM!{enum VSS_SOURCE_TYPE { + VSS_ST_UNDEFINED = 0, + VSS_ST_TRANSACTEDDB = 1, + VSS_ST_NONTRANSACTEDDB = 2, + VSS_ST_OTHER = 3, +}} +ENUM!{enum VSS_RESTOREMETHOD_ENUM { + VSS_RME_UNDEFINED = 0, + VSS_RME_RESTORE_IF_NOT_THERE = 1, + VSS_RME_RESTORE_IF_CAN_REPLACE = 2, + VSS_RME_STOP_RESTORE_START = 3, + VSS_RME_RESTORE_TO_ALTERNATE_LOCATION = 4, + VSS_RME_RESTORE_AT_REBOOT = 5, + VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE = 6, + VSS_RME_CUSTOM = 7, + VSS_RME_RESTORE_STOP_START = 8, +}} +ENUM!{enum VSS_WRITERRESTORE_ENUM { + VSS_WRE_UNDEFINED = 0, + VSS_WRE_NEVER = 1, + VSS_WRE_IF_REPLACE_FAILS = 2, + VSS_WRE_ALWAYS = 3, +}} +ENUM!{enum VSS_COMPONENT_TYPE { + VSS_CT_UNDEFINED = 0, + VSS_CT_DATABASE = 1, + VSS_CT_FILEGROUP = 2, +}} +ENUM!{enum VSS_ALTERNATE_WRITER_STATE { + VSS_AWS_UNDEFINED = 0, + VSS_AWS_NO_ALTERNATE_WRITER = 1, + VSS_AWS_ALTERNATE_WRITER_EXISTS = 2, + VSS_AWS_THIS_IS_ALTERNATE_WRITER = 3, +}} +pub type VSS_SUBSCRIBE_MASK = ::DWORD; +pub const VSS_SM_POST_SNAPSHOT_FLAG: ::DWORD = 0x00000001; +pub const VSS_SM_BACKUP_EVENTS_FLAG: ::DWORD = 0x00000002; +pub const VSS_SM_RESTORE_EVENTS_FLAG: ::DWORD = 0x00000004; +pub const VSS_SM_IO_THROTTLING_FLAG: ::DWORD = 0x00000008; +pub const VSS_SM_ALL_FLAGS: ::DWORD = 0xffffffff; +ENUM!{enum VSS_RESTORE_TARGET { + VSS_RT_UNDEFINED = 0, + VSS_RT_ORIGINAL = 1, + VSS_RT_ALTERNATE = 2, + VSS_RT_DIRECTED = 3, + VSS_RT_ORIGINAL_LOCATION = 4, +}} +ENUM!{enum VSS_FILE_RESTORE_STATUS { + VSS_RS_UNDEFINED = 0, + VSS_RS_NONE = 1, + VSS_RS_ALL = 2, + VSS_RS_FAILED = 3, +}} +pub type VSS_COMPONENT_FLAGS = ::DWORD; +pub const VSS_CF_BACKUP_RECOVERY: ::DWORD = 0x00000001; +pub const VSS_CF_APP_ROLLBACK_RECOVERY: ::DWORD = 0x00000002; +pub const VSS_CF_NOT_SYSTEM_STATE: ::DWORD = 0x00000004; +RIDL!( +interface IVssWMFiledesc(IVssWMFiledescVtbl): IUnknown(IUnknownVtbl) { + fn GetPath(&mut self, pbstrPath: *mut ::BSTR) -> ::HRESULT, + fn GetFilespec(&mut self, pbstrFilespec: *mut ::BSTR) -> ::HRESULT, + fn GetRecursive(&mut self, pbRecursive: *mut bool) -> ::HRESULT, + fn GetAlternateLocation(&mut self, pbstrAlternateLocation: *mut ::BSTR) -> ::HRESULT, + fn GetBackupTypeMask(&mut self, pdwTypeMask: *mut ::DWORD) -> ::HRESULT +} +); +RIDL!( +interface IVssWMDependency(IVssWMDependencyVtbl): IUnknown(IUnknownVtbl) { + fn GetWriterId(&mut self, pWriterId: *mut ::VSS_ID) -> ::HRESULT, + fn GetLogicalPath(&mut self, pbstrLogicalPath: *mut ::BSTR) -> ::HRESULT, + fn GetComponentName(&mut self, pbstrComponentName: *mut ::BSTR) -> ::HRESULT +} +); +RIDL!( +interface IVssComponent(IVssComponentVtbl): IUnknown(IUnknownVtbl) { + fn GetLogicalPath(&mut self, pbstrPath: *mut ::BSTR) -> ::HRESULT, + fn GetComponentType(&mut self, pct: *mut ::VSS_COMPONENT_TYPE) -> ::HRESULT, + fn GetComponentName(&mut self, pbstrName: *mut ::BSTR) -> ::HRESULT, + fn GetBackupSucceeded(&mut self, pbSucceeded: *mut bool) -> ::HRESULT, + fn GetAlternateLocationMappingCount(&mut self, pcMappings: *mut ::UINT) -> ::HRESULT, + fn GetAlternateLocationMapping( + &mut self, iMapping: ::UINT, ppFiledesc: *mut *mut ::IVssWMFiledesc + ) -> ::HRESULT, + fn SetBackupMetadata(&mut self, wszData: ::LPCWSTR) -> ::HRESULT, + fn GetBackupMetadata(&mut self, pbstrData: *mut ::BSTR) -> ::HRESULT, + fn AddPartialFile( + &mut self, wszPath: ::LPCWSTR, wszFilename: ::LPCWSTR, wszRanges: ::LPCWSTR, + wszMetadata: ::LPCWSTR + ) -> ::HRESULT, + fn GetPartialFileCount(&mut self, pcPartialFiles: *mut ::UINT) -> ::HRESULT, + fn GetPartialFile( + &mut self, iPartialFile: ::UINT, pbstrPath: *mut ::BSTR, pbstrFilename: *mut ::BSTR, + pbstrRange: *mut ::BSTR, pbstrMetadata: *mut ::BSTR + ) -> ::HRESULT, + fn IsSelectedForRestore(&mut self, pbSelectedForRestore: *mut bool) -> ::HRESULT, + fn GetAdditionalRestores(&mut self, pbAdditionalRestores: *mut bool) -> ::HRESULT, + fn GetNewTargetCount(&mut self, pcNewTarget: *mut ::UINT) -> ::HRESULT, + fn GetNewTarget( + &mut self, iNewTarget: ::UINT, ppFiledesc: *mut *mut ::IVssWMFiledesc + ) -> ::HRESULT, + fn AddDirectedTarget( + &mut self, wszSourcePath: ::LPCWSTR, wszSourceFilename: ::LPCWSTR, + wszSourceRangeList: ::LPCWSTR, wszDestinationPath: ::LPCWSTR, + wszDestinationFilename: ::LPCWSTR, wszDestinationRangeList: ::LPCWSTR + ) -> ::HRESULT, + fn GetDirectedTargetCount(&mut self, pcDirectedTarget: *mut ::UINT) -> ::HRESULT, + fn GetDirectedTarget( + &mut self, iDirectedTarget: ::UINT, pbstrSourcePath: *mut ::BSTR, + pbstrSourceFileName: *mut ::BSTR, pbstrSourceRangeList: *mut ::BSTR, + pbstrDestinationPath: *mut ::BSTR, pbstrDestinationFilename: *mut ::BSTR, + pbstrDestinationRangeList: *mut ::BSTR + ) -> ::HRESULT, + fn SetRestoreMetadata(&mut self, wszRestoreMetadata: ::LPCWSTR) -> ::HRESULT, + fn GetRestoreMetadata(&mut self, pbstrRestoreMetadata: *mut ::BSTR) -> ::HRESULT, + fn SetRestoreTarget(&mut self, target: ::VSS_RESTORE_TARGET) -> ::HRESULT, + fn GetRestoreTarget(&mut self, pTarget: *mut ::VSS_RESTORE_TARGET) -> ::HRESULT, + fn SetPreRestoreFailureMsg(&mut self, wszPreRestoreFailureMsg: ::LPCWSTR) -> ::HRESULT, + fn GetPreRestoreFailureMsg(&mut self, pbstrPreRestoreFailureMsg: *mut ::BSTR) -> ::HRESULT, + fn SetPostRestoreFailureMsg(&mut self, wszPostRestoreFailureMsg: ::LPCWSTR) -> ::HRESULT, + fn GetPostRestoreFailureMsg(&mut self, pbstrPostRestoreFailureMsg: *mut ::BSTR) -> ::HRESULT, + fn SetBackupStamp(&mut self, wszBackupStamp: ::LPCWSTR) -> ::HRESULT, + fn GetBackupStamp(&mut self, pbstrBackupStamp: *mut ::BSTR) -> ::HRESULT, + fn GetPreviousBackupStamp(&mut self, pbstrBackupStamp: *mut ::BSTR) -> ::HRESULT, + fn GetBackupOptions(&mut self, pbstrBackupOptions: *mut ::BSTR) -> ::HRESULT, + fn GetRestoreOptions(&mut self, pbstrRestoreOptions: *mut ::BSTR) -> ::HRESULT, + fn GetRestoreSubcomponentCount(&mut self, pcRestoreSubcomponent: *mut ::UINT) -> ::HRESULT, + fn GetRestoreSubcomponent( + &mut self, iComponent: ::UINT, pbstrLogicalPath: *mut ::BSTR, + pbstrComponentName: *mut ::BSTR, pbRepair: *mut bool + ) -> ::HRESULT, + fn GetFileRestoreStatus(&mut self, pStatus: *mut VSS_FILE_RESTORE_STATUS) -> ::HRESULT, + fn AddDifferencedFilesByLastModifyTime( + &mut self, wszPath: ::LPCWSTR, wszFilespec: ::LPCWSTR, bRecursive: ::BOOL, + ftLastModifyTime: ::FILETIME + ) -> ::HRESULT, + fn AddDifferencedFilesByLastModifyLSN( + &mut self, wszPath: ::LPCWSTR, wszFilespec: ::LPCWSTR, bRecursive: ::BOOL, + bstrLsnString: ::BSTR + ) -> ::HRESULT, + fn GetDifferencedFilesCount(&mut self, pcDifferencedFiles: *mut ::UINT) -> ::HRESULT, + fn GetDifferencedFile( + &mut self, iDifferencedFile: ::UINT, pbstrPath: *mut ::BSTR, pbstrFilespec: *mut ::BSTR, + pbRecursive: *mut ::BOOL, pbstrLsnString: *mut ::BSTR, pftLastModifyTime: *mut ::FILETIME + ) -> ::HRESULT +} +); +RIDL!( +interface IVssWriterComponents(IVssWriterComponentsVtbl) { + fn GetComponentCount(&mut self, pcComponents: *mut ::UINT) -> ::HRESULT, + fn GetWriterInfo( + &mut self, pidInstance: *mut ::VSS_ID, pidWriter: *mut ::VSS_ID + ) -> ::HRESULT, + fn GetComponent( + &mut self, iComponent: ::UINT, ppComponent: *mut *mut ::IVssComponent + ) -> ::HRESULT +} +); +RIDL!( +interface IVssComponentEx(IVssComponentExVtbl): IVssComponent(IVssComponentVtbl) { + fn SetPrepareForBackupFailureMsg(&mut self, wszFailureMsg: ::LPCWSTR) -> ::HRESULT, + fn SetPostSnapshotFailureMsg(&mut self, wszFailureMsg: ::LPCWSTR) -> ::HRESULT, + fn GetPrepareForBackupFailureMsg(&mut self, pbstrFailureMsg: *mut ::BSTR) -> ::HRESULT, + fn GetPostSnapshotFailureMsg(&mut self, pbstrFailureMsg: *mut ::BSTR) -> ::HRESULT, + fn GetAuthoritativeRestore(&mut self, pbAuth: *mut bool) -> ::HRESULT, + fn GetRollForward( + &mut self, pRollType: *mut ::VSS_ROLLFORWARD_TYPE, pbstrPoint: *mut ::BSTR + ) -> ::HRESULT, + fn GetRestoreName(&mut self, pbstrName: *mut ::BSTR) -> ::HRESULT +} +); +RIDL!( +interface IVssComponentEx2(IVssComponentEx2Vtbl): IVssComponentEx(IVssComponentExVtbl) { + fn SetFailure( + &mut self, hr: ::HRESULT, hrApplication: ::HRESULT, wszApplicationMessage: ::LPCWSTR, + dwReserved: ::DWORD + ) -> ::HRESULT, + fn GetFailure( + &mut self, phr: *mut ::HRESULT, phrApplication: *mut ::HRESULT, + pbstrApplicationMessage: *mut ::BSTR, pdwReserved: *mut ::DWORD + ) -> ::HRESULT +} +); +RIDL!( +interface IVssCreateWriterMetadata(IVssCreateWriterMetadataVtbl) { + fn AddIncludeFiles( + &mut self, wszPath: ::LPCWSTR, wszFilespec: ::LPCWSTR, bRecursive: bool, + wszAlternateLocation: ::LPCWSTR + ) -> ::HRESULT, + fn AddExcludeFiles( + &mut self, wszPath: ::LPCWSTR, wszFilespec: ::LPCWSTR, bRecursive: bool + ) -> ::HRESULT, + fn AddComponent( + &mut self, ct: ::VSS_COMPONENT_TYPE, wszLogicalPath: ::LPCWSTR, + wszComponentName: ::LPCWSTR, wszCaption: ::LPCWSTR, pbIcon: *const ::BYTE, cbIcon: ::UINT, + bRestoreMetadata: bool, bNotifyOnBackupComplete: bool, bSelectableForRestore: bool, + dwComponentFlags: ::DWORD + ) -> ::HRESULT, + fn AddDatabaseFiles( + &mut self, wszLogicalPath: ::LPCWSTR, wszDatabaseName: ::LPCWSTR, wszPath: ::LPCWSTR, + wszFilespec: ::LPCWSTR, dwBackupTypeMask: ::DWORD + ) -> ::HRESULT, + fn AddDatabaseLogFiles(&mut self, wszLogicalPath: ::LPCWSTR, wszDatabaseName: ::LPCWSTR, + wszPath: ::LPCWSTR, wszFilespec: ::LPCWSTR, dwBackupTypeMask: ::DWORD + ) -> ::HRESULT, + fn AddFilesToFileGroup(&mut self, wszLogicalPath: ::LPCWSTR, wszGroupName: ::LPCWSTR, + wszPath: ::LPCWSTR, wszFilespec: ::LPCWSTR, bRecursive: bool, + wszAlternateLocation: ::LPCWSTR, dwBackupTypeMask: ::DWORD + ) -> ::HRESULT, + fn SetRestoreMethod(&mut self, method: ::VSS_RESTOREMETHOD_ENUM, wszService: ::LPCWSTR, + wszUserProcedure: ::LPCWSTR, writerRestore: ::VSS_WRITERRESTORE_ENUM, + bRebootRequired: bool + ) -> ::HRESULT, + fn AddAlternateLocationMapping(&mut self, wszSourcePath: ::LPCWSTR, + wszSourceFilespec: ::LPCWSTR, bRecursive: bool, wszDestination: ::LPCWSTR + ) -> ::HRESULT, + fn AddComponentDependency(&mut self, wszForLogicalPath: ::LPCWSTR, + wszForComponentName: ::LPCWSTR, onWriterId: ::VSS_ID, wszOnLogicalPath: ::LPCWSTR, + wszOnComponentName: ::LPCWSTR + ) -> ::HRESULT, + fn SetBackupSchema(&mut self, dwSchemaMask: ::DWORD) -> ::HRESULT, + fn GetDocument(&mut self, pDoc: *mut *mut ::VOID) -> ::HRESULT, //TODO IXMLDOMDocument + fn SaveAsXML(&mut self, pbstrXML: *mut ::BSTR) -> ::HRESULT +} +); +//IVssCreateWriterMetadataEx +//IVssWriterImpl +//IVssCreateExpressWriterMetadata +//IVssExpressWriter +//CVssWriter +//CVssWriterEx +//CVssWriterEx2 diff --git a/third_party/rust/winapi-0.2.8/src/werapi.rs b/third_party/rust/winapi-0.2.8/src/werapi.rs new file mode 100644 index 0000000000..33a5a50d7e --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/werapi.rs @@ -0,0 +1,8 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Function prototypes for Windows Error Reporting (WER) +ENUM!{enum WER_REGISTER_FILE_TYPE { + WerRegFileTypeUserDocument = 1, + WerRegFileTypeOther = 2, + WerRegFileTypeMax, +}} diff --git a/third_party/rust/winapi-0.2.8/src/winbase.rs b/third_party/rust/winapi-0.2.8/src/winbase.rs new file mode 100644 index 0000000000..59e3988a17 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winbase.rs @@ -0,0 +1,552 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! This module defines the 32-Bit Windows Base APIs +pub const FILE_BEGIN: ::DWORD = 0; +pub const FILE_CURRENT: ::DWORD = 1; +pub const FILE_END: ::DWORD = 2; +pub const WAIT_FAILED: ::DWORD = 0xFFFFFFFF; +pub const WAIT_OBJECT_0: ::DWORD = ::STATUS_WAIT_0 as ::DWORD; +pub const WAIT_ABANDONED: ::DWORD = ::STATUS_ABANDONED_WAIT_0 as ::DWORD; +pub const WAIT_ABANDONED_0: ::DWORD = ::STATUS_ABANDONED_WAIT_0 as ::DWORD; +pub const WAIT_IO_COMPLETION: ::DWORD = ::STATUS_USER_APC as ::DWORD; +pub const FILE_FLAG_WRITE_THROUGH: ::DWORD = 0x80000000; +pub const FILE_FLAG_OVERLAPPED: ::DWORD = 0x40000000; +pub const FILE_FLAG_NO_BUFFERING: ::DWORD = 0x20000000; +pub const FILE_FLAG_RANDOM_ACCESS: ::DWORD = 0x10000000; +pub const FILE_FLAG_SEQUENTIAL_SCAN: ::DWORD = 0x08000000; +pub const FILE_FLAG_DELETE_ON_CLOSE: ::DWORD = 0x04000000; +pub const FILE_FLAG_BACKUP_SEMANTICS: ::DWORD = 0x02000000; +pub const FILE_FLAG_POSIX_SEMANTICS: ::DWORD = 0x01000000; +pub const FILE_FLAG_SESSION_AWARE: ::DWORD = 0x00800000; +pub const FILE_FLAG_OPEN_REPARSE_POINT: ::DWORD = 0x00200000; +pub const FILE_FLAG_OPEN_NO_RECALL: ::DWORD = 0x00100000; +pub const FILE_FLAG_FIRST_PIPE_INSTANCE: ::DWORD = 0x00080000; +pub const FILE_FLAG_OPEN_REQUIRING_OPLOCK: ::DWORD = 0x00040000; +pub const PROGRESS_CONTINUE: ::DWORD = 0; +pub const PROGRESS_CANCEL: ::DWORD = 1; +pub const PROGRESS_STOP: ::DWORD = 2; +pub const PROGRESS_QUIET: ::DWORD = 3; +pub const CALLBACK_CHUNK_FINISHED: ::DWORD = 0x00000000; +pub const CALLBACK_STREAM_SWITCH: ::DWORD = 0x00000001; +pub const COPY_FILE_FAIL_IF_EXISTS: ::DWORD = 0x00000001; +pub const COPY_FILE_RESTARTABLE: ::DWORD = 0x00000002; +pub const COPY_FILE_OPEN_SOURCE_FOR_WRITE: ::DWORD = 0x00000004; +pub const COPY_FILE_ALLOW_DECRYPTED_DESTINATION: ::DWORD = 0x00000008; +pub const COPY_FILE_COPY_SYMLINK: ::DWORD = 0x00000800; +pub const COPY_FILE_NO_BUFFERING: ::DWORD = 0x00001000; +pub const COPY_FILE_REQUEST_SECURITY_PRIVILEGES: ::DWORD = 0x00002000; +pub const COPY_FILE_RESUME_FROM_PAUSE: ::DWORD = 0x00004000; +pub const COPY_FILE_NO_OFFLOAD: ::DWORD = 0x00040000; +pub const REPLACEFILE_WRITE_THROUGH: ::DWORD = 0x00000001; +pub const REPLACEFILE_IGNORE_MERGE_ERRORS: ::DWORD = 0x00000002; +pub const REPLACEFILE_IGNORE_ACL_ERRORS: ::DWORD = 0x00000004; +pub const PIPE_ACCESS_INBOUND: ::DWORD = 0x00000001; +pub const PIPE_ACCESS_OUTBOUND: ::DWORD = 0x00000002; +pub const PIPE_ACCESS_DUPLEX: ::DWORD = 0x00000003; +pub const PIPE_CLIENT_END: ::DWORD = 0x00000000; +pub const PIPE_SERVER_END: ::DWORD = 0x00000001; +pub const PIPE_WAIT: ::DWORD = 0x00000000; +pub const PIPE_NOWAIT: ::DWORD = 0x00000001; +pub const PIPE_READMODE_BYTE: ::DWORD = 0x00000000; +pub const PIPE_READMODE_MESSAGE: ::DWORD = 0x00000002; +pub const PIPE_TYPE_BYTE: ::DWORD = 0x00000000; +pub const PIPE_TYPE_MESSAGE: ::DWORD = 0x00000004; +pub const PIPE_ACCEPT_REMOTE_CLIENTS: ::DWORD = 0x00000000; +pub const PIPE_REJECT_REMOTE_CLIENTS: ::DWORD = 0x00000008; +pub const PIPE_UNLIMITED_INSTANCES: ::DWORD = 255; +//270 +pub const SECURITY_CONTEXT_TRACKING: ::DWORD = 0x00040000; +pub const SECURITY_EFFECTIVE_ONLY: ::DWORD = 0x00080000; +pub const SECURITY_SQOS_PRESENT: ::DWORD = 0x00100000; +pub const SECURITY_VALID_SQOS_FLAGS: ::DWORD = 0x001F0000; +//282 +pub type PFIBER_START_ROUTINE = Option<unsafe extern "system" fn(lpFiberParameter: ::LPVOID)>; +pub type LPFIBER_START_ROUTINE = PFIBER_START_ROUTINE; +pub type PFIBER_CALLOUT_ROUTINE = Option<unsafe extern "system" fn( + lpParameter: ::LPVOID, +) -> ::LPVOID>; +//299 +pub type LPLDT_ENTRY = ::LPVOID; // TODO - fix this for 32-bit +//405 +STRUCT!{struct COMMPROP { + wPacketLength: ::WORD, + wPacketVersion: ::WORD, + dwServiceMask: ::DWORD, + dwReserved1: ::DWORD, + dwMaxTxQueue: ::DWORD, + dwMaxRxQueue: ::DWORD, + dwMaxBaud: ::DWORD, + dwProvSubType: ::DWORD, + dwProvCapabilities: ::DWORD, + dwSettableParams: ::DWORD, + dwSettableBaud: ::DWORD, + wSettableData: ::WORD, + wSettableStopParity: ::WORD, + dwCurrentTxQueue: ::DWORD, + dwCurrentRxQueue: ::DWORD, + dwProvSpec1: ::DWORD, + dwProvSpec2: ::DWORD, + wcProvChar: [::WCHAR; 1], +}} +pub type LPCOMMPROP = *mut COMMPROP; +//432 +STRUCT!{struct COMSTAT { + BitFields: ::DWORD, + cbInQue: ::DWORD, + cbOutQue : ::DWORD, +}} +BITFIELD!(COMSTAT BitFields: ::DWORD [ + fCtsHold set_fCtsHold[0..1], + fDsrHold set_fDsrHold[1..2], + fRlsdHold set_fRlsdHold[2..3], + fXoffHold set_fXoffHold[3..4], + fXoffSent set_fXoffSent[4..5], + fEof set_fEof[5..6], + fTxim set_fTxim[6..7], + fReserved set_fReserved[7..32], +]); +pub type LPCOMSTAT = *mut COMSTAT; +//460 +STRUCT!{struct DCB { + DCBlength: ::DWORD, + BaudRate: ::DWORD, + BitFields: ::DWORD, + wReserved: ::WORD, + XonLim: ::WORD, + XoffLim: ::WORD, + ByteSize: ::BYTE, + Parity: ::BYTE, + StopBits: ::BYTE, + XonChar: ::c_char, + XoffChar: ::c_char, + ErrorChar: ::c_char, + EofChar: ::c_char, + EvtChar: ::c_char, + wReserved1: ::WORD, +}} +BITFIELD!(DCB BitFields: ::DWORD [ + fBinary set_fBinary[0..1], + fParity set_fParity[1..2], + fOutxCtsFlow set_fOutxCtsFlow[2..3], + fOutxDsrFlow set_fOutxDsrFlow[3..4], + fDtrControl set_fDtrControl[4..6], + fDsrSensitivity set_fDsrSensitivity[6..7], + fTXContinueOnXoff set_fTXContinueOnXoff[7..8], + fOutX set_fOutX[8..9], + fInX set_fInX[9..10], + fErrorChar set_fErrorChar[10..11], + fNull set_fNull[11..12], + fRtsControl set_fRtsControl[12..14], + fAbortOnError set_fAbortOnError[14..15], + fDummy2 set_fDummy2[15..32], +]); +pub type LPDCB = *mut DCB; +STRUCT!{struct COMMTIMEOUTS { + ReadIntervalTimeout: ::DWORD, + ReadTotalTimeoutMultiplier: ::DWORD, + ReadTotalTimeoutConstant: ::DWORD, + WriteTotalTimeoutMultiplier: ::DWORD, + WriteTotalTimeoutConstant: ::DWORD, +}} +pub type LPCOMMTIMEOUTS = *mut COMMTIMEOUTS; +STRUCT!{struct COMMCONFIG { + dwSize: ::DWORD, + wVersion: ::WORD, + wReserved: ::WORD, + dcb: DCB, + dwProviderSubType: ::DWORD, + dwProviderOffset: ::DWORD, + dwProviderSize: ::DWORD, + wcProviderData: [::WCHAR; 1], +}} +pub type LPCOMMCONFIG = *mut COMMCONFIG; +//547 +STRUCT!{struct MEMORYSTATUS { + dwLength: ::DWORD, + dwMemoryLoad: ::DWORD, + dwTotalPhys: ::SIZE_T, + dwAvailPhys: ::SIZE_T, + dwTotalPageFile: ::SIZE_T, + dwAvailPageFile: ::SIZE_T, + dwTotalVirtual: ::SIZE_T, + dwAvailVirtual: ::SIZE_T, +}} +pub type LPMEMORYSTATUS = *mut MEMORYSTATUS; +//568 +pub const DEBUG_PROCESS: ::DWORD = 0x00000001; +pub const DEBUG_ONLY_THIS_PROCESS: ::DWORD = 0x00000002; +pub const CREATE_SUSPENDED: ::DWORD = 0x00000004; +pub const DETACHED_PROCESS: ::DWORD = 0x00000008; +pub const CREATE_NEW_CONSOLE: ::DWORD = 0x00000010; +pub const NORMAL_PRIORITY_CLASS: ::DWORD = 0x00000020; +pub const IDLE_PRIORITY_CLASS: ::DWORD = 0x00000040; +pub const HIGH_PRIORITY_CLASS: ::DWORD = 0x00000080; +pub const REALTIME_PRIORITY_CLASS: ::DWORD = 0x00000100; +pub const CREATE_NEW_PROCESS_GROUP: ::DWORD = 0x00000200; +pub const CREATE_UNICODE_ENVIRONMENT: ::DWORD = 0x00000400; +pub const CREATE_SEPARATE_WOW_VDM: ::DWORD = 0x00000800; +pub const CREATE_SHARED_WOW_VDM: ::DWORD = 0x00001000; +pub const CREATE_FORCEDOS: ::DWORD = 0x00002000; +pub const BELOW_NORMAL_PRIORITY_CLASS: ::DWORD = 0x00004000; +pub const ABOVE_NORMAL_PRIORITY_CLASS: ::DWORD = 0x00008000; +pub const INHERIT_PARENT_AFFINITY: ::DWORD = 0x00010000; +pub const INHERIT_CALLER_PRIORITY: ::DWORD = 0x00020000; +pub const CREATE_PROTECTED_PROCESS: ::DWORD = 0x00040000; +pub const EXTENDED_STARTUPINFO_PRESENT: ::DWORD = 0x00080000; +pub const PROCESS_MODE_BACKGROUND_BEGIN: ::DWORD = 0x00100000; +pub const PROCESS_MODE_BACKGROUND_END: ::DWORD = 0x00200000; +pub const CREATE_BREAKAWAY_FROM_JOB: ::DWORD = 0x01000000; +pub const CREATE_PRESERVE_CODE_AUTHZ_LEVEL: ::DWORD = 0x02000000; +pub const CREATE_DEFAULT_ERROR_MODE: ::DWORD = 0x04000000; +pub const CREATE_NO_WINDOW: ::DWORD = 0x08000000; +pub const PROFILE_USER: ::DWORD = 0x10000000; +pub const PROFILE_KERNEL: ::DWORD = 0x20000000; +pub const PROFILE_SERVER: ::DWORD = 0x40000000; +pub const CREATE_IGNORE_SYSTEM_DEFAULT: ::DWORD = 0x80000000; +//618 +pub const THREAD_PRIORITY_LOWEST: ::DWORD = ::THREAD_BASE_PRIORITY_MIN; +pub const THREAD_PRIORITY_BELOW_NORMAL: ::DWORD = THREAD_PRIORITY_LOWEST + 1; +pub const THREAD_PRIORITY_NORMAL: ::DWORD = 0; +pub const THREAD_PRIORITY_HIGHEST: ::DWORD = ::THREAD_BASE_PRIORITY_MAX; +pub const THREAD_PRIORITY_ABOVE_NORMAL: ::DWORD = THREAD_PRIORITY_HIGHEST - 1; +pub const THREAD_PRIORITY_ERROR_RETURN: ::DWORD = ::MAXLONG as ::DWORD; +pub const THREAD_PRIORITY_TIME_CRITICAL: ::DWORD = ::THREAD_BASE_PRIORITY_LOWRT; +pub const THREAD_PRIORITY_IDLE: ::DWORD = ::THREAD_BASE_PRIORITY_IDLE; +pub const THREAD_MODE_BACKGROUND_BEGIN: ::DWORD = 0x00010000; +pub const THREAD_MODE_BACKGROUND_END: ::DWORD = 0x00020000; +//666 +pub const DRIVE_UNKNOWN: ::DWORD = 0; +pub const DRIVE_NO_ROOT_DIR: ::DWORD = 1; +pub const DRIVE_REMOVABLE: ::DWORD = 2; +pub const DRIVE_FIXED: ::DWORD = 3; +pub const DRIVE_REMOTE: ::DWORD = 4; +pub const DRIVE_CDROM: ::DWORD = 5; +pub const DRIVE_RAMDISK: ::DWORD = 6; +pub const FILE_TYPE_UNKNOWN: ::DWORD = 0x0000; +pub const FILE_TYPE_DISK: ::DWORD = 0x0001; +pub const FILE_TYPE_CHAR: ::DWORD = 0x0002; +pub const FILE_TYPE_PIPE: ::DWORD = 0x0003; +pub const FILE_TYPE_REMOTE: ::DWORD = 0x8000; +pub const STD_INPUT_HANDLE: ::DWORD = 0xFFFFFFF6; +pub const STD_OUTPUT_HANDLE: ::DWORD = 0xFFFFFFF5; +pub const STD_ERROR_HANDLE: ::DWORD = 0xFFFFFFF4; +pub const NOPARITY: ::DWORD = 0; +pub const ODDPARITY: ::DWORD = 1; +pub const EVENPARITY: ::DWORD = 2; +pub const MARKPARITY: ::DWORD = 3; +pub const SPACEPARITY: ::DWORD = 4; +pub const ONESTOPBIT: ::DWORD = 0; +pub const ONE5STOPBITS: ::DWORD = 1; +pub const TWOSTOPBITS: ::DWORD = 2; +pub const IGNORE: ::DWORD = 0; +pub const INFINITE: ::DWORD = 0xFFFFFFFF; +//1729 +pub const SEM_FAILCRITICALERRORS: ::UINT = 0x0001; +pub const SEM_NOGPFAULTERRORBOX: ::UINT = 0x0002; +pub const SEM_NOALIGNMENTFAULTEXCEPT: ::UINT = 0x0004; +pub const SEM_NOOPENFILEERRORBOX: ::UINT = 0x8000; +//2320 +pub const FORMAT_MESSAGE_IGNORE_INSERTS: ::DWORD = 0x00000200; +pub const FORMAT_MESSAGE_FROM_STRING: ::DWORD = 0x00000400; +pub const FORMAT_MESSAGE_FROM_HMODULE: ::DWORD = 0x00000800; +pub const FORMAT_MESSAGE_FROM_SYSTEM: ::DWORD = 0x00001000; +pub const FORMAT_MESSAGE_ARGUMENT_ARRAY: ::DWORD = 0x00002000; +pub const FORMAT_MESSAGE_MAX_WIDTH_MASK: ::DWORD = 0x000000FF; +pub const FORMAT_MESSAGE_ALLOCATE_BUFFER: ::DWORD = 0x00000100; +//2873 +pub const STARTF_USESHOWWINDOW: ::DWORD = 0x00000001; +pub const STARTF_USESIZE: ::DWORD = 0x00000002; +pub const STARTF_USEPOSITION: ::DWORD = 0x00000004; +pub const STARTF_USECOUNTCHARS: ::DWORD = 0x00000008; +pub const STARTF_USEFILLATTRIBUTE: ::DWORD = 0x00000010; +pub const STARTF_RUNFULLSCREEN: ::DWORD = 0x00000020; +pub const STARTF_FORCEONFEEDBACK: ::DWORD = 0x00000040; +pub const STARTF_FORCEOFFFEEDBACK: ::DWORD = 0x00000080; +pub const STARTF_USESTDHANDLES: ::DWORD = 0x00000100; +pub const STARTF_USEHOTKEY: ::DWORD = 0x00000200; +pub const STARTF_TITLEISLINKNAME: ::DWORD = 0x00000800; +pub const STARTF_TITLEISAPPID: ::DWORD = 0x00001000; +pub const STARTF_PREVENTPINNING: ::DWORD = 0x00002000; +pub const STARTF_UNTRUSTEDSOURCE: ::DWORD = 0x00008000; +//5002 +pub type LPPROGRESS_ROUTINE = Option<unsafe extern "system" fn( + TotalFileSize: ::LARGE_INTEGER, TotalBytesTransferred: ::LARGE_INTEGER, + StreamSize: ::LARGE_INTEGER, StreamBytesTransferred: ::LARGE_INTEGER, dwStreamNumber: ::DWORD, + dwCallbackReason: ::DWORD, hSourceFile: ::HANDLE, hDestinationFile: ::HANDLE, lpData: ::LPVOID, +) -> ::DWORD>; +//5095 +ENUM!{enum COPYFILE2_MESSAGE_TYPE { + COPYFILE2_CALLBACK_NONE = 0, + COPYFILE2_CALLBACK_CHUNK_STARTED, + COPYFILE2_CALLBACK_CHUNK_FINISHED, + COPYFILE2_CALLBACK_STREAM_STARTED, + COPYFILE2_CALLBACK_STREAM_FINISHED, + COPYFILE2_CALLBACK_POLL_CONTINUE, + COPYFILE2_CALLBACK_ERROR, + COPYFILE2_CALLBACK_MAX, +}} +ENUM!{enum COPYFILE2_MESSAGE_ACTION { + COPYFILE2_PROGRESS_CONTINUE = 0, + COPYFILE2_PROGRESS_CANCEL, + COPYFILE2_PROGRESS_STOP, + COPYFILE2_PROGRESS_QUIET, + COPYFILE2_PROGRESS_PAUSE, +}} +ENUM!{enum COPYFILE2_COPY_PHASE { + COPYFILE2_PHASE_NONE = 0, + COPYFILE2_PHASE_PREPARE_SOURCE, + COPYFILE2_PHASE_PREPARE_DEST, + COPYFILE2_PHASE_READ_SOURCE, + COPYFILE2_PHASE_WRITE_DESTINATION, + COPYFILE2_PHASE_SERVER_COPY, + COPYFILE2_PHASE_NAMEGRAFT_COPY, + COPYFILE2_PHASE_MAX, +}} +//5129 +STRUCT!{struct COPYFILE2_MESSAGE_ChunkStarted { + dwStreamNumber: ::DWORD, + dwReserved: ::DWORD, + hSourceFile: ::HANDLE, + hDestinationFile: ::HANDLE, + uliChunkNumber: ::ULARGE_INTEGER, + uliChunkSize: ::ULARGE_INTEGER, + uliStreamSize: ::ULARGE_INTEGER, + uliTotalFileSize: ::ULARGE_INTEGER, +}} +STRUCT!{struct COPYFILE2_MESSAGE_ChunkFinished { + dwStreamNumber: ::DWORD, + dwFlags: ::DWORD, + hSourceFile: ::HANDLE, + hDestinationFile: ::HANDLE, + uliChunkNumber: ::ULARGE_INTEGER, + uliChunkSize: ::ULARGE_INTEGER, + uliStreamSize: ::ULARGE_INTEGER, + uliStreamBytesTransferred: ::ULARGE_INTEGER, + uliTotalFileSize: ::ULARGE_INTEGER, + uliTotalBytesTransferred: ::ULARGE_INTEGER, +}} +STRUCT!{struct COPYFILE2_MESSAGE_StreamStarted { + dwStreamNumber: ::DWORD, + dwReserved: ::DWORD, + hSourceFile: ::HANDLE, + hDestinationFile: ::HANDLE, + uliStreamSize: ::ULARGE_INTEGER, + uliTotalFileSize: ::ULARGE_INTEGER, +}} +STRUCT!{struct COPYFILE2_MESSAGE_StreamFinished { + dwStreamNumber: ::DWORD, + dwReserved: ::DWORD, + hSourceFile: ::HANDLE, + hDestinationFile: ::HANDLE, + uliStreamSize: ::ULARGE_INTEGER, + uliStreamBytesTransferred: ::ULARGE_INTEGER, + uliTotalFileSize: ::ULARGE_INTEGER, + uliTotalBytesTransferred: ::ULARGE_INTEGER, +}} +STRUCT!{struct COPYFILE2_MESSAGE_PollContinue { + dwReserved: ::DWORD, +}} +STRUCT!{struct COPYFILE2_MESSAGE_Error { + CopyPhase: COPYFILE2_COPY_PHASE, + dwStreamNumber: ::DWORD, + hrFailure: ::HRESULT, + dwReserved: ::DWORD, + uliChunkNumber: ::ULARGE_INTEGER, + uliStreamSize: ::ULARGE_INTEGER, + uliStreamBytesTransferred: ::ULARGE_INTEGER, + uliTotalFileSize: ::ULARGE_INTEGER, + uliTotalBytesTransferred: ::ULARGE_INTEGER, +}} +#[cfg(target_arch="x86")] +STRUCT!{struct COPYFILE2_MESSAGE { + Type: COPYFILE2_MESSAGE_TYPE, + dwPadding: ::DWORD, + Info: [u64; 8], +}} +#[cfg(target_arch="x86_64")] +STRUCT!{struct COPYFILE2_MESSAGE { + Type: COPYFILE2_MESSAGE_TYPE, + dwPadding: ::DWORD, + Info: [u64; 9], +}} +UNION!{COPYFILE2_MESSAGE, Info, ChunkStarted, ChunkStarted_mut, COPYFILE2_MESSAGE_ChunkStarted} +UNION!{COPYFILE2_MESSAGE, Info, ChunkFinished, ChunkFinished_mut, COPYFILE2_MESSAGE_ChunkFinished} +UNION!{COPYFILE2_MESSAGE, Info, StreamStarted, StreamStarted_mut, COPYFILE2_MESSAGE_StreamStarted} +UNION!{COPYFILE2_MESSAGE, Info, StreamFinished, StreamFinished_mut, + COPYFILE2_MESSAGE_StreamFinished} +UNION!{COPYFILE2_MESSAGE, Info, PollContinue, PollContinue_mut, COPYFILE2_MESSAGE_PollContinue} +UNION!{COPYFILE2_MESSAGE, Info, Error, Error_mut, COPYFILE2_MESSAGE_Error} +pub type PCOPYFILE2_PROGRESS_ROUTINE = Option<unsafe extern "system" fn( + pMessage: *const COPYFILE2_MESSAGE, pvCallbackContext: ::PVOID, +) -> COPYFILE2_MESSAGE_ACTION>; +STRUCT!{nodebug struct COPYFILE2_EXTENDED_PARAMETERS { + dwSize: ::DWORD, + dwCopyFlags: ::DWORD, + pfCancel: *mut ::BOOL, + pProgressRoutine: PCOPYFILE2_PROGRESS_ROUTINE, + pvCallbackContext: ::PVOID, +}} +//5377 +pub const MOVEFILE_REPLACE_EXISTING: ::DWORD = 0x00000001; +pub const MOVEFILE_COPY_ALLOWED: ::DWORD = 0x00000002; +pub const MOVEFILE_DELAY_UNTIL_REBOOT: ::DWORD = 0x00000004; +pub const MOVEFILE_WRITE_THROUGH: ::DWORD = 0x00000008; +pub const MOVEFILE_CREATE_HARDLINK: ::DWORD = 0x00000010; +pub const MOVEFILE_FAIL_IF_NOT_TRACKABLE: ::DWORD = 0x00000020; +//7176 +pub const HW_PROFILE_GUIDLEN: usize = 39; +//pub const MAX_PROFILE_LEN: usize = 80; +pub const DOCKINFO_UNDOCKED: ::DWORD = 0x1; +pub const DOCKINFO_DOCKED: ::DWORD = 0x2; +pub const DOCKINFO_USER_SUPPLIED: ::DWORD = 0x4; +pub const DOCKINFO_USER_UNDOCKED: ::DWORD = DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED; +pub const DOCKINFO_USER_DOCKED: ::DWORD = DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED; +STRUCT!{nodebug struct HW_PROFILE_INFOA { + dwDockInfo: ::DWORD, + szHwProfileGuid: [::CHAR; HW_PROFILE_GUIDLEN], + szHwProfileName: [::CHAR; ::MAX_PROFILE_LEN], +}} +pub type LPHW_PROFILE_INFOA = *mut HW_PROFILE_INFOA; +STRUCT!{nodebug struct HW_PROFILE_INFOW { + dwDockInfo: ::DWORD, + szHwProfileGuid: [::WCHAR; HW_PROFILE_GUIDLEN], + szHwProfileName: [::WCHAR; ::MAX_PROFILE_LEN], +}} +pub type LPHW_PROFILE_INFOW = *mut HW_PROFILE_INFOW; +//7574 +STRUCT!{struct ACTCTXA { + cbSize: ::ULONG, + dwFlags: ::DWORD, + lpSource: ::LPCSTR, + wProcessorArchitecture: ::USHORT, + wLangId: ::LANGID, + lpAssemblyDirectory: ::LPCSTR, + lpResourceName: ::LPCSTR, + lpApplicationName: ::LPCSTR, + hModule: ::HMODULE, +}} +pub type PACTCTXA = *mut ACTCTXA; +STRUCT!{struct ACTCTXW { + cbSize: ::ULONG, + dwFlags: ::DWORD, + lpSource: ::LPCWSTR, + wProcessorArchitecture: ::USHORT, + wLangId: ::LANGID, + lpAssemblyDirectory: ::LPCWSTR, + lpResourceName: ::LPCWSTR, + lpApplicationName: ::LPCWSTR, + hModule: ::HMODULE, +}} +pub type PACTCTXW = *mut ACTCTXW; +pub type PCACTCTXA = *const ACTCTXA; +pub type PCACTCTXW = *const ACTCTXW; +// +pub type PUMS_CONTEXT = *mut ::c_void; +pub type PUMS_COMPLETION_LIST = *mut ::c_void; +pub type UMS_THREAD_INFO_CLASS = ::RTL_UMS_THREAD_INFO_CLASS; +pub type PUMS_THREAD_INFO_CLASS = *mut UMS_THREAD_INFO_CLASS; +pub type PUMS_SCHEDULER_ENTRY_POINT = ::PRTL_UMS_SCHEDULER_ENTRY_POINT; +STRUCT!{nodebug struct UMS_SCHEDULER_STARTUP_INFO { + UmsVersion: ::ULONG, + CompletionList: PUMS_COMPLETION_LIST, + SchedulerProc: PUMS_SCHEDULER_ENTRY_POINT, + SchedulerParam: ::PVOID, +}} +pub type PUMS_SCHEDULER_STARTUP_INFO = *mut UMS_SCHEDULER_STARTUP_INFO; +STRUCT!{struct UMS_SYSTEM_THREAD_INFORMATION { + UmsVersion: ::ULONG, + BitFields: ::ULONG, +}} +BITFIELD!(UMS_SYSTEM_THREAD_INFORMATION BitFields: ::ULONG [ + IsUmsSchedulerThread set_IsUmsSchedulerThread[0..1], + IsUmsWorkerThread set_IsUmsWorkerThread[1..2], +]); +UNION!( + UMS_SYSTEM_THREAD_INFORMATION, BitFields, ThreadUmsFlags, ThreadUmsFlags_mut, + ::ULONG +); +pub type PUMS_SYSTEM_THREAD_INFORMATION = *mut UMS_SYSTEM_THREAD_INFORMATION; +STRUCT!{struct ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA { + lpInformation: ::PVOID, + lpSectionBase: ::PVOID, + ulSectionLength: ::ULONG, + lpSectionGlobalDataBase: ::PVOID, + ulSectionGlobalDataLength: ::ULONG, +}} +pub type PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = + *mut ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; +pub type PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA = + *const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; +STRUCT!{struct ACTCTX_SECTION_KEYED_DATA { + cbSize: ::ULONG, + ulDataFormatVersion: ::ULONG, + lpData: ::PVOID, + ulLength: ::ULONG, + lpSectionGlobalData: ::PVOID, + ulSectionGlobalDataLength: ::ULONG, + lpSectionBase: ::PVOID, + ulSectionTotalLength: ::ULONG, + hActCtx: ::HANDLE, + ulAssemblyRosterIndex: ::ULONG, + ulFlags: ::ULONG, + AssemblyMetadata: ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, +}} +pub type PACTCTX_SECTION_KEYED_DATA = *mut ACTCTX_SECTION_KEYED_DATA; +pub type PCACTCTX_SECTION_KEYED_DATA = *const ACTCTX_SECTION_KEYED_DATA; +ENUM!{enum STREAM_INFO_LEVELS { + FindStreamInfoStandard, + FindStreamInfoMaxInfoLevel, +}} +ENUM!{enum PROCESS_INFORMATION_CLASS { + ProcessMemoryPriority, + ProcessInformationClassMax, +}} +ENUM!{enum DEP_SYSTEM_POLICY_TYPE { + DEPPolicyAlwaysOff = 0, + DEPPolicyAlwaysOn, + DEPPolicyOptIn, + DEPPolicyOptOut, + DEPTotalPolicyCount, +}} +ENUM!{enum PIPE_ATTRIBUTE_TYPE { + PipeAttribute, + PipeConnectionAttribute, + PipeHandleAttribute, +}} +pub type APPLICATION_RECOVERY_CALLBACK = Option<unsafe extern "system" fn( + pvParameter: ::PVOID +) -> ::DWORD>; +STRUCT!{struct SYSTEM_POWER_STATUS { + ACLineStatus: ::BYTE, + BatteryFlag: ::BYTE, + BatteryLifePercent: ::BYTE, + Reserved1: ::BYTE, + BatteryLifeTime: ::DWORD, + BatteryFullLifeTime: ::DWORD, +}} +pub type LPSYSTEM_POWER_STATUS = *mut SYSTEM_POWER_STATUS; +pub const OFS_MAXPATHNAME: usize = 128; +STRUCT!{nodebug struct OFSTRUCT { + cBytes: ::BYTE, + fFixedDisk: ::BYTE, + nErrCode: ::WORD, + Reserved1: ::WORD, + Reserved2: ::WORD, + szPathName: [::CHAR; OFS_MAXPATHNAME], +}} +pub type POFSTRUCT = *mut OFSTRUCT; +pub type LPOFSTRUCT = *mut OFSTRUCT; +ENUM!{enum FILE_ID_TYPE { + FileIdType, + ObjectIdType, + ExtendedFileIdType, + MaximumFileIdType, +}} +STRUCT!{struct FILE_ID_DESCRIPTOR { + dwSize: ::DWORD, + Type: FILE_ID_TYPE, + ObjectId: ::GUID, +}} +UNION!(FILE_ID_DESCRIPTOR, ObjectId, FileId, FileId_mut, ::LARGE_INTEGER); +UNION!(FILE_ID_DESCRIPTOR, ObjectId, ExtendedFileId, ExtendedFileId_mut, ::FILE_ID_128); +pub type LPFILE_ID_DESCRIPTOR = *mut FILE_ID_DESCRIPTOR; diff --git a/third_party/rust/winapi-0.2.8/src/wincon.rs b/third_party/rust/winapi-0.2.8/src/wincon.rs new file mode 100644 index 0000000000..23c2e74244 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/wincon.rs @@ -0,0 +1,198 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! This module contains the public data structures, data types, and procedures exported by the NT +//! console subsystem. +STRUCT!{struct COORD { + X: ::SHORT, + Y: ::SHORT, +}} +pub type PCOORD = *mut COORD; +STRUCT!{struct SMALL_RECT { + Left: ::SHORT, + Top: ::SHORT, + Right: ::SHORT, + Bottom: ::SHORT, +}} +pub type PSMALL_RECT = *mut SMALL_RECT; +STRUCT!{struct KEY_EVENT_RECORD { + bKeyDown: ::BOOL, + wRepeatCount: ::WORD, + wVirtualKeyCode: ::WORD, + wVirtualScanCode: ::WORD, + UnicodeChar: ::WCHAR, + dwControlKeyState: ::DWORD, +}} +UNION!{KEY_EVENT_RECORD, UnicodeChar, AsciiChar, AsciiChar_mut, ::CHAR} +pub type PKEY_EVENT_RECORD = *mut KEY_EVENT_RECORD; +pub const RIGHT_ALT_PRESSED: ::DWORD = 0x0001; +pub const LEFT_ALT_PRESSED: ::DWORD = 0x0002; +pub const RIGHT_CTRL_PRESSED: ::DWORD = 0x0004; +pub const LEFT_CTRL_PRESSED: ::DWORD = 0x0008; +pub const SHIFT_PRESSED: ::DWORD = 0x0010; +pub const NUMLOCK_ON: ::DWORD = 0x0020; +pub const SCROLLLOCK_ON: ::DWORD = 0x0040; +pub const CAPSLOCK_ON: ::DWORD = 0x0080; +pub const ENHANCED_KEY: ::DWORD = 0x0100; +pub const NLS_DBCSCHAR: ::DWORD = 0x00010000; +pub const NLS_ALPHANUMERIC: ::DWORD = 0x00000000; +pub const NLS_KATAKANA: ::DWORD = 0x00020000; +pub const NLS_HIRAGANA: ::DWORD = 0x00040000; +pub const NLS_ROMAN: ::DWORD = 0x00400000; +pub const NLS_IME_CONVERSION: ::DWORD = 0x00800000; +pub const NLS_IME_DISABLE: ::DWORD = 0x20000000; +STRUCT!{struct MOUSE_EVENT_RECORD { + dwMousePosition: COORD, + dwButtonState: ::DWORD, + dwControlKeyState: ::DWORD, + dwEventFlags: ::DWORD, +}} +pub type PMOUSE_EVENT_RECORD = *mut MOUSE_EVENT_RECORD; +pub const FROM_LEFT_1ST_BUTTON_PRESSED: ::DWORD = 0x0001; +pub const RIGHTMOST_BUTTON_PRESSED: ::DWORD = 0x0002; +pub const FROM_LEFT_2ND_BUTTON_PRESSED: ::DWORD = 0x0004; +pub const FROM_LEFT_3RD_BUTTON_PRESSED: ::DWORD = 0x0008; +pub const FROM_LEFT_4TH_BUTTON_PRESSED: ::DWORD = 0x0010; +pub const MOUSE_MOVED: ::DWORD = 0x0001; +pub const DOUBLE_CLICK: ::DWORD = 0x0002; +pub const MOUSE_WHEELED: ::DWORD = 0x0004; +pub const MOUSE_HWHEELED: ::DWORD = 0x0008; +STRUCT!{struct WINDOW_BUFFER_SIZE_RECORD { + dwSize: COORD, +}} +pub type PWINDOW_BUFFER_SIZE_RECORD = *mut WINDOW_BUFFER_SIZE_RECORD; +STRUCT!{struct MENU_EVENT_RECORD { + dwCommandId: ::UINT, +}} +pub type PMENU_EVENT_RECORD = *mut MENU_EVENT_RECORD; +STRUCT!{struct FOCUS_EVENT_RECORD { + bSetFocus: ::BOOL, +}} +pub type PFOCUS_EVENT_RECORD = *mut FOCUS_EVENT_RECORD; +STRUCT!{struct INPUT_RECORD { + EventType: ::WORD, + Event: [u32; 4], +}} +UNION!{INPUT_RECORD, Event, KeyEvent, KeyEvent_mut, KEY_EVENT_RECORD} +UNION!{INPUT_RECORD, Event, MouseEvent, MouseEvent_mut, MOUSE_EVENT_RECORD} +UNION!{INPUT_RECORD, Event, WindowBufferSizeEvent, WindowBufferSizeEvent_mut, + WINDOW_BUFFER_SIZE_RECORD} +UNION!{INPUT_RECORD, Event, MenuEvent, MenuEvent_mut, MENU_EVENT_RECORD} +UNION!{INPUT_RECORD, Event, FocusEvent, FocusEvent_mut, FOCUS_EVENT_RECORD} +pub type PINPUT_RECORD = *mut INPUT_RECORD; +pub const KEY_EVENT: ::WORD = 0x0001; +pub const MOUSE_EVENT: ::WORD = 0x0002; +pub const WINDOW_BUFFER_SIZE_EVENT: ::WORD = 0x0004; +pub const MENU_EVENT: ::WORD = 0x0008; +pub const FOCUS_EVENT: ::WORD = 0x0010; +STRUCT!{struct CHAR_INFO { + UnicodeChar: ::WCHAR, + Attributes: ::WORD, +}} +UNION!{CHAR_INFO, UnicodeChar, AsciiChar, AsciiChar_mut, ::CHAR} +pub type PCHAR_INFO = *mut CHAR_INFO; +pub const FOREGROUND_BLUE: ::DWORD = 0x0001; +pub const FOREGROUND_GREEN: ::DWORD = 0x0002; +pub const FOREGROUND_RED: ::DWORD = 0x0004; +pub const FOREGROUND_INTENSITY: ::DWORD = 0x0008; +pub const BACKGROUND_BLUE: ::DWORD = 0x0010; +pub const BACKGROUND_GREEN: ::DWORD = 0x0020; +pub const BACKGROUND_RED: ::DWORD = 0x0040; +pub const BACKGROUND_INTENSITY: ::DWORD = 0x0080; +pub const COMMON_LVB_LEADING_BYTE: ::DWORD = 0x0100; +pub const COMMON_LVB_TRAILING_BYTE: ::DWORD = 0x0200; +pub const COMMON_LVB_GRID_HORIZONTAL: ::DWORD = 0x0400; +pub const COMMON_LVB_GRID_LVERTICAL: ::DWORD = 0x0800; +pub const COMMON_LVB_GRID_RVERTICAL: ::DWORD = 0x1000; +pub const COMMON_LVB_REVERSE_VIDEO: ::DWORD = 0x4000; +pub const COMMON_LVB_UNDERSCORE: ::DWORD = 0x8000; +pub const COMMON_LVB_SBCSDBCS: ::DWORD = 0x0300; +STRUCT!{struct CONSOLE_SCREEN_BUFFER_INFO { + dwSize: COORD, + dwCursorPosition: COORD, + wAttributes: ::WORD, + srWindow: SMALL_RECT, + dwMaximumWindowSize: COORD, +}} +pub type PCONSOLE_SCREEN_BUFFER_INFO = *mut CONSOLE_SCREEN_BUFFER_INFO; +STRUCT!{struct CONSOLE_SCREEN_BUFFER_INFOEX { + cbSize: ::ULONG, + dwSize: COORD, + dwCursorPosition: COORD, + wAttributes: ::WORD, + srWindow: SMALL_RECT, + dwMaximumWindowSize: COORD, + wPopupAttributes: ::WORD, + bFullscreenSupported: ::BOOL, + ColorTable: [::COLORREF; 16], +}} +pub type PCONSOLE_SCREEN_BUFFER_INFOEX = *mut CONSOLE_SCREEN_BUFFER_INFOEX; +STRUCT!{struct CONSOLE_CURSOR_INFO { + dwSize: ::DWORD, + bVisible: ::BOOL, +}} +pub type PCONSOLE_CURSOR_INFO = *mut CONSOLE_CURSOR_INFO; +STRUCT!{struct CONSOLE_FONT_INFO { + nFont: ::DWORD, + dwFontSize: ::COORD, +}} +pub type PCONSOLE_FONT_INFO = *mut CONSOLE_FONT_INFO; +STRUCT!{struct CONSOLE_FONT_INFOEX { + cbSize: ::ULONG, + nFont: ::DWORD, + dwFontSize: COORD, + FontFamily: ::UINT, + FontWeight: ::UINT, + FaceName: [::WCHAR; ::LF_FACESIZE], +}} +pub type PCONSOLE_FONT_INFOEX = *mut CONSOLE_FONT_INFOEX; +pub const HISTORY_NO_DUP_FLAG: ::DWORD = 0x1; +STRUCT!{struct CONSOLE_HISTORY_INFO { + cbSize: ::UINT, + HistoryBufferSize: ::UINT, + NumberOfHistoryBuffers: ::UINT, + dwFlags: ::DWORD, +}} +pub type PCONSOLE_HISTORY_INFO = *mut CONSOLE_HISTORY_INFO; +STRUCT!{struct CONSOLE_SELECTION_INFO { + dwFlags: ::DWORD, + dwSelectionAnchor: COORD, + srSelection: SMALL_RECT, +}} +pub type PCONSOLE_SELECTION_INFO = *mut CONSOLE_SELECTION_INFO; +pub const CONSOLE_NO_SELECTION: ::DWORD = 0x0000; +pub const CONSOLE_SELECTION_IN_PROGRESS: ::DWORD = 0x0001; +pub const CONSOLE_SELECTION_NOT_EMPTY: ::DWORD = 0x0002; +pub const CONSOLE_MOUSE_SELECTION: ::DWORD = 0x0004; +pub const CONSOLE_MOUSE_DOWN: ::DWORD = 0x0008; +pub type PHANDLER_ROUTINE = Option<unsafe extern "system" fn(CtrlType: ::DWORD) -> ::BOOL>; +pub const CTRL_C_EVENT: ::DWORD = 0; +pub const CTRL_BREAK_EVENT: ::DWORD = 1; +pub const CTRL_CLOSE_EVENT: ::DWORD = 2; +pub const CTRL_LOGOFF_EVENT: ::DWORD = 5; +pub const CTRL_SHUTDOWN_EVENT: ::DWORD = 6; +pub const ENABLE_PROCESSED_INPUT: ::DWORD = 0x0001; +pub const ENABLE_LINE_INPUT: ::DWORD = 0x0002; +pub const ENABLE_ECHO_INPUT: ::DWORD = 0x0004; +pub const ENABLE_WINDOW_INPUT: ::DWORD = 0x0008; +pub const ENABLE_MOUSE_INPUT: ::DWORD = 0x0010; +pub const ENABLE_INSERT_MODE: ::DWORD = 0x0020; +pub const ENABLE_QUICK_EDIT_MODE: ::DWORD = 0x0040; +pub const ENABLE_EXTENDED_FLAGS: ::DWORD = 0x0080; +pub const ENABLE_AUTO_POSITION: ::DWORD = 0x0100; +pub const ENABLE_PROCESSED_OUTPUT: ::DWORD = 0x0001; +pub const ENABLE_WRAP_AT_EOL_OUTPUT: ::DWORD = 0x0002; +pub const CONSOLE_REAL_OUTPUT_HANDLE: *mut ::c_void = -2isize as *mut ::c_void; +pub const CONSOLE_REAL_INPUT_HANDLE: *mut ::c_void = -3isize as *mut ::c_void; +pub const ATTACH_PARENT_PROCESS: ::DWORD = 0xFFFFFFFF; +STRUCT!{struct CONSOLE_READCONSOLE_CONTROL { + nLength: ::ULONG, + nInitialChars: ::ULONG, + dwCtrlWakeupMask: ::ULONG, + dwControlKeyState: ::ULONG, +}} +pub type PCONSOLE_READCONSOLE_CONTROL = *mut CONSOLE_READCONSOLE_CONTROL; +pub const CONSOLE_TEXTMODE_BUFFER: ::DWORD = 1; +pub const CONSOLE_FULLSCREEN: ::DWORD = 1; +pub const CONSOLE_FULLSCREEN_HARDWARE: ::DWORD = 2; +pub const CONSOLE_FULLSCREEN_MODE: ::DWORD = 1; +pub const CONSOLE_WINDOWED_MODE: ::DWORD = 2; diff --git a/third_party/rust/winapi-0.2.8/src/wincred.rs b/third_party/rust/winapi-0.2.8/src/wincred.rs new file mode 100644 index 0000000000..af98bd928d --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/wincred.rs @@ -0,0 +1,209 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Authentication API Prototypes and Definitions +pub const NERR_BASE: ::DWORD = 2100; +pub const NERR_PasswordExpired: ::DWORD = NERR_BASE+142; +pub const CRED_MAX_STRING_LENGTH: ::DWORD = 256; +pub const CRED_MAX_USERNAME_LENGTH: ::DWORD = 256+1+256; +pub const CRED_MAX_GENERIC_TARGET_NAME_LENGTH: ::DWORD = 32767; +pub const CRED_MAX_DOMAIN_TARGET_NAME_LENGTH: ::DWORD = 256+1+80; +pub const CRED_MAX_TARGETNAME_NAMESPACE_LENGTH: ::DWORD = 256; +pub const CRED_MAX_TARGETNAME_ATTRIBUTE_LENGTH: ::DWORD = 256; +pub const CRED_MAX_VALUE_SIZE: ::DWORD = 256; +pub const CRED_MAX_ATTRIBUTES: ::DWORD = 64; +pub const CRED_LOGON_TYPES_MASK: ::DWORD = 0xF000; +pub const CRED_FLAGS_PASSWORD_FOR_CERT: ::DWORD = 0x0001; +pub const CRED_FLAGS_PROMPT_NOW: ::DWORD = 0x0002; +pub const CRED_FLAGS_USERNAME_TARGET: ::DWORD = 0x0004; +pub const CRED_FLAGS_OWF_CRED_BLOB: ::DWORD = 0x0008; +pub const CRED_FLAGS_REQUIRE_CONFIRMATION: ::DWORD = 0x0010; +pub const CRED_FLAGS_WILDCARD_MATCH: ::DWORD = 0x0020; +pub const CRED_FLAGS_VALID_FLAGS: ::DWORD = 0xF03F; +pub const CRED_FLAGS_VALID_INPUT_FLAGS: ::DWORD = 0xF01F; +pub const CRED_TYPE_GENERIC: ::DWORD = 1; +pub const CRED_TYPE_DOMAIN_PASSWORD: ::DWORD = 2; +pub const CRED_TYPE_DOMAIN_CERTIFICATE: ::DWORD = 3; +pub const CRED_TYPE_DOMAIN_VISIBLE_PASSWORD: ::DWORD = 4; +pub const CRED_TYPE_GENERIC_CERTIFICATE: ::DWORD = 5; +pub const CRED_TYPE_DOMAIN_EXTENDED: ::DWORD = 6; +pub const CRED_TYPE_MAXIMUM: ::DWORD = 7; +pub const CRED_TYPE_MAXIMUM_EX: ::DWORD = CRED_TYPE_MAXIMUM+1000; +pub const CRED_MAX_CREDENTIAL_BLOB_SIZE: ::DWORD = 5*512; +pub const CRED_PERSIST_NONE: ::DWORD = 0; +pub const CRED_PERSIST_SESSION: ::DWORD = 1; +pub const CRED_PERSIST_LOCAL_MACHINE: ::DWORD = 2; +pub const CRED_PERSIST_ENTERPRISE: ::DWORD = 3; +STRUCT!{struct CREDENTIAL_ATTRIBUTEA { + Keyword: ::LPSTR, + Flags: ::DWORD, + ValueSize: ::DWORD, + Value: ::LPBYTE, +}} +pub type PCREDENTIAL_ATTRIBUTEA = *mut CREDENTIAL_ATTRIBUTEA; +STRUCT!{struct CREDENTIAL_ATTRIBUTEW { + Keyword: ::LPWSTR, + Flags: ::DWORD, + ValueSize: ::DWORD, + Value: ::LPBYTE, +}} +pub type PCREDENTIAL_ATTRIBUTEW = *mut CREDENTIAL_ATTRIBUTEW; +STRUCT!{struct CREDENTIALA { + Flags: ::DWORD, + Type: ::DWORD, + TargetName: ::LPSTR, + Comment: ::LPSTR, + LastWritten: ::FILETIME, + CredentialBlobSize: ::DWORD, + CredentialBlob: ::LPBYTE, + Persist: ::DWORD, + AttributeCount: ::DWORD, + Attributes: PCREDENTIAL_ATTRIBUTEA, + TargetAlias: ::LPSTR, + UserName: ::LPSTR, +}} +pub type PCREDENTIALA = *mut CREDENTIALA; +STRUCT!{struct CREDENTIALW { + Flags: ::DWORD, + Type: ::DWORD, + TargetName: ::LPWSTR, + Comment: ::LPWSTR, + LastWritten: ::FILETIME, + CredentialBlobSize: ::DWORD, + CredentialBlob: ::LPBYTE, + Persist: ::DWORD, + AttributeCount: ::DWORD, + Attributes: PCREDENTIAL_ATTRIBUTEW, + TargetAlias: ::LPWSTR, + UserName: ::LPWSTR, +}} +pub type PCREDENTIALW = *mut CREDENTIALW; +pub const CRED_TI_SERVER_FORMAT_UNKNOWN: ::ULONG = 0x0001; +pub const CRED_TI_DOMAIN_FORMAT_UNKNOWN: ::ULONG = 0x0002; +pub const CRED_TI_ONLY_PASSWORD_REQUIRED: ::ULONG = 0x0004; +pub const CRED_TI_USERNAME_TARGET: ::ULONG = 0x0008; +pub const CRED_TI_CREATE_EXPLICIT_CRED: ::ULONG = 0x0010; +pub const CRED_TI_WORKGROUP_MEMBER: ::ULONG = 0x0020; +pub const CRED_TI_VALID_FLAGS: ::ULONG = 0xF07F; +STRUCT!{struct CREDENTIAL_TARGET_INFORMATIONA { + TargetName: ::LPSTR, + NetbiosServerName: ::LPSTR, + DnsServerName: ::LPSTR, + NetbiosDomainName: ::LPSTR, + DnsDomainName: ::LPSTR, + DnsTreeName: ::LPSTR, + PackageName: ::LPSTR, + Flags: ::ULONG, + CredTypeCount: ::DWORD, + CredTypes: ::LPDWORD, +}} +pub type PCREDENTIAL_TARGET_INFORMATIONA = *mut CREDENTIAL_TARGET_INFORMATIONA; +STRUCT!{struct CREDENTIAL_TARGET_INFORMATIONW { + TargetName: ::LPWSTR, + NetbiosServerName: ::LPWSTR, + DnsServerName: ::LPWSTR, + NetbiosDomainName: ::LPWSTR, + DnsDomainName: ::LPWSTR, + DnsTreeName: ::LPWSTR, + PackageName: ::LPWSTR, + Flags: ::ULONG, + CredTypeCount: ::DWORD, + CredTypes: ::LPDWORD, +}} +pub type PCREDENTIAL_TARGET_INFORMATIONW = *mut CREDENTIAL_TARGET_INFORMATIONW; +pub const CERT_HASH_LENGTH: usize = 20; +STRUCT!{struct CERT_CREDENTIAL_INFO { + cbSize: ::ULONG, + rgbHashOfCert: [::UCHAR; CERT_HASH_LENGTH], +}} +pub type PCERT_CREDENTIAL_INFO = *mut CERT_CREDENTIAL_INFO; +STRUCT!{struct USERNAME_TARGET_CREDENTIAL_INFO { + UserName: ::LPWSTR, +}} +pub type PUSERNAME_TARGET_CREDENTIAL_INFO = *mut USERNAME_TARGET_CREDENTIAL_INFO; +STRUCT!{struct BINARY_BLOB_CREDENTIAL_INFO { + cbBlob: ::ULONG, + pbBlob: ::LPBYTE, +}} +pub type PBINARY_BLOB_CREDENTIAL_INFO = *mut BINARY_BLOB_CREDENTIAL_INFO; +ENUM!{enum CRED_MARSHAL_TYPE { + CertCredential = 1, + UsernameTargetCredential, + BinaryBlobCredential, + UsernameForPackedCredentials, +}} +pub type PCRED_MARSHAL_TYPE = *mut CRED_MARSHAL_TYPE; +ENUM!{enum CRED_PROTECTION_TYPE { + CredUnprotected, + CredUserProtection, + CredTrustedProtection, +}} +pub type PCRED_PROTECTION_TYPE = *mut CRED_PROTECTION_TYPE; +pub const CRED_PACK_PROTECTED_CREDENTIALS: ::DWORD = 0x1; +pub const CRED_PACK_WOW_BUFFER: ::DWORD = 0x2; +pub const CRED_PACK_GENERIC_CREDENTIALS: ::DWORD = 0x4; +pub const CRED_PACK_ID_PROVIDER_CREDENTIALS: ::DWORD = 0x8; +STRUCT!{struct CREDUI_INFOA { + cbSize: ::DWORD, + hwndParent: ::HWND, + pszMessageText: ::PCSTR, + pszCaptionText: ::PCSTR, + hbmBanner: ::HBITMAP, +}} +pub type PCREDUI_INFOA = *mut CREDUI_INFOA; +STRUCT!{struct CREDUI_INFOW { + cbSize: ::DWORD, + hwndParent: ::HWND, + pszMessageText: ::PCWSTR, + pszCaptionText: ::PCWSTR, + hbmBanner: ::HBITMAP, +}} +pub type PCREDUI_INFOW = *mut CREDUI_INFOW; +pub const CREDUI_MAX_MESSAGE_LENGTH: ::DWORD = 1024; +pub const CREDUI_MAX_CAPTION_LENGTH: ::DWORD = 128; +pub const CREDUI_MAX_GENERIC_TARGET_LENGTH: ::DWORD = CRED_MAX_GENERIC_TARGET_NAME_LENGTH; +pub const CREDUI_MAX_DOMAIN_TARGET_LENGTH: ::DWORD = CRED_MAX_DOMAIN_TARGET_NAME_LENGTH; +pub const CREDUI_MAX_USERNAME_LENGTH: ::DWORD = CRED_MAX_USERNAME_LENGTH; +pub const CREDUI_MAX_PASSWORD_LENGTH: ::DWORD = 512 / 2; +pub const CREDUI_FLAGS_INCORRECT_PASSWORD: ::DWORD = 0x00001; +pub const CREDUI_FLAGS_DO_NOT_PERSIST: ::DWORD = 0x00002; +pub const CREDUI_FLAGS_REQUEST_ADMINISTRATOR: ::DWORD = 0x00004; +pub const CREDUI_FLAGS_EXCLUDE_CERTIFICATES: ::DWORD = 0x00008; +pub const CREDUI_FLAGS_REQUIRE_CERTIFICATE: ::DWORD = 0x00010; +pub const CREDUI_FLAGS_SHOW_SAVE_CHECK_BOX: ::DWORD = 0x00040; +pub const CREDUI_FLAGS_ALWAYS_SHOW_UI: ::DWORD = 0x00080; +pub const CREDUI_FLAGS_REQUIRE_SMARTCARD: ::DWORD = 0x00100; +pub const CREDUI_FLAGS_PASSWORD_ONLY_OK: ::DWORD = 0x00200; +pub const CREDUI_FLAGS_VALIDATE_USERNAME: ::DWORD = 0x00400; +pub const CREDUI_FLAGS_COMPLETE_USERNAME: ::DWORD = 0x00800; +pub const CREDUI_FLAGS_PERSIST: ::DWORD = 0x01000; +pub const CREDUI_FLAGS_SERVER_CREDENTIAL: ::DWORD = 0x04000; +pub const CREDUI_FLAGS_EXPECT_CONFIRMATION: ::DWORD = 0x20000; +pub const CREDUI_FLAGS_GENERIC_CREDENTIALS: ::DWORD = 0x40000; +pub const CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS: ::DWORD = 0x80000; +pub const CREDUI_FLAGS_KEEP_USERNAME: ::DWORD = 0x100000; +pub const CREDUI_FLAGS_PROMPT_VALID: ::DWORD = CREDUI_FLAGS_INCORRECT_PASSWORD + | CREDUI_FLAGS_DO_NOT_PERSIST | CREDUI_FLAGS_REQUEST_ADMINISTRATOR + | CREDUI_FLAGS_EXCLUDE_CERTIFICATES | CREDUI_FLAGS_REQUIRE_CERTIFICATE + | CREDUI_FLAGS_SHOW_SAVE_CHECK_BOX | CREDUI_FLAGS_ALWAYS_SHOW_UI + | CREDUI_FLAGS_REQUIRE_SMARTCARD | CREDUI_FLAGS_PASSWORD_ONLY_OK + | CREDUI_FLAGS_VALIDATE_USERNAME | CREDUI_FLAGS_COMPLETE_USERNAME | CREDUI_FLAGS_PERSIST + | CREDUI_FLAGS_SERVER_CREDENTIAL | CREDUI_FLAGS_EXPECT_CONFIRMATION + | CREDUI_FLAGS_GENERIC_CREDENTIALS | CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS + | CREDUI_FLAGS_KEEP_USERNAME; +pub const CREDUIWIN_GENERIC: ::DWORD = 0x00000001; +pub const CREDUIWIN_CHECKBOX: ::DWORD = 0x00000002; +pub const CREDUIWIN_AUTHPACKAGE_ONLY: ::DWORD = 0x00000010; +pub const CREDUIWIN_IN_CRED_ONLY: ::DWORD = 0x00000020; +pub const CREDUIWIN_ENUMERATE_ADMINS: ::DWORD = 0x00000100; +pub const CREDUIWIN_ENUMERATE_CURRENT_USER: ::DWORD = 0x00000200; +pub const CREDUIWIN_SECURE_PROMPT: ::DWORD = 0x00001000; +pub const CREDUIWIN_PREPROMPTING: ::DWORD = 0x00002000; +pub const CREDUIWIN_PACK_32_WOW: ::DWORD = 0x10000000; +pub const CREDUIWIN_VALID_FLAGS: ::DWORD = CREDUIWIN_GENERIC | CREDUIWIN_CHECKBOX + | CREDUIWIN_AUTHPACKAGE_ONLY | CREDUIWIN_IN_CRED_ONLY | CREDUIWIN_ENUMERATE_ADMINS + | CREDUIWIN_ENUMERATE_CURRENT_USER | CREDUIWIN_SECURE_PROMPT | CREDUIWIN_PREPROMPTING + | CREDUIWIN_PACK_32_WOW; +pub const CRED_PRESERVE_CREDENTIAL_BLOB: ::DWORD = 0x1; +pub const CRED_ENUMERATE_ALL_CREDENTIALS: ::DWORD = 0x1; +pub const CRED_CACHE_TARGET_INFORMATION: ::DWORD = 0x1; +pub const CRED_ALLOW_NAME_RESOLUTION: ::DWORD = 0x1; diff --git a/third_party/rust/winapi-0.2.8/src/wincrypt.rs b/third_party/rust/winapi-0.2.8/src/wincrypt.rs new file mode 100644 index 0000000000..5b3e748cc9 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/wincrypt.rs @@ -0,0 +1,2206 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Cryptographic API Prototypes and Definitions +//108 +pub const ALG_CLASS_ANY: ALG_ID = 0; +pub const ALG_CLASS_SIGNATURE: ALG_ID = 1 << 13; +pub const ALG_CLASS_MSG_ENCRYPT: ALG_ID = 2 << 13; +pub const ALG_CLASS_DATA_ENCRYPT: ALG_ID = 3 << 13; +pub const ALG_CLASS_HASH: ALG_ID = 4 << 13; +pub const ALG_CLASS_KEY_EXCHANGE: ALG_ID = 5 << 13; +pub const ALG_CLASS_ALL: ALG_ID = 7 << 13; +pub const ALG_TYPE_ANY: ALG_ID = 0; +pub const ALG_TYPE_DSS: ALG_ID = 1 << 9; +pub const ALG_TYPE_RSA: ALG_ID = 2 << 9; +pub const ALG_TYPE_BLOCK: ALG_ID = 3 << 9; +pub const ALG_TYPE_STREAM: ALG_ID = 4 << 9; +pub const ALG_TYPE_DH: ALG_ID = 5 << 9; +pub const ALG_TYPE_SECURECHANNEL: ALG_ID = 6 << 9; +pub const ALG_SID_ANY: ALG_ID = 0; +pub const ALG_SID_RSA_ANY: ALG_ID = 0; +pub const ALG_SID_RSA_PKCS: ALG_ID = 1; +pub const ALG_SID_RSA_MSATWORK: ALG_ID = 2; +pub const ALG_SID_RSA_ENTRUST: ALG_ID = 3; +pub const ALG_SID_RSA_PGP: ALG_ID = 4; +pub const ALG_SID_DSS_ANY: ALG_ID = 0; +pub const ALG_SID_DSS_PKCS: ALG_ID = 1; +pub const ALG_SID_DSS_DMS: ALG_ID = 2; +pub const ALG_SID_ECDSA: ALG_ID = 3; +pub const ALG_SID_DES: ALG_ID = 1; +pub const ALG_SID_3DES: ALG_ID = 3; +pub const ALG_SID_DESX: ALG_ID = 4; +pub const ALG_SID_IDEA: ALG_ID = 5; +pub const ALG_SID_CAST: ALG_ID = 6; +pub const ALG_SID_SAFERSK64: ALG_ID = 7; +pub const ALG_SID_SAFERSK128: ALG_ID = 8; +pub const ALG_SID_3DES_112: ALG_ID = 9; +pub const ALG_SID_CYLINK_MEK: ALG_ID = 12; +pub const ALG_SID_RC5: ALG_ID = 13; +pub const ALG_SID_AES_128: ALG_ID = 14; +pub const ALG_SID_AES_192: ALG_ID = 15; +pub const ALG_SID_AES_256: ALG_ID = 16; +pub const ALG_SID_AES: ALG_ID = 17; +pub const ALG_SID_SKIPJACK: ALG_ID = 10; +pub const ALG_SID_TEK: ALG_ID = 11; +pub const CRYPT_MODE_CBCI: ALG_ID = 6; +pub const CRYPT_MODE_CFBP: ALG_ID = 7; +pub const CRYPT_MODE_OFBP: ALG_ID = 8; +pub const CRYPT_MODE_CBCOFM: ALG_ID = 9; +pub const CRYPT_MODE_CBCOFMI: ALG_ID = 10; +pub const ALG_SID_RC2: ALG_ID = 2; +pub const ALG_SID_RC4: ALG_ID = 1; +pub const ALG_SID_SEAL: ALG_ID = 2; +pub const ALG_SID_DH_SANDF: ALG_ID = 1; +pub const ALG_SID_DH_EPHEM: ALG_ID = 2; +pub const ALG_SID_AGREED_KEY_ANY: ALG_ID = 3; +pub const ALG_SID_KEA: ALG_ID = 4; +pub const ALG_SID_ECDH: ALG_ID = 5; +pub const ALG_SID_MD2: ALG_ID = 1; +pub const ALG_SID_MD4: ALG_ID = 2; +pub const ALG_SID_MD5: ALG_ID = 3; +pub const ALG_SID_SHA: ALG_ID = 4; +pub const ALG_SID_SHA1: ALG_ID = 4; +pub const ALG_SID_MAC: ALG_ID = 5; +pub const ALG_SID_RIPEMD: ALG_ID = 6; +pub const ALG_SID_RIPEMD160: ALG_ID = 7; +pub const ALG_SID_SSL3SHAMD5: ALG_ID = 8; +pub const ALG_SID_HMAC: ALG_ID = 9; +pub const ALG_SID_TLS1PRF: ALG_ID = 10; +pub const ALG_SID_HASH_REPLACE_OWF: ALG_ID = 11; +pub const ALG_SID_SHA_256: ALG_ID = 12; +pub const ALG_SID_SHA_384: ALG_ID = 13; +pub const ALG_SID_SHA_512: ALG_ID = 14; +pub const ALG_SID_SSL3_MASTER: ALG_ID = 1; +pub const ALG_SID_SCHANNEL_MASTER_HASH: ALG_ID = 2; +pub const ALG_SID_SCHANNEL_MAC_KEY: ALG_ID = 3; +pub const ALG_SID_PCT1_MASTER: ALG_ID = 4; +pub const ALG_SID_SSL2_MASTER: ALG_ID = 5; +pub const ALG_SID_TLS1_MASTER: ALG_ID = 6; +pub const ALG_SID_SCHANNEL_ENC_KEY: ALG_ID = 7; +pub const ALG_SID_ECMQV: ALG_ID = 1; +pub const ALG_SID_EXAMPLE: ALG_ID = 80; +pub type ALG_ID = ::c_uint; +pub const CALG_MD2: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD2; +pub const CALG_MD4: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD4; +pub const CALG_MD5: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD5; +pub const CALG_SHA: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA; +pub const CALG_SHA1: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA1; +pub const CALG_MAC: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MAC; +pub const CALG_RSA_SIGN: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_RSA | ALG_SID_RSA_ANY; +pub const CALG_DSS_SIGN: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_DSS_ANY; +pub const CALG_NO_SIGN: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_ANY | ALG_SID_ANY; +pub const CALG_RSA_KEYX: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_RSA | ALG_SID_RSA_ANY; +pub const CALG_DES: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_DES; +pub const CALG_3DES_112: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_3DES_112; +pub const CALG_3DES: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_3DES; +pub const CALG_DESX: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_DESX; +pub const CALG_RC2: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_RC2; +pub const CALG_RC4: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_RC4; +pub const CALG_SEAL: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_SEAL; +pub const CALG_DH_SF: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_DH_SANDF; +pub const CALG_DH_EPHEM: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_DH_EPHEM; +pub const CALG_AGREEDKEY_ANY: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH + | ALG_SID_AGREED_KEY_ANY; +pub const CALG_KEA_KEYX: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_KEA; +pub const CALG_HUGHES_MD5: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_ANY | ALG_SID_MD5; +pub const CALG_SKIPJACK: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_SKIPJACK; +pub const CALG_TEK: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_TEK; +pub const CALG_CYLINK_MEK: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_CYLINK_MEK; +pub const CALG_SSL3_SHAMD5: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SSL3SHAMD5; +pub const CALG_SSL3_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL + | ALG_SID_SSL3_MASTER; +pub const CALG_SCHANNEL_MASTER_HASH: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL + | ALG_SID_SCHANNEL_MASTER_HASH; +pub const CALG_SCHANNEL_MAC_KEY: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL + | ALG_SID_SCHANNEL_MAC_KEY; +pub const CALG_SCHANNEL_ENC_KEY: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL + | ALG_SID_SCHANNEL_ENC_KEY; +pub const CALG_PCT1_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL + | ALG_SID_PCT1_MASTER; +pub const CALG_SSL2_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL + | ALG_SID_SSL2_MASTER; +pub const CALG_TLS1_MASTER: ALG_ID = ALG_CLASS_MSG_ENCRYPT | ALG_TYPE_SECURECHANNEL + | ALG_SID_TLS1_MASTER; +pub const CALG_RC5: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_RC5; +pub const CALG_HMAC: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_HMAC; +pub const CALG_TLS1PRF: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_TLS1PRF; +pub const CALG_HASH_REPLACE_OWF: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_HASH_REPLACE_OWF; +pub const CALG_AES_128: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_128; +pub const CALG_AES_192: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_192; +pub const CALG_AES_256: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_256; +pub const CALG_AES: ALG_ID = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES; +pub const CALG_SHA_256: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_256; +pub const CALG_SHA_384: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_384; +pub const CALG_SHA_512: ALG_ID = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_512; +pub const CALG_ECDH: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_ECDH; +pub const CALG_ECMQV: ALG_ID = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_ANY | ALG_SID_ECMQV; +pub const CALG_ECDSA: ALG_ID = ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_ECDSA; +pub type HCRYPTPROV = ::ULONG_PTR; +pub type HCRYPTKEY = ::ULONG_PTR; +pub type HCRYPTHASH = ::ULONG_PTR; +pub const CRYPT_VERIFYCONTEXT: ::DWORD = 0xF0000000; +pub const CRYPT_NEWKEYSET: ::DWORD = 0x00000008; +pub const CRYPT_DELETEKEYSET: ::DWORD = 0x00000010; +pub const CRYPT_MACHINE_KEYSET: ::DWORD = 0x00000020; +pub const CRYPT_SILENT: ::DWORD = 0x00000040; +pub const CRYPT_DEFAULT_CONTAINER_OPTIONAL: ::DWORD = 0x00000080; +pub const CRYPT_EXPORTABLE: ::DWORD = 0x00000001; +pub const CRYPT_USER_PROTECTED: ::DWORD = 0x00000002; +pub const CRYPT_CREATE_SALT: ::DWORD = 0x00000004; +pub const CRYPT_UPDATE_KEY: ::DWORD = 0x00000008; +pub const CRYPT_NO_SALT: ::DWORD = 0x00000010; +pub const CRYPT_PREGEN: ::DWORD = 0x00000040; +pub const CRYPT_RECIPIENT: ::DWORD = 0x00000010; +pub const CRYPT_INITIATOR: ::DWORD = 0x00000040; +pub const CRYPT_ONLINE: ::DWORD = 0x00000080; +pub const CRYPT_SF: ::DWORD = 0x00000100; +pub const CRYPT_CREATE_IV: ::DWORD = 0x00000200; +pub const CRYPT_KEK: ::DWORD = 0x00000400; +pub const CRYPT_DATA_KEY: ::DWORD = 0x00000800; +pub const CRYPT_VOLATILE: ::DWORD = 0x00001000; +pub const CRYPT_SGCKEY: ::DWORD = 0x00002000; +pub const CRYPT_USER_PROTECTED_STRONG: ::DWORD = 0x00100000; +pub const CRYPT_ARCHIVABLE: ::DWORD = 0x00004000; +pub const CRYPT_FORCE_KEY_PROTECTION_HIGH: ::DWORD = 0x00008000; +pub const RSA1024BIT_KEY: ::DWORD = 0x04000000; +pub const CRYPT_SERVER: ::DWORD = 0x00000400; +pub const KEY_LENGTH_MASK: ::DWORD = 0xFFFF0000; +pub const CRYPT_Y_ONLY: ::DWORD = 0x00000001; +pub const CRYPT_SSL2_FALLBACK: ::DWORD = 0x00000002; +pub const CRYPT_DESTROYKEY: ::DWORD = 0x00000004; +pub const CRYPT_OAEP: ::DWORD = 0x00000040; +pub const CRYPT_BLOB_VER3: ::DWORD = 0x00000080; +pub const CRYPT_IPSEC_HMAC_KEY: ::DWORD = 0x00000100; +pub const CRYPT_DECRYPT_RSA_NO_PADDING_CHECK: ::DWORD = 0x00000020; +pub const CRYPT_SECRETDIGEST: ::DWORD = 0x00000001; +pub const CRYPT_OWF_REPL_LM_HASH: ::DWORD = 0x00000001; +pub const CRYPT_LITTLE_ENDIAN: ::DWORD = 0x00000001; +pub const CRYPT_NOHASHOID: ::DWORD = 0x00000001; +pub const CRYPT_TYPE2_FORMAT: ::DWORD = 0x00000002; +pub const CRYPT_X931_FORMAT: ::DWORD = 0x00000004; +pub const CRYPT_MACHINE_DEFAULT: ::DWORD = 0x00000001; +pub const CRYPT_USER_DEFAULT: ::DWORD = 0x00000002; +pub const CRYPT_DELETE_DEFAULT: ::DWORD = 0x00000004; +pub const SIMPLEBLOB: ::DWORD = 0x1; +pub const PUBLICKEYBLOB: ::DWORD = 0x6; +pub const PRIVATEKEYBLOB: ::DWORD = 0x7; +pub const PLAINTEXTKEYBLOB: ::DWORD = 0x8; +pub const OPAQUEKEYBLOB: ::DWORD = 0x9; +pub const PUBLICKEYBLOBEX: ::DWORD = 0xA; +pub const SYMMETRICWRAPKEYBLOB: ::DWORD = 0xB; +pub const KEYSTATEBLOB: ::DWORD = 0xC; +pub const AT_KEYEXCHANGE: ::DWORD = 1; +pub const AT_SIGNATURE: ::DWORD = 2; +pub const CRYPT_USERDATA: ::DWORD = 1; +pub const KP_IV: ::DWORD = 1; +pub const KP_SALT: ::DWORD = 2; +pub const KP_PADDING: ::DWORD = 3; +pub const KP_MODE: ::DWORD = 4; +pub const KP_MODE_BITS: ::DWORD = 5; +pub const KP_PERMISSIONS: ::DWORD = 6; +pub const KP_ALGID: ::DWORD = 7; +pub const KP_BLOCKLEN: ::DWORD = 8; +pub const KP_KEYLEN: ::DWORD = 9; +pub const KP_SALT_EX: ::DWORD = 10; +pub const KP_P: ::DWORD = 11; +pub const KP_G: ::DWORD = 12; +pub const KP_Q: ::DWORD = 13; +pub const KP_X: ::DWORD = 14; +pub const KP_Y: ::DWORD = 15; +pub const KP_RA: ::DWORD = 16; +pub const KP_RB: ::DWORD = 17; +pub const KP_INFO: ::DWORD = 18; +pub const KP_EFFECTIVE_KEYLEN: ::DWORD = 19; +pub const KP_SCHANNEL_ALG: ::DWORD = 20; +pub const KP_CLIENT_RANDOM: ::DWORD = 21; +pub const KP_SERVER_RANDOM: ::DWORD = 22; +pub const KP_RP: ::DWORD = 23; +pub const KP_PRECOMP_MD5: ::DWORD = 24; +pub const KP_PRECOMP_SHA: ::DWORD = 25; +pub const KP_CERTIFICATE: ::DWORD = 26; +pub const KP_CLEAR_KEY: ::DWORD = 27; +pub const KP_PUB_EX_LEN: ::DWORD = 28; +pub const KP_PUB_EX_VAL: ::DWORD = 29; +pub const KP_KEYVAL: ::DWORD = 30; +pub const KP_ADMIN_PIN: ::DWORD = 31; +pub const KP_KEYEXCHANGE_PIN: ::DWORD = 32; +pub const KP_SIGNATURE_PIN: ::DWORD = 33; +pub const KP_PREHASH: ::DWORD = 34; +pub const KP_ROUNDS: ::DWORD = 35; +pub const KP_OAEP_PARAMS: ::DWORD = 36; +pub const KP_CMS_KEY_INFO: ::DWORD = 37; +pub const KP_CMS_DH_KEY_INFO: ::DWORD = 38; +pub const KP_PUB_PARAMS: ::DWORD = 39; +pub const KP_VERIFY_PARAMS: ::DWORD = 40; +pub const KP_HIGHEST_VERSION: ::DWORD = 41; +pub const KP_GET_USE_COUNT: ::DWORD = 42; +pub const KP_PIN_ID: ::DWORD = 43; +pub const KP_PIN_INFO: ::DWORD = 44; +pub const PKCS5_PADDING: ::DWORD = 1; +pub const RANDOM_PADDING: ::DWORD = 2; +pub const ZERO_PADDING: ::DWORD = 3; +pub const CRYPT_MODE_CBC: ::DWORD = 1; +pub const CRYPT_MODE_ECB: ::DWORD = 2; +pub const CRYPT_MODE_OFB: ::DWORD = 3; +pub const CRYPT_MODE_CFB: ::DWORD = 4; +pub const CRYPT_MODE_CTS: ::DWORD = 5; +pub const CRYPT_ENCRYPT: ::DWORD = 0x0001; +pub const CRYPT_DECRYPT: ::DWORD = 0x0002; +pub const CRYPT_EXPORT: ::DWORD = 0x0004; +pub const CRYPT_READ: ::DWORD = 0x0008; +pub const CRYPT_WRITE: ::DWORD = 0x0010; +pub const CRYPT_MAC: ::DWORD = 0x0020; +pub const CRYPT_EXPORT_KEY: ::DWORD = 0x0040; +pub const CRYPT_IMPORT_KEY: ::DWORD = 0x0080; +pub const CRYPT_ARCHIVE: ::DWORD = 0x0100; +pub const HP_ALGID: ::DWORD = 0x0001; +pub const HP_HASHVAL: ::DWORD = 0x0002; +pub const HP_HASHSIZE: ::DWORD = 0x0004; +pub const HP_HMAC_INFO: ::DWORD = 0x0005; +pub const HP_TLS1PRF_LABEL: ::DWORD = 0x0006; +pub const HP_TLS1PRF_SEED: ::DWORD = 0x0007; +pub const CRYPT_FAILED: ::BOOL = ::FALSE; +pub const CRYPT_SUCCEED: ::BOOL = ::TRUE; +pub const PP_ENUMALGS: ::DWORD = 1; +pub const PP_ENUMCONTAINERS: ::DWORD = 2; +pub const PP_IMPTYPE: ::DWORD = 3; +pub const PP_NAME: ::DWORD = 4; +pub const PP_VERSION: ::DWORD = 5; +pub const PP_CONTAINER: ::DWORD = 6; +pub const PP_CHANGE_PASSWORD: ::DWORD = 7; +pub const PP_KEYSET_SEC_DESCR: ::DWORD = 8; +pub const PP_CERTCHAIN: ::DWORD = 9; +pub const PP_KEY_TYPE_SUBTYPE: ::DWORD = 10; +pub const PP_PROVTYPE: ::DWORD = 16; +pub const PP_KEYSTORAGE: ::DWORD = 17; +pub const PP_APPLI_CERT: ::DWORD = 18; +pub const PP_SYM_KEYSIZE: ::DWORD = 19; +pub const PP_SESSION_KEYSIZE: ::DWORD = 20; +pub const PP_UI_PROMPT: ::DWORD = 21; +pub const PP_ENUMALGS_EX: ::DWORD = 22; +pub const PP_ENUMMANDROOTS: ::DWORD = 25; +pub const PP_ENUMELECTROOTS: ::DWORD = 26; +pub const PP_KEYSET_TYPE: ::DWORD = 27; +pub const PP_ADMIN_PIN: ::DWORD = 31; +pub const PP_KEYEXCHANGE_PIN: ::DWORD = 32; +pub const PP_SIGNATURE_PIN: ::DWORD = 33; +pub const PP_SIG_KEYSIZE_INC: ::DWORD = 34; +pub const PP_KEYX_KEYSIZE_INC: ::DWORD = 35; +pub const PP_UNIQUE_CONTAINER: ::DWORD = 36; +pub const PP_SGC_INFO: ::DWORD = 37; +pub const PP_USE_HARDWARE_RNG: ::DWORD = 38; +pub const PP_KEYSPEC: ::DWORD = 39; +pub const PP_ENUMEX_SIGNING_PROT: ::DWORD = 40; +pub const PP_CRYPT_COUNT_KEY_USE: ::DWORD = 41; +pub const PP_USER_CERTSTORE: ::DWORD = 42; +pub const PP_SMARTCARD_READER: ::DWORD = 43; +pub const PP_SMARTCARD_GUID: ::DWORD = 45; +pub const PP_ROOT_CERTSTORE: ::DWORD = 46; +pub const PP_SMARTCARD_READER_ICON: ::DWORD = 47; +pub const CRYPT_FIRST: ::DWORD = 1; +pub const CRYPT_NEXT: ::DWORD = 2; +pub const CRYPT_SGC_ENUM: ::DWORD = 4; +pub const CRYPT_IMPL_HARDWARE: ::DWORD = 1; +pub const CRYPT_IMPL_SOFTWARE: ::DWORD = 2; +pub const CRYPT_IMPL_MIXED: ::DWORD = 3; +pub const CRYPT_IMPL_UNKNOWN: ::DWORD = 4; +pub const CRYPT_IMPL_REMOVABLE: ::DWORD = 8; +pub const CRYPT_SEC_DESCR: ::DWORD = 0x00000001; +pub const CRYPT_PSTORE: ::DWORD = 0x00000002; +pub const CRYPT_UI_PROMPT: ::DWORD = 0x00000004; +pub const CRYPT_FLAG_PCT1: ::DWORD = 0x0001; +pub const CRYPT_FLAG_SSL2: ::DWORD = 0x0002; +pub const CRYPT_FLAG_SSL3: ::DWORD = 0x0004; +pub const CRYPT_FLAG_TLS1: ::DWORD = 0x0008; +pub const CRYPT_FLAG_IPSEC: ::DWORD = 0x0010; +pub const CRYPT_FLAG_SIGNING: ::DWORD = 0x0020; +pub const CRYPT_SGC: ::DWORD = 0x0001; +pub const CRYPT_FASTSGC: ::DWORD = 0x0002; +pub const PP_CLIENT_HWND: ::DWORD = 1; +pub const PP_CONTEXT_INFO: ::DWORD = 11; +pub const PP_KEYEXCHANGE_KEYSIZE: ::DWORD = 12; +pub const PP_SIGNATURE_KEYSIZE: ::DWORD = 13; +pub const PP_KEYEXCHANGE_ALG: ::DWORD = 14; +pub const PP_SIGNATURE_ALG: ::DWORD = 15; +pub const PP_DELETEKEY: ::DWORD = 24; +pub const PP_PIN_PROMPT_STRING: ::DWORD = 44; +pub const PP_SECURE_KEYEXCHANGE_PIN: ::DWORD = 47; +pub const PP_SECURE_SIGNATURE_PIN: ::DWORD = 48; +pub const PROV_RSA_FULL: ::DWORD = 1; +pub const PROV_RSA_SIG: ::DWORD = 2; +pub const PROV_DSS: ::DWORD = 3; +pub const PROV_FORTEZZA: ::DWORD = 4; +pub const PROV_MS_EXCHANGE: ::DWORD = 5; +pub const PROV_SSL: ::DWORD = 6; +pub const PROV_RSA_SCHANNEL: ::DWORD = 12; +pub const PROV_DSS_DH: ::DWORD = 13; +pub const PROV_EC_ECDSA_SIG: ::DWORD = 14; +pub const PROV_EC_ECNRA_SIG: ::DWORD = 15; +pub const PROV_EC_ECDSA_FULL: ::DWORD = 16; +pub const PROV_EC_ECNRA_FULL: ::DWORD = 17; +pub const PROV_DH_SCHANNEL: ::DWORD = 18; +pub const PROV_SPYRUS_LYNKS: ::DWORD = 20; +pub const PROV_RNG: ::DWORD = 21; +pub const PROV_INTEL_SEC: ::DWORD = 22; +pub const PROV_REPLACE_OWF: ::DWORD = 23; +pub const PROV_RSA_AES: ::DWORD = 24; +pub const MS_DEF_PROV: &'static str = "Microsoft Base Cryptographic Provider v1.0"; +pub const MS_ENHANCED_PROV: &'static str = "Microsoft Enhanced Cryptographic Provider v1.0"; +pub const MS_STRONG_PROV: &'static str = "Microsoft Strong Cryptographic Provider"; +pub const MS_DEF_RSA_SIG_PROV: &'static str = "Microsoft RSA Signature Cryptographic Provider"; +pub const MS_DEF_RSA_SCHANNEL_PROV: &'static str = "Microsoft RSA SChannel Cryptographic Provider"; +pub const MS_DEF_DSS_PROV: &'static str = "Microsoft Base DSS Cryptographic Provider"; +pub const MS_DEF_DSS_DH_PROV: &'static str = + "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"; +pub const MS_ENH_DSS_DH_PROV: &'static str = + "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"; +pub const MS_DEF_DH_SCHANNEL_PROV: &'static str = "Microsoft DH SChannel Cryptographic Provider"; +pub const MS_SCARD_PROV: &'static str = "Microsoft Base Smart Card Crypto Provider"; +pub const MS_ENH_RSA_AES_PROV: &'static str = + "Microsoft Enhanced RSA and AES Cryptographic Provider"; +pub const MS_ENH_RSA_AES_PROV_XP: &'static str = + "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"; +pub const MAXUIDLEN: usize = 64; +pub const EXPO_OFFLOAD_REG_VALUE: &'static str = "ExpoOffload"; +pub const EXPO_OFFLOAD_FUNC_NAME: &'static str = "OffloadModExpo"; +pub const szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS: &'static str = + "Software\\Policies\\Microsoft\\Cryptography"; +pub const szKEY_CACHE_ENABLED: &'static str = "CachePrivateKeys"; +pub const szKEY_CACHE_SECONDS: &'static str = "PrivateKeyLifetimeSeconds"; +pub const szPRIV_KEY_CACHE_MAX_ITEMS: &'static str = "PrivKeyCacheMaxItems"; +pub const cPRIV_KEY_CACHE_MAX_ITEMS_DEFAULT: ::DWORD = 20; +pub const szPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS: &'static str = + "PrivKeyCachePurgeIntervalSeconds"; +pub const cPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS_DEFAULT: ::DWORD = 86400; +pub const CUR_BLOB_VERSION: ::DWORD = 2; +STRUCT!{struct CMS_KEY_INFO { + dwVersion: ::DWORD, + Algid: ALG_ID, + pbOID: *mut ::BYTE, + cbOID: ::DWORD, +}} +pub type PCMS_KEY_INFO = *mut CMS_KEY_INFO; +STRUCT!{struct HMAC_INFO { + HashAlgid: ALG_ID, + pbInnerString: *mut ::BYTE, + cbInnerString: ::DWORD, + pbOuterString: *mut ::BYTE, + cbOuterString: ::DWORD, +}} +pub type PHMAC_INFO = *mut HMAC_INFO; +STRUCT!{struct SCHANNEL_ALG { + dwUse: ::DWORD, + Algid: ALG_ID, + cBits: ::DWORD, + dwFlags: ::DWORD, + dwReserved: ::DWORD, +}} +pub type PSCHANNEL_ALG = *mut SCHANNEL_ALG; +pub const SCHANNEL_MAC_KEY: ::DWORD = 0x00000000; +pub const SCHANNEL_ENC_KEY: ::DWORD = 0x00000001; +pub const INTERNATIONAL_USAGE: ::DWORD = 0x00000001; +STRUCT!{struct PROV_ENUMALGS { + aiAlgid: ALG_ID, + dwBitLen: ::DWORD, + dwNameLen: ::DWORD, + szName: [::CHAR; 20], +}} +STRUCT!{nodebug struct PROV_ENUMALGS_EX { + aiAlgid: ALG_ID, + dwDefaultLen: ::DWORD, + dwMinLen: ::DWORD, + dwMaxLen: ::DWORD, + dwProtocols: ::DWORD, + dwNameLen: ::DWORD, + szName: [::CHAR; 20], + dwLongNameLen: ::DWORD, + szLongName: [::CHAR; 40], +}} +STRUCT!{struct BLOBHEADER { + bType: ::BYTE, + bVersion: ::BYTE, + reserved: ::WORD, + aiKeyAlg: ::ALG_ID, +}} +pub type PUBLICKEYSTRUC = BLOBHEADER; +STRUCT!{struct RSAPUBKEY { + magic: ::DWORD, + bitlen: ::DWORD, + pubexp: ::DWORD, +}} +STRUCT!{struct DHPUBKEY { + magic: ::DWORD, + bitlen: ::DWORD, +}} +pub type DSSPUBKEY = DHPUBKEY; +pub type KEAPUBKEY = DHPUBKEY; +pub type TEKPUBKEY = DHPUBKEY; +STRUCT!{struct DSSSEED { + counter: ::DWORD, + seed: [::BYTE; 20], +}} +STRUCT!{struct DHPUBKEY_VER3 { + magic: ::DWORD, + bitlenP: ::DWORD, + bitlenQ: ::DWORD, + bitlenJ: ::DWORD, + DSSSeed: DSSSEED, +}} +pub type DSSPUBKEY_VER3 = DHPUBKEY_VER3; +STRUCT!{struct DHPRIVKEY_VER3 { + magic: ::DWORD, + bitlenP: ::DWORD, + bitlenQ: ::DWORD, + bitlenJ: ::DWORD, + bitlenX: ::DWORD, + DSSSeed: DSSSEED, +}} +pub type DSSPRIVKEY_VER3 = DHPRIVKEY_VER3; +STRUCT!{struct KEY_TYPE_SUBTYPE { + dwKeySpec: ::DWORD, + Type: ::GUID, + Subtype: ::GUID, +}} +pub type PKEY_TYPE_SUBTYPE = *mut KEY_TYPE_SUBTYPE; +STRUCT!{nodebug struct CERT_FORTEZZA_DATA_PROP { + SerialNumber: [::c_uchar; 8], + CertIndex: ::c_int, + CertLabel: [::c_uchar; 36], +}} +STRUCT!{nodebug struct CRYPT_RC4_KEY_STATE { + Key: [::c_uchar; 16], + SBox: [::c_uchar; 256], + i: ::c_uchar, + j: ::c_uchar, +}} +pub type PCRYPT_RC4_KEY_STATE = *mut CRYPT_RC4_KEY_STATE; +STRUCT!{struct CRYPT_DES_KEY_STATE { + Key: [::c_uchar; 8], + IV: [::c_uchar; 8], + Feedback: [::c_uchar; 8], +}} +pub type PCRYPT_DES_KEY_STATE = *mut CRYPT_DES_KEY_STATE; +STRUCT!{struct CRYPT_3DES_KEY_STATE { + Key: [::c_uchar; 24], + IV: [::c_uchar; 8], + Feedback: [::c_uchar; 8], +}} +pub type PCRYPT_3DES_KEY_STATE = *mut CRYPT_3DES_KEY_STATE; +STRUCT!{struct CRYPT_AES_128_KEY_STATE { + Key: [::c_uchar; 16], + IV: [::c_uchar; 16], + EncryptionState: [[::c_uchar; 16]; 11], + DecryptionState: [[::c_uchar; 16]; 11], + Feedback: [::c_uchar; 16], +}} +pub type PCRYPT_AES_128_KEY_STATE = *mut CRYPT_AES_128_KEY_STATE; +STRUCT!{struct CRYPT_AES_256_KEY_STATE { + Key: [::c_uchar; 32], + IV: [::c_uchar; 16], + EncryptionState: [[::c_uchar; 16]; 15], + DecryptionState: [[::c_uchar; 16]; 15], + Feedback: [::c_uchar; 16], +}} +pub type PCRYPT_AES_256_KEY_STATE = *mut CRYPT_AES_256_KEY_STATE; +STRUCT!{struct CRYPTOAPI_BLOB { + cbData: ::DWORD, + pbData: *mut ::BYTE, +}} +pub type CRYPT_INTEGER_BLOB = CRYPTOAPI_BLOB; +pub type PCRYPT_INTEGER_BLOB = *mut CRYPTOAPI_BLOB; +pub type CRYPT_UINT_BLOB = CRYPTOAPI_BLOB; +pub type PCRYPT_UINT_BLOB = *mut CRYPTOAPI_BLOB; +pub type CRYPT_OBJID_BLOB = CRYPTOAPI_BLOB; +pub type PCRYPT_OBJID_BLOB = *mut CRYPTOAPI_BLOB; +pub type CERT_NAME_BLOB = CRYPTOAPI_BLOB; +pub type PCERT_NAME_BLOB = *mut CRYPTOAPI_BLOB; +pub type CERT_RDN_VALUE_BLOB = CRYPTOAPI_BLOB; +pub type PCERT_RDN_VALUE_BLOB = *mut CRYPTOAPI_BLOB; +pub type CERT_BLOB = CRYPTOAPI_BLOB; +pub type PCERT_BLOB = *mut CRYPTOAPI_BLOB; +pub type CRL_BLOB = CRYPTOAPI_BLOB; +pub type PCRL_BLOB = *mut CRYPTOAPI_BLOB; +pub type DATA_BLOB = CRYPTOAPI_BLOB; +pub type PDATA_BLOB = *mut CRYPTOAPI_BLOB; +pub type CRYPT_DATA_BLOB = CRYPTOAPI_BLOB; +pub type PCRYPT_DATA_BLOB = *mut CRYPTOAPI_BLOB; +pub type CRYPT_HASH_BLOB = CRYPTOAPI_BLOB; +pub type PCRYPT_HASH_BLOB = *mut CRYPTOAPI_BLOB; +pub type CRYPT_DIGEST_BLOB = CRYPTOAPI_BLOB; +pub type PCRYPT_DIGEST_BLOB = *mut CRYPTOAPI_BLOB; +pub type CRYPT_DER_BLOB = CRYPTOAPI_BLOB; +pub type PCRYPT_DER_BLOB = *mut CRYPTOAPI_BLOB; +pub type CRYPT_ATTR_BLOB = CRYPTOAPI_BLOB; +pub type PCRYPT_ATTR_BLOB = *mut CRYPTOAPI_BLOB; +STRUCT!{struct CMS_DH_KEY_INFO { + dwVersion: ::DWORD, + Algid: ALG_ID, + pszContentEncObjId: ::LPSTR, + PubInfo: CRYPT_DATA_BLOB, + pReserved: *mut ::c_void, +}} +pub type PCMS_DH_KEY_INFO = *mut CMS_DH_KEY_INFO; +pub type HCRYPTPROV_OR_NCRYPT_KEY_HANDLE = ::ULONG_PTR; +pub type HCRYPTPROV_LEGACY = ::ULONG_PTR; +STRUCT!{struct CRYPT_BIT_BLOB { + cbData: ::DWORD, + pbData: *mut ::BYTE, + cUnusedBits: ::DWORD, +}} +pub type PCRYPT_BIT_BLOB = *mut CRYPT_BIT_BLOB; +STRUCT!{struct CRYPT_ALGORITHM_IDENTIFIER { + pszObjId: ::LPSTR, + Parameters: CRYPT_OBJID_BLOB, +}} +pub type PCRYPT_ALGORITHM_IDENTIFIER = *mut CRYPT_ALGORITHM_IDENTIFIER; +pub const szOID_RSA: &'static str = "1.2.840.113549"; +pub const szOID_PKCS: &'static str = "1.2.840.113549.1"; +pub const szOID_RSA_HASH: &'static str = "1.2.840.113549.2"; +pub const szOID_RSA_ENCRYPT: &'static str = "1.2.840.113549.3"; +pub const szOID_PKCS_1: &'static str = "1.2.840.113549.1.1"; +pub const szOID_PKCS_2: &'static str = "1.2.840.113549.1.2"; +pub const szOID_PKCS_3: &'static str = "1.2.840.113549.1.3"; +pub const szOID_PKCS_4: &'static str = "1.2.840.113549.1.4"; +pub const szOID_PKCS_5: &'static str = "1.2.840.113549.1.5"; +pub const szOID_PKCS_6: &'static str = "1.2.840.113549.1.6"; +pub const szOID_PKCS_7: &'static str = "1.2.840.113549.1.7"; +pub const szOID_PKCS_8: &'static str = "1.2.840.113549.1.8"; +pub const szOID_PKCS_9: &'static str = "1.2.840.113549.1.9"; +pub const szOID_PKCS_10: &'static str = "1.2.840.113549.1.10"; +pub const szOID_PKCS_12: &'static str = "1.2.840.113549.1.12"; +pub const szOID_RSA_RSA: &'static str = "1.2.840.113549.1.1.1"; +pub const szOID_RSA_MD2RSA: &'static str = "1.2.840.113549.1.1.2"; +pub const szOID_RSA_MD4RSA: &'static str = "1.2.840.113549.1.1.3"; +pub const szOID_RSA_MD5RSA: &'static str = "1.2.840.113549.1.1.4"; +pub const szOID_RSA_SHA1RSA: &'static str = "1.2.840.113549.1.1.5"; +pub const szOID_RSA_SETOAEP_RSA: &'static str = "1.2.840.113549.1.1.6"; +pub const szOID_RSAES_OAEP: &'static str = "1.2.840.113549.1.1.7"; +pub const szOID_RSA_MGF1: &'static str = "1.2.840.113549.1.1.8"; +pub const szOID_RSA_PSPECIFIED: &'static str = "1.2.840.113549.1.1.9"; +pub const szOID_RSA_SSA_PSS: &'static str = "1.2.840.113549.1.1.10"; +pub const szOID_RSA_SHA256RSA: &'static str = "1.2.840.113549.1.1.11"; +pub const szOID_RSA_SHA384RSA: &'static str = "1.2.840.113549.1.1.12"; +pub const szOID_RSA_SHA512RSA: &'static str = "1.2.840.113549.1.1.13"; +pub const szOID_RSA_DH: &'static str = "1.2.840.113549.1.3.1"; +pub const szOID_RSA_data: &'static str = "1.2.840.113549.1.7.1"; +pub const szOID_RSA_signedData: &'static str = "1.2.840.113549.1.7.2"; +pub const szOID_RSA_envelopedData: &'static str = "1.2.840.113549.1.7.3"; +pub const szOID_RSA_signEnvData: &'static str = "1.2.840.113549.1.7.4"; +pub const szOID_RSA_digestedData: &'static str = "1.2.840.113549.1.7.5"; +pub const szOID_RSA_hashedData: &'static str = "1.2.840.113549.1.7.5"; +pub const szOID_RSA_encryptedData: &'static str = "1.2.840.113549.1.7.6"; +pub const szOID_RSA_emailAddr: &'static str = "1.2.840.113549.1.9.1"; +pub const szOID_RSA_unstructName: &'static str = "1.2.840.113549.1.9.2"; +pub const szOID_RSA_contentType: &'static str = "1.2.840.113549.1.9.3"; +pub const szOID_RSA_messageDigest: &'static str = "1.2.840.113549.1.9.4"; +pub const szOID_RSA_signingTime: &'static str = "1.2.840.113549.1.9.5"; +pub const szOID_RSA_counterSign: &'static str = "1.2.840.113549.1.9.6"; +pub const szOID_RSA_challengePwd: &'static str = "1.2.840.113549.1.9.7"; +pub const szOID_RSA_unstructAddr: &'static str = "1.2.840.113549.1.9.8"; +pub const szOID_RSA_extCertAttrs: &'static str = "1.2.840.113549.1.9.9"; +pub const szOID_RSA_certExtensions: &'static str = "1.2.840.113549.1.9.14"; +pub const szOID_RSA_SMIMECapabilities: &'static str = "1.2.840.113549.1.9.15"; +pub const szOID_RSA_preferSignedData: &'static str = "1.2.840.113549.1.9.15.1"; +pub const szOID_TIMESTAMP_TOKEN: &'static str = "1.2.840.113549.1.9.16.1.4"; +pub const szOID_RFC3161_counterSign: &'static str = "1.3.6.1.4.1.311.3.3.1"; +pub const szOID_RSA_SMIMEalg: &'static str = "1.2.840.113549.1.9.16.3"; +pub const szOID_RSA_SMIMEalgESDH: &'static str = "1.2.840.113549.1.9.16.3.5"; +pub const szOID_RSA_SMIMEalgCMS3DESwrap: &'static str = "1.2.840.113549.1.9.16.3.6"; +pub const szOID_RSA_SMIMEalgCMSRC2wrap: &'static str = "1.2.840.113549.1.9.16.3.7"; +pub const szOID_RSA_MD2: &'static str = "1.2.840.113549.2.2"; +pub const szOID_RSA_MD4: &'static str = "1.2.840.113549.2.4"; +pub const szOID_RSA_MD5: &'static str = "1.2.840.113549.2.5"; +pub const szOID_RSA_RC2CBC: &'static str = "1.2.840.113549.3.2"; +pub const szOID_RSA_RC4: &'static str = "1.2.840.113549.3.4"; +pub const szOID_RSA_DES_EDE3_CBC: &'static str = "1.2.840.113549.3.7"; +pub const szOID_RSA_RC5_CBCPad: &'static str = "1.2.840.113549.3.9"; +pub const szOID_ANSI_X942: &'static str = "1.2.840.10046"; +pub const szOID_ANSI_X942_DH: &'static str = "1.2.840.10046.2.1"; +pub const szOID_X957: &'static str = "1.2.840.10040"; +pub const szOID_X957_DSA: &'static str = "1.2.840.10040.4.1"; +pub const szOID_X957_SHA1DSA: &'static str = "1.2.840.10040.4.3"; +pub const szOID_ECC_PUBLIC_KEY: &'static str = "1.2.840.10045.2.1"; +pub const szOID_ECC_CURVE_P256: &'static str = "1.2.840.10045.3.1.7"; +pub const szOID_ECC_CURVE_P384: &'static str = "1.3.132.0.34"; +pub const szOID_ECC_CURVE_P521: &'static str = "1.3.132.0.35"; +pub const szOID_ECDSA_SHA1: &'static str = "1.2.840.10045.4.1"; +pub const szOID_ECDSA_SPECIFIED: &'static str = "1.2.840.10045.4.3"; +pub const szOID_ECDSA_SHA256: &'static str = "1.2.840.10045.4.3.2"; +pub const szOID_ECDSA_SHA384: &'static str = "1.2.840.10045.4.3.3"; +pub const szOID_ECDSA_SHA512: &'static str = "1.2.840.10045.4.3.4"; +pub const szOID_NIST_AES128_CBC: &'static str = "2.16.840.1.101.3.4.1.2"; +pub const szOID_NIST_AES192_CBC: &'static str = "2.16.840.1.101.3.4.1.22"; +pub const szOID_NIST_AES256_CBC: &'static str = "2.16.840.1.101.3.4.1.42"; +pub const szOID_NIST_AES128_WRAP: &'static str = "2.16.840.1.101.3.4.1.5"; +pub const szOID_NIST_AES192_WRAP: &'static str = "2.16.840.1.101.3.4.1.25"; +pub const szOID_NIST_AES256_WRAP: &'static str = "2.16.840.1.101.3.4.1.45"; +pub const szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF: &'static str = "1.3.133.16.840.63.0.2"; +pub const szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF: &'static str = "1.3.132.1.11.1"; +pub const szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF: &'static str = "1.3.132.1.11.2"; +pub const szOID_DS: &'static str = "2.5"; +pub const szOID_DSALG: &'static str = "2.5.8"; +pub const szOID_DSALG_CRPT: &'static str = "2.5.8.1"; +pub const szOID_DSALG_HASH: &'static str = "2.5.8.2"; +pub const szOID_DSALG_SIGN: &'static str = "2.5.8.3"; +pub const szOID_DSALG_RSA: &'static str = "2.5.8.1.1"; +pub const szOID_OIW: &'static str = "1.3.14"; +pub const szOID_OIWSEC: &'static str = "1.3.14.3.2"; +pub const szOID_OIWSEC_md4RSA: &'static str = "1.3.14.3.2.2"; +pub const szOID_OIWSEC_md5RSA: &'static str = "1.3.14.3.2.3"; +pub const szOID_OIWSEC_md4RSA2: &'static str = "1.3.14.3.2.4"; +pub const szOID_OIWSEC_desECB: &'static str = "1.3.14.3.2.6"; +pub const szOID_OIWSEC_desCBC: &'static str = "1.3.14.3.2.7"; +pub const szOID_OIWSEC_desOFB: &'static str = "1.3.14.3.2.8"; +pub const szOID_OIWSEC_desCFB: &'static str = "1.3.14.3.2.9"; +pub const szOID_OIWSEC_desMAC: &'static str = "1.3.14.3.2.10"; +pub const szOID_OIWSEC_rsaSign: &'static str = "1.3.14.3.2.11"; +pub const szOID_OIWSEC_dsa: &'static str = "1.3.14.3.2.12"; +pub const szOID_OIWSEC_shaDSA: &'static str = "1.3.14.3.2.13"; +pub const szOID_OIWSEC_mdc2RSA: &'static str = "1.3.14.3.2.14"; +pub const szOID_OIWSEC_shaRSA: &'static str = "1.3.14.3.2.15"; +pub const szOID_OIWSEC_dhCommMod: &'static str = "1.3.14.3.2.16"; +pub const szOID_OIWSEC_desEDE: &'static str = "1.3.14.3.2.17"; +pub const szOID_OIWSEC_sha: &'static str = "1.3.14.3.2.18"; +pub const szOID_OIWSEC_mdc2: &'static str = "1.3.14.3.2.19"; +pub const szOID_OIWSEC_dsaComm: &'static str = "1.3.14.3.2.20"; +pub const szOID_OIWSEC_dsaCommSHA: &'static str = "1.3.14.3.2.21"; +pub const szOID_OIWSEC_rsaXchg: &'static str = "1.3.14.3.2.22"; +pub const szOID_OIWSEC_keyHashSeal: &'static str = "1.3.14.3.2.23"; +pub const szOID_OIWSEC_md2RSASign: &'static str = "1.3.14.3.2.24"; +pub const szOID_OIWSEC_md5RSASign: &'static str = "1.3.14.3.2.25"; +pub const szOID_OIWSEC_sha1: &'static str = "1.3.14.3.2.26"; +pub const szOID_OIWSEC_dsaSHA1: &'static str = "1.3.14.3.2.27"; +pub const szOID_OIWSEC_dsaCommSHA1: &'static str = "1.3.14.3.2.28"; +pub const szOID_OIWSEC_sha1RSASign: &'static str = "1.3.14.3.2.29"; +pub const szOID_OIWDIR: &'static str = "1.3.14.7.2"; +pub const szOID_OIWDIR_CRPT: &'static str = "1.3.14.7.2.1"; +pub const szOID_OIWDIR_HASH: &'static str = "1.3.14.7.2.2"; +pub const szOID_OIWDIR_SIGN: &'static str = "1.3.14.7.2.3"; +pub const szOID_OIWDIR_md2: &'static str = "1.3.14.7.2.2.1"; +pub const szOID_OIWDIR_md2RSA: &'static str = "1.3.14.7.2.3.1"; +pub const szOID_INFOSEC: &'static str = "2.16.840.1.101.2.1"; +pub const szOID_INFOSEC_sdnsSignature: &'static str = "2.16.840.1.101.2.1.1.1"; +pub const szOID_INFOSEC_mosaicSignature: &'static str = "2.16.840.1.101.2.1.1.2"; +pub const szOID_INFOSEC_sdnsConfidentiality: &'static str = "2.16.840.1.101.2.1.1.3"; +pub const szOID_INFOSEC_mosaicConfidentiality: &'static str = "2.16.840.1.101.2.1.1.4"; +pub const szOID_INFOSEC_sdnsIntegrity: &'static str = "2.16.840.1.101.2.1.1.5"; +pub const szOID_INFOSEC_mosaicIntegrity: &'static str = "2.16.840.1.101.2.1.1.6"; +pub const szOID_INFOSEC_sdnsTokenProtection: &'static str = "2.16.840.1.101.2.1.1.7"; +pub const szOID_INFOSEC_mosaicTokenProtection: &'static str = "2.16.840.1.101.2.1.1.8"; +pub const szOID_INFOSEC_sdnsKeyManagement: &'static str = "2.16.840.1.101.2.1.1.9"; +pub const szOID_INFOSEC_mosaicKeyManagement: &'static str = "2.16.840.1.101.2.1.1.10"; +pub const szOID_INFOSEC_sdnsKMandSig: &'static str = "2.16.840.1.101.2.1.1.11"; +pub const szOID_INFOSEC_mosaicKMandSig: &'static str = "2.16.840.1.101.2.1.1.12"; +pub const szOID_INFOSEC_SuiteASignature: &'static str = "2.16.840.1.101.2.1.1.13"; +pub const szOID_INFOSEC_SuiteAConfidentiality: &'static str = "2.16.840.1.101.2.1.1.14"; +pub const szOID_INFOSEC_SuiteAIntegrity: &'static str = "2.16.840.1.101.2.1.1.15"; +pub const szOID_INFOSEC_SuiteATokenProtection: &'static str = "2.16.840.1.101.2.1.1.16"; +pub const szOID_INFOSEC_SuiteAKeyManagement: &'static str = "2.16.840.1.101.2.1.1.17"; +pub const szOID_INFOSEC_SuiteAKMandSig: &'static str = "2.16.840.1.101.2.1.1.18"; +pub const szOID_INFOSEC_mosaicUpdatedSig: &'static str = "2.16.840.1.101.2.1.1.19"; +pub const szOID_INFOSEC_mosaicKMandUpdSig: &'static str = "2.16.840.1.101.2.1.1.20"; +pub const szOID_INFOSEC_mosaicUpdatedInteg: &'static str = "2.16.840.1.101.2.1.1.21"; +pub const szOID_NIST_sha256: &'static str = "2.16.840.1.101.3.4.2.1"; +pub const szOID_NIST_sha384: &'static str = "2.16.840.1.101.3.4.2.2"; +pub const szOID_NIST_sha512: &'static str = "2.16.840.1.101.3.4.2.3"; +STRUCT!{struct CRYPT_OBJID_TABLE { + dwAlgId: ::DWORD, + pszObjId: ::LPCSTR, +}} +pub type PCRYPT_OBJID_TABLE = *mut CRYPT_OBJID_TABLE; +STRUCT!{struct CRYPT_HASH_INFO { + HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + Hash: CRYPT_HASH_BLOB, +}} +pub type PCRYPT_HASH_INFO = *mut CRYPT_HASH_INFO; +STRUCT!{struct CERT_EXTENSION { + pszObjId: ::LPSTR, + fCritical: ::BOOL, + Value: CRYPT_OBJID_BLOB, +}} +pub type PCERT_EXTENSION = *mut CERT_EXTENSION; +pub type PCCERT_EXTENSION = *const CERT_EXTENSION; +STRUCT!{struct CRYPT_ATTRIBUTE_TYPE_VALUE { + pszObjId: ::LPSTR, + Value: CRYPT_OBJID_BLOB, +}} +pub type PCRYPT_ATTRIBUTE_TYPE_VALUE = *mut CRYPT_ATTRIBUTE_TYPE_VALUE; +STRUCT!{struct CRYPT_ATTRIBUTE { + pszObjId: ::LPSTR, + cValue: ::DWORD, + rgValue: PCRYPT_ATTR_BLOB, +}} +pub type PCRYPT_ATTRIBUTE = *mut CRYPT_ATTRIBUTE; +STRUCT!{struct CRYPT_ATTRIBUTES { + cAttr: ::DWORD, + rgAttr: PCRYPT_ATTRIBUTE, +}} +pub type PCRYPT_ATTRIBUTES = *mut CRYPT_ATTRIBUTES; +STRUCT!{struct CERT_RDN_ATTR { + pszObjId: ::LPSTR, + dwValueType: ::DWORD, + Value: CERT_RDN_VALUE_BLOB, +}} +pub type PCERT_RDN_ATTR = *mut CERT_RDN_ATTR; +pub const szOID_COMMON_NAME: &'static str = "2.5.4.3"; +pub const szOID_SUR_NAME: &'static str = "2.5.4.4"; +pub const szOID_DEVICE_SERIAL_NUMBER: &'static str = "2.5.4.5"; +pub const szOID_COUNTRY_NAME: &'static str = "2.5.4.6"; +pub const szOID_LOCALITY_NAME: &'static str = "2.5.4.7"; +pub const szOID_STATE_OR_PROVINCE_NAME: &'static str = "2.5.4.8"; +pub const szOID_STREET_ADDRESS: &'static str = "2.5.4.9"; +pub const szOID_ORGANIZATION_NAME: &'static str = "2.5.4.10"; +pub const szOID_ORGANIZATIONAL_UNIT_NAME: &'static str = "2.5.4.11"; +pub const szOID_TITLE: &'static str = "2.5.4.12"; +pub const szOID_DESCRIPTION: &'static str = "2.5.4.13"; +pub const szOID_SEARCH_GUIDE: &'static str = "2.5.4.14"; +pub const szOID_BUSINESS_CATEGORY: &'static str = "2.5.4.15"; +pub const szOID_POSTAL_ADDRESS: &'static str = "2.5.4.16"; +pub const szOID_POSTAL_CODE: &'static str = "2.5.4.17"; +pub const szOID_POST_OFFICE_BOX: &'static str = "2.5.4.18"; +pub const szOID_PHYSICAL_DELIVERY_OFFICE_NAME: &'static str = "2.5.4.19"; +pub const szOID_TELEPHONE_NUMBER: &'static str = "2.5.4.20"; +pub const szOID_TELEX_NUMBER: &'static str = "2.5.4.21"; +pub const szOID_TELETEXT_TERMINAL_IDENTIFIER: &'static str = "2.5.4.22"; +pub const szOID_FACSIMILE_TELEPHONE_NUMBER: &'static str = "2.5.4.23"; +pub const szOID_X21_ADDRESS: &'static str = "2.5.4.24"; +pub const szOID_INTERNATIONAL_ISDN_NUMBER: &'static str = "2.5.4.25"; +pub const szOID_REGISTERED_ADDRESS: &'static str = "2.5.4.26"; +pub const szOID_DESTINATION_INDICATOR: &'static str = "2.5.4.27"; +pub const szOID_PREFERRED_DELIVERY_METHOD: &'static str = "2.5.4.28"; +pub const szOID_PRESENTATION_ADDRESS: &'static str = "2.5.4.29"; +pub const szOID_SUPPORTED_APPLICATION_CONTEXT: &'static str = "2.5.4.30"; +pub const szOID_MEMBER: &'static str = "2.5.4.31"; +pub const szOID_OWNER: &'static str = "2.5.4.32"; +pub const szOID_ROLE_OCCUPANT: &'static str = "2.5.4.33"; +pub const szOID_SEE_ALSO: &'static str = "2.5.4.34"; +pub const szOID_USER_PASSWORD: &'static str = "2.5.4.35"; +pub const szOID_USER_CERTIFICATE: &'static str = "2.5.4.36"; +pub const szOID_CA_CERTIFICATE: &'static str = "2.5.4.37"; +pub const szOID_AUTHORITY_REVOCATION_LIST: &'static str = "2.5.4.38"; +pub const szOID_CERTIFICATE_REVOCATION_LIST: &'static str = "2.5.4.39"; +pub const szOID_CROSS_CERTIFICATE_PAIR: &'static str = "2.5.4.40"; +pub const szOID_GIVEN_NAME: &'static str = "2.5.4.42"; +pub const szOID_INITIALS: &'static str = "2.5.4.43"; +pub const szOID_DN_QUALIFIER: &'static str = "2.5.4.46"; +pub const szOID_DOMAIN_COMPONENT: &'static str = "0.9.2342.19200300.100.1.25"; +pub const szOID_PKCS_12_FRIENDLY_NAME_ATTR: &'static str = "1.2.840.113549.1.9.20"; +pub const szOID_PKCS_12_LOCAL_KEY_ID: &'static str = "1.2.840.113549.1.9.21"; +pub const szOID_PKCS_12_KEY_PROVIDER_NAME_ATTR: &'static str = "1.3.6.1.4.1.311.17.1"; +pub const szOID_LOCAL_MACHINE_KEYSET: &'static str = "1.3.6.1.4.1.311.17.2"; +pub const szOID_PKCS_12_EXTENDED_ATTRIBUTES: &'static str = "1.3.6.1.4.1.311.17.3"; +pub const szOID_PKCS_12_PROTECTED_PASSWORD_SECRET_BAG_TYPE_ID: &'static str = + "1.3.6.1.4.1.311.17.4"; +pub const szOID_KEYID_RDN: &'static str = "1.3.6.1.4.1.311.10.7.1"; +pub const szOID_EV_RDN_LOCALE: &'static str = "1.3.6.1.4.1.311.60.2.1.1"; +pub const szOID_EV_RDN_STATE_OR_PROVINCE: &'static str = "1.3.6.1.4.1.311.60.2.1.2"; +pub const szOID_EV_RDN_COUNTRY: &'static str = "1.3.6.1.4.1.311.60.2.1.3"; +pub const CERT_RDN_ANY_TYPE: ::DWORD = 0; +pub const CERT_RDN_ENCODED_BLOB: ::DWORD = 1; +pub const CERT_RDN_OCTET_STRING: ::DWORD = 2; +pub const CERT_RDN_NUMERIC_STRING: ::DWORD = 3; +pub const CERT_RDN_PRINTABLE_STRING: ::DWORD = 4; +pub const CERT_RDN_TELETEX_STRING: ::DWORD = 5; +pub const CERT_RDN_T61_STRING: ::DWORD = 5; +pub const CERT_RDN_VIDEOTEX_STRING: ::DWORD = 6; +pub const CERT_RDN_IA5_STRING: ::DWORD = 7; +pub const CERT_RDN_GRAPHIC_STRING: ::DWORD = 8; +pub const CERT_RDN_VISIBLE_STRING: ::DWORD = 9; +pub const CERT_RDN_ISO646_STRING: ::DWORD = 9; +pub const CERT_RDN_GENERAL_STRING: ::DWORD = 10; +pub const CERT_RDN_UNIVERSAL_STRING: ::DWORD = 11; +pub const CERT_RDN_INT4_STRING: ::DWORD = 11; +pub const CERT_RDN_BMP_STRING: ::DWORD = 12; +pub const CERT_RDN_UNICODE_STRING: ::DWORD = 12; +pub const CERT_RDN_UTF8_STRING: ::DWORD = 13; +pub const CERT_RDN_TYPE_MASK: ::DWORD = 0x000000FF; +pub const CERT_RDN_FLAGS_MASK: ::DWORD = 0xFF000000; +pub const CERT_RDN_ENABLE_T61_UNICODE_FLAG: ::DWORD = 0x80000000; +pub const CERT_RDN_ENABLE_UTF8_UNICODE_FLAG: ::DWORD = 0x20000000; +pub const CERT_RDN_FORCE_UTF8_UNICODE_FLAG: ::DWORD = 0x10000000; +pub const CERT_RDN_DISABLE_CHECK_TYPE_FLAG: ::DWORD = 0x40000000; +pub const CERT_RDN_DISABLE_IE4_UTF8_FLAG: ::DWORD = 0x01000000; +pub const CERT_RDN_ENABLE_PUNYCODE_FLAG: ::DWORD = 0x02000000; +STRUCT!{struct CERT_RDN { + cRDNAttr: ::DWORD, + rgRDNAttr: PCERT_RDN_ATTR, +}} +pub type PCERT_RDN = *mut CERT_RDN; +STRUCT!{struct CERT_NAME_INFO { + cRDN: ::DWORD, + rgRDN: PCERT_RDN, +}} +pub type PCERT_NAME_INFO = *mut CERT_NAME_INFO; +STRUCT!{struct CERT_NAME_VALUE { + dwValueType: ::DWORD, + Value: CERT_RDN_VALUE_BLOB, +}} +pub type PCERT_NAME_VALUE = *mut CERT_NAME_VALUE; +STRUCT!{struct CERT_PUBLIC_KEY_INFO { + Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + PublicKey: CRYPT_BIT_BLOB, +}} +pub type PCERT_PUBLIC_KEY_INFO = *mut CERT_PUBLIC_KEY_INFO; +pub const CERT_RSA_PUBLIC_KEY_OBJID: &'static str = szOID_RSA_RSA; +pub const CERT_DEFAULT_OID_PUBLIC_KEY_SIGN: &'static str = szOID_RSA_RSA; +pub const CERT_DEFAULT_OID_PUBLIC_KEY_XCHG: &'static str = szOID_RSA_RSA; +STRUCT!{struct CRYPT_ECC_PRIVATE_KEY_INFO { + dwVersion: ::DWORD, + PrivateKey: CRYPT_DER_BLOB, + szCurveOid: ::LPSTR, + PublicKey: CRYPT_BIT_BLOB, +}} +pub type PCRYPT_ECC_PRIVATE_KEY_INFO = *mut CRYPT_ECC_PRIVATE_KEY_INFO; +pub const CRYPT_ECC_PRIVATE_KEY_INFO_v1: ::DWORD = 1; +STRUCT!{struct CRYPT_PRIVATE_KEY_INFO { + Version: ::DWORD, + Algorithm: CRYPT_ALGORITHM_IDENTIFIER, + PrivateKey: CRYPT_DER_BLOB, + pAttributes: PCRYPT_ATTRIBUTES, +}} +pub type PCRYPT_PRIVATE_KEY_INFO = *mut CRYPT_PRIVATE_KEY_INFO; +STRUCT!{struct CRYPT_ENCRYPTED_PRIVATE_KEY_INFO { + EncryptionAlgorithm: ::CRYPT_ALGORITHM_IDENTIFIER, + EncryptedPrivateKey: ::CRYPT_DATA_BLOB, +}} +pub type PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO = *mut CRYPT_ENCRYPTED_PRIVATE_KEY_INFO; +pub type PCRYPT_DECRYPT_PRIVATE_KEY_FUNC = Option<unsafe extern "system" fn( + Algorithm: CRYPT_ALGORITHM_IDENTIFIER, EncryptedPrivateKey: CRYPT_DATA_BLOB, + pbClearTextKey: *mut ::BYTE, pcbClearTextKey: *mut ::DWORD, pVoidDecryptFunc: ::LPVOID, +) -> ::BOOL>; +pub type PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC = Option<unsafe extern "system" fn( + Algorithm: *mut CRYPT_ALGORITHM_IDENTIFIER, pClearTextPrivateKey: *mut CRYPT_DATA_BLOB, + pbEncryptedKey: *mut ::BYTE, pcbEncryptedKey: *mut ::DWORD, pVoidEncryptFunc: ::LPVOID, +) -> ::BOOL>; +pub type PCRYPT_RESOLVE_HCRYPTPROV_FUNC = Option<unsafe extern "system" fn( + pPrivateKeyInfo: *mut CRYPT_PRIVATE_KEY_INFO, phCryptProv: *mut HCRYPTPROV, + pVoidResolveFunc: ::LPVOID, +) -> ::BOOL>; +STRUCT!{nodebug struct CRYPT_PKCS8_IMPORT_PARAMS { + PrivateKey: CRYPT_DIGEST_BLOB, + pResolvehCryptProvFunc: PCRYPT_RESOLVE_HCRYPTPROV_FUNC, + pVoidResolveFunc: ::LPVOID, + pDecryptPrivateKeyFunc: PCRYPT_DECRYPT_PRIVATE_KEY_FUNC, + pVoidDecryptFunc: ::LPVOID, +}} +pub type PCRYPT_PKCS8_IMPORT_PARAMS = *mut CRYPT_PKCS8_IMPORT_PARAMS; +pub type CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = CRYPT_PKCS8_IMPORT_PARAMS; +pub type PPCRYPT_PRIVATE_KEY_BLOB_AND_PARAMS = *mut CRYPT_PKCS8_IMPORT_PARAMS; +STRUCT!{nodebug struct CRYPT_PKCS8_EXPORT_PARAMS { + hCryptProv: HCRYPTPROV, + dwKeySpec: ::DWORD, + pszPrivateKeyObjId: ::LPSTR, + pEncryptPrivateKeyFunc: PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC, + pVoidEncryptFunc: ::LPVOID, +}} +pub type PCRYPT_PKCS8_EXPORT_PARAMS = *mut CRYPT_PKCS8_EXPORT_PARAMS; +STRUCT!{struct CERT_INFO { + dwVersion: ::DWORD, + SerialNumber: CRYPT_INTEGER_BLOB, + SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + Issuer: CERT_NAME_BLOB, + NotBefore: ::FILETIME, + NotAfter: ::FILETIME, + Subject: CERT_NAME_BLOB, + SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, + IssuerUniqueId: CRYPT_BIT_BLOB, + SubjectUniqueId: CRYPT_BIT_BLOB, + cExtension: ::DWORD, + rgExtension: PCERT_EXTENSION, +}} +pub type PCERT_INFO = *mut CERT_INFO; +pub const CERT_V1: ::DWORD = 0; +pub const CERT_V2: ::DWORD = 1; +pub const CERT_V3: ::DWORD = 2; +pub const CERT_INFO_VERSION_FLAG: ::DWORD = 1; +pub const CERT_INFO_SERIAL_NUMBER_FLAG: ::DWORD = 2; +pub const CERT_INFO_SIGNATURE_ALGORITHM_FLAG: ::DWORD = 3; +pub const CERT_INFO_ISSUER_FLAG: ::DWORD = 4; +pub const CERT_INFO_NOT_BEFORE_FLAG: ::DWORD = 5; +pub const CERT_INFO_NOT_AFTER_FLAG: ::DWORD = 6; +pub const CERT_INFO_SUBJECT_FLAG: ::DWORD = 7; +pub const CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG: ::DWORD = 8; +pub const CERT_INFO_ISSUER_UNIQUE_ID_FLAG: ::DWORD = 9; +pub const CERT_INFO_SUBJECT_UNIQUE_ID_FLAG: ::DWORD = 10; +pub const CERT_INFO_EXTENSION_FLAG: ::DWORD = 11; +STRUCT!{struct CRL_ENTRY { + SerialNumber: CRYPT_INTEGER_BLOB, + RevocationDate: ::FILETIME, + cExtension: ::DWORD, + rgExtension: PCERT_EXTENSION, +}} +pub type PCRL_ENTRY = *mut CRL_ENTRY; +STRUCT!{struct CRL_INFO { + dwVersion: ::DWORD, + SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + Issuer: CERT_NAME_BLOB, + ThisUpdate: ::FILETIME, + NextUpdate: ::FILETIME, + cCRLEntry: ::DWORD, + rgCRLEntry: PCRL_ENTRY, + cExtension: ::DWORD, + rgExtension: PCERT_EXTENSION, +}} +pub type PCRL_INFO = *mut CRL_INFO; +pub const CRL_V1: ::DWORD = 0; +pub const CRL_V2: ::DWORD = 1; +pub const CERT_BUNDLE_CERTIFICATE: ::DWORD = 0; +pub const CERT_BUNDLE_CRL: ::DWORD = 1; +STRUCT!{struct CERT_OR_CRL_BLOB { + dwChoice: ::DWORD, + cbEncoded: ::DWORD, + pbEncoded: *mut ::BYTE, +}} +pub type PCERT_OR_CRL_BLOB = *mut CERT_OR_CRL_BLOB; +STRUCT!{struct CERT_OR_CRL_BUNDLE { + cItem: ::DWORD, + rgItem: PCERT_OR_CRL_BLOB, +}} +pub type PCERT_OR_CRL_BUNDLE = *mut CERT_OR_CRL_BUNDLE; +STRUCT!{struct CERT_REQUEST_INFO { + dwVersion: ::DWORD, + Subject: CERT_NAME_BLOB, + SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, + cAttribute: ::DWORD, + rgAttribute: PCRYPT_ATTRIBUTE, +}} +pub type PCERT_REQUEST_INFO = *mut CERT_REQUEST_INFO; +pub const CERT_REQUEST_V1: ::DWORD = 0; +STRUCT!{struct CERT_KEYGEN_REQUEST_INFO { + dwVersion: ::DWORD, + SubjectPublicKeyInfo: CERT_PUBLIC_KEY_INFO, + pwszChallengeString: ::LPWSTR, +}} +pub type PCERT_KEYGEN_REQUEST_INFO = *mut CERT_KEYGEN_REQUEST_INFO; +pub const CERT_KEYGEN_REQUEST_V1: ::DWORD = 0; +STRUCT!{struct CERT_SIGNED_CONTENT_INFO { + ToBeSigned: CRYPT_DER_BLOB, + SignatureAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + Signature: CRYPT_BIT_BLOB, +}} +pub type PCERT_SIGNED_CONTENT_INFO = *mut CERT_SIGNED_CONTENT_INFO; +STRUCT!{struct CTL_USAGE { + cUsageIdentifier: ::DWORD, + rgpszUsageIdentifier: *mut ::LPSTR, +}} +pub type PCTL_USAGE = *mut CTL_USAGE; +pub type CERT_ENHKEY_USAGE = CTL_USAGE; +pub type PCERT_ENHKEY_USAGE = *mut CERT_ENHKEY_USAGE; +pub type PCCTL_USAGE = *const CTL_USAGE; +pub type PCCERT_ENHKEY_USAGE = *const CERT_ENHKEY_USAGE; +STRUCT!{struct CTL_ENTRY { + SubjectIdentifier: CRYPT_DATA_BLOB, + cAttribute: ::DWORD, + rgAttribute: PCRYPT_ATTRIBUTE, +}} +pub type PCTL_ENTRY = *mut CTL_ENTRY; +STRUCT!{struct CTL_INFO { + dwVersion: ::DWORD, + SubjectUsage: CTL_USAGE, + ListIdentifier: CRYPT_DATA_BLOB, + SequenceNumber: CRYPT_INTEGER_BLOB, + ThisUpdate: ::FILETIME, + NextUpdate: ::FILETIME, + SubjectAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + cCTLEntry: ::DWORD, + rgCTLEntry: PCTL_ENTRY, + cExtension: ::DWORD, + rgExtension: PCERT_EXTENSION, +}} +pub type PCTL_INFO = *mut CTL_INFO; +pub const CTL_V1: ::DWORD = 0; +STRUCT!{struct CRYPT_TIME_STAMP_REQUEST_INFO { + pszTimeStampAlgorithm: ::LPSTR, + pszContentType: ::LPSTR, + Content: CRYPT_OBJID_BLOB, + cAttribute: ::DWORD, + rgAttribute: PCRYPT_ATTRIBUTE, +}} +pub type PCRYPT_TIME_STAMP_REQUEST_INFO = *mut CRYPT_TIME_STAMP_REQUEST_INFO; +STRUCT!{struct CRYPT_ENROLLMENT_NAME_VALUE_PAIR { + pwszName: ::LPWSTR, + pwszValue: ::LPWSTR, +}} +pub type PCRYPT_ENROLLMENT_NAME_VALUE_PAIR = *mut CRYPT_ENROLLMENT_NAME_VALUE_PAIR; +STRUCT!{struct CRYPT_CSP_PROVIDER { + dwKeySpec: ::DWORD, + pwszProviderName: ::LPWSTR, + Signature: CRYPT_BIT_BLOB, +}} +pub type PCRYPT_CSP_PROVIDER = *mut CRYPT_CSP_PROVIDER; +pub const CERT_ENCODING_TYPE_MASK: ::DWORD = 0x0000FFFF; +pub const CMSG_ENCODING_TYPE_MASK: ::DWORD = 0xFFFF0000; +pub const CRYPT_ASN_ENCODING: ::DWORD = 0x00000001; +pub const CRYPT_NDR_ENCODING: ::DWORD = 0x00000002; +pub const X509_ASN_ENCODING: ::DWORD = 0x00000001; +pub const X509_NDR_ENCODING: ::DWORD = 0x00000002; +pub const PKCS_7_ASN_ENCODING: ::DWORD = 0x00010000; +pub const PKCS_7_NDR_ENCODING: ::DWORD = 0x00020000; +pub const CRYPT_FORMAT_STR_MULTI_LINE: ::DWORD = 0x0001; +pub const CRYPT_FORMAT_STR_NO_HEX: ::DWORD = 0x0010; +pub const CRYPT_FORMAT_SIMPLE: ::DWORD = 0x0001; +pub const CRYPT_FORMAT_X509: ::DWORD = 0x0002; +pub const CRYPT_FORMAT_OID: ::DWORD = 0x0004; +pub const CRYPT_FORMAT_RDN_SEMICOLON: ::DWORD = 0x0100; +pub const CRYPT_FORMAT_RDN_CRLF: ::DWORD = 0x0200; +pub const CRYPT_FORMAT_RDN_UNQUOTE: ::DWORD = 0x0400; +pub const CRYPT_FORMAT_RDN_REVERSE: ::DWORD = 0x0800; +pub const CRYPT_FORMAT_COMMA: ::DWORD = 0x1000; +pub const CRYPT_FORMAT_SEMICOLON: ::DWORD = CRYPT_FORMAT_RDN_SEMICOLON; +pub const CRYPT_FORMAT_CRLF: ::DWORD = CRYPT_FORMAT_RDN_CRLF; +pub type PFN_CRYPT_ALLOC = Option<unsafe extern "system" fn(cbSize: ::size_t)>; +pub type PFN_CRYPT_FREE = Option<unsafe extern "system" fn(pv: ::LPVOID)>; +STRUCT!{nodebug struct CRYPT_ENCODE_PARA { + cbSize: ::DWORD, + pfnAlloc: PFN_CRYPT_ALLOC, + pfnFree: PFN_CRYPT_FREE, +}} +pub type PCRYPT_ENCODE_PARA = *mut CRYPT_ENCODE_PARA; +pub const CRYPT_ENCODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: ::DWORD = 0x8; +pub const CRYPT_ENCODE_ALLOC_FLAG: ::DWORD = 0x8000; +pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG: ::DWORD = + CERT_RDN_ENABLE_T61_UNICODE_FLAG; +pub const CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG: ::DWORD = + CERT_RDN_ENABLE_UTF8_UNICODE_FLAG; +pub const CRYPT_UNICODE_NAME_ENCODE_FORCE_UTF8_UNICODE_FLAG: ::DWORD = + CERT_RDN_FORCE_UTF8_UNICODE_FLAG; +pub const CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG: ::DWORD = + CERT_RDN_DISABLE_CHECK_TYPE_FLAG; +pub const CRYPT_SORTED_CTL_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: ::DWORD = 0x10000; +pub const CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG: ::DWORD = 0x20000; +pub const CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG: ::DWORD = 0x40000; +pub const CRYPT_ENCODE_ENABLE_IA5CONVERSION_FLAG: ::DWORD = CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG + | CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG; +STRUCT!{nodebug struct CRYPT_DECODE_PARA { + cbSize: ::DWORD, + pfnAlloc: PFN_CRYPT_ALLOC, + pfnFree: PFN_CRYPT_FREE, +}} +pub type PCRYPT_DECODE_PARA = *mut CRYPT_DECODE_PARA; +pub const CRYPT_DECODE_NOCOPY_FLAG: ::DWORD = 0x1; +pub const CRYPT_DECODE_TO_BE_SIGNED_FLAG: ::DWORD = 0x2; +pub const CRYPT_DECODE_SHARE_OID_STRING_FLAG: ::DWORD = 0x4; +pub const CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG: ::DWORD = 0x8; +pub const CRYPT_DECODE_ALLOC_FLAG: ::DWORD = 0x8000; +pub const CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG: ::DWORD = + CERT_RDN_DISABLE_IE4_UTF8_FLAG; +pub const CRYPT_DECODE_ENABLE_PUNYCODE_FLAG: ::DWORD = 0x02000000; +pub const CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG: ::DWORD = 0x04000000; +pub const CRYPT_DECODE_ENABLE_IA5CONVERSION_FLAG: ::DWORD = CRYPT_DECODE_ENABLE_PUNYCODE_FLAG + | CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG; +pub const CRYPT_ENCODE_DECODE_NONE: ::LPCSTR = 0 as ::LPCSTR; +pub const X509_CERT: ::LPCSTR = 1 as ::LPCSTR; +pub const X509_CERT_TO_BE_SIGNED: ::LPCSTR = 2 as ::LPCSTR; +pub const X509_CERT_CRL_TO_BE_SIGNED: ::LPCSTR = 3 as ::LPCSTR; +pub const X509_CERT_REQUEST_TO_BE_SIGNED: ::LPCSTR = 4 as ::LPCSTR; +pub const X509_EXTENSIONS: ::LPCSTR = 5 as ::LPCSTR; +pub const X509_NAME_VALUE: ::LPCSTR = 6 as ::LPCSTR; +pub const X509_NAME: ::LPCSTR = 7 as ::LPCSTR; +pub const X509_PUBLIC_KEY_INFO: ::LPCSTR = 8 as ::LPCSTR; +pub const X509_AUTHORITY_KEY_ID: ::LPCSTR = 9 as ::LPCSTR; +pub const X509_KEY_ATTRIBUTES: ::LPCSTR = 10 as ::LPCSTR; +pub const X509_KEY_USAGE_RESTRICTION: ::LPCSTR = 11 as ::LPCSTR; +pub const X509_ALTERNATE_NAME: ::LPCSTR = 12 as ::LPCSTR; +pub const X509_BASIC_CONSTRAINTS: ::LPCSTR = 13 as ::LPCSTR; +pub const X509_KEY_USAGE: ::LPCSTR = 14 as ::LPCSTR; +pub const X509_BASIC_CONSTRAINTS2: ::LPCSTR = 15 as ::LPCSTR; +pub const X509_CERT_POLICIES: ::LPCSTR = 16 as ::LPCSTR; +pub const PKCS_UTC_TIME: ::LPCSTR = 17 as ::LPCSTR; +pub const PKCS_TIME_REQUEST: ::LPCSTR = 18 as ::LPCSTR; +pub const RSA_CSP_PUBLICKEYBLOB: ::LPCSTR = 19 as ::LPCSTR; +pub const X509_UNICODE_NAME: ::LPCSTR = 20 as ::LPCSTR; +pub const X509_KEYGEN_REQUEST_TO_BE_SIGNED: ::LPCSTR = 21 as ::LPCSTR; +pub const PKCS_ATTRIBUTE: ::LPCSTR = 22 as ::LPCSTR; +pub const PKCS_CONTENT_INFO_SEQUENCE_OF_ANY: ::LPCSTR = 23 as ::LPCSTR; +pub const X509_UNICODE_NAME_VALUE: ::LPCSTR = 24 as ::LPCSTR; +pub const X509_ANY_STRING: ::LPCSTR = X509_NAME_VALUE; +pub const X509_UNICODE_ANY_STRING: ::LPCSTR = X509_UNICODE_NAME_VALUE; +pub const X509_OCTET_STRING: ::LPCSTR = 25 as ::LPCSTR; +pub const X509_BITS: ::LPCSTR = 26 as ::LPCSTR; +pub const X509_INTEGER: ::LPCSTR = 27 as ::LPCSTR; +pub const X509_MULTI_BYTE_INTEGER: ::LPCSTR = 28 as ::LPCSTR; +pub const X509_ENUMERATED: ::LPCSTR = 29 as ::LPCSTR; +pub const X509_CHOICE_OF_TIME: ::LPCSTR = 30 as ::LPCSTR; +pub const X509_AUTHORITY_KEY_ID2: ::LPCSTR = 31 as ::LPCSTR; +pub const X509_AUTHORITY_INFO_ACCESS: ::LPCSTR = 32 as ::LPCSTR; +pub const X509_SUBJECT_INFO_ACCESS: ::LPCSTR = X509_AUTHORITY_INFO_ACCESS; +pub const X509_CRL_REASON_CODE: ::LPCSTR = X509_ENUMERATED; +pub const PKCS_CONTENT_INFO: ::LPCSTR = 33 as ::LPCSTR; +pub const X509_SEQUENCE_OF_ANY: ::LPCSTR = 34 as ::LPCSTR; +pub const X509_CRL_DIST_POINTS: ::LPCSTR = 35 as ::LPCSTR; +pub const X509_ENHANCED_KEY_USAGE: ::LPCSTR = 36 as ::LPCSTR; +pub const PKCS_CTL: ::LPCSTR = 37 as ::LPCSTR; +pub const X509_MULTI_BYTE_UINT: ::LPCSTR = 38 as ::LPCSTR; +pub const X509_DSS_PUBLICKEY: ::LPCSTR = X509_MULTI_BYTE_UINT; +pub const X509_DSS_PARAMETERS: ::LPCSTR = 39 as ::LPCSTR; +pub const X509_DSS_SIGNATURE: ::LPCSTR = 40 as ::LPCSTR; +pub const PKCS_RC2_CBC_PARAMETERS: ::LPCSTR = 41 as ::LPCSTR; +pub const PKCS_SMIME_CAPABILITIES: ::LPCSTR = 42 as ::LPCSTR; +pub const X509_QC_STATEMENTS_EXT: ::LPCSTR = 42 as ::LPCSTR; +pub const PKCS_RSA_PRIVATE_KEY: ::LPCSTR = 43 as ::LPCSTR; +pub const PKCS_PRIVATE_KEY_INFO: ::LPCSTR = 44 as ::LPCSTR; +pub const PKCS_ENCRYPTED_PRIVATE_KEY_INFO: ::LPCSTR = 45 as ::LPCSTR; +pub const X509_PKIX_POLICY_QUALIFIER_USERNOTICE: ::LPCSTR = 46 as ::LPCSTR; +pub const X509_DH_PUBLICKEY: ::LPCSTR = X509_MULTI_BYTE_UINT; +pub const X509_DH_PARAMETERS: ::LPCSTR = 47 as ::LPCSTR; +pub const PKCS_ATTRIBUTES: ::LPCSTR = 48 as ::LPCSTR; +pub const PKCS_SORTED_CTL: ::LPCSTR = 49 as ::LPCSTR; +pub const X509_ECC_SIGNATURE: ::LPCSTR = 47 as ::LPCSTR; +pub const X942_DH_PARAMETERS: ::LPCSTR = 50 as ::LPCSTR; +pub const X509_BITS_WITHOUT_TRAILING_ZEROES: ::LPCSTR = 51 as ::LPCSTR; +pub const X942_OTHER_INFO: ::LPCSTR = 52 as ::LPCSTR; +pub const X509_CERT_PAIR: ::LPCSTR = 53 as ::LPCSTR; +pub const X509_ISSUING_DIST_POINT: ::LPCSTR = 54 as ::LPCSTR; +pub const X509_NAME_CONSTRAINTS: ::LPCSTR = 55 as ::LPCSTR; +pub const X509_POLICY_MAPPINGS: ::LPCSTR = 56 as ::LPCSTR; +pub const X509_POLICY_CONSTRAINTS: ::LPCSTR = 57 as ::LPCSTR; +pub const X509_CROSS_CERT_DIST_POINTS: ::LPCSTR = 58 as ::LPCSTR; +pub const CMC_DATA: ::LPCSTR = 59 as ::LPCSTR; +pub const CMC_RESPONSE: ::LPCSTR = 60 as ::LPCSTR; +pub const CMC_STATUS: ::LPCSTR = 61 as ::LPCSTR; +pub const CMC_ADD_EXTENSIONS: ::LPCSTR = 62 as ::LPCSTR; +pub const CMC_ADD_ATTRIBUTES: ::LPCSTR = 63 as ::LPCSTR; +pub const X509_CERTIFICATE_TEMPLATE: ::LPCSTR = 64 as ::LPCSTR; +pub const OCSP_SIGNED_REQUEST: ::LPCSTR = 65 as ::LPCSTR; +pub const OCSP_REQUEST: ::LPCSTR = 66 as ::LPCSTR; +pub const OCSP_RESPONSE: ::LPCSTR = 67 as ::LPCSTR; +pub const OCSP_BASIC_SIGNED_RESPONSE: ::LPCSTR = 68 as ::LPCSTR; +pub const OCSP_BASIC_RESPONSE: ::LPCSTR = 69 as ::LPCSTR; +pub const X509_LOGOTYPE_EXT: ::LPCSTR = 70 as ::LPCSTR; +pub const X509_BIOMETRIC_EXT: ::LPCSTR = 71 as ::LPCSTR; +pub const CNG_RSA_PUBLIC_KEY_BLOB: ::LPCSTR = 72 as ::LPCSTR; +pub const X509_OBJECT_IDENTIFIER: ::LPCSTR = 73 as ::LPCSTR; +pub const X509_ALGORITHM_IDENTIFIER: ::LPCSTR = 74 as ::LPCSTR; +pub const PKCS_RSA_SSA_PSS_PARAMETERS: ::LPCSTR = 75 as ::LPCSTR; +pub const PKCS_RSAES_OAEP_PARAMETERS: ::LPCSTR = 76 as ::LPCSTR; +pub const ECC_CMS_SHARED_INFO: ::LPCSTR = 77 as ::LPCSTR; +pub const TIMESTAMP_REQUEST: ::LPCSTR = 78 as ::LPCSTR; +pub const TIMESTAMP_RESPONSE: ::LPCSTR = 79 as ::LPCSTR; +pub const TIMESTAMP_INFO: ::LPCSTR = 80 as ::LPCSTR; +pub const X509_CERT_BUNDLE: ::LPCSTR = 81 as ::LPCSTR; +pub const X509_ECC_PRIVATE_KEY: ::LPCSTR = 82 as ::LPCSTR; +pub const CNG_RSA_PRIVATE_KEY_BLOB: ::LPCSTR = 83 as ::LPCSTR; +pub const X509_SUBJECT_DIR_ATTRS: ::LPCSTR = 84 as ::LPCSTR; +pub const PKCS7_SIGNER_INFO: ::LPCSTR = 500 as ::LPCSTR; +pub const CMS_SIGNER_INFO: ::LPCSTR = 501 as ::LPCSTR; +pub const szOID_AUTHORITY_KEY_IDENTIFIER: &'static str = "2.5.29.1"; +pub const szOID_KEY_ATTRIBUTES: &'static str = "2.5.29.2"; +pub const szOID_CERT_POLICIES_95: &'static str = "2.5.29.3"; +pub const szOID_KEY_USAGE_RESTRICTION: &'static str = "2.5.29.4"; +pub const szOID_SUBJECT_ALT_NAME: &'static str = "2.5.29.7"; +pub const szOID_ISSUER_ALT_NAME: &'static str = "2.5.29.8"; +pub const szOID_BASIC_CONSTRAINTS: &'static str = "2.5.29.10"; +pub const szOID_KEY_USAGE: &'static str = "2.5.29.15"; +pub const szOID_PRIVATEKEY_USAGE_PERIOD: &'static str = "2.5.29.16"; +pub const szOID_BASIC_CONSTRAINTS2: &'static str = "2.5.29.19"; +pub const szOID_CERT_POLICIES: &'static str = "2.5.29.32"; +pub const szOID_ANY_CERT_POLICY: &'static str = "2.5.29.32.0"; +pub const szOID_INHIBIT_ANY_POLICY: &'static str = "2.5.29.54"; +pub const szOID_AUTHORITY_KEY_IDENTIFIER2: &'static str = "2.5.29.35"; +pub const szOID_SUBJECT_KEY_IDENTIFIER: &'static str = "2.5.29.14"; +pub const szOID_SUBJECT_ALT_NAME2: &'static str = "2.5.29.17"; +pub const szOID_ISSUER_ALT_NAME2: &'static str = "2.5.29.18"; +pub const szOID_CRL_REASON_CODE: &'static str = "2.5.29.21"; +pub const szOID_REASON_CODE_HOLD: &'static str = "2.5.29.23"; +pub const szOID_CRL_DIST_POINTS: &'static str = "2.5.29.31"; +pub const szOID_ENHANCED_KEY_USAGE: &'static str = "2.5.29.37"; +pub const szOID_ANY_ENHANCED_KEY_USAGE: &'static str = "2.5.29.37.0"; +pub const szOID_CRL_NUMBER: &'static str = "2.5.29.20"; +pub const szOID_DELTA_CRL_INDICATOR: &'static str = "2.5.29.27"; +pub const szOID_ISSUING_DIST_POINT: &'static str = "2.5.29.28"; +pub const szOID_FRESHEST_CRL: &'static str = "2.5.29.46"; +pub const szOID_NAME_CONSTRAINTS: &'static str = "2.5.29.30"; +pub const szOID_POLICY_MAPPINGS: &'static str = "2.5.29.33"; +pub const szOID_LEGACY_POLICY_MAPPINGS: &'static str = "2.5.29.5"; +pub const szOID_POLICY_CONSTRAINTS: &'static str = "2.5.29.36"; +pub const szOID_RENEWAL_CERTIFICATE: &'static str = "1.3.6.1.4.1.311.13.1"; +pub const szOID_ENROLLMENT_NAME_VALUE_PAIR: &'static str = "1.3.6.1.4.1.311.13.2.1"; +pub const szOID_ENROLLMENT_CSP_PROVIDER: &'static str = "1.3.6.1.4.1.311.13.2.2"; +pub const szOID_OS_VERSION: &'static str = "1.3.6.1.4.1.311.13.2.3"; +pub const szOID_ENROLLMENT_AGENT: &'static str = "1.3.6.1.4.1.311.20.2.1"; +pub const szOID_PKIX: &'static str = "1.3.6.1.5.5.7"; +pub const szOID_PKIX_PE: &'static str = "1.3.6.1.5.5.7.1"; +pub const szOID_AUTHORITY_INFO_ACCESS: &'static str = "1.3.6.1.5.5.7.1.1"; +pub const szOID_SUBJECT_INFO_ACCESS: &'static str = "1.3.6.1.5.5.7.1.11"; +pub const szOID_BIOMETRIC_EXT: &'static str = "1.3.6.1.5.5.7.1.2"; +pub const szOID_QC_STATEMENTS_EXT: &'static str = "1.3.6.1.5.5.7.1.3"; +pub const szOID_LOGOTYPE_EXT: &'static str = "1.3.6.1.5.5.7.1.12"; +pub const szOID_CERT_EXTENSIONS: &'static str = "1.3.6.1.4.1.311.2.1.14"; +pub const szOID_NEXT_UPDATE_LOCATION: &'static str = "1.3.6.1.4.1.311.10.2"; +pub const szOID_REMOVE_CERTIFICATE: &'static str = "1.3.6.1.4.1.311.10.8.1"; +pub const szOID_CROSS_CERT_DIST_POINTS: &'static str = "1.3.6.1.4.1.311.10.9.1"; +pub const szOID_CTL: &'static str = "1.3.6.1.4.1.311.10.1"; +pub const szOID_SORTED_CTL: &'static str = "1.3.6.1.4.1.311.10.1.1"; +pub const szOID_SERIALIZED: &'static str = "1.3.6.1.4.1.311.10.3.3.1"; +pub const szOID_NT_PRINCIPAL_NAME: &'static str = "1.3.6.1.4.1.311.20.2.3"; +pub const szOID_INTERNATIONALIZED_EMAIL_ADDRESS: &'static str = "1.3.6.1.4.1.311.20.2.4"; +pub const szOID_PRODUCT_UPDATE: &'static str = "1.3.6.1.4.1.311.31.1"; +pub const szOID_ANY_APPLICATION_POLICY: &'static str = "1.3.6.1.4.1.311.10.12.1"; +pub const szOID_AUTO_ENROLL_CTL_USAGE: &'static str = "1.3.6.1.4.1.311.20.1"; +pub const szOID_ENROLL_CERTTYPE_EXTENSION: &'static str = "1.3.6.1.4.1.311.20.2"; +pub const szOID_CERT_MANIFOLD: &'static str = "1.3.6.1.4.1.311.20.3"; +pub const szOID_CERTSRV_CA_VERSION: &'static str = "1.3.6.1.4.1.311.21.1"; +pub const szOID_CERTSRV_PREVIOUS_CERT_HASH: &'static str = "1.3.6.1.4.1.311.21.2"; +pub const szOID_CRL_VIRTUAL_BASE: &'static str = "1.3.6.1.4.1.311.21.3"; +pub const szOID_CRL_NEXT_PUBLISH: &'static str = "1.3.6.1.4.1.311.21.4"; +pub const szOID_KP_CA_EXCHANGE: &'static str = "1.3.6.1.4.1.311.21.5"; +pub const szOID_KP_KEY_RECOVERY_AGENT: &'static str = "1.3.6.1.4.1.311.21.6"; +pub const szOID_CERTIFICATE_TEMPLATE: &'static str = "1.3.6.1.4.1.311.21.7"; +pub const szOID_ENTERPRISE_OID_ROOT: &'static str = "1.3.6.1.4.1.311.21.8"; +pub const szOID_RDN_DUMMY_SIGNER: &'static str = "1.3.6.1.4.1.311.21.9"; +pub const szOID_APPLICATION_CERT_POLICIES: &'static str = "1.3.6.1.4.1.311.21.10"; +pub const szOID_APPLICATION_POLICY_MAPPINGS: &'static str = "1.3.6.1.4.1.311.21.11"; +pub const szOID_APPLICATION_POLICY_CONSTRAINTS: &'static str = "1.3.6.1.4.1.311.21.12"; +pub const szOID_ARCHIVED_KEY_ATTR: &'static str = "1.3.6.1.4.1.311.21.13"; +pub const szOID_CRL_SELF_CDP: &'static str = "1.3.6.1.4.1.311.21.14"; +pub const szOID_REQUIRE_CERT_CHAIN_POLICY: &'static str = "1.3.6.1.4.1.311.21.15"; +pub const szOID_ARCHIVED_KEY_CERT_HASH: &'static str = "1.3.6.1.4.1.311.21.16"; +pub const szOID_ISSUED_CERT_HASH: &'static str = "1.3.6.1.4.1.311.21.17"; +pub const szOID_DS_EMAIL_REPLICATION: &'static str = "1.3.6.1.4.1.311.21.19"; +pub const szOID_REQUEST_CLIENT_INFO: &'static str = "1.3.6.1.4.1.311.21.20"; +pub const szOID_ENCRYPTED_KEY_HASH: &'static str = "1.3.6.1.4.1.311.21.21"; +pub const szOID_CERTSRV_CROSSCA_VERSION: &'static str = "1.3.6.1.4.1.311.21.22"; +pub const szOID_NTDS_REPLICATION: &'static str = "1.3.6.1.4.1.311.25.1"; +pub const szOID_SUBJECT_DIR_ATTRS: &'static str = "2.5.29.9"; +pub const szOID_PKIX_KP: &'static str = "1.3.6.1.5.5.7.3"; +pub const szOID_PKIX_KP_SERVER_AUTH: &'static str = "1.3.6.1.5.5.7.3.1"; +pub const szOID_PKIX_KP_CLIENT_AUTH: &'static str = "1.3.6.1.5.5.7.3.2"; +pub const szOID_PKIX_KP_CODE_SIGNING: &'static str = "1.3.6.1.5.5.7.3.3"; +pub const szOID_PKIX_KP_EMAIL_PROTECTION: &'static str = "1.3.6.1.5.5.7.3.4"; +pub const szOID_PKIX_KP_IPSEC_END_SYSTEM: &'static str = "1.3.6.1.5.5.7.3.5"; +pub const szOID_PKIX_KP_IPSEC_TUNNEL: &'static str = "1.3.6.1.5.5.7.3.6"; +pub const szOID_PKIX_KP_IPSEC_USER: &'static str = "1.3.6.1.5.5.7.3.7"; +pub const szOID_PKIX_KP_TIMESTAMP_SIGNING: &'static str = "1.3.6.1.5.5.7.3.8"; +pub const szOID_PKIX_KP_OCSP_SIGNING: &'static str = "1.3.6.1.5.5.7.3.9"; +pub const szOID_PKIX_OCSP_NOCHECK: &'static str = "1.3.6.1.5.5.7.48.1.5"; +pub const szOID_PKIX_OCSP_NONCE: &'static str = "1.3.6.1.5.5.7.48.1.2"; +pub const szOID_IPSEC_KP_IKE_INTERMEDIATE: &'static str = "1.3.6.1.5.5.8.2.2"; +pub const szOID_PKINIT_KP_KDC: &'static str = "1.3.6.1.5.2.3.5"; +pub const szOID_KP_CTL_USAGE_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.1"; +pub const szOID_KP_TIME_STAMP_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.2"; +pub const szOID_SERVER_GATED_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.3"; +pub const szOID_SGC_NETSCAPE: &'static str = "2.16.840.1.113730.4.1"; +pub const szOID_KP_EFS: &'static str = "1.3.6.1.4.1.311.10.3.4"; +pub const szOID_EFS_RECOVERY: &'static str = "1.3.6.1.4.1.311.10.3.4.1"; +pub const szOID_WHQL_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.5"; +pub const szOID_NT5_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.6"; +pub const szOID_OEM_WHQL_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.7"; +pub const szOID_EMBEDDED_NT_CRYPTO: &'static str = "1.3.6.1.4.1.311.10.3.8"; +pub const szOID_ROOT_LIST_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.9"; +pub const szOID_KP_QUALIFIED_SUBORDINATION: &'static str = "1.3.6.1.4.1.311.10.3.10"; +pub const szOID_KP_KEY_RECOVERY: &'static str = "1.3.6.1.4.1.311.10.3.11"; +pub const szOID_KP_DOCUMENT_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.12"; +pub const szOID_KP_LIFETIME_SIGNING: &'static str = "1.3.6.1.4.1.311.10.3.13"; +pub const szOID_KP_MOBILE_DEVICE_SOFTWARE: &'static str = "1.3.6.1.4.1.311.10.3.14"; +pub const szOID_KP_SMART_DISPLAY: &'static str = "1.3.6.1.4.1.311.10.3.15"; +pub const szOID_KP_CSP_SIGNATURE: &'static str = "1.3.6.1.4.1.311.10.3.16"; +pub const szOID_DRM: &'static str = "1.3.6.1.4.1.311.10.5.1"; +pub const szOID_DRM_INDIVIDUALIZATION: &'static str = "1.3.6.1.4.1.311.10.5.2"; +pub const szOID_LICENSES: &'static str = "1.3.6.1.4.1.311.10.6.1"; +pub const szOID_LICENSE_SERVER: &'static str = "1.3.6.1.4.1.311.10.6.2"; +pub const szOID_KP_SMARTCARD_LOGON: &'static str = "1.3.6.1.4.1.311.20.2.2"; +pub const szOID_KP_KERNEL_MODE_CODE_SIGNING: &'static str = "1.3.6.1.4.1.311.61.1.1"; +pub const szOID_KP_KERNEL_MODE_TRUSTED_BOOT_SIGNING: &'static str = "1.3.6.1.4.1.311.61.4.1"; +pub const szOID_REVOKED_LIST_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.19"; +pub const szOID_WINDOWS_KITS_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.20"; +pub const szOID_WINDOWS_RT_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.21"; +pub const szOID_PROTECTED_PROCESS_LIGHT_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.22"; +pub const szOID_WINDOWS_TCB_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.23"; +pub const szOID_PROTECTED_PROCESS_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.24"; +pub const szOID_WINDOWS_THIRD_PARTY_COMPONENT_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.25"; +pub const szOID_WINDOWS_SOFTWARE_EXTENSION_SIGNER: &'static str = "1.3.6.1.4.1.311.10.3.26"; +pub const szOID_DISALLOWED_LIST: &'static str = "1.3.6.1.4.1.311.10.3.30"; +pub const szOID_SYNC_ROOT_CTL_EXT: &'static str = "1.3.6.1.4.1.311.10.3.50"; +pub const szOID_KP_KERNEL_MODE_HAL_EXTENSION_SIGNING: &'static str = "1.3.6.1.4.1.311.61.5.1"; +pub const szOID_WINDOWS_STORE_SIGNER: &'static str = "1.3.6.1.4.1.311.76.3.1"; +pub const szOID_DYNAMIC_CODE_GEN_SIGNER: &'static str = "1.3.6.1.4.1.311.76.5.1"; +pub const szOID_MICROSOFT_PUBLISHER_SIGNER: &'static str = "1.3.6.1.4.1.311.76.8.1"; +pub const szOID_YESNO_TRUST_ATTR: &'static str = "1.3.6.1.4.1.311.10.4.1"; +pub const szOID_PKIX_POLICY_QUALIFIER_CPS: &'static str = "1.3.6.1.5.5.7.2.1"; +pub const szOID_PKIX_POLICY_QUALIFIER_USERNOTICE: &'static str = "1.3.6.1.5.5.7.2.2"; +pub const szOID_ROOT_PROGRAM_FLAGS: &'static str = "1.3.6.1.4.1.311.60.1.1"; +//6992 +pub type HCRYPTMSG = *mut ::c_void; +//9353 +pub type HCERTSTORE = *mut ::c_void; +STRUCT!{struct CERT_CONTEXT { + dwCertEncodingType: ::DWORD, + pbCertEncoded: *mut ::BYTE, + cbCertEncoded: ::DWORD, + pCertInfo: ::PCERT_INFO, + hCertStore: HCERTSTORE, +}} +pub type PCERT_CONTEXT = *mut CERT_CONTEXT; +pub type PCCERT_CONTEXT = *const CERT_CONTEXT; +STRUCT!{struct CRL_CONTEXT { + dwCertEncodingType: ::DWORD, + pbCrlEncoded: *mut ::BYTE, + cbCrlEncoded: ::DWORD, + pCrlInfo: ::PCRL_INFO, + hCertStore: HCERTSTORE, +}} +pub type PCRL_CONTEXT = *mut CRL_CONTEXT; +pub type PCCRL_CONTEXT = *const CRL_CONTEXT; +STRUCT!{struct CTL_CONTEXT { + dwMsgAndCertEncodingType: ::DWORD, + pbCtlEncoded: *mut ::BYTE, + cbCtlEncoded: ::DWORD, + pCtlInfo: ::PCTL_INFO, + hCertStore: HCERTSTORE, + hCryptMsg: HCRYPTMSG, + pbCtlContent: *mut ::BYTE, + cbCtlContent: ::DWORD, +}} +pub type PCTL_CONTEXT = *mut CTL_CONTEXT; +pub type PCCTL_CONTEXT = *const CTL_CONTEXT; +pub const CERT_STORE_PROV_MSG: ::DWORD = 1; +pub const CERT_STORE_PROV_MEMORY: ::DWORD = 2; +pub const CERT_STORE_PROV_FILE: ::DWORD = 3; +pub const CERT_STORE_PROV_REG: ::DWORD = 4; +pub const CERT_STORE_PROV_PKCS7: ::DWORD = 5; +pub const CERT_STORE_PROV_SERIALIZED: ::DWORD = 6; +pub const CERT_STORE_PROV_FILENAME_A: ::DWORD = 7; +pub const CERT_STORE_PROV_FILENAME_W: ::DWORD = 8; +pub const CERT_STORE_PROV_FILENAME: ::DWORD = CERT_STORE_PROV_FILENAME_W; +pub const CERT_STORE_PROV_SYSTEM_A: ::DWORD = 9; +pub const CERT_STORE_PROV_SYSTEM_W: ::DWORD = 10; +pub const CERT_STORE_PROV_SYSTEM: ::DWORD = CERT_STORE_PROV_SYSTEM_W; +pub const CERT_STORE_PROV_COLLECTION: ::DWORD = 11; +pub const CERT_STORE_PROV_SYSTEM_REGISTRY_A: ::DWORD = 12; +pub const CERT_STORE_PROV_SYSTEM_REGISTRY_W: ::DWORD = 13; +pub const CERT_STORE_PROV_SYSTEM_REGISTRY: ::DWORD = CERT_STORE_PROV_SYSTEM_REGISTRY_W; +pub const CERT_STORE_PROV_PHYSICAL_W: ::DWORD = 14; +pub const CERT_STORE_PROV_PHYSICAL: ::DWORD = CERT_STORE_PROV_PHYSICAL_W; +pub const CERT_STORE_PROV_SMART_CARD_W: ::DWORD = 15; +pub const CERT_STORE_PROV_SMART_CARD: ::DWORD = CERT_STORE_PROV_SMART_CARD_W; +pub const CERT_STORE_PROV_LDAP_W: ::DWORD = 16; +pub const CERT_STORE_PROV_LDAP: ::DWORD = CERT_STORE_PROV_LDAP_W; +pub const CERT_STORE_NO_CRYPT_RELEASE_FLAG: ::DWORD = 0x00000001; +pub const CERT_STORE_SET_LOCALIZED_NAME_FLAG: ::DWORD = 0x00000002; +pub const CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG: ::DWORD = 0x00000004; +pub const CERT_STORE_DELETE_FLAG: ::DWORD = 0x00000010; +pub const CERT_STORE_SHARE_STORE_FLAG: ::DWORD = 0x00000040; +pub const CERT_STORE_SHARE_CONTEXT_FLAG: ::DWORD = 0x00000080; +pub const CERT_STORE_MANIFOLD_FLAG: ::DWORD = 0x00000100; +pub const CERT_STORE_ENUM_ARCHIVED_FLAG: ::DWORD = 0x00000200; +pub const CERT_STORE_UPDATE_KEYID_FLAG: ::DWORD = 0x00000400; +pub const CERT_STORE_BACKUP_RESTORE_FLAG: ::DWORD = 0x00000800; +pub const CERT_STORE_READONLY_FLAG: ::DWORD = 0x00008000; +pub const CERT_STORE_OPEN_EXISTING_FLAG: ::DWORD = 0x00004000; +pub const CERT_STORE_CREATE_NEW_FLAG: ::DWORD = 0x00002000; +pub const CERT_STORE_MAXIMUM_ALLOWED_FLAG: ::DWORD = 0x00001000; +pub const CERT_SYSTEM_STORE_UNPROTECTED_FLAG: ::DWORD = 0x40000000; +pub const CERT_SYSTEM_STORE_LOCATION_MASK: ::DWORD = 0x00FF0000; +pub const CERT_SYSTEM_STORE_LOCATION_SHIFT: ::DWORD = 16; +pub const CERT_SYSTEM_STORE_CURRENT_USER_ID: ::DWORD = 1; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ID: ::DWORD = 2; +pub const CERT_SYSTEM_STORE_CURRENT_SERVICE_ID: ::DWORD = 4; +pub const CERT_SYSTEM_STORE_SERVICES_ID: ::DWORD = 5; +pub const CERT_SYSTEM_STORE_USERS_ID: ::DWORD = 6; +pub const CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID: ::DWORD = 7; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID: ::DWORD = 8; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID: ::DWORD = 9; +pub const CERT_SYSTEM_STORE_CURRENT_USER: ::DWORD = CERT_SYSTEM_STORE_CURRENT_USER_ID + << CERT_SYSTEM_STORE_LOCATION_SHIFT; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE: ::DWORD = CERT_SYSTEM_STORE_LOCAL_MACHINE_ID + << CERT_SYSTEM_STORE_LOCATION_SHIFT; +pub const CERT_SYSTEM_STORE_CURRENT_SERVICE: ::DWORD = CERT_SYSTEM_STORE_CURRENT_SERVICE_ID + << CERT_SYSTEM_STORE_LOCATION_SHIFT; +pub const CERT_SYSTEM_STORE_SERVICES: ::DWORD = CERT_SYSTEM_STORE_SERVICES_ID + << CERT_SYSTEM_STORE_LOCATION_SHIFT; +pub const CERT_SYSTEM_STORE_USERS: ::DWORD = CERT_SYSTEM_STORE_USERS_ID + << CERT_SYSTEM_STORE_LOCATION_SHIFT; +pub const CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY: ::DWORD = + CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY: ::DWORD = + CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT; +pub const CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE: ::DWORD = + CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT; +pub const CERT_NAME_EMAIL_TYPE: ::DWORD = 1; +pub const CERT_NAME_RDN_TYPE: ::DWORD = 2; +pub const CERT_NAME_ATTR_TYPE: ::DWORD = 3; +pub const CERT_NAME_SIMPLE_DISPLAY_TYPE: ::DWORD = 4; +pub const CERT_NAME_FRIENDLY_DISPLAY_TYPE: ::DWORD = 5; +pub const CERT_NAME_DNS_TYPE: ::DWORD = 6; +pub const CERT_NAME_URL_TYPE: ::DWORD = 7; +pub const CERT_NAME_UPN_TYPE: ::DWORD = 8; +pub const CERT_SIMPLE_NAME_STR: ::DWORD = 1; +pub const CERT_OID_NAME_STR: ::DWORD = 2; +pub const CERT_X500_NAME_STR: ::DWORD = 3; + +pub const CERT_NAME_STR_SEMICOLON_FLAG: ::DWORD = 0x40000000; +pub const CERT_NAME_STR_NO_PLUS_FLAG: ::DWORD = 0x20000000; +pub const CERT_NAME_STR_NO_QUOTING_FLAG: ::DWORD = 0x10000000; +pub const CERT_NAME_STR_CRLF_FLAG: ::DWORD = 0x08000000; +pub const CERT_NAME_STR_COMMA_FLAG: ::DWORD = 0x04000000; +pub const CERT_NAME_STR_REVERSE_FLAG: ::DWORD = 0x02000000; + +pub const CERT_NAME_ISSUER_FLAG: ::DWORD = 0x1; +pub const CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG: ::DWORD = 0x00010000; +pub const CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG: ::DWORD = 0x00020000; +pub const CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG: ::DWORD = 0x00040000; +pub const CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG: ::DWORD = 0x00080000; +pub const CERT_DELETE_KEYSET_PROP_ID: ::DWORD = 101; +pub const CERT_COMPARE_MASK: ::DWORD = 0xFFFF; +pub const CERT_COMPARE_SHIFT: ::DWORD = 16; +pub const CERT_COMPARE_ANY: ::DWORD = 0; +pub const CERT_COMPARE_SHA1_HASH: ::DWORD = 1; +pub const CERT_COMPARE_NAME: ::DWORD = 2; +pub const CERT_COMPARE_ATTR: ::DWORD = 3; +pub const CERT_COMPARE_MD5_HASH: ::DWORD = 4; +pub const CERT_COMPARE_PROPERTY: ::DWORD = 5; +pub const CERT_COMPARE_PUBLIC_KEY: ::DWORD = 6; +pub const CERT_COMPARE_HASH: ::DWORD = CERT_COMPARE_SHA1_HASH; +pub const CERT_COMPARE_NAME_STR_A: ::DWORD = 7; +pub const CERT_COMPARE_NAME_STR_W: ::DWORD = 8; +pub const CERT_COMPARE_KEY_SPEC: ::DWORD = 9; +pub const CERT_COMPARE_ENHKEY_USAGE: ::DWORD = 10; +pub const CERT_COMPARE_CTL_USAGE: ::DWORD = CERT_COMPARE_ENHKEY_USAGE; +pub const CERT_COMPARE_SUBJECT_CERT: ::DWORD = 11; +pub const CERT_COMPARE_ISSUER_OF: ::DWORD = 12; +pub const CERT_COMPARE_EXISTING: ::DWORD = 13; +pub const CERT_COMPARE_SIGNATURE_HASH: ::DWORD = 14; +pub const CERT_COMPARE_KEY_IDENTIFIER: ::DWORD = 15; +pub const CERT_COMPARE_CERT_ID: ::DWORD = 16; +pub const CERT_COMPARE_CROSS_CERT_DIST_POINTS: ::DWORD = 17; +pub const CERT_COMPARE_PUBKEY_MD5_HASH: ::DWORD = 18; +pub const CERT_FIND_ANY: ::DWORD = CERT_COMPARE_ANY << CERT_COMPARE_SHIFT; +pub const CERT_FIND_SHA1_HASH: ::DWORD = CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT; +pub const CERT_FIND_MD5_HASH: ::DWORD = CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT; +pub const CERT_FIND_SIGNATURE_HASH: ::DWORD = CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT; +pub const CERT_FIND_KEY_IDENTIFIER: ::DWORD = CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT; +pub const CERT_FIND_HASH: ::DWORD = CERT_FIND_SHA1_HASH; +pub const CERT_FIND_PROPERTY: ::DWORD = CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT; +pub const CERT_FIND_PUBLIC_KEY: ::DWORD = CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT; +pub const CERT_FIND_SUBJECT_NAME: ::DWORD = (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT) + | CERT_INFO_SUBJECT_FLAG; +pub const CERT_FIND_SUBJECT_ATTR: ::DWORD = (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT) + | CERT_INFO_SUBJECT_FLAG; +pub const CERT_FIND_ISSUER_NAME: ::DWORD = (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT) + | CERT_INFO_ISSUER_FLAG; +pub const CERT_FIND_ISSUER_ATTR: ::DWORD = (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT) + | CERT_INFO_ISSUER_FLAG; +pub const CERT_FIND_SUBJECT_STR_A: ::DWORD = (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT) + | CERT_INFO_SUBJECT_FLAG; +pub const CERT_FIND_SUBJECT_STR_W: ::DWORD = (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT) + | CERT_INFO_SUBJECT_FLAG; +pub const CERT_FIND_SUBJECT_STR: ::DWORD = CERT_FIND_SUBJECT_STR_W; +pub const CERT_FIND_ISSUER_STR_A: ::DWORD = (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT) + | CERT_INFO_ISSUER_FLAG; +pub const CERT_FIND_ISSUER_STR_W: ::DWORD = (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT) + | CERT_INFO_ISSUER_FLAG; +pub const CERT_FIND_ISSUER_STR: ::DWORD = CERT_FIND_ISSUER_STR_W; +pub const CERT_FIND_KEY_SPEC: ::DWORD = CERT_COMPARE_KEY_SPEC << CERT_COMPARE_SHIFT; +pub const CERT_FIND_ENHKEY_USAGE: ::DWORD = CERT_COMPARE_ENHKEY_USAGE << CERT_COMPARE_SHIFT; +pub const CERT_FIND_CTL_USAGE: ::DWORD = CERT_FIND_ENHKEY_USAGE; +pub const CERT_FIND_SUBJECT_CERT: ::DWORD = CERT_COMPARE_SUBJECT_CERT << CERT_COMPARE_SHIFT; +pub const CERT_FIND_ISSUER_OF: ::DWORD = CERT_COMPARE_ISSUER_OF << CERT_COMPARE_SHIFT; +pub const CERT_FIND_EXISTING: ::DWORD = CERT_COMPARE_EXISTING << CERT_COMPARE_SHIFT; +pub const CERT_FIND_CERT_ID: ::DWORD = CERT_COMPARE_CERT_ID << CERT_COMPARE_SHIFT; +pub const CERT_FIND_CROSS_CERT_DIST_POINTS: ::DWORD = CERT_COMPARE_CROSS_CERT_DIST_POINTS + << CERT_COMPARE_SHIFT; +pub const CERT_FIND_PUBKEY_MD5_HASH: ::DWORD = CERT_COMPARE_PUBKEY_MD5_HASH << CERT_COMPARE_SHIFT; +pub const CERT_ENCIPHER_ONLY_KEY_USAGE: ::DWORD = 0x0001; +pub const CERT_CRL_SIGN_KEY_USAGE: ::DWORD = 0x0002; +pub const CERT_KEY_CERT_SIGN_KEY_USAGE: ::DWORD = 0x0004; +pub const CERT_KEY_AGREEMENT_KEY_USAGE: ::DWORD = 0x0008; +pub const CERT_DATA_ENCIPHERMENT_KEY_USAGE: ::DWORD = 0x0010; +pub const CERT_KEY_ENCIPHERMENT_KEY_USAGE: ::DWORD = 0x0020; +pub const CERT_NON_REPUDIATION_KEY_USAGE: ::DWORD = 0x0040; +pub const CERT_DIGITAL_SIGNATURE_KEY_USAGE: ::DWORD = 0x0080; +pub const CERT_DECIPHER_ONLY_KEY_USAGE: ::DWORD = 0x8000; +pub const CERT_STORE_ADD_NEW: ::DWORD = 1; +pub const CERT_STORE_ADD_USE_EXISTING: ::DWORD = 2; +pub const CERT_STORE_ADD_REPLACE_EXISTING: ::DWORD = 3; +pub const CERT_STORE_ADD_ALWAYS: ::DWORD = 4; +pub const CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES: ::DWORD = 5; +pub const CERT_STORE_ADD_NEWER: ::DWORD = 6; +pub const CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES: ::DWORD = 7; +pub const CERT_STORE_SAVE_AS_STORE: ::DWORD = 1; +pub const CERT_STORE_SAVE_AS_PKCS7: ::DWORD = 2; +pub const CERT_STORE_SAVE_TO_FILE: ::DWORD = 1; +pub const CERT_STORE_SAVE_TO_MEMORY: ::DWORD = 2; +pub const CERT_STORE_SAVE_TO_FILENAME_A: ::DWORD = 3; +pub const CERT_STORE_SAVE_TO_FILENAME_W: ::DWORD = 4; +pub const CERT_STORE_SAVE_TO_FILENAME: ::DWORD = CERT_STORE_SAVE_TO_FILENAME_W; +pub const CERT_CA_SUBJECT_FLAG: ::DWORD = 0x80; +pub const CERT_END_ENTITY_SUBJECT_FLAG: ::DWORD = 0x40; +pub const CERT_CHAIN_POLICY_BASE: ::DWORD = 1; +pub const CERT_CHAIN_POLICY_AUTHENTICODE: ::DWORD = 2; +pub const CERT_CHAIN_POLICY_AUTHENTICODE_TS: ::DWORD = 3; +pub const CERT_CHAIN_POLICY_SSL: ::DWORD = 4; +pub const CERT_CHAIN_POLICY_BASIC_CONSTRAINTS: ::DWORD = 5; +pub const CERT_CHAIN_POLICY_NT_AUTH: ::DWORD = 6; +pub const CERT_CHAIN_POLICY_MICROSOFT_ROOT: ::DWORD = 7; +pub const CERT_CHAIN_REVOCATION_CHECK_END_CERT: ::DWORD = 0x10000000; +pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN: ::DWORD = 0x20000000; +pub const CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT: ::DWORD = 0x40000000; +pub const CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY: ::DWORD = 0x80000000; +pub const CERT_CHAIN_REVOCATION_ACCUMULATIVE_TIMEOUT: ::DWORD = 0x08000000; +pub const CERT_TRUST_NO_ERROR: ::DWORD = 0x00000000; +pub const CERT_TRUST_IS_NOT_TIME_VALID: ::DWORD = 0x00000001; +pub const CERT_TRUST_IS_NOT_TIME_NESTED: ::DWORD = 0x00000002; +pub const CERT_TRUST_IS_REVOKED: ::DWORD = 0x00000004; +pub const CERT_TRUST_IS_NOT_SIGNATURE_VALID: ::DWORD = 0x00000008; +pub const CERT_TRUST_IS_NOT_VALID_FOR_USAGE: ::DWORD = 0x00000010; +pub const CERT_TRUST_IS_UNTRUSTED_ROOT: ::DWORD = 0x00000020; +pub const CERT_TRUST_REVOCATION_STATUS_UNKNOWN: ::DWORD = 0x00000040; +pub const CERT_TRUST_IS_CYCLIC: ::DWORD = 0x00000080; + +pub const CERT_TRUST_INVALID_EXTENSION: ::DWORD = 0x00000100; +pub const CERT_TRUST_INVALID_POLICY_CONSTRAINTS: ::DWORD = 0x00000200; +pub const CERT_TRUST_INVALID_BASIC_CONSTRAINTS: ::DWORD = 0x00000400; +pub const CERT_TRUST_INVALID_NAME_CONSTRAINTS: ::DWORD = 0x00000800; +pub const CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT: ::DWORD = 0x00001000; +pub const CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT: ::DWORD = 0x00002000; +pub const CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT: ::DWORD = 0x00004000; +pub const CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT: ::DWORD = 0x00008000; + +pub const CERT_TRUST_IS_OFFLINE_REVOCATION: ::DWORD = 0x01000000; +pub const CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY: ::DWORD = 0x02000000; +pub const CERT_TRUST_IS_PARTIAL_CHAIN: ::DWORD = 0x00010000; +pub const CERT_TRUST_CTL_IS_NOT_TIME_VALID: ::DWORD = 0x00020000; +pub const CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID: ::DWORD = 0x00040000; +pub const CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE: ::DWORD = 0x00080000; +pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG: ::DWORD = 0x00000001; +pub const CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG: ::DWORD = 0x00000002; +pub const CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG: ::DWORD = 0x00000004; +pub const CERT_CHAIN_POLICY_IGNORE_INVALID_BASIC_CONSTRAINTS_FLAG: ::DWORD = 0x00000008; + +pub const CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG: ::DWORD = 0x00000010; +pub const CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG: ::DWORD = 0x00000020; +pub const CERT_CHAIN_POLICY_IGNORE_INVALID_NAME_FLAG: ::DWORD = 0x00000040; +pub const CERT_CHAIN_POLICY_IGNORE_INVALID_POLICY_FLAG: ::DWORD = 0x00000080; + +pub const CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG: ::DWORD = 0x00000100; +pub const CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG: ::DWORD = 0x00000200; +pub const CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG: ::DWORD = 0x00000400; +pub const CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG: ::DWORD = 0x00000800; + +pub const CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGS: ::DWORD = + CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG | + CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG | + CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG | + CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG; +pub const CERT_TRUST_HAS_EXACT_MATCH_ISSUER: ::DWORD = 0x00000001; +pub const CERT_TRUST_HAS_KEY_MATCH_ISSUER: ::DWORD = 0x00000002; +pub const CERT_TRUST_HAS_NAME_MATCH_ISSUER: ::DWORD = 0x00000004; +pub const CERT_TRUST_IS_SELF_SIGNED: ::DWORD = 0x00000008; +pub const CERT_TRUST_HAS_PREFERRED_ISSUER: ::DWORD = 0x00000100; +pub const CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY: ::DWORD = 0x00000200; +pub const CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS: ::DWORD = 0x00000400; +pub const CERT_TRUST_IS_COMPLEX_CHAIN: ::DWORD = 0x00010000; +pub const CERT_ALT_NAME_OTHER_NAME: ::DWORD = 1; +pub const CERT_ALT_NAME_RFC822_NAME: ::DWORD = 2; +pub const CERT_ALT_NAME_DNS_NAME: ::DWORD = 3; +pub const CERT_ALT_NAME_X400_ADDRESS: ::DWORD = 4; +pub const CERT_ALT_NAME_DIRECTORY_NAME: ::DWORD = 5; +pub const CERT_ALT_NAME_EDI_PARTY_NAME: ::DWORD = 6; +pub const CERT_ALT_NAME_URL: ::DWORD = 7; +pub const CERT_ALT_NAME_IP_ADDRESS: ::DWORD = 8; +pub const CERT_ALT_NAME_REGISTERED_ID: ::DWORD = 9; +pub const CERT_STORE_CTRL_RESYNC: ::DWORD = 1; +pub const CERT_STORE_CTRL_NOTIFY_CHANGE: ::DWORD = 2; +pub const CERT_STORE_CTRL_COMMIT: ::DWORD = 3; +pub const CERT_STORE_CTRL_AUTO_RESYNC: ::DWORD = 4; +pub const CERT_STORE_CTRL_CANCEL_NOTIFY: ::DWORD = 5; +pub const CERT_ID_ISSUER_SERIAL_NUMBER: ::DWORD = 1; +pub const CERT_ID_KEY_IDENTIFIER: ::DWORD = 2; +pub const CERT_ID_SHA1_HASH: ::DWORD = 3; +pub const CERT_KEY_PROV_HANDLE_PROP_ID: ::DWORD = 1; +pub const CERT_KEY_PROV_INFO_PROP_ID: ::DWORD = 2; +pub const CERT_SHA1_HASH_PROP_ID: ::DWORD = 3; +pub const CERT_MD5_HASH_PROP_ID: ::DWORD = 4; +pub const CERT_HASH_PROP_ID: ::DWORD = CERT_SHA1_HASH_PROP_ID; +pub const CERT_KEY_CONTEXT_PROP_ID: ::DWORD = 5; +pub const CERT_KEY_SPEC_PROP_ID: ::DWORD = 6; +pub const CERT_IE30_RESERVED_PROP_ID: ::DWORD = 7; +pub const CERT_PUBKEY_HASH_RESERVED_PROP_ID: ::DWORD = 8; +pub const CERT_ENHKEY_USAGE_PROP_ID: ::DWORD = 9; +pub const CERT_CTL_USAGE_PROP_ID: ::DWORD = CERT_ENHKEY_USAGE_PROP_ID; +pub const CERT_NEXT_UPDATE_LOCATION_PROP_ID: ::DWORD = 10; +pub const CERT_FRIENDLY_NAME_PROP_ID: ::DWORD = 11; +pub const CERT_PVK_FILE_PROP_ID: ::DWORD = 12; +pub const CERT_DESCRIPTION_PROP_ID: ::DWORD = 13; +pub const CERT_ACCESS_STATE_PROP_ID: ::DWORD = 14; +pub const CERT_SIGNATURE_HASH_PROP_ID: ::DWORD = 15; +pub const CERT_SMART_CARD_DATA_PROP_ID: ::DWORD = 16; +pub const CERT_EFS_PROP_ID: ::DWORD = 17; +pub const CERT_FORTEZZA_DATA_PROP_ID: ::DWORD = 18; +pub const CERT_ARCHIVED_PROP_ID: ::DWORD = 19; +pub const CERT_KEY_IDENTIFIER_PROP_ID: ::DWORD = 20; +pub const CERT_AUTO_ENROLL_PROP_ID: ::DWORD = 21; +pub const CERT_PUBKEY_ALG_PARA_PROP_ID: ::DWORD = 22; +pub const CERT_CROSS_CERT_DIST_POINTS_PROP_ID: ::DWORD = 23; +pub const CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID: ::DWORD = 24; +pub const CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID: ::DWORD = 25; +pub const CERT_ENROLLMENT_PROP_ID: ::DWORD = 26; +pub const CERT_DATE_STAMP_PROP_ID: ::DWORD = 27; +pub const CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: ::DWORD = 28; +pub const CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: ::DWORD = 29; +pub const CERT_EXTENDED_ERROR_INFO_PROP_ID: ::DWORD = 30; +pub const CERT_RENEWAL_PROP_ID: ::DWORD = 64; +pub const CERT_ARCHIVED_KEY_HASH_PROP_ID: ::DWORD = 65; +pub const CERT_AUTO_ENROLL_RETRY_PROP_ID: ::DWORD = 66; +pub const CERT_AIA_URL_RETRIEVED_PROP_ID: ::DWORD = 67; +pub const CERT_AUTHORITY_INFO_ACCESS_PROP_ID: ::DWORD = 68; +pub const CERT_BACKED_UP_PROP_ID: ::DWORD = 69; +pub const CERT_OCSP_RESPONSE_PROP_ID: ::DWORD = 70; +pub const CERT_REQUEST_ORIGINATOR_PROP_ID: ::DWORD = 71; +pub const CERT_SOURCE_LOCATION_PROP_ID: ::DWORD = 72; +pub const CERT_SOURCE_URL_PROP_ID: ::DWORD = 73; +pub const CERT_NEW_KEY_PROP_ID: ::DWORD = 74; +pub const CERT_OCSP_CACHE_PREFIX_PROP_ID: ::DWORD = 75; +pub const CERT_SMART_CARD_ROOT_INFO_PROP_ID: ::DWORD = 76; +pub const CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID: ::DWORD = 77; +pub const CERT_NCRYPT_KEY_HANDLE_PROP_ID: ::DWORD = 78; +pub const CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID: ::DWORD = 79; +pub const CERT_SUBJECT_INFO_ACCESS_PROP_ID: ::DWORD = 80; +pub const CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: ::DWORD = 81; +pub const CERT_CA_DISABLE_CRL_PROP_ID: ::DWORD = 82; +pub const CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID: ::DWORD = 83; +pub const CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID: ::DWORD = 84; +pub const CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID: ::DWORD = 85; +pub const CERT_SUBJECT_DISABLE_CRL_PROP_ID: ::DWORD = 86; +pub const CERT_CEP_PROP_ID: ::DWORD = 87; +pub const CERT_SIGN_HASH_CNG_ALG_PROP_ID: ::DWORD = 89; +pub const CERT_SCARD_PIN_ID_PROP_ID: ::DWORD = 90; +pub const CERT_SCARD_PIN_INFO_PROP_ID: ::DWORD = 91; +pub const CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID: ::DWORD = 92; +pub const CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: ::DWORD = 93; +pub const CERT_ISSUER_PUB_KEY_BIT_LENGTH_PROP_ID: ::DWORD = 94; +pub const CERT_ISSUER_CHAIN_SIGN_HASH_CNG_ALG_PROP_ID: ::DWORD = 95; +pub const CERT_ISSUER_CHAIN_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID: ::DWORD = 96; +pub const CERT_NO_EXPIRE_NOTIFICATION_PROP_ID: ::DWORD = 97; +pub const CERT_AUTH_ROOT_SHA256_HASH_PROP_ID: ::DWORD = 98; +pub const CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID: ::DWORD = 99; +pub const CERT_HCRYPTPROV_TRANSFER_PROP_ID: ::DWORD = 100; +pub const CERT_SMART_CARD_READER_PROP_ID: ::DWORD = 101; +pub const CERT_SEND_AS_TRUSTED_ISSUER_PROP_ID: ::DWORD = 102; +pub const CERT_KEY_REPAIR_ATTEMPTED_PROP_ID: ::DWORD = 103; +pub const CERT_DISALLOWED_FILETIME_PROP_ID: ::DWORD = 104; +pub const CERT_ROOT_PROGRAM_CHAIN_POLICIES_PROP_ID: ::DWORD = 105; +pub const CERT_SMART_CARD_READER_NON_REMOVABLE_PROP_ID: ::DWORD = 106; +pub const CERT_SHA256_HASH_PROP_ID: ::DWORD = 107; +pub const CERT_SCEP_SERVER_CERTS_PROP_ID: ::DWORD = 108; +pub const CERT_SCEP_RA_SIGNATURE_CERT_PROP_ID: ::DWORD = 109; +pub const CERT_SCEP_RA_ENCRYPTION_CERT_PROP_ID: ::DWORD = 110; +pub const CERT_SCEP_CA_CERT_PROP_ID: ::DWORD = 111; +pub const CERT_SCEP_SIGNER_CERT_PROP_ID: ::DWORD = 112; +pub const CERT_SCEP_NONCE_PROP_ID: ::DWORD = 113; +pub const CERT_SCEP_ENCRYPT_HASH_CNG_ALG_PROP_ID: ::DWORD = 114; +pub const CERT_SCEP_FLAGS_PROP_ID: ::DWORD = 115; +pub const CERT_SCEP_GUID_PROP_ID: ::DWORD = 116; +pub const CERT_SERIALIZABLE_KEY_CONTEXT_PROP_ID: ::DWORD = 117; +pub const CERT_ISOLATED_KEY_PROP_ID: ::DWORD = 118; +pub const CERT_FIRST_RESERVED_PROP_ID: ::DWORD = 119; +pub const CERT_LAST_RESERVED_PROP_ID: ::DWORD = 0x00007FFF; +pub const CERT_FIRST_USER_PROP_ID: ::DWORD = 0x00008000; +pub const CERT_LAST_USER_PROP_ID: ::DWORD = 0x0000FFFF; +pub const szOID_CERT_PROP_ID_PREFIX: &'static str = "1.3.6.1.4.1.311.10.11."; +pub const szOID_CERT_KEY_IDENTIFIER_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.20"; +pub const szOID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID: &'static str + = "1.3.6.1.4.1.311.10.11.28"; +pub const szOID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.29"; +pub const szOID_CERT_MD5_HASH_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.4"; +pub const szOID_CERT_SIGNATURE_HASH_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.15"; +pub const szOID_DISALLOWED_HASH: &'static str = szOID_CERT_SIGNATURE_HASH_PROP_ID; +pub const szOID_CERT_DISALLOWED_FILETIME_PROP_ID: &'static str = "1.3.6.1.4.1.311.10.11.104"; +pub const CERT_ACCESS_STATE_WRITE_PERSIST_FLAG: ::DWORD = 0x1; +pub const CERT_ACCESS_STATE_SYSTEM_STORE_FLAG: ::DWORD = 0x2; +pub const CERT_ACCESS_STATE_LM_SYSTEM_STORE_FLAG: ::DWORD = 0x4; +pub const CERT_ACCESS_STATE_GP_SYSTEM_STORE_FLAG: ::DWORD = 0x8; +pub const CERT_ACCESS_STATE_SHARED_USER_FLAG: ::DWORD = 0x10; +pub const szOID_ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION: &'static str = "1.3.6.1.4.1.311.60.3.1"; +pub const szOID_ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION: &'static str = "1.3.6.1.4.1.311.60.3.2"; +pub const szOID_ROOT_PROGRAM_NO_OCSP_FAILOVER_TO_CRL: &'static str = "1.3.6.1.4.1.311.60.3.3"; +STRUCT!{struct CRYPT_KEY_PROV_PARAM { + dwParam: ::DWORD, + pbData: *mut ::BYTE, + cbData: ::DWORD, + dwFlags: ::DWORD, +}} +pub type PCRYPT_KEY_PROV_PARAM = *mut CRYPT_KEY_PROV_PARAM; +STRUCT!{struct CRYPT_KEY_PROV_INFO { + pwszContainerName: ::LPWSTR, + pwszProvName: ::LPWSTR, + dwProvType: ::DWORD, + dwFlags: ::DWORD, + cProvParam: ::DWORD, + rgProvParam: PCRYPT_KEY_PROV_PARAM, + dwKeySpec: ::DWORD, +}} +pub type PCRYPT_KEY_PROV_INFO = *mut CRYPT_KEY_PROV_INFO; +pub const CERT_SET_KEY_PROV_HANDLE_PROP_ID: ::DWORD = 0x00000001; +pub const CERT_SET_KEY_CONTEXT_PROP_ID: ::DWORD = 0x00000001; +pub const CERT_NCRYPT_KEY_SPEC: ::DWORD = 0xFFFFFFFF; +//20213 +pub type HCERT_SERVER_OCSP_RESPONSE = *mut ::c_void; +STRUCT!{struct CERT_SERVER_OCSP_RESPONSE_CONTEXT { + cbSize: ::DWORD, + pbEncodedOcspResponse: *mut ::BYTE, + cbEncodedOcspResponse: ::DWORD, +}} +pub type PCERT_SERVER_OCSP_RESPONSE_CONTEXT = *mut CERT_SERVER_OCSP_RESPONSE_CONTEXT; +pub type PCCERT_SERVER_OCSP_RESPONSE_CONTEXT = *const CERT_SERVER_OCSP_RESPONSE_CONTEXT; + +pub const CERT_CHAIN_CACHE_END_CERT: ::DWORD = 0x00000001; +pub const CERT_CHAIN_THREAD_STORE_SYNC: ::DWORD = 0x00000002; +pub const CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL: ::DWORD = 0x00000004; +pub const CERT_CHAIN_USE_LOCAL_MACHINE_STORE: ::DWORD = 0x00000008; +pub const CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE: ::DWORD = 0x00000010; +pub const CERT_CHAIN_ENABLE_SHARE_STORE: ::DWORD = 0x00000020; + +STRUCT!{struct CERT_CHAIN_ENGINE_CONFIG { + cbSize: ::DWORD, + hRestrictedRoot: HCERTSTORE, + hRestrictedTrust: HCERTSTORE, + hRestrictedOther: HCERTSTORE, + cAdditionalStore: ::DWORD, + rghAdditionalStore: *mut HCERTSTORE, + dwFlags: ::DWORD, + dwUrlRetrievalTimeout: ::DWORD, + MaximumCachedCertificates: ::DWORD, + CycleDetectionModulus: ::DWORD, + // #if (NTDDI_VERSION >= NTDDI_WIN7) + hExclusiveRoot: HCERTSTORE, + hExclusiveTrustedPeople: HCERTSTORE, + // #if (NTDDI_VERSION >= NTDDI_WIN8) + dwExclusiveFlags: ::DWORD, +}} +pub type PCERT_CHAIN_ENGINE_CONFIG = *mut CERT_CHAIN_ENGINE_CONFIG; +// 18748 +pub type HCERTCHAINENGINE = ::HANDLE; +pub type PFN_CERT_CREATE_CONTEXT_SORT_FUNC = Option<unsafe extern "system" fn( + cbTotalEncoded: ::DWORD, cbRemainEncoded: ::DWORD, cEntry: ::DWORD, pvSort: *mut ::c_void +) -> ::BOOL>; +STRUCT!{nodebug struct CERT_CREATE_CONTEXT_PARA { + cbSize: ::DWORD, + pfnFree: PFN_CRYPT_FREE, + pvFree: *mut ::c_void, + pfnSort: PFN_CERT_CREATE_CONTEXT_SORT_FUNC, + pvSort: *mut ::c_void, +}} +pub type PCERT_CREATE_CONTEXT_PARA = *mut CERT_CREATE_CONTEXT_PARA; +STRUCT!{struct CERT_EXTENSIONS { + cExtension: ::DWORD, + rgExtension: PCERT_EXTENSION, +}} +pub type PCERT_EXTENSIONS = *mut CERT_EXTENSIONS; +STRUCT!{struct CERT_REVOCATION_CRL_INFO { + cbSize: ::DWORD, + pBaseCrlContext: PCCRL_CONTEXT, + pDeltaCrlContext: PCCRL_CONTEXT, + pCrlEntry: PCRL_ENTRY, + fDeltaCrlEntry: ::BOOL, +}} +pub type PCERT_REVOCATION_CRL_INFO = *mut CERT_REVOCATION_CRL_INFO; +STRUCT!{struct CERT_TRUST_STATUS { + dwErrorStatus: ::DWORD, + dwInfoStatus: ::DWORD, +}} +pub type PCERT_TRUST_STATUS = *mut CERT_TRUST_STATUS; +STRUCT!{struct CERT_REVOCATION_INFO { + cbSize: ::DWORD, + dwRevocationResult: ::DWORD, + pszRevocationOid: ::LPCSTR, + pvOidSpecificInfo: ::LPVOID, + fHasFreshnessTime: ::BOOL, + dwFreshnessTime: ::DWORD, + pCrlInfo: PCERT_REVOCATION_CRL_INFO, +}} +pub type PCERT_REVOCATION_INFO = *mut CERT_REVOCATION_INFO; +STRUCT!{struct CERT_TRUST_LIST_INFO { + cbSize: ::DWORD, + pCtlEntry: PCTL_ENTRY, + pCtlContext: PCCTL_CONTEXT, +}} +pub type PCERT_TRUST_LIST_INFO = *mut CERT_TRUST_LIST_INFO; +STRUCT!{struct CERT_CHAIN_ELEMENT { + cbSize: ::DWORD, + pCertContext: PCCERT_CONTEXT, + TrustStatus: CERT_TRUST_STATUS, + pRevocationInfo: PCERT_REVOCATION_INFO, + pIssuanceUsage: PCERT_ENHKEY_USAGE, + pApplicationUsage: PCERT_ENHKEY_USAGE, + pwszExtendedErrorInfo: ::LPWSTR, +}} +pub type PCERT_CHAIN_ELEMENT = *mut CERT_CHAIN_ELEMENT; +pub type PCCERT_CHAIN_ELEMENT = *const CERT_CHAIN_ELEMENT; +STRUCT!{struct CERT_SIMPLE_CHAIN { + cbSize: ::DWORD, + TrustStatus: CERT_TRUST_STATUS, + cElement: ::DWORD, + rgpElement: *mut PCERT_CHAIN_ELEMENT, + pTrustListInfo: PCERT_TRUST_LIST_INFO, + fHasRevocationFreshnessTime: ::BOOL, + dwRevocationFreshnessTime: ::DWORD, +}} +pub type PCERT_SIMPLE_CHAIN = *mut CERT_SIMPLE_CHAIN; +pub type PCCERT_SIMPLE_CHAIN = *const CERT_SIMPLE_CHAIN; +STRUCT!{struct CERT_CHAIN_CONTEXT { + cbSize: ::DWORD, + TrustStatus: CERT_TRUST_STATUS, + cChain: ::DWORD, + rgpChain: *mut PCERT_SIMPLE_CHAIN, + cLowerQualityChainContext: ::DWORD, + rgpLowerQualityChainContext: *mut PCCERT_CHAIN_CONTEXT, + fHasRevocationFreshnessTime: ::BOOL, + dwRevocationFreshnessTime: ::DWORD, + dwCreateFlags: ::DWORD, + ChainId: ::GUID, +}} +pub type PCERT_CHAIN_CONTEXT = *mut CERT_CHAIN_CONTEXT; +pub type PCCERT_CHAIN_CONTEXT = *const CERT_CHAIN_CONTEXT; +STRUCT!{struct CERT_PHYSICAL_STORE_INFO { + cbSize: ::DWORD, + pszOpenStoreProvider: ::LPSTR, + dwOpenEncodingType: ::DWORD, + dwOpenFlags: ::DWORD, + OpenParameters: CRYPT_DATA_BLOB, + dwFlags: ::DWORD, + dwPriority: ::DWORD, +}} +pub type PCERT_PHYSICAL_STORE_INFO = *mut CERT_PHYSICAL_STORE_INFO; +STRUCT!{struct CERT_SYSTEM_STORE_INFO { + cbSize: ::DWORD, +}} +pub type PCERT_SYSTEM_STORE_INFO = *mut CERT_SYSTEM_STORE_INFO; +//13401 +pub type PFN_CERT_ENUM_SYSTEM_STORE_LOCATION = Option<unsafe extern "system" fn( + pwszStoreLocation: ::LPCWSTR, dwFlags: ::DWORD, pvReserved: *mut ::c_void, pvArg: *mut ::c_void, +) -> ::BOOL>; +//13408 +pub type PFN_CERT_ENUM_SYSTEM_STORE = Option<unsafe extern "system" fn( + pvSystemStore: *const ::c_void, dwFlags: ::DWORD, pStoreInfo: PCERT_SYSTEM_STORE_INFO, + pvReserved: *mut ::c_void, pvArg: *mut ::c_void, +) -> ::BOOL>; +//13416 +pub type PFN_CERT_ENUM_PHYSICAL_STORE = Option<unsafe extern "system" fn( + pvSystemStore: *const ::c_void, dwFlags: ::DWORD, pwszStoreName: ::LPCWSTR, + pStoreInfo: PCERT_PHYSICAL_STORE_INFO, pvReserved: *mut ::c_void, pvArg: *mut ::c_void, +) -> ::BOOL>; +STRUCT!{struct CERT_STRONG_SIGN_SERIALIZED_INFO { + dwFlags: ::DWORD, + pwszCNGSignHashAlgids: ::LPWSTR, + pwszCNGPubKeyMinBitLengths: ::LPWSTR, +}} +pub type PCERT_STRONG_SIGN_SERIALIZED_INFO = *mut CERT_STRONG_SIGN_SERIALIZED_INFO; +STRUCT!{struct CERT_STRONG_SIGN_PARA { + cbSize: ::DWORD, + dwInfoChoice: ::DWORD, + pvInfo: *mut ::c_void, +}} +UNION!( + CERT_STRONG_SIGN_PARA, pvInfo, pSerializedInfo, pSerializedInfo_mut, + PCERT_STRONG_SIGN_SERIALIZED_INFO +); +UNION!(CERT_STRONG_SIGN_PARA, pvInfo, pszOID, pszOID_mut, ::LPSTR); +pub type PCERT_STRONG_SIGN_PARA = *mut CERT_STRONG_SIGN_PARA; +pub type PCCERT_STRONG_SIGN_PARA = *const CERT_STRONG_SIGN_PARA; +pub const USAGE_MATCH_TYPE_AND: ::DWORD = 0x00000000; +pub const USAGE_MATCH_TYPE_OR: ::DWORD = 0x00000001; +STRUCT!{struct CERT_USAGE_MATCH { + dwType: ::DWORD, + Usage: CERT_ENHKEY_USAGE, +}} +pub type PCERT_USAGE_MATCH = *mut CERT_USAGE_MATCH; +STRUCT!{struct CERT_CHAIN_PARA { + cbSize: ::DWORD, + RequestedUsage: CERT_USAGE_MATCH, + RequestedIssuancePolicy: CERT_USAGE_MATCH, + dwUrlRetrievalTimeout: ::DWORD, + fCheckRevocationFreshnessTime: ::BOOL, + dwRevocationFreshnessTime: ::DWORD, + pftCacheResync: ::LPFILETIME, + pStrongSignPara: PCCERT_STRONG_SIGN_PARA, + dwStrongSignFlags: ::DWORD, +}} +pub type PCERT_CHAIN_PARA = *mut CERT_CHAIN_PARA; +STRUCT!{struct CERT_SELECT_CHAIN_PARA { + hChainEngine: HCERTCHAINENGINE, + pTime: ::PFILETIME, + hAdditionalStore: HCERTSTORE, + pChainPara: PCERT_CHAIN_PARA, + dwFlags: ::DWORD, +}} +pub type PCERT_SELECT_CHAIN_PARA = *mut CERT_SELECT_CHAIN_PARA; +pub type PCCERT_SELECT_CHAIN_PARA = *const CERT_SELECT_CHAIN_PARA; +STRUCT!{struct CERT_SELECT_CRITERIA { + dwType: ::DWORD, + cPara: ::DWORD, + ppPara: *mut *mut ::c_void, +}} +pub type PCERT_SELECT_CRITERIA = *mut CERT_SELECT_CRITERIA; +pub type PCCERT_SELECT_CRITERIA = *const CERT_SELECT_CRITERIA; +STRUCT!{struct CTL_VERIFY_USAGE_PARA { + cbSize: ::DWORD, + ListIdentifier: CRYPT_DATA_BLOB, + cCtlStore: ::DWORD, + rghCtlStore: *mut HCERTSTORE, + cSignerStore: ::DWORD, + rghSignerStore: *mut HCERTSTORE, +}} +pub type PCTL_VERIFY_USAGE_PARA = *mut CTL_VERIFY_USAGE_PARA; +STRUCT!{struct CTL_VERIFY_USAGE_STATUS { + cbSize: ::DWORD, + dwError: ::DWORD, + dwFlags: ::DWORD, + ppCtl: *mut PCCTL_CONTEXT, + dwCtlEntryIndex: ::DWORD, + ppSigner: *mut PCCERT_CONTEXT, + dwSignerIndex: ::DWORD, +}} +pub type PCTL_VERIFY_USAGE_STATUS = *mut CTL_VERIFY_USAGE_STATUS; +STRUCT!{struct CERT_CHAIN_POLICY_PARA { + cbSize: ::DWORD, + dwFlags: ::DWORD, + pvExtraPolicyPara: *mut ::c_void, +}} +pub type PCERT_CHAIN_POLICY_PARA = *mut CERT_CHAIN_POLICY_PARA; +STRUCT!{struct CERT_CHAIN_POLICY_STATUS { + cbSize: ::DWORD, + dwError: ::DWORD, + lChainIndex: ::LONG, + lElementIndex: ::LONG, + pvExtraPolicyStatus: *mut ::c_void, +}} +pub type PCERT_CHAIN_POLICY_STATUS = *mut CERT_CHAIN_POLICY_STATUS; +STRUCT!{struct CERT_REVOCATION_CHAIN_PARA { + cbSize: ::DWORD, + hChainEngine: HCERTCHAINENGINE, + hAdditionalStore: HCERTSTORE, + dwChainFlags: ::DWORD, + dwUrlRetrievalTimeout: ::DWORD, + pftCurrentTime: ::LPFILETIME, + pftCacheResync: ::LPFILETIME, +}} +pub type PCERT_REVOCATION_CHAIN_PARA = *mut CERT_REVOCATION_CHAIN_PARA; +STRUCT!{struct CERT_REVOCATION_PARA { + cbSize: ::DWORD, + pIssuerCert: PCCERT_CONTEXT, + cCertStore: ::DWORD, + rgCertStore: *mut HCERTSTORE, + hCrlStore: HCERTSTORE, + pftTimeToUse: ::LPFILETIME, + dwUrlRetrievalTimeout: ::DWORD, + fCheckFreshnessTime: ::BOOL, + dwFreshnessTime: ::DWORD, + pftCurrentTime: ::LPFILETIME, + pCrlInfo: PCERT_REVOCATION_CRL_INFO, + pftCacheResync: ::LPFILETIME, + pChainPara: PCERT_REVOCATION_CHAIN_PARA, +}} +pub type PCERT_REVOCATION_PARA = *mut CERT_REVOCATION_PARA; +STRUCT!{struct CERT_REVOCATION_STATUS { + cbSize: ::DWORD, + dwIndex: ::DWORD, + dwError: ::DWORD, + dwReason: ::DWORD, + fHasFreshnessTime: ::BOOL, + dwFreshnessTime: ::DWORD, +}} +pub type PCERT_REVOCATION_STATUS = *mut CERT_REVOCATION_STATUS; +//16990 +pub type HCRYPTASYNC = ::HANDLE; +pub type PHCRYPTASYNC = *mut ::HANDLE; +STRUCT!{struct CRYPT_ENCRYPT_MESSAGE_PARA { + cbSize: ::DWORD, + dwMsgEncodingType: ::DWORD, + hCryptProv: HCRYPTPROV_LEGACY, + ContentEncryptionAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pvEncryptionAuxInfo: *mut ::c_void, + dwFlags: ::DWORD, + dwInnerContentType: ::DWORD, +}} +pub type PCRYPT_ENCRYPT_MESSAGE_PARA = *mut CRYPT_DECRYPT_MESSAGE_PARA; +STRUCT!{struct CRYPT_DECRYPT_MESSAGE_PARA { + cbSize: ::DWORD, + dwMsgAndCertEncodingType: ::DWORD, + cCertStore: ::DWORD, + rghCertStore: *mut HCERTSTORE, + dwFlags: ::DWORD, +}} +pub type PCRYPT_DECRYPT_MESSAGE_PARA = *mut CRYPT_DECRYPT_MESSAGE_PARA; +pub type PFN_CRYPT_GET_SIGNER_CERTIFICATE = Option<unsafe extern "system" fn( + pvGetArg: *mut ::c_void, dwCertEncodingType: ::DWORD, pSignerId: PCERT_INFO, + hMsgCertStore: HCERTSTORE, +) -> PCCERT_CONTEXT>; +STRUCT!{nodebug struct CRYPT_VERIFY_MESSAGE_PARA { + cbSize: ::DWORD, + dwMsgAndCertEncodingType: ::DWORD, + hCryptProv: HCRYPTPROV_LEGACY, + pfnGetSignerCertificate: PFN_CRYPT_GET_SIGNER_CERTIFICATE, + pvGetArg: *mut ::c_void, + pStrongSignPara: PCCERT_STRONG_SIGN_PARA, +}} +pub type PCRYPT_VERIFY_MESSAGE_PARA = *mut CRYPT_VERIFY_MESSAGE_PARA; +STRUCT!{struct CRYPT_OID_INFO { + cbSize: ::DWORD, + oszOID: ::LPCSTR, + pwszName: ::LPCWSTR, + dwGroupId: ::DWORD, + dwValue: ::DWORD, + ExtraInfo: CRYPT_DATA_BLOB, + pwszCNGAlgid: ::LPCWSTR, + pwszCNGExtraAlgid: ::LPCWSTR, +}} +UNION!(CRYPT_OID_INFO, dwValue, Algid, Algid_mut, ALG_ID); +UNION!(CRYPT_OID_INFO, dwValue, dwLength, dwLength_mut, ::DWORD); +pub type PCRYPT_OID_INFO = *mut CRYPT_OID_INFO; +pub type PCCRYPT_OID_INFO = *const CRYPT_OID_INFO; +//18004 +pub type PFN_CRYPT_ENUM_KEYID_PROP = Option<unsafe extern "system" fn( + pKeyIdentifier: *const CRYPT_HASH_BLOB, dwFlags: ::DWORD, pvReserved: *mut ::c_void, + pvArg: *mut ::c_void, cProp: ::DWORD, rgdwPropId: *mut ::DWORD, rgpvData: *mut *mut ::c_void, + rgcbData: *mut ::DWORD, +) -> ::BOOL>; +//6379 +pub type PFN_CRYPT_ENUM_OID_FUNC = Option<unsafe extern "system" fn( + dwEncodingType: ::DWORD, pszFuncName: ::LPCSTR, pszOID: ::LPCSTR, cValue: ::DWORD, + rgdwValueType: *const ::DWORD, rgpwszValueName: *const ::LPCWSTR, + rgpbValueData: *const *const ::BYTE, rgcbValueData: *const ::DWORD, pvArg: *mut ::c_void, +) -> ::BOOL>; +//6675 +pub type PFN_CRYPT_ENUM_OID_INFO = Option<unsafe extern "system" fn( + pInfo: PCCRYPT_OID_INFO, pvArg: *mut ::c_void, +) -> ::BOOL>; +//6022 +pub type HCRYPTOIDFUNCSET = *mut ::c_void; +pub type HCRYPTOIDFUNCADDR = *mut ::c_void; +pub type PFN_CRYPT_ASYNC_PARAM_FREE_FUNC = Option<unsafe extern "system" fn( + pszParamOid: ::LPSTR, pvParam: ::LPVOID, +)>; +STRUCT!{struct CRYPT_HASH_MESSAGE_PARA { + cbSize: ::DWORD, + dwMsgEncodingType: ::DWORD, + hCryptProv: HCRYPTPROV_LEGACY, + HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pvHashAuxInfo: *mut ::c_void, +}} +pub type PCRYPT_HASH_MESSAGE_PARA = *mut CRYPT_HASH_MESSAGE_PARA; +//14750 +pub type HCRYPTDEFAULTCONTEXT = *mut ::c_void; +STRUCT!{struct CRYPT_OID_FUNC_ENTRY { + pszOID: ::LPCSTR, + pvFuncAddr: *mut ::c_void, +}} +pub type PCRYPT_OID_FUNC_ENTRY = *mut CRYPT_OID_FUNC_ENTRY; +STRUCT!{struct CMSG_SIGNER_ENCODE_INFO { + cbSize: ::DWORD, + pCertInfo: PCERT_INFO, + hCryptProv: HCRYPTPROV, + dwKeySpec: ::DWORD, + HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pvHashAuxInfo: *mut ::c_void, + cAuthAttr: ::DWORD, + rgAuthAttr: PCRYPT_ATTRIBUTE, + cUnauthAttr: ::DWORD, + rgUnauthAttr: PCRYPT_ATTRIBUTE, +}} +UNION!(CMSG_SIGNER_ENCODE_INFO, hCryptProv, hNCryptKey, hNCryptKey_mut, ::NCRYPT_KEY_HANDLE); +pub type PCMSG_SIGNER_ENCODE_INFO = *mut CMSG_SIGNER_ENCODE_INFO; +STRUCT!{struct CMSG_SIGNED_ENCODE_INFO { + cbSize: ::DWORD, + cSigners: ::DWORD, + rgSigners: PCMSG_SIGNER_ENCODE_INFO, + cCertEncoded: ::DWORD, + rgCertEncoded: PCERT_BLOB, + cCrlEncoded: ::DWORD, + rgCrlEncoded: PCRL_BLOB, +}} +pub type PCMSG_SIGNED_ENCODE_INFO = *mut CMSG_SIGNED_ENCODE_INFO; +//7393 +pub type PFN_CMSG_STREAM_OUTPUT = Option<unsafe extern "system" fn( + pvArg: *const ::c_void, pbData: *mut ::BYTE, cbData: ::DWORD, fFinal: ::BOOL, +) -> ::BOOL>; +STRUCT!{nodebug struct CMSG_STREAM_INFO { + cbContent: ::DWORD, + pfnStreamOutput: PFN_CMSG_STREAM_OUTPUT, + pvArg: *mut ::c_void, +}} +pub type PCMSG_STREAM_INFO = *mut CMSG_STREAM_INFO; +STRUCT!{struct CRYPT_TIMESTAMP_ACCURACY { + dwSeconds: ::DWORD, + dwMillis: ::DWORD, + dwMicros: ::DWORD, +}} +pub type PCRYPT_TIMESTAMP_ACCURACY = *mut CRYPT_TIMESTAMP_ACCURACY; +STRUCT!{struct CRYPT_TIMESTAMP_INFO { + dwVersion: ::DWORD, + pszTSAPolicyId: ::LPSTR, + HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + HashedMessage: CRYPT_DER_BLOB, + SerialNumber: CRYPT_INTEGER_BLOB, + ftTime: ::FILETIME, + pvAccuracy: PCRYPT_TIMESTAMP_ACCURACY, + fOrdering: ::BOOL, + Nonce: CRYPT_DER_BLOB, + Tsa: CRYPT_DER_BLOB, + cExtension: ::DWORD, + rgExtension: PCERT_EXTENSION, +}} +pub type PCRYPT_TIMESTAMP_INFO = *mut CRYPT_TIMESTAMP_INFO; +STRUCT!{struct CRYPT_TIMESTAMP_CONTEXT { + cbEncoded: ::DWORD, + pbEncoded: *mut ::BYTE, + pTimeStamp: PCRYPT_TIMESTAMP_INFO, +}} +pub type PCRYPT_TIMESTAMP_CONTEXT = *mut CRYPT_TIMESTAMP_CONTEXT; +STRUCT!{struct CRYPT_TIMESTAMP_PARA { + pszTSAPolicyId: ::LPCSTR, + fRequestCerts: ::BOOL, + Nonce: CRYPT_INTEGER_BLOB, + cExtension: ::DWORD, + rgExtension: PCERT_EXTENSION, +}} +pub type PCRYPT_TIMESTAMP_PARA = *mut CRYPT_TIMESTAMP_PARA; +STRUCT!{struct CRYPT_SIGN_MESSAGE_PARA { + cbSize: ::DWORD, + dwMsgEncodingType: ::DWORD, + pSigningCert: PCCERT_CONTEXT, + HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pvHashAuxInfo: *mut ::c_void, + cMsgCert: ::DWORD, + rgpMsgCert: *mut PCCERT_CONTEXT, + cMsgCrl: ::DWORD, + rgpMsgCrl: *mut PCCRL_CONTEXT, + cAuthAttr: ::DWORD, + rgAuthAttr: PCRYPT_ATTRIBUTE, + cUnauthAttr: ::DWORD, + rgUnauthAttr: PCRYPT_ATTRIBUTE, + dwFlags: ::DWORD, + dwInnerContentType: ::DWORD, +}} +pub type PCRYPT_SIGN_MESSAGE_PARA = *mut CRYPT_SIGN_MESSAGE_PARA; +STRUCT!{struct CRYPT_KEY_SIGN_MESSAGE_PARA { + cbSize: ::DWORD, + dwMsgAndCertEncodingType: ::DWORD, + hCryptProv: HCRYPTPROV, + dwKeySpec: ::DWORD, + HashAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, + pvHashAuxInfo: *mut ::c_void, + PubKeyAlgorithm: CRYPT_ALGORITHM_IDENTIFIER, +}} +UNION!(CRYPT_KEY_SIGN_MESSAGE_PARA, hCryptProv, hNCryptKey, hNCryptKey_mut, ::NCRYPT_KEY_HANDLE); +pub type PCRYPT_KEY_SIGN_MESSAGE_PARA = *mut CRYPT_KEY_SIGN_MESSAGE_PARA; +STRUCT!{struct CRYPT_KEY_VERIFY_MESSAGE_PARA { + cbSize: ::DWORD, + dwMsgEncodingType: ::DWORD, + hCryptProv: HCRYPTPROV_LEGACY, +}} +pub type PCRYPT_KEY_VERIFY_MESSAGE_PARA = *mut CRYPT_KEY_VERIFY_MESSAGE_PARA; +STRUCT!{struct HTTPSPolicyCallbackData { + cbSize: ::DWORD, + dwAuthType: ::DWORD, + fdwChecks: ::DWORD, + pwszServerName: *mut ::WCHAR, +}} +pub type PHTTPSPolicyCallbackData = *mut HTTPSPolicyCallbackData; +pub type SSL_EXTRA_CERT_CHAIN_POLICY_PARA = HTTPSPolicyCallbackData; +pub type PSSL_EXTRA_CERT_CHAIN_POLICY_PARA = *mut HTTPSPolicyCallbackData; +pub const AUTHTYPE_CLIENT: ::DWORD = 1; +pub const AUTHTYPE_SERVER: ::DWORD = 2; +pub const CTL_ENTRY_FROM_PROP_CHAIN_FLAG: ::DWORD = 0x1; +pub const CMSG_ENCODE_SORTED_CTL_FLAG: ::DWORD = 0x1; +pub const CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG: ::DWORD = 0x2; diff --git a/third_party/rust/winapi-0.2.8/src/windef.rs b/third_party/rust/winapi-0.2.8/src/windef.rs new file mode 100644 index 0000000000..6493b48c1f --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/windef.rs @@ -0,0 +1,57 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Basic Windows Type Definitions +DECLARE_HANDLE!(HWND, HWND__); +DECLARE_HANDLE!(HHOOK, HHOOK__); +DECLARE_HANDLE!(HEVENT, HEVENT__); +pub type HGDIOBJ = *mut ::c_void; +DECLARE_HANDLE!(HACCEL, HACCEL__); +DECLARE_HANDLE!(HBITMAP, HBITMAP__); +DECLARE_HANDLE!(HBRUSH, HBRUSH__); +DECLARE_HANDLE!(HCOLORSPACE, HCOLORSPACE__); +DECLARE_HANDLE!(HDC, HDC__); +DECLARE_HANDLE!(HGLRC, HGLRC__); +DECLARE_HANDLE!(HDESK, HDESK__); +DECLARE_HANDLE!(HENHMETAFILE, HENHMETAFILE__); +DECLARE_HANDLE!(HFONT, HFONT__); +DECLARE_HANDLE!(HICON, HICON__); +DECLARE_HANDLE!(HMENU, HMENU__); +DECLARE_HANDLE!(HPALETTE, HPALETTE__); +DECLARE_HANDLE!(HPEN, HPEN__); +DECLARE_HANDLE!(HWINEVENTHOOK, HWINEVENTHOOK__); +DECLARE_HANDLE!(HMONITOR, HMONITOR__); +DECLARE_HANDLE!(HUMPD, HUMPD__); +pub type HCURSOR = HICON; +pub type COLORREF = ::DWORD; +pub type LPCOLORREF = *mut ::DWORD; +STRUCT!{struct RECT { + left: ::LONG, + top: ::LONG, + right: ::LONG, + bottom: ::LONG, +}} +pub type PRECT = *mut RECT; +pub type NPRECT = *mut RECT; +pub type LPRECT = *mut RECT; +pub type LPCRECT = *const RECT; +STRUCT!{struct RECTL { + left: ::LONG, + top: ::LONG, + right: ::LONG, + bottom: ::LONG, +}} +pub type PRECTL = *mut RECTL; +pub type LPRECTL = *mut RECTL; +pub type LPCRECTL = *const RECTL; +STRUCT!{struct POINT { + x: ::LONG, + y: ::LONG, +}} +pub type PPOINT = *mut POINT; +pub type NPPOINT = *mut POINT; +pub type LPPOINT = *mut POINT; +STRUCT!{struct POINTL { + x: ::LONG, + y: ::LONG, +}} +pub type PPOINTL = *mut POINTL; diff --git a/third_party/rust/winapi-0.2.8/src/windowscodecs.rs b/third_party/rust/winapi-0.2.8/src/windowscodecs.rs new file mode 100644 index 0000000000..37596264c2 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/windowscodecs.rs @@ -0,0 +1,363 @@ +// Copyright © 2015; Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of wincodec.h +pub type WICColor = ::UINT32; +pub type WICInProcPointer = *mut ::BYTE; +pub type REFWICPixelFormatGUID = ::REFGUID; +pub type WICPixelFormatGUID = ::GUID; +STRUCT!{struct WICRect { + X: ::INT, + Y: ::INT, + Width: ::INT, + Height: ::INT, +}} +ENUM!{enum WICColorContextType { + WICColorContextUninitialized = 0, + WICColorContextProfile = 0x1, + WICColorContextExifColorSpace = 0x2, +}} +ENUM!{enum WICBitmapCreateCacheOption { + WICBitmapNoCache = 0, + WICBitmapCacheOnDemand = 0x1, + WICBitmapCacheOnLoad = 0x2, +}} +ENUM!{enum WICDecodeOptions { + WICDecodeMetadataCacheOnDemand = 0, + WICDecodeMetadataCacheOnLoad = 0x1, +}} +ENUM!{enum WICBitmapEncoderCacheOption { + WICBitmapEncoderCacheInMemory = 0, + WICBitmapEncoderCacheTempFile = 0x1, + WICBitmapEncoderNoCache = 0x2, +}} +FLAGS!{enum WICComponentType { + WICDecoder = 0x1, + WICEncoder = 0x2, + WICPixelFormatConverter = 0x4, + WICMetadataReader = 0x8, + WICMetadataWriter = 0x10, + WICPixelFormat = 0x20, + WICAllComponents = 0x3f, +}} +FLAGS!{enum WICComponentEnumerateOptions { + WICComponentEnumerateDefault = 0, + WICComponentEnumerateRefresh = 0x1, + WICComponentEnumerateDisabled = 0x80000000, + WICComponentEnumerateUnsigned = 0x40000000, + WICComponentEnumerateBuiltInOnly = 0x20000000, +}} +#[allow(unused_qualifications)] +STRUCT!{struct WICBitmapPattern { + Position: ::ULARGE_INTEGER, + Length: ::ULONG, + Pattern: *mut ::BYTE, + Mask: *mut ::BYTE, + EndOfStream: ::BOOL, +}} +ENUM!{enum WICBitmapInterpolationMode { + WICBitmapInterpolationModeNearestNeighbor = 0, + WICBitmapInterpolationModeLinear = 0x1, + WICBitmapInterpolationModeCubic = 0x2, + WICBitmapInterpolationModeFant = 0x3, +}} +ENUM!{enum WICBitmapPaletteType { + WICBitmapPaletteTypeCustom = 0, + WICBitmapPaletteTypeMedianCut = 0x1, + WICBitmapPaletteTypeFixedBW = 0x2, + WICBitmapPaletteTypeFixedHalftone8 = 0x3, + WICBitmapPaletteTypeFixedHalftone27 = 0x4, + WICBitmapPaletteTypeFixedHalftone64 = 0x5, + WICBitmapPaletteTypeFixedHalftone125 = 0x6, + WICBitmapPaletteTypeFixedHalftone216 = 0x7, + WICBitmapPaletteTypeFixedHalftone252 = 0x8, + WICBitmapPaletteTypeFixedHalftone256 = 0x9, + WICBitmapPaletteTypeFixedGray4 = 0xa, + WICBitmapPaletteTypeFixedGray16 = 0xb, + WICBitmapPaletteTypeFixedGray256 = 0xc, +}} +pub const WICBitmapPaletteTypeFixedWebPalette: WICBitmapPaletteType = + WICBitmapPaletteTypeFixedHalftone216; +ENUM!{enum WICBitmapDitherType { + WICBitmapDitherTypeSolid = 0, + WICBitmapDitherTypeOrdered4x4 = 0x1, + WICBitmapDitherTypeOrdered8x8 = 0x2, + WICBitmapDitherTypeOrdered16x16 = 0x3, + WICBitmapDitherTypeSpiral4x4 = 0x4, + WICBitmapDitherTypeSpiral8x8 = 0x5, + WICBitmapDitherTypeDualSpiral4x4 = 0x6, + WICBitmapDitherTypeDualSpiral8x8 = 0x7, + WICBitmapDitherTypeErrorDiffusion = 0x8, +}} +pub const WICBitmapDitherTypeNone: WICBitmapDitherType = WICBitmapDitherTypeSolid; +ENUM!{enum WICBitmapAlphaChannelOption { + WICBitmapUseAlpha = 0, + WICBitmapUsePremultipliedAlpha = 0x1, + WICBitmapIgnoreAlpha = 0x2, +}} +FLAGS!{enum WICBitmapTransformOptions { + WICBitmapTransformRotate0 = 0, + WICBitmapTransformRotate90 = 0x1, + WICBitmapTransformRotate180 = 0x2, + WICBitmapTransformRotate270 = 0x3, + WICBitmapTransformFlipHorizontal = 0x8, + WICBitmapTransformFlipVertical = 0x10, +}} +FLAGS!{enum WICBitmapLockFlags { + WICBitmapLockRead = 0x1, + WICBitmapLockWrite = 0x2, +}} +FLAGS!{enum WICBitmapDecoderCapabilities { + WICBitmapDecoderCapabilitySameEncoder = 0x1, + WICBitmapDecoderCapabilityCanDecodeAllImages = 0x2, + WICBitmapDecoderCapabilityCanDecodeSomeImages = 0x4, + WICBitmapDecoderCapabilityCanEnumerateMetadata = 0x8, + WICBitmapDecoderCapabilityCanDecodeThumbnail = 0x10, +}} +FLAGS!{enum WICProgressOperation { + WICProgressOperationCopyPixels = 0x1, + WICProgressOperationWritePixels = 0x2, + WICProgressOperationAll = 0xffff, +}} +FLAGS!{enum WICProgressNotification { + WICProgressNotificationBegin = 0x10000, + WICProgressNotificationEnd = 0x20000, + WICProgressNotificationFrequent = 0x40000, + WICProgressNotificationAll = 0xffff0000, +}} +FLAGS!{enum WICComponentSigning { + WICComponentSigned = 0x1, + WICComponentUnsigned = 0x2, + WICComponentSafe = 0x4, + WICComponentDisabled = 0x80000000, +}} +ENUM!{enum WICGifLogicalScreenDescriptorProperties { + WICGifLogicalScreenSignature = 0x1, + WICGifLogicalScreenDescriptorWidth = 0x2, + WICGifLogicalScreenDescriptorHeight = 0x3, + WICGifLogicalScreenDescriptorGlobalColorTableFlag = 0x4, + WICGifLogicalScreenDescriptorColorResolution = 0x5, + WICGifLogicalScreenDescriptorSortFlag = 0x6, + WICGifLogicalScreenDescriptorGlobalColorTableSize = 0x7, + WICGifLogicalScreenDescriptorBackgroundColorIndex = 0x8, + WICGifLogicalScreenDescriptorPixelAspectRatio = 0x9, +}} +ENUM!{enum WICGifImageDescriptorProperties { + WICGifImageDescriptorLeft = 0x1, + WICGifImageDescriptorTop = 0x2, + WICGifImageDescriptorWidth = 0x3, + WICGifImageDescriptorHeight = 0x4, + WICGifImageDescriptorLocalColorTableFlag = 0x5, + WICGifImageDescriptorInterlaceFlag = 0x6, + WICGifImageDescriptorSortFlag = 0x7, + WICGifImageDescriptorLocalColorTableSize = 0x8, +}} +ENUM!{enum WICGifGraphicControlExtensionProperties { + WICGifGraphicControlExtensionDisposal = 0x1, + WICGifGraphicControlExtensionUserInputFlag = 0x2, + WICGifGraphicControlExtensionTransparencyFlag = 0x3, + WICGifGraphicControlExtensionDelay = 0x4, + WICGifGraphicControlExtensionTransparentColorIndex = 0x5, +}} +ENUM!{enum WICGifApplicationExtensionProperties { + WICGifApplicationExtensionApplication = 0x1, + WICGifApplicationExtensionData = 0x2, +}} +ENUM!{enum WICGifCommentExtensionProperties { + WICGifCommentExtensionText = 0x1, +}} +ENUM!{enum WICJpegCommentProperties { + WICJpegCommentText = 0x1, +}} +ENUM!{enum WICJpegLuminanceProperties { + WICJpegLuminanceTable = 0x1, +}} +ENUM!{enum WICJpegChrominanceProperties { + WICJpegChrominanceTable = 0x1, +}} +ENUM!{enum WIC8BIMIptcProperties { + WIC8BIMIptcPString = 0, + WIC8BIMIptcEmbeddedIPTC = 0x1, +}} +ENUM!{enum WIC8BIMResolutionInfoProperties { + WIC8BIMResolutionInfoPString = 0x1, + WIC8BIMResolutionInfoHResolution = 0x2, + WIC8BIMResolutionInfoHResolutionUnit = 0x3, + WIC8BIMResolutionInfoWidthUnit = 0x4, + WIC8BIMResolutionInfoVResolution = 0x5, + WIC8BIMResolutionInfoVResolutionUnit = 0x6, + WIC8BIMResolutionInfoHeightUnit = 0x7, +}} +ENUM!{enum WIC8BIMIptcDigestProperties { + WIC8BIMIptcDigestPString = 0x1, + WIC8BIMIptcDigestIptcDigest = 0x2, +}} +ENUM!{enum WICPngGamaProperties { + WICPngGamaGamma = 0x1, +}} +ENUM!{enum WICPngBkgdProperties { + WICPngBkgdBackgroundColor = 0x1, +}} +ENUM!{enum WICPngItxtProperties { + WICPngItxtKeyword = 0x1, + WICPngItxtCompressionFlag = 0x2, + WICPngItxtLanguageTag = 0x3, + WICPngItxtTranslatedKeyword = 0x4, + WICPngItxtText = 0x5, +}} +ENUM!{enum WICPngChrmProperties { + WICPngChrmWhitePointX = 0x1, + WICPngChrmWhitePointY = 0x2, + WICPngChrmRedX = 0x3, + WICPngChrmRedY = 0x4, + WICPngChrmGreenX = 0x5, + WICPngChrmGreenY = 0x6, + WICPngChrmBlueX = 0x7, + WICPngChrmBlueY = 0x8, +}} +ENUM!{enum WICPngHistProperties { + WICPngHistFrequencies = 0x1, +}} +ENUM!{enum WICPngIccpProperties { + WICPngIccpProfileName = 0x1, + WICPngIccpProfileData = 0x2, +}} +ENUM!{enum WICPngSrgbProperties { + WICPngSrgbRenderingIntent = 0x1, +}} +ENUM!{enum WICPngTimeProperties { + WICPngTimeYear = 0x1, + WICPngTimeMonth = 0x2, + WICPngTimeDay = 0x3, + WICPngTimeHour = 0x4, + WICPngTimeMinute = 0x5, + WICPngTimeSecond = 0x6, +}} +ENUM!{enum WICSectionAccessLevel { + WICSectionAccessLevelRead = 0x1, + WICSectionAccessLevelReadWrite = 0x3, +}} +ENUM!{enum WICPixelFormatNumericRepresentation { + WICPixelFormatNumericRepresentationUnspecified = 0, + WICPixelFormatNumericRepresentationIndexed = 0x1, + WICPixelFormatNumericRepresentationUnsignedInteger = 0x2, + WICPixelFormatNumericRepresentationSignedInteger = 0x3, + WICPixelFormatNumericRepresentationFixed = 0x4, + WICPixelFormatNumericRepresentationFloat = 0x5, +}} +ENUM!{enum WICPlanarOptions { + WICPlanarOptionsDefault = 0, + WICPlanarOptionsPreserveSubsampling = 0x1, +}} +#[allow(unused_qualifications)] +STRUCT!{struct WICImageParameters { + PixelFormat: ::D2D1_PIXEL_FORMAT, + DpiX: ::FLOAT, + DpiY: ::FLOAT, + Top: ::FLOAT, + Left: ::FLOAT, + PixelWidth: ::FLOAT, + PixelHeight: ::FLOAT, +}} +#[allow(unused_qualifications)] +STRUCT!{struct WICBitmapPlaneDescription { + Format: WICPixelFormatGUID, + Width: ::UINT, + Height: ::UINT, +}} +#[allow(unused_qualifications)] +STRUCT!{struct WICBitmapPlane { + Format: WICPixelFormatGUID, + pbBuffer: *mut ::BYTE, + cbStride: ::UINT, + cbBufferSize: ::UINT, +}} +RIDL!( +interface IWICPalette(IWICPaletteVtbl): IUnknown(IUnknownVtbl) { + fn InitializePredefined( + &mut self, ePaletteType: WICBitmapPaletteType, fAddTransparentColor: ::BOOL + ) -> ::HRESULT, + fn InitializeCustom(&mut self, pColors: *mut WICColor, cCount: ::UINT) -> ::HRESULT, + fn InitializeFromBitmap( + &mut self, pISurface: *mut IWICBitmapSource, cCount: ::UINT, fAddTransparentColor: ::BOOL + ) -> ::HRESULT, + fn InitializeFromPalette(&mut self, pIPalette: *mut IWICPalette) -> ::HRESULT, + fn GetType(&mut self, pePaletteType: *mut WICBitmapPaletteType) -> ::HRESULT, + fn GetColorCount(&mut self, pcCount: *mut ::UINT) -> ::HRESULT, + fn GetColors( + &mut self, cCount: ::UINT, pColros: *mut WICColor, pcActualColors: *mut ::UINT + ) -> ::HRESULT, + fn IsBlackWhite(&mut self, pfIsBlackWhite: *mut ::BOOL) -> ::HRESULT, + fn IsGrayscale(&mut self, pfIsGrayscale: *mut ::BOOL) -> ::HRESULT, + fn HasAlpha(&mut self, pfHasAlpha: *mut ::BOOL) -> ::HRESULT +}); +RIDL!( +interface IWICBitmapSource(IWICBitmapSourceVtbl): IUnknown(IUnknownVtbl) { + fn GetSize(&mut self, puiWidth: *mut ::UINT, puiHeight: ::UINT) -> ::HRESULT, + fn GetPixelFormat(&mut self, pPixelFormat: *mut WICPixelFormatGUID) -> ::HRESULT, + fn GetResolution(&mut self, pDpiX: *mut f64, pDpiY: *mut f64) -> ::HRESULT, + fn CopyPalette(&mut self, pIPalette: *mut IWICPalette) -> ::HRESULT, + fn CopyPixels( + &mut self, prc: *const WICRect, cbStride: ::UINT, cbBufferSize: ::UINT, + pbBuffer: *mut ::BYTE + ) -> ::HRESULT +}); +RIDL!( +interface IWICFormatConverter(IWICFormatConverterVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) { + fn Initialize( + &mut self, pISource: *mut IWICBitmapSource, dstFormat: REFWICPixelFormatGUID, + dither: WICBitmapDitherType, pIPalette: *mut IWICPalette, alphaThreasholdPercent: f64, + paletteTranslate: WICBitmapPaletteType + ) -> ::HRESULT, + fn CanConvert( + &mut self, srcPixelFormat: REFWICPixelFormatGUID, dstPixelFormat: REFWICPixelFormatGUID, + pfCanConvert: *mut ::BOOL + ) -> ::HRESULT +}); +RIDL!( +interface IWICPlanarFormatConverter(IWICPlanarFormatConverterVtbl) + : IWICBitmapSource(IWICBitmapSourceVtbl) { + fn Initialize( + &mut self, ppPlanes: *mut *mut IWICBitmapSource, cPlanes: ::UINT, + dstFormat: REFWICPixelFormatGUID, dither: WICBitmapDitherType, pIPalette: *mut IWICPalette, + alphaThreasholdPercent: f64, paletteTranslate: WICBitmapPaletteType + ) -> ::HRESULT, + fn CanConvert( + &mut self, pSrcPixelFormats: *const WICPixelFormatGUID, cSrcPlanes: ::UINT, + dstPixelFormat: REFWICPixelFormatGUID, pfCanConvert: *mut ::BOOL + ) -> ::HRESULT +}); +RIDL!( +interface IWICBitmapScaler(IWICBitmapScalerVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) { + fn Initialize( + &mut self, pISource: *mut IWICBitmapSource, uiWidth: ::UINT, uiHeight: ::UINT, + mode: WICBitmapInterpolationMode + ) -> ::HRESULT +}); +RIDL!( +interface IWICBitmapClipper(IWICBitmapClipperVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) { + fn Initialize(&mut self, pISource: *mut IWICBitmapSource, prc: *const WICRect) -> ::HRESULT +}); +RIDL!( +interface IWICBitmapFlipRotator(IWICBitmapFlipRotatorVtbl) + : IWICBitmapSource(IWICBitmapSourceVtbl) { + fn Initialize( + &mut self, pISource: *mut IWICBitmapSource, options: WICBitmapTransformOptions + ) -> ::HRESULT +}); +RIDL!( +interface IWICBitmapLock(IWICBitmapLockVtbl): IUnknown(IUnknownVtbl) { + fn GetSize(&mut self, puiWidth: *mut ::UINT, puiHeight: *mut ::UINT) -> ::HRESULT, + fn GetStride(&mut self, pcbStride: *mut ::UINT) -> ::HRESULT, + fn GetDataPointer( + &mut self, pcbBufferSize: *mut ::UINT, ppbData: *mut WICInProcPointer + ) -> ::HRESULT, + fn GetPixelFormat(&mut self, pPixelFormat: *mut WICPixelFormatGUID) -> ::HRESULT +}); +RIDL!( +interface IWICBitmap(IWICBitmapVtbl): IWICBitmapSource(IWICBitmapSourceVtbl) { + fn Lock( + &mut self, prcLock: *const WICRect, flags: ::DWORD, ppILock: *mut *mut IWICBitmapLock + ) -> ::HRESULT, + fn SetPalette(&mut self, pIPalette: *mut IWICPalette) -> ::HRESULT, + fn SetResolution(&mut self, dpiX: f64, dpiY: f64) -> ::HRESULT +}); diff --git a/third_party/rust/winapi-0.2.8/src/windowsx.rs b/third_party/rust/winapi-0.2.8/src/windowsx.rs new file mode 100644 index 0000000000..0441e63a40 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/windowsx.rs @@ -0,0 +1,22 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Macro APIs, window message crackers, and control APIs +//1233 +pub fn GET_X_LPARAM(lp: ::LPARAM) -> ::c_int { + ::LOWORD(lp as ::DWORD) as ::c_short as ::c_int +} +pub fn GET_Y_LPARAM(lp: ::LPARAM) -> ::c_int { + ::HIWORD(lp as ::DWORD) as ::c_short as ::c_int +} +#[test] +fn test_get_x_lparam() { + assert_eq!(GET_X_LPARAM(0xDEAD1234u32 as ::LPARAM), 0x1234); + assert_eq!(GET_X_LPARAM(0xBEEFffffu32 as ::LPARAM), -1); + assert_eq!(GET_X_LPARAM(0xCAFEFB2Eu32 as ::LPARAM), -1234); +} +#[test] +fn test_get_y_lparam() { + assert_eq!(GET_Y_LPARAM(0x1234DEADu32 as ::LPARAM), 0x1234); + assert_eq!(GET_Y_LPARAM(0xffffBEEFu32 as ::LPARAM), -1); + assert_eq!(GET_Y_LPARAM(0xFB2ECAFEu32 as ::LPARAM), -1234); +} diff --git a/third_party/rust/winapi-0.2.8/src/winerror.rs b/third_party/rust/winapi-0.2.8/src/winerror.rs new file mode 100644 index 0000000000..6792cf8521 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winerror.rs @@ -0,0 +1,6065 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! error code definitions for the Win32 API functions +#[inline] +pub fn SUCCEEDED(hr: HRESULT) -> bool { + hr >= 0 +} +pub const FACILITY_XPS: HRESULT = 82; +pub const FACILITY_XAML: HRESULT = 43; +pub const FACILITY_USN: HRESULT = 129; +pub const FACILITY_BLBUI: HRESULT = 128; +pub const FACILITY_SPP: HRESULT = 256; +pub const FACILITY_WSB_ONLINE: HRESULT = 133; +pub const FACILITY_DLS: HRESULT = 153; +pub const FACILITY_BLB_CLI: HRESULT = 121; +pub const FACILITY_BLB: HRESULT = 120; +pub const FACILITY_WSBAPP: HRESULT = 122; +pub const FACILITY_WPN: HRESULT = 62; +pub const FACILITY_WMAAECMA: HRESULT = 1996; +pub const FACILITY_WINRM: HRESULT = 51; +pub const FACILITY_WINPE: HRESULT = 61; +pub const FACILITY_WINDOWSUPDATE: HRESULT = 36; +pub const FACILITY_WINDOWS_STORE: HRESULT = 63; +pub const FACILITY_WINDOWS_SETUP: HRESULT = 48; +pub const FACILITY_WINDOWS_DEFENDER: HRESULT = 80; +pub const FACILITY_WINDOWS_CE: HRESULT = 24; +pub const FACILITY_WINDOWS: HRESULT = 8; +pub const FACILITY_WINCODEC_DWRITE_DWM: HRESULT = 2200; +pub const FACILITY_WIA: HRESULT = 33; +pub const FACILITY_WER: HRESULT = 27; +pub const FACILITY_WEP: HRESULT = 2049; +pub const FACILITY_WEB_SOCKET: HRESULT = 886; +pub const FACILITY_WEB: HRESULT = 885; +pub const FACILITY_USERMODE_VOLSNAP: HRESULT = 130; +pub const FACILITY_USERMODE_VOLMGR: HRESULT = 56; +pub const FACILITY_VISUALCPP: HRESULT = 109; +pub const FACILITY_USERMODE_VIRTUALIZATION: HRESULT = 55; +pub const FACILITY_USERMODE_VHD: HRESULT = 58; +pub const FACILITY_URT: HRESULT = 19; +pub const FACILITY_UMI: HRESULT = 22; +pub const FACILITY_UI: HRESULT = 42; +pub const FACILITY_TPM_SOFTWARE: HRESULT = 41; +pub const FACILITY_TPM_SERVICES: HRESULT = 40; +pub const FACILITY_TIERING: HRESULT = 131; +pub const FACILITY_SYNCENGINE: HRESULT = 2050; +pub const FACILITY_SXS: HRESULT = 23; +pub const FACILITY_STORAGE: HRESULT = 3; +pub const FACILITY_STATE_MANAGEMENT: HRESULT = 34; +pub const FACILITY_SSPI: HRESULT = 9; +pub const FACILITY_USERMODE_SPACES: HRESULT = 231; +pub const FACILITY_SOS: HRESULT = 160; +pub const FACILITY_SCARD: HRESULT = 16; +pub const FACILITY_SHELL: HRESULT = 39; +pub const FACILITY_SETUPAPI: HRESULT = 15; +pub const FACILITY_SECURITY: HRESULT = 9; +pub const FACILITY_SDIAG: HRESULT = 60; +pub const FACILITY_USERMODE_SDBUS: HRESULT = 2305; +pub const FACILITY_RPC: HRESULT = 1; +pub const FACILITY_RESTORE: HRESULT = 256; +pub const FACILITY_SCRIPT: HRESULT = 112; +pub const FACILITY_PARSE: HRESULT = 113; +pub const FACILITY_RAS: HRESULT = 83; +pub const FACILITY_POWERSHELL: HRESULT = 84; +pub const FACILITY_PLA: HRESULT = 48; +pub const FACILITY_PIDGENX: HRESULT = 2561; +pub const FACILITY_P2P_INT: HRESULT = 98; +pub const FACILITY_P2P: HRESULT = 99; +pub const FACILITY_OPC: HRESULT = 81; +pub const FACILITY_ONLINE_ID: HRESULT = 134; +pub const FACILITY_WIN32: HRESULT = 7; +pub const FACILITY_CONTROL: HRESULT = 10; +pub const FACILITY_WEBSERVICES: HRESULT = 61; +pub const FACILITY_NULL: HRESULT = 0; +pub const FACILITY_NDIS: HRESULT = 52; +pub const FACILITY_NAP: HRESULT = 39; +pub const FACILITY_MOBILE: HRESULT = 1793; +pub const FACILITY_METADIRECTORY: HRESULT = 35; +pub const FACILITY_MSMQ: HRESULT = 14; +pub const FACILITY_MEDIASERVER: HRESULT = 13; +pub const FACILITY_MBN: HRESULT = 84; +pub const FACILITY_LINGUISTIC_SERVICES: HRESULT = 305; +pub const FACILITY_LEAP: HRESULT = 2184; +pub const FACILITY_JSCRIPT: HRESULT = 2306; +pub const FACILITY_INTERNET: HRESULT = 12; +pub const FACILITY_ITF: HRESULT = 4; +pub const FACILITY_INPUT: HRESULT = 64; +pub const FACILITY_USERMODE_HYPERVISOR: HRESULT = 53; +pub const FACILITY_ACCELERATOR: HRESULT = 1536; +pub const FACILITY_HTTP: HRESULT = 25; +pub const FACILITY_GRAPHICS: HRESULT = 38; +pub const FACILITY_FWP: HRESULT = 50; +pub const FACILITY_FVE: HRESULT = 49; +pub const FACILITY_USERMODE_FILTER_MANAGER: HRESULT = 31; +pub const FACILITY_EAS: HRESULT = 85; +pub const FACILITY_EAP: HRESULT = 66; +pub const FACILITY_DXGI_DDI: HRESULT = 2171; +pub const FACILITY_DXGI: HRESULT = 2170; +pub const FACILITY_DPLAY: HRESULT = 21; +pub const FACILITY_DMSERVER: HRESULT = 256; +pub const FACILITY_DISPATCH: HRESULT = 2; +pub const FACILITY_DIRECTORYSERVICE: HRESULT = 37; +pub const FACILITY_DIRECTMUSIC: HRESULT = 2168; +pub const FACILITY_DIRECT3D11: HRESULT = 2172; +pub const FACILITY_DIRECT3D10: HRESULT = 2169; +pub const FACILITY_DIRECT2D: HRESULT = 2201; +pub const FACILITY_DAF: HRESULT = 100; +pub const FACILITY_DEPLOYMENT_SERVICES_UTIL: HRESULT = 260; +pub const FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT: HRESULT = 272; +pub const FACILITY_DEPLOYMENT_SERVICES_TFTP: HRESULT = 264; +pub const FACILITY_DEPLOYMENT_SERVICES_PXE: HRESULT = 263; +pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER: HRESULT = 289; +pub const FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT: HRESULT = 290; +pub const FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT: HRESULT = 259; +pub const FACILITY_DEPLOYMENT_SERVICES_IMAGING: HRESULT = 258; +pub const FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING: HRESULT = 278; +pub const FACILITY_DEPLOYMENT_SERVICES_SERVER: HRESULT = 257; +pub const FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER: HRESULT = 293; +pub const FACILITY_DEPLOYMENT_SERVICES_BINLSVC: HRESULT = 261; +pub const FACILITY_DEFRAG: HRESULT = 2304; +pub const FACILITY_DEBUGGERS: HRESULT = 176; +pub const FACILITY_CONFIGURATION: HRESULT = 33; +pub const FACILITY_COMPLUS: HRESULT = 17; +pub const FACILITY_USERMODE_COMMONLOG: HRESULT = 26; +pub const FACILITY_CMI: HRESULT = 54; +pub const FACILITY_CERT: HRESULT = 11; +pub const FACILITY_BLUETOOTH_ATT: HRESULT = 101; +pub const FACILITY_BCD: HRESULT = 57; +pub const FACILITY_BACKGROUNDCOPY: HRESULT = 32; +pub const FACILITY_AUDIOSTREAMING: HRESULT = 1094; +pub const FACILITY_AUDCLNT: HRESULT = 2185; +pub const FACILITY_AUDIO: HRESULT = 102; +pub const FACILITY_ACTION_QUEUE: HRESULT = 44; +pub const FACILITY_ACS: HRESULT = 20; +pub const FACILITY_AAF: HRESULT = 18; +pub const ERROR_SUCCESS: ::DWORD = 0; +pub const NO_ERROR: ::DWORD = 0; +pub const SEC_E_OK: HRESULT = 0; +pub const ERROR_INVALID_FUNCTION: ::DWORD = 1; +pub const ERROR_FILE_NOT_FOUND: ::DWORD = 2; +pub const ERROR_PATH_NOT_FOUND: ::DWORD = 3; +pub const ERROR_TOO_MANY_OPEN_FILES: ::DWORD = 4; +pub const ERROR_ACCESS_DENIED: ::DWORD = 5; +pub const ERROR_INVALID_HANDLE: ::DWORD = 6; +pub const ERROR_ARENA_TRASHED: ::DWORD = 7; +pub const ERROR_NOT_ENOUGH_MEMORY: ::DWORD = 8; +pub const ERROR_INVALID_BLOCK: ::DWORD = 9; +pub const ERROR_BAD_ENVIRONMENT: ::DWORD = 10; +pub const ERROR_BAD_FORMAT: ::DWORD = 11; +pub const ERROR_INVALID_ACCESS: ::DWORD = 12; +pub const ERROR_INVALID_DATA: ::DWORD = 13; +pub const ERROR_OUTOFMEMORY: ::DWORD = 14; +pub const ERROR_INVALID_DRIVE: ::DWORD = 15; +pub const ERROR_CURRENT_DIRECTORY: ::DWORD = 16; +pub const ERROR_NOT_SAME_DEVICE: ::DWORD = 17; +pub const ERROR_NO_MORE_FILES: ::DWORD = 18; +pub const ERROR_WRITE_PROTECT: ::DWORD = 19; +pub const ERROR_BAD_UNIT: ::DWORD = 20; +pub const ERROR_NOT_READY: ::DWORD = 21; +pub const ERROR_BAD_COMMAND: ::DWORD = 22; +pub const ERROR_CRC: ::DWORD = 23; +pub const ERROR_BAD_LENGTH: ::DWORD = 24; +pub const ERROR_SEEK: ::DWORD = 25; +pub const ERROR_NOT_DOS_DISK: ::DWORD = 26; +pub const ERROR_SECTOR_NOT_FOUND: ::DWORD = 27; +pub const ERROR_OUT_OF_PAPER: ::DWORD = 28; +pub const ERROR_WRITE_FAULT: ::DWORD = 29; +pub const ERROR_READ_FAULT: ::DWORD = 30; +pub const ERROR_GEN_FAILURE: ::DWORD = 31; +pub const ERROR_SHARING_VIOLATION: ::DWORD = 32; +pub const ERROR_LOCK_VIOLATION: ::DWORD = 33; +pub const ERROR_WRONG_DISK: ::DWORD = 34; +pub const ERROR_SHARING_BUFFER_EXCEEDED: ::DWORD = 36; +pub const ERROR_HANDLE_EOF: ::DWORD = 38; +pub const ERROR_HANDLE_DISK_FULL: ::DWORD = 39; +pub const ERROR_NOT_SUPPORTED: ::DWORD = 50; +pub const ERROR_REM_NOT_LIST: ::DWORD = 51; +pub const ERROR_DUP_NAME: ::DWORD = 52; +pub const ERROR_BAD_NETPATH: ::DWORD = 53; +pub const ERROR_NETWORK_BUSY: ::DWORD = 54; +pub const ERROR_DEV_NOT_EXIST: ::DWORD = 55; +pub const ERROR_TOO_MANY_CMDS: ::DWORD = 56; +pub const ERROR_ADAP_HDW_ERR: ::DWORD = 57; +pub const ERROR_BAD_NET_RESP: ::DWORD = 58; +pub const ERROR_UNEXP_NET_ERR: ::DWORD = 59; +pub const ERROR_BAD_REM_ADAP: ::DWORD = 60; +pub const ERROR_PRINTQ_FULL: ::DWORD = 61; +pub const ERROR_NO_SPOOL_SPACE: ::DWORD = 62; +pub const ERROR_PRINT_CANCELLED: ::DWORD = 63; +pub const ERROR_NETNAME_DELETED: ::DWORD = 64; +pub const ERROR_NETWORK_ACCESS_DENIED: ::DWORD = 65; +pub const ERROR_BAD_DEV_TYPE: ::DWORD = 66; +pub const ERROR_BAD_NET_NAME: ::DWORD = 67; +pub const ERROR_TOO_MANY_NAMES: ::DWORD = 68; +pub const ERROR_TOO_MANY_SESS: ::DWORD = 69; +pub const ERROR_SHARING_PAUSED: ::DWORD = 70; +pub const ERROR_REQ_NOT_ACCEP: ::DWORD = 71; +pub const ERROR_REDIR_PAUSED: ::DWORD = 72; +pub const ERROR_FILE_EXISTS: ::DWORD = 80; +pub const ERROR_CANNOT_MAKE: ::DWORD = 82; +pub const ERROR_FAIL_I24: ::DWORD = 83; +pub const ERROR_OUT_OF_STRUCTURES: ::DWORD = 84; +pub const ERROR_ALREADY_ASSIGNED: ::DWORD = 85; +pub const ERROR_INVALID_PASSWORD: ::DWORD = 86; +pub const ERROR_INVALID_PARAMETER: ::DWORD = 87; +pub const ERROR_NET_WRITE_FAULT: ::DWORD = 88; +pub const ERROR_NO_PROC_SLOTS: ::DWORD = 89; +pub const ERROR_TOO_MANY_SEMAPHORES: ::DWORD = 100; +pub const ERROR_EXCL_SEM_ALREADY_OWNED: ::DWORD = 101; +pub const ERROR_SEM_IS_SET: ::DWORD = 102; +pub const ERROR_TOO_MANY_SEM_REQUESTS: ::DWORD = 103; +pub const ERROR_INVALID_AT_INTERRUPT_TIME: ::DWORD = 104; +pub const ERROR_SEM_OWNER_DIED: ::DWORD = 105; +pub const ERROR_SEM_USER_LIMIT: ::DWORD = 106; +pub const ERROR_DISK_CHANGE: ::DWORD = 107; +pub const ERROR_DRIVE_LOCKED: ::DWORD = 108; +pub const ERROR_BROKEN_PIPE: ::DWORD = 109; +pub const ERROR_OPEN_FAILED: ::DWORD = 110; +pub const ERROR_BUFFER_OVERFLOW: ::DWORD = 111; +pub const ERROR_DISK_FULL: ::DWORD = 112; +pub const ERROR_NO_MORE_SEARCH_HANDLES: ::DWORD = 113; +pub const ERROR_INVALID_TARGET_HANDLE: ::DWORD = 114; +pub const ERROR_INVALID_CATEGORY: ::DWORD = 117; +pub const ERROR_INVALID_VERIFY_SWITCH: ::DWORD = 118; +pub const ERROR_BAD_DRIVER_LEVEL: ::DWORD = 119; +pub const ERROR_CALL_NOT_IMPLEMENTED: ::DWORD = 120; +pub const ERROR_SEM_TIMEOUT: ::DWORD = 121; +pub const ERROR_INSUFFICIENT_BUFFER: ::DWORD = 122; +pub const ERROR_INVALID_NAME: ::DWORD = 123; +pub const ERROR_INVALID_LEVEL: ::DWORD = 124; +pub const ERROR_NO_VOLUME_LABEL: ::DWORD = 125; +pub const ERROR_MOD_NOT_FOUND: ::DWORD = 126; +pub const ERROR_PROC_NOT_FOUND: ::DWORD = 127; +pub const ERROR_WAIT_NO_CHILDREN: ::DWORD = 128; +pub const ERROR_CHILD_NOT_COMPLETE: ::DWORD = 129; +pub const ERROR_DIRECT_ACCESS_HANDLE: ::DWORD = 130; +pub const ERROR_NEGATIVE_SEEK: ::DWORD = 131; +pub const ERROR_SEEK_ON_DEVICE: ::DWORD = 132; +pub const ERROR_IS_JOIN_TARGET: ::DWORD = 133; +pub const ERROR_IS_JOINED: ::DWORD = 134; +pub const ERROR_IS_SUBSTED: ::DWORD = 135; +pub const ERROR_NOT_JOINED: ::DWORD = 136; +pub const ERROR_NOT_SUBSTED: ::DWORD = 137; +pub const ERROR_JOIN_TO_JOIN: ::DWORD = 138; +pub const ERROR_SUBST_TO_SUBST: ::DWORD = 139; +pub const ERROR_JOIN_TO_SUBST: ::DWORD = 140; +pub const ERROR_SUBST_TO_JOIN: ::DWORD = 141; +pub const ERROR_BUSY_DRIVE: ::DWORD = 142; +pub const ERROR_SAME_DRIVE: ::DWORD = 143; +pub const ERROR_DIR_NOT_ROOT: ::DWORD = 144; +pub const ERROR_DIR_NOT_EMPTY: ::DWORD = 145; +pub const ERROR_IS_SUBST_PATH: ::DWORD = 146; +pub const ERROR_IS_JOIN_PATH: ::DWORD = 147; +pub const ERROR_PATH_BUSY: ::DWORD = 148; +pub const ERROR_IS_SUBST_TARGET: ::DWORD = 149; +pub const ERROR_SYSTEM_TRACE: ::DWORD = 150; +pub const ERROR_INVALID_EVENT_COUNT: ::DWORD = 151; +pub const ERROR_TOO_MANY_MUXWAITERS: ::DWORD = 152; +pub const ERROR_INVALID_LIST_FORMAT: ::DWORD = 153; +pub const ERROR_LABEL_TOO_LONG: ::DWORD = 154; +pub const ERROR_TOO_MANY_TCBS: ::DWORD = 155; +pub const ERROR_SIGNAL_REFUSED: ::DWORD = 156; +pub const ERROR_DISCARDED: ::DWORD = 157; +pub const ERROR_NOT_LOCKED: ::DWORD = 158; +pub const ERROR_BAD_THREADID_ADDR: ::DWORD = 159; +pub const ERROR_BAD_ARGUMENTS: ::DWORD = 160; +pub const ERROR_BAD_PATHNAME: ::DWORD = 161; +pub const ERROR_SIGNAL_PENDING: ::DWORD = 162; +pub const ERROR_MAX_THRDS_REACHED: ::DWORD = 164; +pub const ERROR_LOCK_FAILED: ::DWORD = 167; +pub const ERROR_BUSY: ::DWORD = 170; +pub const ERROR_DEVICE_SUPPORT_IN_PROGRESS: ::DWORD = 171; +pub const ERROR_CANCEL_VIOLATION: ::DWORD = 173; +pub const ERROR_ATOMIC_LOCKS_NOT_SUPPORTED: ::DWORD = 174; +pub const ERROR_INVALID_SEGMENT_NUMBER: ::DWORD = 180; +pub const ERROR_INVALID_ORDINAL: ::DWORD = 182; +pub const ERROR_ALREADY_EXISTS: ::DWORD = 183; +pub const ERROR_INVALID_FLAG_NUMBER: ::DWORD = 186; +pub const ERROR_SEM_NOT_FOUND: ::DWORD = 187; +pub const ERROR_INVALID_STARTING_CODESEG: ::DWORD = 188; +pub const ERROR_INVALID_STACKSEG: ::DWORD = 189; +pub const ERROR_INVALID_MODULETYPE: ::DWORD = 190; +pub const ERROR_INVALID_EXE_SIGNATURE: ::DWORD = 191; +pub const ERROR_EXE_MARKED_INVALID: ::DWORD = 192; +pub const ERROR_BAD_EXE_FORMAT: ::DWORD = 193; +pub const ERROR_ITERATED_DATA_EXCEEDS_64k: ::DWORD = 194; +pub const ERROR_INVALID_MINALLOCSIZE: ::DWORD = 195; +pub const ERROR_DYNLINK_FROM_INVALID_RING: ::DWORD = 196; +pub const ERROR_IOPL_NOT_ENABLED: ::DWORD = 197; +pub const ERROR_INVALID_SEGDPL: ::DWORD = 198; +pub const ERROR_AUTODATASEG_EXCEEDS_64k: ::DWORD = 199; +pub const ERROR_RING2SEG_MUST_BE_MOVABLE: ::DWORD = 200; +pub const ERROR_RELOC_CHAIN_XEEDS_SEGLIM: ::DWORD = 201; +pub const ERROR_INFLOOP_IN_RELOC_CHAIN: ::DWORD = 202; +pub const ERROR_ENVVAR_NOT_FOUND: ::DWORD = 203; +pub const ERROR_NO_SIGNAL_SENT: ::DWORD = 205; +pub const ERROR_FILENAME_EXCED_RANGE: ::DWORD = 206; +pub const ERROR_RING2_STACK_IN_USE: ::DWORD = 207; +pub const ERROR_META_EXPANSION_TOO_LONG: ::DWORD = 208; +pub const ERROR_INVALID_SIGNAL_NUMBER: ::DWORD = 209; +pub const ERROR_THREAD_1_INACTIVE: ::DWORD = 210; +pub const ERROR_LOCKED: ::DWORD = 212; +pub const ERROR_TOO_MANY_MODULES: ::DWORD = 214; +pub const ERROR_NESTING_NOT_ALLOWED: ::DWORD = 215; +pub const ERROR_EXE_MACHINE_TYPE_MISMATCH: ::DWORD = 216; +pub const ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY: ::DWORD = 217; +pub const ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY: ::DWORD = 218; +pub const ERROR_FILE_CHECKED_OUT: ::DWORD = 220; +pub const ERROR_CHECKOUT_REQUIRED: ::DWORD = 221; +pub const ERROR_BAD_FILE_TYPE: ::DWORD = 222; +pub const ERROR_FILE_TOO_LARGE: ::DWORD = 223; +pub const ERROR_FORMS_AUTH_REQUIRED: ::DWORD = 224; +pub const ERROR_VIRUS_INFECTED: ::DWORD = 225; +pub const ERROR_VIRUS_DELETED: ::DWORD = 226; +pub const ERROR_PIPE_LOCAL: ::DWORD = 229; +pub const ERROR_BAD_PIPE: ::DWORD = 230; +pub const ERROR_PIPE_BUSY: ::DWORD = 231; +pub const ERROR_NO_DATA: ::DWORD = 232; +pub const ERROR_PIPE_NOT_CONNECTED: ::DWORD = 233; +pub const ERROR_MORE_DATA: ::DWORD = 234; +pub const ERROR_VC_DISCONNECTED: ::DWORD = 240; +pub const ERROR_INVALID_EA_NAME: ::DWORD = 254; +pub const ERROR_EA_LIST_INCONSISTENT: ::DWORD = 255; +pub const WAIT_TIMEOUT: ::DWORD = 258; +pub const ERROR_NO_MORE_ITEMS: ::DWORD = 259; +pub const ERROR_CANNOT_COPY: ::DWORD = 266; +pub const ERROR_DIRECTORY: ::DWORD = 267; +pub const ERROR_EAS_DIDNT_FIT: ::DWORD = 275; +pub const ERROR_EA_FILE_CORRUPT: ::DWORD = 276; +pub const ERROR_EA_TABLE_FULL: ::DWORD = 277; +pub const ERROR_INVALID_EA_HANDLE: ::DWORD = 278; +pub const ERROR_EAS_NOT_SUPPORTED: ::DWORD = 282; +pub const ERROR_NOT_OWNER: ::DWORD = 288; +pub const ERROR_TOO_MANY_POSTS: ::DWORD = 298; +pub const ERROR_PARTIAL_COPY: ::DWORD = 299; +pub const ERROR_OPLOCK_NOT_GRANTED: ::DWORD = 300; +pub const ERROR_INVALID_OPLOCK_PROTOCOL: ::DWORD = 301; +pub const ERROR_DISK_TOO_FRAGMENTED: ::DWORD = 302; +pub const ERROR_DELETE_PENDING: ::DWORD = 303; +pub const ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING: ::DWORD = 304; +pub const ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME: ::DWORD = 305; +pub const ERROR_SECURITY_STREAM_IS_INCONSISTENT: ::DWORD = 306; +pub const ERROR_INVALID_LOCK_RANGE: ::DWORD = 307; +pub const ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT: ::DWORD = 308; +pub const ERROR_NOTIFICATION_GUID_ALREADY_DEFINED: ::DWORD = 309; +pub const ERROR_INVALID_EXCEPTION_HANDLER: ::DWORD = 310; +pub const ERROR_DUPLICATE_PRIVILEGES: ::DWORD = 311; +pub const ERROR_NO_RANGES_PROCESSED: ::DWORD = 312; +pub const ERROR_NOT_ALLOWED_ON_SYSTEM_FILE: ::DWORD = 313; +pub const ERROR_DISK_RESOURCES_EXHAUSTED: ::DWORD = 314; +pub const ERROR_INVALID_TOKEN: ::DWORD = 315; +pub const ERROR_DEVICE_FEATURE_NOT_SUPPORTED: ::DWORD = 316; +pub const ERROR_MR_MID_NOT_FOUND: ::DWORD = 317; +pub const ERROR_SCOPE_NOT_FOUND: ::DWORD = 318; +pub const ERROR_UNDEFINED_SCOPE: ::DWORD = 319; +pub const ERROR_INVALID_CAP: ::DWORD = 320; +pub const ERROR_DEVICE_UNREACHABLE: ::DWORD = 321; +pub const ERROR_DEVICE_NO_RESOURCES: ::DWORD = 322; +pub const ERROR_DATA_CHECKSUM_ERROR: ::DWORD = 323; +pub const ERROR_INTERMIXED_KERNEL_EA_OPERATION: ::DWORD = 324; +pub const ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED: ::DWORD = 326; +pub const ERROR_OFFSET_ALIGNMENT_VIOLATION: ::DWORD = 327; +pub const ERROR_INVALID_FIELD_IN_PARAMETER_LIST: ::DWORD = 328; +pub const ERROR_OPERATION_IN_PROGRESS: ::DWORD = 329; +pub const ERROR_BAD_DEVICE_PATH: ::DWORD = 330; +pub const ERROR_TOO_MANY_DESCRIPTORS: ::DWORD = 331; +pub const ERROR_SCRUB_DATA_DISABLED: ::DWORD = 332; +pub const ERROR_NOT_REDUNDANT_STORAGE: ::DWORD = 333; +pub const ERROR_RESIDENT_FILE_NOT_SUPPORTED: ::DWORD = 334; +pub const ERROR_COMPRESSED_FILE_NOT_SUPPORTED: ::DWORD = 335; +pub const ERROR_DIRECTORY_NOT_SUPPORTED: ::DWORD = 336; +pub const ERROR_NOT_READ_FROM_COPY: ::DWORD = 337; +pub const ERROR_FT_WRITE_FAILURE: ::DWORD = 338; +pub const ERROR_FT_DI_SCAN_REQUIRED: ::DWORD = 339; +pub const ERROR_INVALID_KERNEL_INFO_VERSION: ::DWORD = 340; +pub const ERROR_INVALID_PEP_INFO_VERSION: ::DWORD = 341; +pub const ERROR_OBJECT_NOT_EXTERNALLY_BACKED: ::DWORD = 342; +pub const ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN: ::DWORD = 343; +pub const ERROR_FAIL_NOACTION_REBOOT: ::DWORD = 350; +pub const ERROR_FAIL_SHUTDOWN: ::DWORD = 351; +pub const ERROR_FAIL_RESTART: ::DWORD = 352; +pub const ERROR_MAX_SESSIONS_REACHED: ::DWORD = 353; +pub const ERROR_THREAD_MODE_ALREADY_BACKGROUND: ::DWORD = 400; +pub const ERROR_THREAD_MODE_NOT_BACKGROUND: ::DWORD = 401; +pub const ERROR_PROCESS_MODE_ALREADY_BACKGROUND: ::DWORD = 402; +pub const ERROR_PROCESS_MODE_NOT_BACKGROUND: ::DWORD = 403; +pub const ERROR_DEVICE_HARDWARE_ERROR: ::DWORD = 483; +pub const ERROR_INVALID_ADDRESS: ::DWORD = 487; +pub const ERROR_USER_PROFILE_LOAD: ::DWORD = 500; +pub const ERROR_ARITHMETIC_OVERFLOW: ::DWORD = 534; +pub const ERROR_PIPE_CONNECTED: ::DWORD = 535; +pub const ERROR_PIPE_LISTENING: ::DWORD = 536; +pub const ERROR_VERIFIER_STOP: ::DWORD = 537; +pub const ERROR_ABIOS_ERROR: ::DWORD = 538; +pub const ERROR_WX86_WARNING: ::DWORD = 539; +pub const ERROR_WX86_ERROR: ::DWORD = 540; +pub const ERROR_TIMER_NOT_CANCELED: ::DWORD = 541; +pub const ERROR_UNWIND: ::DWORD = 542; +pub const ERROR_BAD_STACK: ::DWORD = 543; +pub const ERROR_INVALID_UNWIND_TARGET: ::DWORD = 544; +pub const ERROR_INVALID_PORT_ATTRIBUTES: ::DWORD = 545; +pub const ERROR_PORT_MESSAGE_TOO_LONG: ::DWORD = 546; +pub const ERROR_INVALID_QUOTA_LOWER: ::DWORD = 547; +pub const ERROR_DEVICE_ALREADY_ATTACHED: ::DWORD = 548; +pub const ERROR_INSTRUCTION_MISALIGNMENT: ::DWORD = 549; +pub const ERROR_PROFILING_NOT_STARTED: ::DWORD = 550; +pub const ERROR_PROFILING_NOT_STOPPED: ::DWORD = 551; +pub const ERROR_COULD_NOT_INTERPRET: ::DWORD = 552; +pub const ERROR_PROFILING_AT_LIMIT: ::DWORD = 553; +pub const ERROR_CANT_WAIT: ::DWORD = 554; +pub const ERROR_CANT_TERMINATE_SELF: ::DWORD = 555; +pub const ERROR_UNEXPECTED_MM_CREATE_ERR: ::DWORD = 556; +pub const ERROR_UNEXPECTED_MM_MAP_ERROR: ::DWORD = 557; +pub const ERROR_UNEXPECTED_MM_EXTEND_ERR: ::DWORD = 558; +pub const ERROR_BAD_FUNCTION_TABLE: ::DWORD = 559; +pub const ERROR_NO_GUID_TRANSLATION: ::DWORD = 560; +pub const ERROR_INVALID_LDT_SIZE: ::DWORD = 561; +pub const ERROR_INVALID_LDT_OFFSET: ::DWORD = 563; +pub const ERROR_INVALID_LDT_DESCRIPTOR: ::DWORD = 564; +pub const ERROR_TOO_MANY_THREADS: ::DWORD = 565; +pub const ERROR_THREAD_NOT_IN_PROCESS: ::DWORD = 566; +pub const ERROR_PAGEFILE_QUOTA_EXCEEDED: ::DWORD = 567; +pub const ERROR_LOGON_SERVER_CONFLICT: ::DWORD = 568; +pub const ERROR_SYNCHRONIZATION_REQUIRED: ::DWORD = 569; +pub const ERROR_NET_OPEN_FAILED: ::DWORD = 570; +pub const ERROR_IO_PRIVILEGE_FAILED: ::DWORD = 571; +pub const ERROR_CONTROL_C_EXIT: ::DWORD = 572; +pub const ERROR_MISSING_SYSTEMFILE: ::DWORD = 573; +pub const ERROR_UNHANDLED_EXCEPTION: ::DWORD = 574; +pub const ERROR_APP_INIT_FAILURE: ::DWORD = 575; +pub const ERROR_PAGEFILE_CREATE_FAILED: ::DWORD = 576; +pub const ERROR_INVALID_IMAGE_HASH: ::DWORD = 577; +pub const ERROR_NO_PAGEFILE: ::DWORD = 578; +pub const ERROR_ILLEGAL_FLOAT_CONTEXT: ::DWORD = 579; +pub const ERROR_NO_EVENT_PAIR: ::DWORD = 580; +pub const ERROR_DOMAIN_CTRLR_CONFIG_ERROR: ::DWORD = 581; +pub const ERROR_ILLEGAL_CHARACTER: ::DWORD = 582; +pub const ERROR_UNDEFINED_CHARACTER: ::DWORD = 583; +pub const ERROR_FLOPPY_VOLUME: ::DWORD = 584; +pub const ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT: ::DWORD = 585; +pub const ERROR_BACKUP_CONTROLLER: ::DWORD = 586; +pub const ERROR_MUTANT_LIMIT_EXCEEDED: ::DWORD = 587; +pub const ERROR_FS_DRIVER_REQUIRED: ::DWORD = 588; +pub const ERROR_CANNOT_LOAD_REGISTRY_FILE: ::DWORD = 589; +pub const ERROR_DEBUG_ATTACH_FAILED: ::DWORD = 590; +pub const ERROR_SYSTEM_PROCESS_TERMINATED: ::DWORD = 591; +pub const ERROR_DATA_NOT_ACCEPTED: ::DWORD = 592; +pub const ERROR_VDM_HARD_ERROR: ::DWORD = 593; +pub const ERROR_DRIVER_CANCEL_TIMEOUT: ::DWORD = 594; +pub const ERROR_REPLY_MESSAGE_MISMATCH: ::DWORD = 595; +pub const ERROR_LOST_WRITEBEHIND_DATA: ::DWORD = 596; +pub const ERROR_CLIENT_SERVER_PARAMETERS_INVALID: ::DWORD = 597; +pub const ERROR_NOT_TINY_STREAM: ::DWORD = 598; +pub const ERROR_STACK_OVERFLOW_READ: ::DWORD = 599; +pub const ERROR_CONVERT_TO_LARGE: ::DWORD = 600; +pub const ERROR_FOUND_OUT_OF_SCOPE: ::DWORD = 601; +pub const ERROR_ALLOCATE_BUCKET: ::DWORD = 602; +pub const ERROR_MARSHALL_OVERFLOW: ::DWORD = 603; +pub const ERROR_INVALID_VARIANT: ::DWORD = 604; +pub const ERROR_BAD_COMPRESSION_BUFFER: ::DWORD = 605; +pub const ERROR_AUDIT_FAILED: ::DWORD = 606; +pub const ERROR_TIMER_RESOLUTION_NOT_SET: ::DWORD = 607; +pub const ERROR_INSUFFICIENT_LOGON_INFO: ::DWORD = 608; +pub const ERROR_BAD_DLL_ENTRYPOINT: ::DWORD = 609; +pub const ERROR_BAD_SERVICE_ENTRYPOINT: ::DWORD = 610; +pub const ERROR_IP_ADDRESS_CONFLICT1: ::DWORD = 611; +pub const ERROR_IP_ADDRESS_CONFLICT2: ::DWORD = 612; +pub const ERROR_REGISTRY_QUOTA_LIMIT: ::DWORD = 613; +pub const ERROR_NO_CALLBACK_ACTIVE: ::DWORD = 614; +pub const ERROR_PWD_TOO_SHORT: ::DWORD = 615; +pub const ERROR_PWD_TOO_RECENT: ::DWORD = 616; +pub const ERROR_PWD_HISTORY_CONFLICT: ::DWORD = 617; +pub const ERROR_UNSUPPORTED_COMPRESSION: ::DWORD = 618; +pub const ERROR_INVALID_HW_PROFILE: ::DWORD = 619; +pub const ERROR_INVALID_PLUGPLAY_DEVICE_PATH: ::DWORD = 620; +pub const ERROR_QUOTA_LIST_INCONSISTENT: ::DWORD = 621; +pub const ERROR_EVALUATION_EXPIRATION: ::DWORD = 622; +pub const ERROR_ILLEGAL_DLL_RELOCATION: ::DWORD = 623; +pub const ERROR_DLL_INIT_FAILED_LOGOFF: ::DWORD = 624; +pub const ERROR_VALIDATE_CONTINUE: ::DWORD = 625; +pub const ERROR_NO_MORE_MATCHES: ::DWORD = 626; +pub const ERROR_RANGE_LIST_CONFLICT: ::DWORD = 627; +pub const ERROR_SERVER_SID_MISMATCH: ::DWORD = 628; +pub const ERROR_CANT_ENABLE_DENY_ONLY: ::DWORD = 629; +pub const ERROR_FLOAT_MULTIPLE_FAULTS: ::DWORD = 630; +pub const ERROR_FLOAT_MULTIPLE_TRAPS: ::DWORD = 631; +pub const ERROR_NOINTERFACE: ::DWORD = 632; +pub const ERROR_DRIVER_FAILED_SLEEP: ::DWORD = 633; +pub const ERROR_CORRUPT_SYSTEM_FILE: ::DWORD = 634; +pub const ERROR_COMMITMENT_MINIMUM: ::DWORD = 635; +pub const ERROR_PNP_RESTART_ENUMERATION: ::DWORD = 636; +pub const ERROR_SYSTEM_IMAGE_BAD_SIGNATURE: ::DWORD = 637; +pub const ERROR_PNP_REBOOT_REQUIRED: ::DWORD = 638; +pub const ERROR_INSUFFICIENT_POWER: ::DWORD = 639; +pub const ERROR_MULTIPLE_FAULT_VIOLATION: ::DWORD = 640; +pub const ERROR_SYSTEM_SHUTDOWN: ::DWORD = 641; +pub const ERROR_PORT_NOT_SET: ::DWORD = 642; +pub const ERROR_DS_VERSION_CHECK_FAILURE: ::DWORD = 643; +pub const ERROR_RANGE_NOT_FOUND: ::DWORD = 644; +pub const ERROR_NOT_SAFE_MODE_DRIVER: ::DWORD = 646; +pub const ERROR_FAILED_DRIVER_ENTRY: ::DWORD = 647; +pub const ERROR_DEVICE_ENUMERATION_ERROR: ::DWORD = 648; +pub const ERROR_MOUNT_POINT_NOT_RESOLVED: ::DWORD = 649; +pub const ERROR_INVALID_DEVICE_OBJECT_PARAMETER: ::DWORD = 650; +pub const ERROR_MCA_OCCURED: ::DWORD = 651; +pub const ERROR_DRIVER_DATABASE_ERROR: ::DWORD = 652; +pub const ERROR_SYSTEM_HIVE_TOO_LARGE: ::DWORD = 653; +pub const ERROR_DRIVER_FAILED_PRIOR_UNLOAD: ::DWORD = 654; +pub const ERROR_VOLSNAP_PREPARE_HIBERNATE: ::DWORD = 655; +pub const ERROR_HIBERNATION_FAILURE: ::DWORD = 656; +pub const ERROR_PWD_TOO_LONG: ::DWORD = 657; +pub const ERROR_FILE_SYSTEM_LIMITATION: ::DWORD = 665; +pub const ERROR_ASSERTION_FAILURE: ::DWORD = 668; +pub const ERROR_ACPI_ERROR: ::DWORD = 669; +pub const ERROR_WOW_ASSERTION: ::DWORD = 670; +pub const ERROR_PNP_BAD_MPS_TABLE: ::DWORD = 671; +pub const ERROR_PNP_TRANSLATION_FAILED: ::DWORD = 672; +pub const ERROR_PNP_IRQ_TRANSLATION_FAILED: ::DWORD = 673; +pub const ERROR_PNP_INVALID_ID: ::DWORD = 674; +pub const ERROR_WAKE_SYSTEM_DEBUGGER: ::DWORD = 675; +pub const ERROR_HANDLES_CLOSED: ::DWORD = 676; +pub const ERROR_EXTRANEOUS_INFORMATION: ::DWORD = 677; +pub const ERROR_RXACT_COMMIT_NECESSARY: ::DWORD = 678; +pub const ERROR_MEDIA_CHECK: ::DWORD = 679; +pub const ERROR_GUID_SUBSTITUTION_MADE: ::DWORD = 680; +pub const ERROR_STOPPED_ON_SYMLINK: ::DWORD = 681; +pub const ERROR_LONGJUMP: ::DWORD = 682; +pub const ERROR_PLUGPLAY_QUERY_VETOED: ::DWORD = 683; +pub const ERROR_UNWIND_CONSOLIDATE: ::DWORD = 684; +pub const ERROR_REGISTRY_HIVE_RECOVERED: ::DWORD = 685; +pub const ERROR_DLL_MIGHT_BE_INSECURE: ::DWORD = 686; +pub const ERROR_DLL_MIGHT_BE_INCOMPATIBLE: ::DWORD = 687; +pub const ERROR_DBG_EXCEPTION_NOT_HANDLED: ::DWORD = 688; +pub const ERROR_DBG_REPLY_LATER: ::DWORD = 689; +pub const ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE: ::DWORD = 690; +pub const ERROR_DBG_TERMINATE_THREAD: ::DWORD = 691; +pub const ERROR_DBG_TERMINATE_PROCESS: ::DWORD = 692; +pub const ERROR_DBG_CONTROL_C: ::DWORD = 693; +pub const ERROR_DBG_PRINTEXCEPTION_C: ::DWORD = 694; +pub const ERROR_DBG_RIPEXCEPTION: ::DWORD = 695; +pub const ERROR_DBG_CONTROL_BREAK: ::DWORD = 696; +pub const ERROR_DBG_COMMAND_EXCEPTION: ::DWORD = 697; +pub const ERROR_OBJECT_NAME_EXISTS: ::DWORD = 698; +pub const ERROR_THREAD_WAS_SUSPENDED: ::DWORD = 699; +pub const ERROR_IMAGE_NOT_AT_BASE: ::DWORD = 700; +pub const ERROR_RXACT_STATE_CREATED: ::DWORD = 701; +pub const ERROR_SEGMENT_NOTIFICATION: ::DWORD = 702; +pub const ERROR_BAD_CURRENT_DIRECTORY: ::DWORD = 703; +pub const ERROR_FT_READ_RECOVERY_FROM_BACKUP: ::DWORD = 704; +pub const ERROR_FT_WRITE_RECOVERY: ::DWORD = 705; +pub const ERROR_IMAGE_MACHINE_TYPE_MISMATCH: ::DWORD = 706; +pub const ERROR_RECEIVE_PARTIAL: ::DWORD = 707; +pub const ERROR_RECEIVE_EXPEDITED: ::DWORD = 708; +pub const ERROR_RECEIVE_PARTIAL_EXPEDITED: ::DWORD = 709; +pub const ERROR_EVENT_DONE: ::DWORD = 710; +pub const ERROR_EVENT_PENDING: ::DWORD = 711; +pub const ERROR_CHECKING_FILE_SYSTEM: ::DWORD = 712; +pub const ERROR_FATAL_APP_EXIT: ::DWORD = 713; +pub const ERROR_PREDEFINED_HANDLE: ::DWORD = 714; +pub const ERROR_WAS_UNLOCKED: ::DWORD = 715; +pub const ERROR_SERVICE_NOTIFICATION: ::DWORD = 716; +pub const ERROR_WAS_LOCKED: ::DWORD = 717; +pub const ERROR_LOG_HARD_ERROR: ::DWORD = 718; +pub const ERROR_ALREADY_WIN32: ::DWORD = 719; +pub const ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE: ::DWORD = 720; +pub const ERROR_NO_YIELD_PERFORMED: ::DWORD = 721; +pub const ERROR_TIMER_RESUME_IGNORED: ::DWORD = 722; +pub const ERROR_ARBITRATION_UNHANDLED: ::DWORD = 723; +pub const ERROR_CARDBUS_NOT_SUPPORTED: ::DWORD = 724; +pub const ERROR_MP_PROCESSOR_MISMATCH: ::DWORD = 725; +pub const ERROR_HIBERNATED: ::DWORD = 726; +pub const ERROR_RESUME_HIBERNATION: ::DWORD = 727; +pub const ERROR_FIRMWARE_UPDATED: ::DWORD = 728; +pub const ERROR_DRIVERS_LEAKING_LOCKED_PAGES: ::DWORD = 729; +pub const ERROR_WAKE_SYSTEM: ::DWORD = 730; +pub const ERROR_WAIT_1: ::DWORD = 731; +pub const ERROR_WAIT_2: ::DWORD = 732; +pub const ERROR_WAIT_3: ::DWORD = 733; +pub const ERROR_WAIT_63: ::DWORD = 734; +pub const ERROR_ABANDONED_WAIT_0: ::DWORD = 735; +pub const ERROR_ABANDONED_WAIT_63: ::DWORD = 736; +pub const ERROR_USER_APC: ::DWORD = 737; +pub const ERROR_KERNEL_APC: ::DWORD = 738; +pub const ERROR_ALERTED: ::DWORD = 739; +pub const ERROR_ELEVATION_REQUIRED: ::DWORD = 740; +pub const ERROR_REPARSE: ::DWORD = 741; +pub const ERROR_OPLOCK_BREAK_IN_PROGRESS: ::DWORD = 742; +pub const ERROR_VOLUME_MOUNTED: ::DWORD = 743; +pub const ERROR_RXACT_COMMITTED: ::DWORD = 744; +pub const ERROR_NOTIFY_CLEANUP: ::DWORD = 745; +pub const ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED: ::DWORD = 746; +pub const ERROR_PAGE_FAULT_TRANSITION: ::DWORD = 747; +pub const ERROR_PAGE_FAULT_DEMAND_ZERO: ::DWORD = 748; +pub const ERROR_PAGE_FAULT_COPY_ON_WRITE: ::DWORD = 749; +pub const ERROR_PAGE_FAULT_GUARD_PAGE: ::DWORD = 750; +pub const ERROR_PAGE_FAULT_PAGING_FILE: ::DWORD = 751; +pub const ERROR_CACHE_PAGE_LOCKED: ::DWORD = 752; +pub const ERROR_CRASH_DUMP: ::DWORD = 753; +pub const ERROR_BUFFER_ALL_ZEROS: ::DWORD = 754; +pub const ERROR_REPARSE_OBJECT: ::DWORD = 755; +pub const ERROR_RESOURCE_REQUIREMENTS_CHANGED: ::DWORD = 756; +pub const ERROR_TRANSLATION_COMPLETE: ::DWORD = 757; +pub const ERROR_NOTHING_TO_TERMINATE: ::DWORD = 758; +pub const ERROR_PROCESS_NOT_IN_JOB: ::DWORD = 759; +pub const ERROR_PROCESS_IN_JOB: ::DWORD = 760; +pub const ERROR_VOLSNAP_HIBERNATE_READY: ::DWORD = 761; +pub const ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY: ::DWORD = 762; +pub const ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED: ::DWORD = 763; +pub const ERROR_INTERRUPT_STILL_CONNECTED: ::DWORD = 764; +pub const ERROR_WAIT_FOR_OPLOCK: ::DWORD = 765; +pub const ERROR_DBG_EXCEPTION_HANDLED: ::DWORD = 766; +pub const ERROR_DBG_CONTINUE: ::DWORD = 767; +pub const ERROR_CALLBACK_POP_STACK: ::DWORD = 768; +pub const ERROR_COMPRESSION_DISABLED: ::DWORD = 769; +pub const ERROR_CANTFETCHBACKWARDS: ::DWORD = 770; +pub const ERROR_CANTSCROLLBACKWARDS: ::DWORD = 771; +pub const ERROR_ROWSNOTRELEASED: ::DWORD = 772; +pub const ERROR_BAD_ACCESSOR_FLAGS: ::DWORD = 773; +pub const ERROR_ERRORS_ENCOUNTERED: ::DWORD = 774; +pub const ERROR_NOT_CAPABLE: ::DWORD = 775; +pub const ERROR_REQUEST_OUT_OF_SEQUENCE: ::DWORD = 776; +pub const ERROR_VERSION_PARSE_ERROR: ::DWORD = 777; +pub const ERROR_BADSTARTPOSITION: ::DWORD = 778; +pub const ERROR_MEMORY_HARDWARE: ::DWORD = 779; +pub const ERROR_DISK_REPAIR_DISABLED: ::DWORD = 780; +pub const ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE: ::DWORD = 781; +pub const ERROR_SYSTEM_POWERSTATE_TRANSITION: ::DWORD = 782; +pub const ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION: ::DWORD = 783; +pub const ERROR_MCA_EXCEPTION: ::DWORD = 784; +pub const ERROR_ACCESS_AUDIT_BY_POLICY: ::DWORD = 785; +pub const ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY: ::DWORD = 786; +pub const ERROR_ABANDON_HIBERFILE: ::DWORD = 787; +pub const ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED: ::DWORD = 788; +pub const ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR: ::DWORD = 789; +pub const ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR: ::DWORD = 790; +pub const ERROR_BAD_MCFG_TABLE: ::DWORD = 791; +pub const ERROR_DISK_REPAIR_REDIRECTED: ::DWORD = 792; +pub const ERROR_DISK_REPAIR_UNSUCCESSFUL: ::DWORD = 793; +pub const ERROR_CORRUPT_LOG_OVERFULL: ::DWORD = 794; +pub const ERROR_CORRUPT_LOG_CORRUPTED: ::DWORD = 795; +pub const ERROR_CORRUPT_LOG_UNAVAILABLE: ::DWORD = 796; +pub const ERROR_CORRUPT_LOG_DELETED_FULL: ::DWORD = 797; +pub const ERROR_CORRUPT_LOG_CLEARED: ::DWORD = 798; +pub const ERROR_ORPHAN_NAME_EXHAUSTED: ::DWORD = 799; +pub const ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE: ::DWORD = 800; +pub const ERROR_CANNOT_GRANT_REQUESTED_OPLOCK: ::DWORD = 801; +pub const ERROR_CANNOT_BREAK_OPLOCK: ::DWORD = 802; +pub const ERROR_OPLOCK_HANDLE_CLOSED: ::DWORD = 803; +pub const ERROR_NO_ACE_CONDITION: ::DWORD = 804; +pub const ERROR_INVALID_ACE_CONDITION: ::DWORD = 805; +pub const ERROR_FILE_HANDLE_REVOKED: ::DWORD = 806; +pub const ERROR_IMAGE_AT_DIFFERENT_BASE: ::DWORD = 807; +pub const ERROR_ENCRYPTED_IO_NOT_POSSIBLE: ::DWORD = 808; +pub const ERROR_EA_ACCESS_DENIED: ::DWORD = 994; +pub const ERROR_OPERATION_ABORTED: ::DWORD = 995; +pub const ERROR_IO_INCOMPLETE: ::DWORD = 996; +pub const ERROR_IO_PENDING: ::DWORD = 997; +pub const ERROR_NOACCESS: ::DWORD = 998; +pub const ERROR_SWAPERROR: ::DWORD = 999; +pub const ERROR_STACK_OVERFLOW: ::DWORD = 1001; +pub const ERROR_INVALID_MESSAGE: ::DWORD = 1002; +pub const ERROR_CAN_NOT_COMPLETE: ::DWORD = 1003; +pub const ERROR_INVALID_FLAGS: ::DWORD = 1004; +pub const ERROR_UNRECOGNIZED_VOLUME: ::DWORD = 1005; +pub const ERROR_FILE_INVALID: ::DWORD = 1006; +pub const ERROR_FULLSCREEN_MODE: ::DWORD = 1007; +pub const ERROR_NO_TOKEN: ::DWORD = 1008; +pub const ERROR_BADDB: ::DWORD = 1009; +pub const ERROR_BADKEY: ::DWORD = 1010; +pub const ERROR_CANTOPEN: ::DWORD = 1011; +pub const ERROR_CANTREAD: ::DWORD = 1012; +pub const ERROR_CANTWRITE: ::DWORD = 1013; +pub const ERROR_REGISTRY_RECOVERED: ::DWORD = 1014; +pub const ERROR_REGISTRY_CORRUPT: ::DWORD = 1015; +pub const ERROR_REGISTRY_IO_FAILED: ::DWORD = 1016; +pub const ERROR_NOT_REGISTRY_FILE: ::DWORD = 1017; +pub const ERROR_KEY_DELETED: ::DWORD = 1018; +pub const ERROR_NO_LOG_SPACE: ::DWORD = 1019; +pub const ERROR_KEY_HAS_CHILDREN: ::DWORD = 1020; +pub const ERROR_CHILD_MUST_BE_VOLATILE: ::DWORD = 1021; +pub const ERROR_NOTIFY_ENUM_DIR: ::DWORD = 1022; +pub const ERROR_DEPENDENT_SERVICES_RUNNING: ::DWORD = 1051; +pub const ERROR_INVALID_SERVICE_CONTROL: ::DWORD = 1052; +pub const ERROR_SERVICE_REQUEST_TIMEOUT: ::DWORD = 1053; +pub const ERROR_SERVICE_NO_THREAD: ::DWORD = 1054; +pub const ERROR_SERVICE_DATABASE_LOCKED: ::DWORD = 1055; +pub const ERROR_SERVICE_ALREADY_RUNNING: ::DWORD = 1056; +pub const ERROR_INVALID_SERVICE_ACCOUNT: ::DWORD = 1057; +pub const ERROR_SERVICE_DISABLED: ::DWORD = 1058; +pub const ERROR_CIRCULAR_DEPENDENCY: ::DWORD = 1059; +pub const ERROR_SERVICE_DOES_NOT_EXIST: ::DWORD = 1060; +pub const ERROR_SERVICE_CANNOT_ACCEPT_CTRL: ::DWORD = 1061; +pub const ERROR_SERVICE_NOT_ACTIVE: ::DWORD = 1062; +pub const ERROR_FAILED_SERVICE_CONTROLLER_CONNECT: ::DWORD = 1063; +pub const ERROR_EXCEPTION_IN_SERVICE: ::DWORD = 1064; +pub const ERROR_DATABASE_DOES_NOT_EXIST: ::DWORD = 1065; +pub const ERROR_SERVICE_SPECIFIC_ERROR: ::DWORD = 1066; +pub const ERROR_PROCESS_ABORTED: ::DWORD = 1067; +pub const ERROR_SERVICE_DEPENDENCY_FAIL: ::DWORD = 1068; +pub const ERROR_SERVICE_LOGON_FAILED: ::DWORD = 1069; +pub const ERROR_SERVICE_START_HANG: ::DWORD = 1070; +pub const ERROR_INVALID_SERVICE_LOCK: ::DWORD = 1071; +pub const ERROR_SERVICE_MARKED_FOR_DELETE: ::DWORD = 1072; +pub const ERROR_SERVICE_EXISTS: ::DWORD = 1073; +pub const ERROR_ALREADY_RUNNING_LKG: ::DWORD = 1074; +pub const ERROR_SERVICE_DEPENDENCY_DELETED: ::DWORD = 1075; +pub const ERROR_BOOT_ALREADY_ACCEPTED: ::DWORD = 1076; +pub const ERROR_SERVICE_NEVER_STARTED: ::DWORD = 1077; +pub const ERROR_DUPLICATE_SERVICE_NAME: ::DWORD = 1078; +pub const ERROR_DIFFERENT_SERVICE_ACCOUNT: ::DWORD = 1079; +pub const ERROR_CANNOT_DETECT_DRIVER_FAILURE: ::DWORD = 1080; +pub const ERROR_CANNOT_DETECT_PROCESS_ABORT: ::DWORD = 1081; +pub const ERROR_NO_RECOVERY_PROGRAM: ::DWORD = 1082; +pub const ERROR_SERVICE_NOT_IN_EXE: ::DWORD = 1083; +pub const ERROR_NOT_SAFEBOOT_SERVICE: ::DWORD = 1084; +pub const ERROR_END_OF_MEDIA: ::DWORD = 1100; +pub const ERROR_FILEMARK_DETECTED: ::DWORD = 1101; +pub const ERROR_BEGINNING_OF_MEDIA: ::DWORD = 1102; +pub const ERROR_SETMARK_DETECTED: ::DWORD = 1103; +pub const ERROR_NO_DATA_DETECTED: ::DWORD = 1104; +pub const ERROR_PARTITION_FAILURE: ::DWORD = 1105; +pub const ERROR_INVALID_BLOCK_LENGTH: ::DWORD = 1106; +pub const ERROR_DEVICE_NOT_PARTITIONED: ::DWORD = 1107; +pub const ERROR_UNABLE_TO_LOCK_MEDIA: ::DWORD = 1108; +pub const ERROR_UNABLE_TO_UNLOAD_MEDIA: ::DWORD = 1109; +pub const ERROR_MEDIA_CHANGED: ::DWORD = 1110; +pub const ERROR_BUS_RESET: ::DWORD = 1111; +pub const ERROR_NO_MEDIA_IN_DRIVE: ::DWORD = 1112; +pub const ERROR_NO_UNICODE_TRANSLATION: ::DWORD = 1113; +pub const ERROR_DLL_INIT_FAILED: ::DWORD = 1114; +pub const ERROR_SHUTDOWN_IN_PROGRESS: ::DWORD = 1115; +pub const ERROR_NO_SHUTDOWN_IN_PROGRESS: ::DWORD = 1116; +pub const ERROR_IO_DEVICE: ::DWORD = 1117; +pub const ERROR_SERIAL_NO_DEVICE: ::DWORD = 1118; +pub const ERROR_IRQ_BUSY: ::DWORD = 1119; +pub const ERROR_MORE_WRITES: ::DWORD = 1120; +pub const ERROR_COUNTER_TIMEOUT: ::DWORD = 1121; +pub const ERROR_FLOPPY_ID_MARK_NOT_FOUND: ::DWORD = 1122; +pub const ERROR_FLOPPY_WRONG_CYLINDER: ::DWORD = 1123; +pub const ERROR_FLOPPY_UNKNOWN_ERROR: ::DWORD = 1124; +pub const ERROR_FLOPPY_BAD_REGISTERS: ::DWORD = 1125; +pub const ERROR_DISK_RECALIBRATE_FAILED: ::DWORD = 1126; +pub const ERROR_DISK_OPERATION_FAILED: ::DWORD = 1127; +pub const ERROR_DISK_RESET_FAILED: ::DWORD = 1128; +pub const ERROR_EOM_OVERFLOW: ::DWORD = 1129; +pub const ERROR_NOT_ENOUGH_SERVER_MEMORY: ::DWORD = 1130; +pub const ERROR_POSSIBLE_DEADLOCK: ::DWORD = 1131; +pub const ERROR_MAPPED_ALIGNMENT: ::DWORD = 1132; +pub const ERROR_SET_POWER_STATE_VETOED: ::DWORD = 1140; +pub const ERROR_SET_POWER_STATE_FAILED: ::DWORD = 1141; +pub const ERROR_TOO_MANY_LINKS: ::DWORD = 1142; +pub const ERROR_OLD_WIN_VERSION: ::DWORD = 1150; +pub const ERROR_APP_WRONG_OS: ::DWORD = 1151; +pub const ERROR_SINGLE_INSTANCE_APP: ::DWORD = 1152; +pub const ERROR_RMODE_APP: ::DWORD = 1153; +pub const ERROR_INVALID_DLL: ::DWORD = 1154; +pub const ERROR_NO_ASSOCIATION: ::DWORD = 1155; +pub const ERROR_DDE_FAIL: ::DWORD = 1156; +pub const ERROR_DLL_NOT_FOUND: ::DWORD = 1157; +pub const ERROR_NO_MORE_USER_HANDLES: ::DWORD = 1158; +pub const ERROR_MESSAGE_SYNC_ONLY: ::DWORD = 1159; +pub const ERROR_SOURCE_ELEMENT_EMPTY: ::DWORD = 1160; +pub const ERROR_DESTINATION_ELEMENT_FULL: ::DWORD = 1161; +pub const ERROR_ILLEGAL_ELEMENT_ADDRESS: ::DWORD = 1162; +pub const ERROR_MAGAZINE_NOT_PRESENT: ::DWORD = 1163; +pub const ERROR_DEVICE_REINITIALIZATION_NEEDED: ::DWORD = 1164; +pub const ERROR_DEVICE_REQUIRES_CLEANING: ::DWORD = 1165; +pub const ERROR_DEVICE_DOOR_OPEN: ::DWORD = 1166; +pub const ERROR_DEVICE_NOT_CONNECTED: ::DWORD = 1167; +pub const ERROR_NOT_FOUND: ::DWORD = 1168; +pub const ERROR_NO_MATCH: ::DWORD = 1169; +pub const ERROR_SET_NOT_FOUND: ::DWORD = 1170; +pub const ERROR_POINT_NOT_FOUND: ::DWORD = 1171; +pub const ERROR_NO_TRACKING_SERVICE: ::DWORD = 1172; +pub const ERROR_NO_VOLUME_ID: ::DWORD = 1173; +pub const ERROR_UNABLE_TO_REMOVE_REPLACED: ::DWORD = 1175; +pub const ERROR_UNABLE_TO_MOVE_REPLACEMENT: ::DWORD = 1176; +pub const ERROR_UNABLE_TO_MOVE_REPLACEMENT_2: ::DWORD = 1177; +pub const ERROR_JOURNAL_DELETE_IN_PROGRESS: ::DWORD = 1178; +pub const ERROR_JOURNAL_NOT_ACTIVE: ::DWORD = 1179; +pub const ERROR_POTENTIAL_FILE_FOUND: ::DWORD = 1180; +pub const ERROR_JOURNAL_ENTRY_DELETED: ::DWORD = 1181; +pub const ERROR_SHUTDOWN_IS_SCHEDULED: ::DWORD = 1190; +pub const ERROR_SHUTDOWN_USERS_LOGGED_ON: ::DWORD = 1191; +pub const ERROR_BAD_DEVICE: ::DWORD = 1200; +pub const ERROR_CONNECTION_UNAVAIL: ::DWORD = 1201; +pub const ERROR_DEVICE_ALREADY_REMEMBERED: ::DWORD = 1202; +pub const ERROR_NO_NET_OR_BAD_PATH: ::DWORD = 1203; +pub const ERROR_BAD_PROVIDER: ::DWORD = 1204; +pub const ERROR_CANNOT_OPEN_PROFILE: ::DWORD = 1205; +pub const ERROR_BAD_PROFILE: ::DWORD = 1206; +pub const ERROR_NOT_CONTAINER: ::DWORD = 1207; +pub const ERROR_EXTENDED_ERROR: ::DWORD = 1208; +pub const ERROR_INVALID_GROUPNAME: ::DWORD = 1209; +pub const ERROR_INVALID_COMPUTERNAME: ::DWORD = 1210; +pub const ERROR_INVALID_EVENTNAME: ::DWORD = 1211; +pub const ERROR_INVALID_DOMAINNAME: ::DWORD = 1212; +pub const ERROR_INVALID_SERVICENAME: ::DWORD = 1213; +pub const ERROR_INVALID_NETNAME: ::DWORD = 1214; +pub const ERROR_INVALID_SHARENAME: ::DWORD = 1215; +pub const ERROR_INVALID_PASSWORDNAME: ::DWORD = 1216; +pub const ERROR_INVALID_MESSAGENAME: ::DWORD = 1217; +pub const ERROR_INVALID_MESSAGEDEST: ::DWORD = 1218; +pub const ERROR_SESSION_CREDENTIAL_CONFLICT: ::DWORD = 1219; +pub const ERROR_REMOTE_SESSION_LIMIT_EXCEEDED: ::DWORD = 1220; +pub const ERROR_DUP_DOMAINNAME: ::DWORD = 1221; +pub const ERROR_NO_NETWORK: ::DWORD = 1222; +pub const ERROR_CANCELLED: ::DWORD = 1223; +pub const ERROR_USER_MAPPED_FILE: ::DWORD = 1224; +pub const ERROR_CONNECTION_REFUSED: ::DWORD = 1225; +pub const ERROR_GRACEFUL_DISCONNECT: ::DWORD = 1226; +pub const ERROR_ADDRESS_ALREADY_ASSOCIATED: ::DWORD = 1227; +pub const ERROR_ADDRESS_NOT_ASSOCIATED: ::DWORD = 1228; +pub const ERROR_CONNECTION_INVALID: ::DWORD = 1229; +pub const ERROR_CONNECTION_ACTIVE: ::DWORD = 1230; +pub const ERROR_NETWORK_UNREACHABLE: ::DWORD = 1231; +pub const ERROR_HOST_UNREACHABLE: ::DWORD = 1232; +pub const ERROR_PROTOCOL_UNREACHABLE: ::DWORD = 1233; +pub const ERROR_PORT_UNREACHABLE: ::DWORD = 1234; +pub const ERROR_REQUEST_ABORTED: ::DWORD = 1235; +pub const ERROR_CONNECTION_ABORTED: ::DWORD = 1236; +pub const ERROR_RETRY: ::DWORD = 1237; +pub const ERROR_CONNECTION_COUNT_LIMIT: ::DWORD = 1238; +pub const ERROR_LOGIN_TIME_RESTRICTION: ::DWORD = 1239; +pub const ERROR_LOGIN_WKSTA_RESTRICTION: ::DWORD = 1240; +pub const ERROR_INCORRECT_ADDRESS: ::DWORD = 1241; +pub const ERROR_ALREADY_REGISTERED: ::DWORD = 1242; +pub const ERROR_SERVICE_NOT_FOUND: ::DWORD = 1243; +pub const ERROR_NOT_AUTHENTICATED: ::DWORD = 1244; +pub const ERROR_NOT_LOGGED_ON: ::DWORD = 1245; +pub const ERROR_CONTINUE: ::DWORD = 1246; +pub const ERROR_ALREADY_INITIALIZED: ::DWORD = 1247; +pub const ERROR_NO_MORE_DEVICES: ::DWORD = 1248; +pub const ERROR_NO_SUCH_SITE: ::DWORD = 1249; +pub const ERROR_DOMAIN_CONTROLLER_EXISTS: ::DWORD = 1250; +pub const ERROR_ONLY_IF_CONNECTED: ::DWORD = 1251; +pub const ERROR_OVERRIDE_NOCHANGES: ::DWORD = 1252; +pub const ERROR_BAD_USER_PROFILE: ::DWORD = 1253; +pub const ERROR_NOT_SUPPORTED_ON_SBS: ::DWORD = 1254; +pub const ERROR_SERVER_SHUTDOWN_IN_PROGRESS: ::DWORD = 1255; +pub const ERROR_HOST_DOWN: ::DWORD = 1256; +pub const ERROR_NON_ACCOUNT_SID: ::DWORD = 1257; +pub const ERROR_NON_DOMAIN_SID: ::DWORD = 1258; +pub const ERROR_APPHELP_BLOCK: ::DWORD = 1259; +pub const ERROR_ACCESS_DISABLED_BY_POLICY: ::DWORD = 1260; +pub const ERROR_REG_NAT_CONSUMPTION: ::DWORD = 1261; +pub const ERROR_CSCSHARE_OFFLINE: ::DWORD = 1262; +pub const ERROR_PKINIT_FAILURE: ::DWORD = 1263; +pub const ERROR_SMARTCARD_SUBSYSTEM_FAILURE: ::DWORD = 1264; +pub const ERROR_DOWNGRADE_DETECTED: ::DWORD = 1265; +pub const ERROR_MACHINE_LOCKED: ::DWORD = 1271; +pub const ERROR_CALLBACK_SUPPLIED_INVALID_DATA: ::DWORD = 1273; +pub const ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED: ::DWORD = 1274; +pub const ERROR_DRIVER_BLOCKED: ::DWORD = 1275; +pub const ERROR_INVALID_IMPORT_OF_NON_DLL: ::DWORD = 1276; +pub const ERROR_ACCESS_DISABLED_WEBBLADE: ::DWORD = 1277; +pub const ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER: ::DWORD = 1278; +pub const ERROR_RECOVERY_FAILURE: ::DWORD = 1279; +pub const ERROR_ALREADY_FIBER: ::DWORD = 1280; +pub const ERROR_ALREADY_THREAD: ::DWORD = 1281; +pub const ERROR_STACK_BUFFER_OVERRUN: ::DWORD = 1282; +pub const ERROR_PARAMETER_QUOTA_EXCEEDED: ::DWORD = 1283; +pub const ERROR_DEBUGGER_INACTIVE: ::DWORD = 1284; +pub const ERROR_DELAY_LOAD_FAILED: ::DWORD = 1285; +pub const ERROR_VDM_DISALLOWED: ::DWORD = 1286; +pub const ERROR_UNIDENTIFIED_ERROR: ::DWORD = 1287; +pub const ERROR_INVALID_CRUNTIME_PARAMETER: ::DWORD = 1288; +pub const ERROR_BEYOND_VDL: ::DWORD = 1289; +pub const ERROR_INCOMPATIBLE_SERVICE_SID_TYPE: ::DWORD = 1290; +pub const ERROR_DRIVER_PROCESS_TERMINATED: ::DWORD = 1291; +pub const ERROR_IMPLEMENTATION_LIMIT: ::DWORD = 1292; +pub const ERROR_PROCESS_IS_PROTECTED: ::DWORD = 1293; +pub const ERROR_SERVICE_NOTIFY_CLIENT_LAGGING: ::DWORD = 1294; +pub const ERROR_DISK_QUOTA_EXCEEDED: ::DWORD = 1295; +pub const ERROR_CONTENT_BLOCKED: ::DWORD = 1296; +pub const ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE: ::DWORD = 1297; +pub const ERROR_APP_HANG: ::DWORD = 1298; +pub const ERROR_INVALID_LABEL: ::DWORD = 1299; +pub const ERROR_NOT_ALL_ASSIGNED: ::DWORD = 1300; +pub const ERROR_SOME_NOT_MAPPED: ::DWORD = 1301; +pub const ERROR_NO_QUOTAS_FOR_ACCOUNT: ::DWORD = 1302; +pub const ERROR_LOCAL_USER_SESSION_KEY: ::DWORD = 1303; +pub const ERROR_NULL_LM_PASSWORD: ::DWORD = 1304; +pub const ERROR_UNKNOWN_REVISION: ::DWORD = 1305; +pub const ERROR_REVISION_MISMATCH: ::DWORD = 1306; +pub const ERROR_INVALID_OWNER: ::DWORD = 1307; +pub const ERROR_INVALID_PRIMARY_GROUP: ::DWORD = 1308; +pub const ERROR_NO_IMPERSONATION_TOKEN: ::DWORD = 1309; +pub const ERROR_CANT_DISABLE_MANDATORY: ::DWORD = 1310; +pub const ERROR_NO_LOGON_SERVERS: ::DWORD = 1311; +pub const ERROR_NO_SUCH_LOGON_SESSION: ::DWORD = 1312; +pub const ERROR_NO_SUCH_PRIVILEGE: ::DWORD = 1313; +pub const ERROR_PRIVILEGE_NOT_HELD: ::DWORD = 1314; +pub const ERROR_INVALID_ACCOUNT_NAME: ::DWORD = 1315; +pub const ERROR_USER_EXISTS: ::DWORD = 1316; +pub const ERROR_NO_SUCH_USER: ::DWORD = 1317; +pub const ERROR_GROUP_EXISTS: ::DWORD = 1318; +pub const ERROR_NO_SUCH_GROUP: ::DWORD = 1319; +pub const ERROR_MEMBER_IN_GROUP: ::DWORD = 1320; +pub const ERROR_MEMBER_NOT_IN_GROUP: ::DWORD = 1321; +pub const ERROR_LAST_ADMIN: ::DWORD = 1322; +pub const ERROR_WRONG_PASSWORD: ::DWORD = 1323; +pub const ERROR_ILL_FORMED_PASSWORD: ::DWORD = 1324; +pub const ERROR_PASSWORD_RESTRICTION: ::DWORD = 1325; +pub const ERROR_LOGON_FAILURE: ::DWORD = 1326; +pub const ERROR_ACCOUNT_RESTRICTION: ::DWORD = 1327; +pub const ERROR_INVALID_LOGON_HOURS: ::DWORD = 1328; +pub const ERROR_INVALID_WORKSTATION: ::DWORD = 1329; +pub const ERROR_PASSWORD_EXPIRED: ::DWORD = 1330; +pub const ERROR_ACCOUNT_DISABLED: ::DWORD = 1331; +pub const ERROR_NONE_MAPPED: ::DWORD = 1332; +pub const ERROR_TOO_MANY_LUIDS_REQUESTED: ::DWORD = 1333; +pub const ERROR_LUIDS_EXHAUSTED: ::DWORD = 1334; +pub const ERROR_INVALID_SUB_AUTHORITY: ::DWORD = 1335; +pub const ERROR_INVALID_ACL: ::DWORD = 1336; +pub const ERROR_INVALID_SID: ::DWORD = 1337; +pub const ERROR_INVALID_SECURITY_DESCR: ::DWORD = 1338; +pub const ERROR_BAD_INHERITANCE_ACL: ::DWORD = 1340; +pub const ERROR_SERVER_DISABLED: ::DWORD = 1341; +pub const ERROR_SERVER_NOT_DISABLED: ::DWORD = 1342; +pub const ERROR_INVALID_ID_AUTHORITY: ::DWORD = 1343; +pub const ERROR_ALLOTTED_SPACE_EXCEEDED: ::DWORD = 1344; +pub const ERROR_INVALID_GROUP_ATTRIBUTES: ::DWORD = 1345; +pub const ERROR_BAD_IMPERSONATION_LEVEL: ::DWORD = 1346; +pub const ERROR_CANT_OPEN_ANONYMOUS: ::DWORD = 1347; +pub const ERROR_BAD_VALIDATION_CLASS: ::DWORD = 1348; +pub const ERROR_BAD_TOKEN_TYPE: ::DWORD = 1349; +pub const ERROR_NO_SECURITY_ON_OBJECT: ::DWORD = 1350; +pub const ERROR_CANT_ACCESS_DOMAIN_INFO: ::DWORD = 1351; +pub const ERROR_INVALID_SERVER_STATE: ::DWORD = 1352; +pub const ERROR_INVALID_DOMAIN_STATE: ::DWORD = 1353; +pub const ERROR_INVALID_DOMAIN_ROLE: ::DWORD = 1354; +pub const ERROR_NO_SUCH_DOMAIN: ::DWORD = 1355; +pub const ERROR_DOMAIN_EXISTS: ::DWORD = 1356; +pub const ERROR_DOMAIN_LIMIT_EXCEEDED: ::DWORD = 1357; +pub const ERROR_INTERNAL_DB_CORRUPTION: ::DWORD = 1358; +pub const ERROR_INTERNAL_ERROR: ::DWORD = 1359; +pub const ERROR_GENERIC_NOT_MAPPED: ::DWORD = 1360; +pub const ERROR_BAD_DESCRIPTOR_FORMAT: ::DWORD = 1361; +pub const ERROR_NOT_LOGON_PROCESS: ::DWORD = 1362; +pub const ERROR_LOGON_SESSION_EXISTS: ::DWORD = 1363; +pub const ERROR_NO_SUCH_PACKAGE: ::DWORD = 1364; +pub const ERROR_BAD_LOGON_SESSION_STATE: ::DWORD = 1365; +pub const ERROR_LOGON_SESSION_COLLISION: ::DWORD = 1366; +pub const ERROR_INVALID_LOGON_TYPE: ::DWORD = 1367; +pub const ERROR_CANNOT_IMPERSONATE: ::DWORD = 1368; +pub const ERROR_RXACT_INVALID_STATE: ::DWORD = 1369; +pub const ERROR_RXACT_COMMIT_FAILURE: ::DWORD = 1370; +pub const ERROR_SPECIAL_ACCOUNT: ::DWORD = 1371; +pub const ERROR_SPECIAL_GROUP: ::DWORD = 1372; +pub const ERROR_SPECIAL_USER: ::DWORD = 1373; +pub const ERROR_MEMBERS_PRIMARY_GROUP: ::DWORD = 1374; +pub const ERROR_TOKEN_ALREADY_IN_USE: ::DWORD = 1375; +pub const ERROR_NO_SUCH_ALIAS: ::DWORD = 1376; +pub const ERROR_MEMBER_NOT_IN_ALIAS: ::DWORD = 1377; +pub const ERROR_MEMBER_IN_ALIAS: ::DWORD = 1378; +pub const ERROR_ALIAS_EXISTS: ::DWORD = 1379; +pub const ERROR_LOGON_NOT_GRANTED: ::DWORD = 1380; +pub const ERROR_TOO_MANY_SECRETS: ::DWORD = 1381; +pub const ERROR_SECRET_TOO_LONG: ::DWORD = 1382; +pub const ERROR_INTERNAL_DB_ERROR: ::DWORD = 1383; +pub const ERROR_TOO_MANY_CONTEXT_IDS: ::DWORD = 1384; +pub const ERROR_LOGON_TYPE_NOT_GRANTED: ::DWORD = 1385; +pub const ERROR_NT_CROSS_ENCRYPTION_REQUIRED: ::DWORD = 1386; +pub const ERROR_NO_SUCH_MEMBER: ::DWORD = 1387; +pub const ERROR_INVALID_MEMBER: ::DWORD = 1388; +pub const ERROR_TOO_MANY_SIDS: ::DWORD = 1389; +pub const ERROR_LM_CROSS_ENCRYPTION_REQUIRED: ::DWORD = 1390; +pub const ERROR_NO_INHERITANCE: ::DWORD = 1391; +pub const ERROR_FILE_CORRUPT: ::DWORD = 1392; +pub const ERROR_DISK_CORRUPT: ::DWORD = 1393; +pub const ERROR_NO_USER_SESSION_KEY: ::DWORD = 1394; +pub const ERROR_LICENSE_QUOTA_EXCEEDED: ::DWORD = 1395; +pub const ERROR_WRONG_TARGET_NAME: ::DWORD = 1396; +pub const ERROR_MUTUAL_AUTH_FAILED: ::DWORD = 1397; +pub const ERROR_TIME_SKEW: ::DWORD = 1398; +pub const ERROR_CURRENT_DOMAIN_NOT_ALLOWED: ::DWORD = 1399; +pub const ERROR_INVALID_WINDOW_HANDLE: ::DWORD = 1400; +pub const ERROR_INVALID_MENU_HANDLE: ::DWORD = 1401; +pub const ERROR_INVALID_CURSOR_HANDLE: ::DWORD = 1402; +pub const ERROR_INVALID_ACCEL_HANDLE: ::DWORD = 1403; +pub const ERROR_INVALID_HOOK_HANDLE: ::DWORD = 1404; +pub const ERROR_INVALID_DWP_HANDLE: ::DWORD = 1405; +pub const ERROR_TLW_WITH_WSCHILD: ::DWORD = 1406; +pub const ERROR_CANNOT_FIND_WND_CLASS: ::DWORD = 1407; +pub const ERROR_WINDOW_OF_OTHER_THREAD: ::DWORD = 1408; +pub const ERROR_HOTKEY_ALREADY_REGISTERED: ::DWORD = 1409; +pub const ERROR_CLASS_ALREADY_EXISTS: ::DWORD = 1410; +pub const ERROR_CLASS_DOES_NOT_EXIST: ::DWORD = 1411; +pub const ERROR_CLASS_HAS_WINDOWS: ::DWORD = 1412; +pub const ERROR_INVALID_INDEX: ::DWORD = 1413; +pub const ERROR_INVALID_ICON_HANDLE: ::DWORD = 1414; +pub const ERROR_PRIVATE_DIALOG_INDEX: ::DWORD = 1415; +pub const ERROR_LISTBOX_ID_NOT_FOUND: ::DWORD = 1416; +pub const ERROR_NO_WILDCARD_CHARACTERS: ::DWORD = 1417; +pub const ERROR_CLIPBOARD_NOT_OPEN: ::DWORD = 1418; +pub const ERROR_HOTKEY_NOT_REGISTERED: ::DWORD = 1419; +pub const ERROR_WINDOW_NOT_DIALOG: ::DWORD = 1420; +pub const ERROR_CONTROL_ID_NOT_FOUND: ::DWORD = 1421; +pub const ERROR_INVALID_COMBOBOX_MESSAGE: ::DWORD = 1422; +pub const ERROR_WINDOW_NOT_COMBOBOX: ::DWORD = 1423; +pub const ERROR_INVALID_EDIT_HEIGHT: ::DWORD = 1424; +pub const ERROR_DC_NOT_FOUND: ::DWORD = 1425; +pub const ERROR_INVALID_HOOK_FILTER: ::DWORD = 1426; +pub const ERROR_INVALID_FILTER_PROC: ::DWORD = 1427; +pub const ERROR_HOOK_NEEDS_HMOD: ::DWORD = 1428; +pub const ERROR_GLOBAL_ONLY_HOOK: ::DWORD = 1429; +pub const ERROR_JOURNAL_HOOK_SET: ::DWORD = 1430; +pub const ERROR_HOOK_NOT_INSTALLED: ::DWORD = 1431; +pub const ERROR_INVALID_LB_MESSAGE: ::DWORD = 1432; +pub const ERROR_SETCOUNT_ON_BAD_LB: ::DWORD = 1433; +pub const ERROR_LB_WITHOUT_TABSTOPS: ::DWORD = 1434; +pub const ERROR_DESTROY_OBJECT_OF_OTHER_THREAD: ::DWORD = 1435; +pub const ERROR_CHILD_WINDOW_MENU: ::DWORD = 1436; +pub const ERROR_NO_SYSTEM_MENU: ::DWORD = 1437; +pub const ERROR_INVALID_MSGBOX_STYLE: ::DWORD = 1438; +pub const ERROR_INVALID_SPI_VALUE: ::DWORD = 1439; +pub const ERROR_SCREEN_ALREADY_LOCKED: ::DWORD = 1440; +pub const ERROR_HWNDS_HAVE_DIFF_PARENT: ::DWORD = 1441; +pub const ERROR_NOT_CHILD_WINDOW: ::DWORD = 1442; +pub const ERROR_INVALID_GW_COMMAND: ::DWORD = 1443; +pub const ERROR_INVALID_THREAD_ID: ::DWORD = 1444; +pub const ERROR_NON_MDICHILD_WINDOW: ::DWORD = 1445; +pub const ERROR_POPUP_ALREADY_ACTIVE: ::DWORD = 1446; +pub const ERROR_NO_SCROLLBARS: ::DWORD = 1447; +pub const ERROR_INVALID_SCROLLBAR_RANGE: ::DWORD = 1448; +pub const ERROR_INVALID_SHOWWIN_COMMAND: ::DWORD = 1449; +pub const ERROR_NO_SYSTEM_RESOURCES: ::DWORD = 1450; +pub const ERROR_NONPAGED_SYSTEM_RESOURCES: ::DWORD = 1451; +pub const ERROR_PAGED_SYSTEM_RESOURCES: ::DWORD = 1452; +pub const ERROR_WORKING_SET_QUOTA: ::DWORD = 1453; +pub const ERROR_PAGEFILE_QUOTA: ::DWORD = 1454; +pub const ERROR_COMMITMENT_LIMIT: ::DWORD = 1455; +pub const ERROR_MENU_ITEM_NOT_FOUND: ::DWORD = 1456; +pub const ERROR_INVALID_KEYBOARD_HANDLE: ::DWORD = 1457; +pub const ERROR_HOOK_TYPE_NOT_ALLOWED: ::DWORD = 1458; +pub const ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION: ::DWORD = 1459; +pub const ERROR_TIMEOUT: ::DWORD = 1460; +pub const ERROR_INVALID_MONITOR_HANDLE: ::DWORD = 1461; +pub const ERROR_INCORRECT_SIZE: ::DWORD = 1462; +pub const ERROR_SYMLINK_CLASS_DISABLED: ::DWORD = 1463; +pub const ERROR_SYMLINK_NOT_SUPPORTED: ::DWORD = 1464; +pub const ERROR_XML_PARSE_ERROR: ::DWORD = 1465; +pub const ERROR_XMLDSIG_ERROR: ::DWORD = 1466; +pub const ERROR_RESTART_APPLICATION: ::DWORD = 1467; +pub const ERROR_WRONG_COMPARTMENT: ::DWORD = 1468; +pub const ERROR_AUTHIP_FAILURE: ::DWORD = 1469; +pub const ERROR_NO_NVRAM_RESOURCES: ::DWORD = 1470; +pub const ERROR_NOT_GUI_PROCESS: ::DWORD = 1471; +pub const ERROR_EVENTLOG_FILE_CORRUPT: ::DWORD = 1500; +pub const ERROR_EVENTLOG_CANT_START: ::DWORD = 1501; +pub const ERROR_LOG_FILE_FULL: ::DWORD = 1502; +pub const ERROR_EVENTLOG_FILE_CHANGED: ::DWORD = 1503; +pub const ERROR_INVALID_TASK_NAME: ::DWORD = 1550; +pub const ERROR_INVALID_TASK_INDEX: ::DWORD = 1551; +pub const ERROR_THREAD_ALREADY_IN_TASK: ::DWORD = 1552; +pub const ERROR_INSTALL_SERVICE_FAILURE: ::DWORD = 1601; +pub const ERROR_INSTALL_USEREXIT: ::DWORD = 1602; +pub const ERROR_INSTALL_FAILURE: ::DWORD = 1603; +pub const ERROR_INSTALL_SUSPEND: ::DWORD = 1604; +pub const ERROR_UNKNOWN_PRODUCT: ::DWORD = 1605; +pub const ERROR_UNKNOWN_FEATURE: ::DWORD = 1606; +pub const ERROR_UNKNOWN_COMPONENT: ::DWORD = 1607; +pub const ERROR_UNKNOWN_PROPERTY: ::DWORD = 1608; +pub const ERROR_INVALID_HANDLE_STATE: ::DWORD = 1609; +pub const ERROR_BAD_CONFIGURATION: ::DWORD = 1610; +pub const ERROR_INDEX_ABSENT: ::DWORD = 1611; +pub const ERROR_INSTALL_SOURCE_ABSENT: ::DWORD = 1612; +pub const ERROR_INSTALL_PACKAGE_VERSION: ::DWORD = 1613; +pub const ERROR_PRODUCT_UNINSTALLED: ::DWORD = 1614; +pub const ERROR_BAD_QUERY_SYNTAX: ::DWORD = 1615; +pub const ERROR_INVALID_FIELD: ::DWORD = 1616; +pub const ERROR_DEVICE_REMOVED: ::DWORD = 1617; +pub const ERROR_INSTALL_ALREADY_RUNNING: ::DWORD = 1618; +pub const ERROR_INSTALL_PACKAGE_OPEN_FAILED: ::DWORD = 1619; +pub const ERROR_INSTALL_PACKAGE_INVALID: ::DWORD = 1620; +pub const ERROR_INSTALL_UI_FAILURE: ::DWORD = 1621; +pub const ERROR_INSTALL_LOG_FAILURE: ::DWORD = 1622; +pub const ERROR_INSTALL_LANGUAGE_UNSUPPORTED: ::DWORD = 1623; +pub const ERROR_INSTALL_TRANSFORM_FAILURE: ::DWORD = 1624; +pub const ERROR_INSTALL_PACKAGE_REJECTED: ::DWORD = 1625; +pub const ERROR_FUNCTION_NOT_CALLED: ::DWORD = 1626; +pub const ERROR_FUNCTION_FAILED: ::DWORD = 1627; +pub const ERROR_INVALID_TABLE: ::DWORD = 1628; +pub const ERROR_DATATYPE_MISMATCH: ::DWORD = 1629; +pub const ERROR_UNSUPPORTED_TYPE: ::DWORD = 1630; +pub const ERROR_CREATE_FAILED: ::DWORD = 1631; +pub const ERROR_INSTALL_TEMP_UNWRITABLE: ::DWORD = 1632; +pub const ERROR_INSTALL_PLATFORM_UNSUPPORTED: ::DWORD = 1633; +pub const ERROR_INSTALL_NOTUSED: ::DWORD = 1634; +pub const ERROR_PATCH_PACKAGE_OPEN_FAILED: ::DWORD = 1635; +pub const ERROR_PATCH_PACKAGE_INVALID: ::DWORD = 1636; +pub const ERROR_PATCH_PACKAGE_UNSUPPORTED: ::DWORD = 1637; +pub const ERROR_PRODUCT_VERSION: ::DWORD = 1638; +pub const ERROR_INVALID_COMMAND_LINE: ::DWORD = 1639; +pub const ERROR_INSTALL_REMOTE_DISALLOWED: ::DWORD = 1640; +pub const ERROR_SUCCESS_REBOOT_INITIATED: ::DWORD = 1641; +pub const ERROR_PATCH_TARGET_NOT_FOUND: ::DWORD = 1642; +pub const ERROR_PATCH_PACKAGE_REJECTED: ::DWORD = 1643; +pub const ERROR_INSTALL_TRANSFORM_REJECTED: ::DWORD = 1644; +pub const ERROR_INSTALL_REMOTE_PROHIBITED: ::DWORD = 1645; +pub const ERROR_PATCH_REMOVAL_UNSUPPORTED: ::DWORD = 1646; +pub const ERROR_UNKNOWN_PATCH: ::DWORD = 1647; +pub const ERROR_PATCH_NO_SEQUENCE: ::DWORD = 1648; +pub const ERROR_PATCH_REMOVAL_DISALLOWED: ::DWORD = 1649; +pub const ERROR_INVALID_PATCH_XML: ::DWORD = 1650; +pub const ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT: ::DWORD = 1651; +pub const ERROR_INSTALL_SERVICE_SAFEBOOT: ::DWORD = 1652; +pub const ERROR_FAIL_FAST_EXCEPTION: ::DWORD = 1653; +pub const ERROR_INSTALL_REJECTED: ::DWORD = 1654; +pub const ERROR_DYNAMIC_CODE_BLOCKED: ::DWORD = 1655; +pub const RPC_S_INVALID_STRING_BINDING: ::DWORD = 1700; +pub const RPC_S_WRONG_KIND_OF_BINDING: ::DWORD = 1701; +pub const RPC_S_INVALID_BINDING: ::DWORD = 1702; +pub const RPC_S_PROTSEQ_NOT_SUPPORTED: ::DWORD = 1703; +pub const RPC_S_INVALID_RPC_PROTSEQ: ::DWORD = 1704; +pub const RPC_S_INVALID_STRING_UUID: ::DWORD = 1705; +pub const RPC_S_INVALID_ENDPOINT_FORMAT: ::DWORD = 1706; +pub const RPC_S_INVALID_NET_ADDR: ::DWORD = 1707; +pub const RPC_S_NO_ENDPOINT_FOUND: ::DWORD = 1708; +pub const RPC_S_INVALID_TIMEOUT: ::DWORD = 1709; +pub const RPC_S_OBJECT_NOT_FOUND: ::DWORD = 1710; +pub const RPC_S_ALREADY_REGISTERED: ::DWORD = 1711; +pub const RPC_S_TYPE_ALREADY_REGISTERED: ::DWORD = 1712; +pub const RPC_S_ALREADY_LISTENING: ::DWORD = 1713; +pub const RPC_S_NO_PROTSEQS_REGISTERED: ::DWORD = 1714; +pub const RPC_S_NOT_LISTENING: ::DWORD = 1715; +pub const RPC_S_UNKNOWN_MGR_TYPE: ::DWORD = 1716; +pub const RPC_S_UNKNOWN_IF: ::DWORD = 1717; +pub const RPC_S_NO_BINDINGS: ::DWORD = 1718; +pub const RPC_S_NO_PROTSEQS: ::DWORD = 1719; +pub const RPC_S_CANT_CREATE_ENDPOINT: ::DWORD = 1720; +pub const RPC_S_OUT_OF_RESOURCES: ::DWORD = 1721; +pub const RPC_S_SERVER_UNAVAILABLE: ::DWORD = 1722; +pub const RPC_S_SERVER_TOO_BUSY: ::DWORD = 1723; +pub const RPC_S_INVALID_NETWORK_OPTIONS: ::DWORD = 1724; +pub const RPC_S_NO_CALL_ACTIVE: ::DWORD = 1725; +pub const RPC_S_CALL_FAILED: ::DWORD = 1726; +pub const RPC_S_CALL_FAILED_DNE: ::DWORD = 1727; +pub const RPC_S_PROTOCOL_ERROR: ::DWORD = 1728; +pub const RPC_S_PROXY_ACCESS_DENIED: ::DWORD = 1729; +pub const RPC_S_UNSUPPORTED_TRANS_SYN: ::DWORD = 1730; +pub const RPC_S_UNSUPPORTED_TYPE: ::DWORD = 1732; +pub const RPC_S_INVALID_TAG: ::DWORD = 1733; +pub const RPC_S_INVALID_BOUND: ::DWORD = 1734; +pub const RPC_S_NO_ENTRY_NAME: ::DWORD = 1735; +pub const RPC_S_INVALID_NAME_SYNTAX: ::DWORD = 1736; +pub const RPC_S_UNSUPPORTED_NAME_SYNTAX: ::DWORD = 1737; +pub const RPC_S_UUID_NO_ADDRESS: ::DWORD = 1739; +pub const RPC_S_DUPLICATE_ENDPOINT: ::DWORD = 1740; +pub const RPC_S_UNKNOWN_AUTHN_TYPE: ::DWORD = 1741; +pub const RPC_S_MAX_CALLS_TOO_SMALL: ::DWORD = 1742; +pub const RPC_S_STRING_TOO_LONG: ::DWORD = 1743; +pub const RPC_S_PROTSEQ_NOT_FOUND: ::DWORD = 1744; +pub const RPC_S_PROCNUM_OUT_OF_RANGE: ::DWORD = 1745; +pub const RPC_S_BINDING_HAS_NO_AUTH: ::DWORD = 1746; +pub const RPC_S_UNKNOWN_AUTHN_SERVICE: ::DWORD = 1747; +pub const RPC_S_UNKNOWN_AUTHN_LEVEL: ::DWORD = 1748; +pub const RPC_S_INVALID_AUTH_IDENTITY: ::DWORD = 1749; +pub const RPC_S_UNKNOWN_AUTHZ_SERVICE: ::DWORD = 1750; +pub const EPT_S_INVALID_ENTRY: ::DWORD = 1751; +pub const EPT_S_CANT_PERFORM_OP: ::DWORD = 1752; +pub const EPT_S_NOT_REGISTERED: ::DWORD = 1753; +pub const RPC_S_NOTHING_TO_EXPORT: ::DWORD = 1754; +pub const RPC_S_INCOMPLETE_NAME: ::DWORD = 1755; +pub const RPC_S_INVALID_VERS_OPTION: ::DWORD = 1756; +pub const RPC_S_NO_MORE_MEMBERS: ::DWORD = 1757; +pub const RPC_S_NOT_ALL_OBJS_UNEXPORTED: ::DWORD = 1758; +pub const RPC_S_INTERFACE_NOT_FOUND: ::DWORD = 1759; +pub const RPC_S_ENTRY_ALREADY_EXISTS: ::DWORD = 1760; +pub const RPC_S_ENTRY_NOT_FOUND: ::DWORD = 1761; +pub const RPC_S_NAME_SERVICE_UNAVAILABLE: ::DWORD = 1762; +pub const RPC_S_INVALID_NAF_ID: ::DWORD = 1763; +pub const RPC_S_CANNOT_SUPPORT: ::DWORD = 1764; +pub const RPC_S_NO_CONTEXT_AVAILABLE: ::DWORD = 1765; +pub const RPC_S_INTERNAL_ERROR: ::DWORD = 1766; +pub const RPC_S_ZERO_DIVIDE: ::DWORD = 1767; +pub const RPC_S_ADDRESS_ERROR: ::DWORD = 1768; +pub const RPC_S_FP_DIV_ZERO: ::DWORD = 1769; +pub const RPC_S_FP_UNDERFLOW: ::DWORD = 1770; +pub const RPC_S_FP_OVERFLOW: ::DWORD = 1771; +pub const RPC_X_NO_MORE_ENTRIES: ::DWORD = 1772; +pub const RPC_X_SS_CHAR_TRANS_OPEN_FAIL: ::DWORD = 1773; +pub const RPC_X_SS_CHAR_TRANS_SHORT_FILE: ::DWORD = 1774; +pub const RPC_X_SS_IN_NULL_CONTEXT: ::DWORD = 1775; +pub const RPC_X_SS_CONTEXT_DAMAGED: ::DWORD = 1777; +pub const RPC_X_SS_HANDLES_MISMATCH: ::DWORD = 1778; +pub const RPC_X_SS_CANNOT_GET_CALL_HANDLE: ::DWORD = 1779; +pub const RPC_X_NULL_REF_POINTER: ::DWORD = 1780; +pub const RPC_X_ENUM_VALUE_OUT_OF_RANGE: ::DWORD = 1781; +pub const RPC_X_BYTE_COUNT_TOO_SMALL: ::DWORD = 1782; +pub const RPC_X_BAD_STUB_DATA: ::DWORD = 1783; +pub const ERROR_INVALID_USER_BUFFER: ::DWORD = 1784; +pub const ERROR_UNRECOGNIZED_MEDIA: ::DWORD = 1785; +pub const ERROR_NO_TRUST_LSA_SECRET: ::DWORD = 1786; +pub const ERROR_NO_TRUST_SAM_ACCOUNT: ::DWORD = 1787; +pub const ERROR_TRUSTED_DOMAIN_FAILURE: ::DWORD = 1788; +pub const ERROR_TRUSTED_RELATIONSHIP_FAILURE: ::DWORD = 1789; +pub const ERROR_TRUST_FAILURE: ::DWORD = 1790; +pub const RPC_S_CALL_IN_PROGRESS: ::DWORD = 1791; +pub const ERROR_NETLOGON_NOT_STARTED: ::DWORD = 1792; +pub const ERROR_ACCOUNT_EXPIRED: ::DWORD = 1793; +pub const ERROR_REDIRECTOR_HAS_OPEN_HANDLES: ::DWORD = 1794; +pub const ERROR_PRINTER_DRIVER_ALREADY_INSTALLED: ::DWORD = 1795; +pub const ERROR_UNKNOWN_PORT: ::DWORD = 1796; +pub const ERROR_UNKNOWN_PRINTER_DRIVER: ::DWORD = 1797; +pub const ERROR_UNKNOWN_PRINTPROCESSOR: ::DWORD = 1798; +pub const ERROR_INVALID_SEPARATOR_FILE: ::DWORD = 1799; +pub const ERROR_INVALID_PRIORITY: ::DWORD = 1800; +pub const ERROR_INVALID_PRINTER_NAME: ::DWORD = 1801; +pub const ERROR_PRINTER_ALREADY_EXISTS: ::DWORD = 1802; +pub const ERROR_INVALID_PRINTER_COMMAND: ::DWORD = 1803; +pub const ERROR_INVALID_DATATYPE: ::DWORD = 1804; +pub const ERROR_INVALID_ENVIRONMENT: ::DWORD = 1805; +pub const RPC_S_NO_MORE_BINDINGS: ::DWORD = 1806; +pub const ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT: ::DWORD = 1807; +pub const ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT: ::DWORD = 1808; +pub const ERROR_NOLOGON_SERVER_TRUST_ACCOUNT: ::DWORD = 1809; +pub const ERROR_DOMAIN_TRUST_INCONSISTENT: ::DWORD = 1810; +pub const ERROR_SERVER_HAS_OPEN_HANDLES: ::DWORD = 1811; +pub const ERROR_RESOURCE_DATA_NOT_FOUND: ::DWORD = 1812; +pub const ERROR_RESOURCE_TYPE_NOT_FOUND: ::DWORD = 1813; +pub const ERROR_RESOURCE_NAME_NOT_FOUND: ::DWORD = 1814; +pub const ERROR_RESOURCE_LANG_NOT_FOUND: ::DWORD = 1815; +pub const ERROR_NOT_ENOUGH_QUOTA: ::DWORD = 1816; +pub const RPC_S_NO_INTERFACES: ::DWORD = 1817; +pub const RPC_S_CALL_CANCELLED: ::DWORD = 1818; +pub const RPC_S_BINDING_INCOMPLETE: ::DWORD = 1819; +pub const RPC_S_COMM_FAILURE: ::DWORD = 1820; +pub const RPC_S_UNSUPPORTED_AUTHN_LEVEL: ::DWORD = 1821; +pub const RPC_S_NO_PRINC_NAME: ::DWORD = 1822; +pub const RPC_S_NOT_RPC_ERROR: ::DWORD = 1823; +pub const RPC_S_UUID_LOCAL_ONLY: ::DWORD = 1824; +pub const RPC_S_SEC_PKG_ERROR: ::DWORD = 1825; +pub const RPC_S_NOT_CANCELLED: ::DWORD = 1826; +pub const RPC_X_INVALID_ES_ACTION: ::DWORD = 1827; +pub const RPC_X_WRONG_ES_VERSION: ::DWORD = 1828; +pub const RPC_X_WRONG_STUB_VERSION: ::DWORD = 1829; +pub const RPC_X_INVALID_PIPE_OBJECT: ::DWORD = 1830; +pub const RPC_X_WRONG_PIPE_ORDER: ::DWORD = 1831; +pub const RPC_X_WRONG_PIPE_VERSION: ::DWORD = 1832; +pub const RPC_S_COOKIE_AUTH_FAILED: ::DWORD = 1833; +pub const RPC_S_GROUP_MEMBER_NOT_FOUND: ::DWORD = 1898; +pub const EPT_S_CANT_CREATE: ::DWORD = 1899; +pub const RPC_S_INVALID_OBJECT: ::DWORD = 1900; +pub const ERROR_INVALID_TIME: ::DWORD = 1901; +pub const ERROR_INVALID_FORM_NAME: ::DWORD = 1902; +pub const ERROR_INVALID_FORM_SIZE: ::DWORD = 1903; +pub const ERROR_ALREADY_WAITING: ::DWORD = 1904; +pub const ERROR_PRINTER_DELETED: ::DWORD = 1905; +pub const ERROR_INVALID_PRINTER_STATE: ::DWORD = 1906; +pub const ERROR_PASSWORD_MUST_CHANGE: ::DWORD = 1907; +pub const ERROR_DOMAIN_CONTROLLER_NOT_FOUND: ::DWORD = 1908; +pub const ERROR_ACCOUNT_LOCKED_OUT: ::DWORD = 1909; +pub const OR_INVALID_OXID: ::DWORD = 1910; +pub const OR_INVALID_OID: ::DWORD = 1911; +pub const OR_INVALID_SET: ::DWORD = 1912; +pub const RPC_S_SEND_INCOMPLETE: ::DWORD = 1913; +pub const RPC_S_INVALID_ASYNC_HANDLE: ::DWORD = 1914; +pub const RPC_S_INVALID_ASYNC_CALL: ::DWORD = 1915; +pub const RPC_X_PIPE_CLOSED: ::DWORD = 1916; +pub const RPC_X_PIPE_DISCIPLINE_ERROR: ::DWORD = 1917; +pub const RPC_X_PIPE_EMPTY: ::DWORD = 1918; +pub const ERROR_NO_SITENAME: ::DWORD = 1919; +pub const ERROR_CANT_ACCESS_FILE: ::DWORD = 1920; +pub const ERROR_CANT_RESOLVE_FILENAME: ::DWORD = 1921; +pub const RPC_S_ENTRY_TYPE_MISMATCH: ::DWORD = 1922; +pub const RPC_S_NOT_ALL_OBJS_EXPORTED: ::DWORD = 1923; +pub const RPC_S_INTERFACE_NOT_EXPORTED: ::DWORD = 1924; +pub const RPC_S_PROFILE_NOT_ADDED: ::DWORD = 1925; +pub const RPC_S_PRF_ELT_NOT_ADDED: ::DWORD = 1926; +pub const RPC_S_PRF_ELT_NOT_REMOVED: ::DWORD = 1927; +pub const RPC_S_GRP_ELT_NOT_ADDED: ::DWORD = 1928; +pub const RPC_S_GRP_ELT_NOT_REMOVED: ::DWORD = 1929; +pub const ERROR_KM_DRIVER_BLOCKED: ::DWORD = 1930; +pub const ERROR_CONTEXT_EXPIRED: ::DWORD = 1931; +pub const ERROR_PER_USER_TRUST_QUOTA_EXCEEDED: ::DWORD = 1932; +pub const ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED: ::DWORD = 1933; +pub const ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED: ::DWORD = 1934; +pub const ERROR_AUTHENTICATION_FIREWALL_FAILED: ::DWORD = 1935; +pub const ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED: ::DWORD = 1936; +pub const ERROR_NTLM_BLOCKED: ::DWORD = 1937; +pub const ERROR_PASSWORD_CHANGE_REQUIRED: ::DWORD = 1938; +pub const ERROR_INVALID_PIXEL_FORMAT: ::DWORD = 2000; +pub const ERROR_BAD_DRIVER: ::DWORD = 2001; +pub const ERROR_INVALID_WINDOW_STYLE: ::DWORD = 2002; +pub const ERROR_METAFILE_NOT_SUPPORTED: ::DWORD = 2003; +pub const ERROR_TRANSFORM_NOT_SUPPORTED: ::DWORD = 2004; +pub const ERROR_CLIPPING_NOT_SUPPORTED: ::DWORD = 2005; +pub const ERROR_INVALID_CMM: ::DWORD = 2010; +pub const ERROR_INVALID_PROFILE: ::DWORD = 2011; +pub const ERROR_TAG_NOT_FOUND: ::DWORD = 2012; +pub const ERROR_TAG_NOT_PRESENT: ::DWORD = 2013; +pub const ERROR_DUPLICATE_TAG: ::DWORD = 2014; +pub const ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE: ::DWORD = 2015; +pub const ERROR_PROFILE_NOT_FOUND: ::DWORD = 2016; +pub const ERROR_INVALID_COLORSPACE: ::DWORD = 2017; +pub const ERROR_ICM_NOT_ENABLED: ::DWORD = 2018; +pub const ERROR_DELETING_ICM_XFORM: ::DWORD = 2019; +pub const ERROR_INVALID_TRANSFORM: ::DWORD = 2020; +pub const ERROR_COLORSPACE_MISMATCH: ::DWORD = 2021; +pub const ERROR_INVALID_COLORINDEX: ::DWORD = 2022; +pub const ERROR_PROFILE_DOES_NOT_MATCH_DEVICE: ::DWORD = 2023; +pub const ERROR_CONNECTED_OTHER_PASSWORD: ::DWORD = 2108; +pub const ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT: ::DWORD = 2109; +pub const ERROR_BAD_USERNAME: ::DWORD = 2202; +pub const ERROR_NOT_CONNECTED: ::DWORD = 2250; +pub const ERROR_OPEN_FILES: ::DWORD = 2401; +pub const ERROR_ACTIVE_CONNECTIONS: ::DWORD = 2402; +pub const ERROR_DEVICE_IN_USE: ::DWORD = 2404; +pub const ERROR_UNKNOWN_PRINT_MONITOR: ::DWORD = 3000; +pub const ERROR_PRINTER_DRIVER_IN_USE: ::DWORD = 3001; +pub const ERROR_SPOOL_FILE_NOT_FOUND: ::DWORD = 3002; +pub const ERROR_SPL_NO_STARTDOC: ::DWORD = 3003; +pub const ERROR_SPL_NO_ADDJOB: ::DWORD = 3004; +pub const ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED: ::DWORD = 3005; +pub const ERROR_PRINT_MONITOR_ALREADY_INSTALLED: ::DWORD = 3006; +pub const ERROR_INVALID_PRINT_MONITOR: ::DWORD = 3007; +pub const ERROR_PRINT_MONITOR_IN_USE: ::DWORD = 3008; +pub const ERROR_PRINTER_HAS_JOBS_QUEUED: ::DWORD = 3009; +pub const ERROR_SUCCESS_REBOOT_REQUIRED: ::DWORD = 3010; +pub const ERROR_SUCCESS_RESTART_REQUIRED: ::DWORD = 3011; +pub const ERROR_PRINTER_NOT_FOUND: ::DWORD = 3012; +pub const ERROR_PRINTER_DRIVER_WARNED: ::DWORD = 3013; +pub const ERROR_PRINTER_DRIVER_BLOCKED: ::DWORD = 3014; +pub const ERROR_PRINTER_DRIVER_PACKAGE_IN_USE: ::DWORD = 3015; +pub const ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND: ::DWORD = 3016; +pub const ERROR_FAIL_REBOOT_REQUIRED: ::DWORD = 3017; +pub const ERROR_FAIL_REBOOT_INITIATED: ::DWORD = 3018; +pub const ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED: ::DWORD = 3019; +pub const ERROR_PRINT_JOB_RESTART_REQUIRED: ::DWORD = 3020; +pub const ERROR_INVALID_PRINTER_DRIVER_MANIFEST: ::DWORD = 3021; +pub const ERROR_PRINTER_NOT_SHAREABLE: ::DWORD = 3022; +pub const ERROR_REQUEST_PAUSED: ::DWORD = 3050; +pub const ERROR_IO_REISSUE_AS_CACHED: ::DWORD = 3950; +pub const ERROR_WINS_INTERNAL: ::DWORD = 4000; +pub const ERROR_CAN_NOT_DEL_LOCAL_WINS: ::DWORD = 4001; +pub const ERROR_STATIC_INIT: ::DWORD = 4002; +pub const ERROR_INC_BACKUP: ::DWORD = 4003; +pub const ERROR_FULL_BACKUP: ::DWORD = 4004; +pub const ERROR_REC_NON_EXISTENT: ::DWORD = 4005; +pub const ERROR_RPL_NOT_ALLOWED: ::DWORD = 4006; +pub const PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED: ::DWORD = 4050; +pub const PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO: ::DWORD = 4051; +pub const PEERDIST_ERROR_MISSING_DATA: ::DWORD = 4052; +pub const PEERDIST_ERROR_NO_MORE: ::DWORD = 4053; +pub const PEERDIST_ERROR_NOT_INITIALIZED: ::DWORD = 4054; +pub const PEERDIST_ERROR_ALREADY_INITIALIZED: ::DWORD = 4055; +pub const PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS: ::DWORD = 4056; +pub const PEERDIST_ERROR_INVALIDATED: ::DWORD = 4057; +pub const PEERDIST_ERROR_ALREADY_EXISTS: ::DWORD = 4058; +pub const PEERDIST_ERROR_OPERATION_NOTFOUND: ::DWORD = 4059; +pub const PEERDIST_ERROR_ALREADY_COMPLETED: ::DWORD = 4060; +pub const PEERDIST_ERROR_OUT_OF_BOUNDS: ::DWORD = 4061; +pub const PEERDIST_ERROR_VERSION_UNSUPPORTED: ::DWORD = 4062; +pub const PEERDIST_ERROR_INVALID_CONFIGURATION: ::DWORD = 4063; +pub const PEERDIST_ERROR_NOT_LICENSED: ::DWORD = 4064; +pub const PEERDIST_ERROR_SERVICE_UNAVAILABLE: ::DWORD = 4065; +pub const PEERDIST_ERROR_TRUST_FAILURE: ::DWORD = 4066; +pub const ERROR_DHCP_ADDRESS_CONFLICT: ::DWORD = 4100; +pub const ERROR_WMI_GUID_NOT_FOUND: ::DWORD = 4200; +pub const ERROR_WMI_INSTANCE_NOT_FOUND: ::DWORD = 4201; +pub const ERROR_WMI_ITEMID_NOT_FOUND: ::DWORD = 4202; +pub const ERROR_WMI_TRY_AGAIN: ::DWORD = 4203; +pub const ERROR_WMI_DP_NOT_FOUND: ::DWORD = 4204; +pub const ERROR_WMI_UNRESOLVED_INSTANCE_REF: ::DWORD = 4205; +pub const ERROR_WMI_ALREADY_ENABLED: ::DWORD = 4206; +pub const ERROR_WMI_GUID_DISCONNECTED: ::DWORD = 4207; +pub const ERROR_WMI_SERVER_UNAVAILABLE: ::DWORD = 4208; +pub const ERROR_WMI_DP_FAILED: ::DWORD = 4209; +pub const ERROR_WMI_INVALID_MOF: ::DWORD = 4210; +pub const ERROR_WMI_INVALID_REGINFO: ::DWORD = 4211; +pub const ERROR_WMI_ALREADY_DISABLED: ::DWORD = 4212; +pub const ERROR_WMI_READ_ONLY: ::DWORD = 4213; +pub const ERROR_WMI_SET_FAILURE: ::DWORD = 4214; +pub const ERROR_NOT_APPCONTAINER: ::DWORD = 4250; +pub const ERROR_APPCONTAINER_REQUIRED: ::DWORD = 4251; +pub const ERROR_NOT_SUPPORTED_IN_APPCONTAINER: ::DWORD = 4252; +pub const ERROR_INVALID_PACKAGE_SID_LENGTH: ::DWORD = 4253; +pub const ERROR_INVALID_MEDIA: ::DWORD = 4300; +pub const ERROR_INVALID_LIBRARY: ::DWORD = 4301; +pub const ERROR_INVALID_MEDIA_POOL: ::DWORD = 4302; +pub const ERROR_DRIVE_MEDIA_MISMATCH: ::DWORD = 4303; +pub const ERROR_MEDIA_OFFLINE: ::DWORD = 4304; +pub const ERROR_LIBRARY_OFFLINE: ::DWORD = 4305; +pub const ERROR_EMPTY: ::DWORD = 4306; +pub const ERROR_NOT_EMPTY: ::DWORD = 4307; +pub const ERROR_MEDIA_UNAVAILABLE: ::DWORD = 4308; +pub const ERROR_RESOURCE_DISABLED: ::DWORD = 4309; +pub const ERROR_INVALID_CLEANER: ::DWORD = 4310; +pub const ERROR_UNABLE_TO_CLEAN: ::DWORD = 4311; +pub const ERROR_OBJECT_NOT_FOUND: ::DWORD = 4312; +pub const ERROR_DATABASE_FAILURE: ::DWORD = 4313; +pub const ERROR_DATABASE_FULL: ::DWORD = 4314; +pub const ERROR_MEDIA_INCOMPATIBLE: ::DWORD = 4315; +pub const ERROR_RESOURCE_NOT_PRESENT: ::DWORD = 4316; +pub const ERROR_INVALID_OPERATION: ::DWORD = 4317; +pub const ERROR_MEDIA_NOT_AVAILABLE: ::DWORD = 4318; +pub const ERROR_DEVICE_NOT_AVAILABLE: ::DWORD = 4319; +pub const ERROR_REQUEST_REFUSED: ::DWORD = 4320; +pub const ERROR_INVALID_DRIVE_OBJECT: ::DWORD = 4321; +pub const ERROR_LIBRARY_FULL: ::DWORD = 4322; +pub const ERROR_MEDIUM_NOT_ACCESSIBLE: ::DWORD = 4323; +pub const ERROR_UNABLE_TO_LOAD_MEDIUM: ::DWORD = 4324; +pub const ERROR_UNABLE_TO_INVENTORY_DRIVE: ::DWORD = 4325; +pub const ERROR_UNABLE_TO_INVENTORY_SLOT: ::DWORD = 4326; +pub const ERROR_UNABLE_TO_INVENTORY_TRANSPORT: ::DWORD = 4327; +pub const ERROR_TRANSPORT_FULL: ::DWORD = 4328; +pub const ERROR_CONTROLLING_IEPORT: ::DWORD = 4329; +pub const ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA: ::DWORD = 4330; +pub const ERROR_CLEANER_SLOT_SET: ::DWORD = 4331; +pub const ERROR_CLEANER_SLOT_NOT_SET: ::DWORD = 4332; +pub const ERROR_CLEANER_CARTRIDGE_SPENT: ::DWORD = 4333; +pub const ERROR_UNEXPECTED_OMID: ::DWORD = 4334; +pub const ERROR_CANT_DELETE_LAST_ITEM: ::DWORD = 4335; +pub const ERROR_MESSAGE_EXCEEDS_MAX_SIZE: ::DWORD = 4336; +pub const ERROR_VOLUME_CONTAINS_SYS_FILES: ::DWORD = 4337; +pub const ERROR_INDIGENOUS_TYPE: ::DWORD = 4338; +pub const ERROR_NO_SUPPORTING_DRIVES: ::DWORD = 4339; +pub const ERROR_CLEANER_CARTRIDGE_INSTALLED: ::DWORD = 4340; +pub const ERROR_IEPORT_FULL: ::DWORD = 4341; +pub const ERROR_FILE_OFFLINE: ::DWORD = 4350; +pub const ERROR_REMOTE_STORAGE_NOT_ACTIVE: ::DWORD = 4351; +pub const ERROR_REMOTE_STORAGE_MEDIA_ERROR: ::DWORD = 4352; +pub const ERROR_NOT_A_REPARSE_POINT: ::DWORD = 4390; +pub const ERROR_REPARSE_ATTRIBUTE_CONFLICT: ::DWORD = 4391; +pub const ERROR_INVALID_REPARSE_DATA: ::DWORD = 4392; +pub const ERROR_REPARSE_TAG_INVALID: ::DWORD = 4393; +pub const ERROR_REPARSE_TAG_MISMATCH: ::DWORD = 4394; +pub const ERROR_APP_DATA_NOT_FOUND: ::DWORD = 4400; +pub const ERROR_APP_DATA_EXPIRED: ::DWORD = 4401; +pub const ERROR_APP_DATA_CORRUPT: ::DWORD = 4402; +pub const ERROR_APP_DATA_LIMIT_EXCEEDED: ::DWORD = 4403; +pub const ERROR_APP_DATA_REBOOT_REQUIRED: ::DWORD = 4404; +pub const ERROR_SECUREBOOT_ROLLBACK_DETECTED: ::DWORD = 4420; +pub const ERROR_SECUREBOOT_POLICY_VIOLATION: ::DWORD = 4421; +pub const ERROR_SECUREBOOT_INVALID_POLICY: ::DWORD = 4422; +pub const ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND: ::DWORD = 4423; +pub const ERROR_SECUREBOOT_POLICY_NOT_SIGNED: ::DWORD = 4424; +pub const ERROR_SECUREBOOT_NOT_ENABLED: ::DWORD = 4425; +pub const ERROR_SECUREBOOT_FILE_REPLACED: ::DWORD = 4426; +pub const ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED: ::DWORD = 4440; +pub const ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED: ::DWORD = 4441; +pub const ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED: ::DWORD = 4442; +pub const ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED: ::DWORD = 4443; +pub const ERROR_VOLUME_NOT_SIS_ENABLED: ::DWORD = 4500; +pub const ERROR_DEPENDENT_RESOURCE_EXISTS: ::DWORD = 5001; +pub const ERROR_DEPENDENCY_NOT_FOUND: ::DWORD = 5002; +pub const ERROR_DEPENDENCY_ALREADY_EXISTS: ::DWORD = 5003; +pub const ERROR_RESOURCE_NOT_ONLINE: ::DWORD = 5004; +pub const ERROR_HOST_NODE_NOT_AVAILABLE: ::DWORD = 5005; +pub const ERROR_RESOURCE_NOT_AVAILABLE: ::DWORD = 5006; +pub const ERROR_RESOURCE_NOT_FOUND: ::DWORD = 5007; +pub const ERROR_SHUTDOWN_CLUSTER: ::DWORD = 5008; +pub const ERROR_CANT_EVICT_ACTIVE_NODE: ::DWORD = 5009; +pub const ERROR_OBJECT_ALREADY_EXISTS: ::DWORD = 5010; +pub const ERROR_OBJECT_IN_LIST: ::DWORD = 5011; +pub const ERROR_GROUP_NOT_AVAILABLE: ::DWORD = 5012; +pub const ERROR_GROUP_NOT_FOUND: ::DWORD = 5013; +pub const ERROR_GROUP_NOT_ONLINE: ::DWORD = 5014; +pub const ERROR_HOST_NODE_NOT_RESOURCE_OWNER: ::DWORD = 5015; +pub const ERROR_HOST_NODE_NOT_GROUP_OWNER: ::DWORD = 5016; +pub const ERROR_RESMON_CREATE_FAILED: ::DWORD = 5017; +pub const ERROR_RESMON_ONLINE_FAILED: ::DWORD = 5018; +pub const ERROR_RESOURCE_ONLINE: ::DWORD = 5019; +pub const ERROR_QUORUM_RESOURCE: ::DWORD = 5020; +pub const ERROR_NOT_QUORUM_CAPABLE: ::DWORD = 5021; +pub const ERROR_CLUSTER_SHUTTING_DOWN: ::DWORD = 5022; +pub const ERROR_INVALID_STATE: ::DWORD = 5023; +pub const ERROR_RESOURCE_PROPERTIES_STORED: ::DWORD = 5024; +pub const ERROR_NOT_QUORUM_CLASS: ::DWORD = 5025; +pub const ERROR_CORE_RESOURCE: ::DWORD = 5026; +pub const ERROR_QUORUM_RESOURCE_ONLINE_FAILED: ::DWORD = 5027; +pub const ERROR_QUORUMLOG_OPEN_FAILED: ::DWORD = 5028; +pub const ERROR_CLUSTERLOG_CORRUPT: ::DWORD = 5029; +pub const ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE: ::DWORD = 5030; +pub const ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE: ::DWORD = 5031; +pub const ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND: ::DWORD = 5032; +pub const ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE: ::DWORD = 5033; +pub const ERROR_QUORUM_OWNER_ALIVE: ::DWORD = 5034; +pub const ERROR_NETWORK_NOT_AVAILABLE: ::DWORD = 5035; +pub const ERROR_NODE_NOT_AVAILABLE: ::DWORD = 5036; +pub const ERROR_ALL_NODES_NOT_AVAILABLE: ::DWORD = 5037; +pub const ERROR_RESOURCE_FAILED: ::DWORD = 5038; +pub const ERROR_CLUSTER_INVALID_NODE: ::DWORD = 5039; +pub const ERROR_CLUSTER_NODE_EXISTS: ::DWORD = 5040; +pub const ERROR_CLUSTER_JOIN_IN_PROGRESS: ::DWORD = 5041; +pub const ERROR_CLUSTER_NODE_NOT_FOUND: ::DWORD = 5042; +pub const ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND: ::DWORD = 5043; +pub const ERROR_CLUSTER_NETWORK_EXISTS: ::DWORD = 5044; +pub const ERROR_CLUSTER_NETWORK_NOT_FOUND: ::DWORD = 5045; +pub const ERROR_CLUSTER_NETINTERFACE_EXISTS: ::DWORD = 5046; +pub const ERROR_CLUSTER_NETINTERFACE_NOT_FOUND: ::DWORD = 5047; +pub const ERROR_CLUSTER_INVALID_REQUEST: ::DWORD = 5048; +pub const ERROR_CLUSTER_INVALID_NETWORK_PROVIDER: ::DWORD = 5049; +pub const ERROR_CLUSTER_NODE_DOWN: ::DWORD = 5050; +pub const ERROR_CLUSTER_NODE_UNREACHABLE: ::DWORD = 5051; +pub const ERROR_CLUSTER_NODE_NOT_MEMBER: ::DWORD = 5052; +pub const ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS: ::DWORD = 5053; +pub const ERROR_CLUSTER_INVALID_NETWORK: ::DWORD = 5054; +pub const ERROR_CLUSTER_NODE_UP: ::DWORD = 5056; +pub const ERROR_CLUSTER_IPADDR_IN_USE: ::DWORD = 5057; +pub const ERROR_CLUSTER_NODE_NOT_PAUSED: ::DWORD = 5058; +pub const ERROR_CLUSTER_NO_SECURITY_CONTEXT: ::DWORD = 5059; +pub const ERROR_CLUSTER_NETWORK_NOT_INTERNAL: ::DWORD = 5060; +pub const ERROR_CLUSTER_NODE_ALREADY_UP: ::DWORD = 5061; +pub const ERROR_CLUSTER_NODE_ALREADY_DOWN: ::DWORD = 5062; +pub const ERROR_CLUSTER_NETWORK_ALREADY_ONLINE: ::DWORD = 5063; +pub const ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE: ::DWORD = 5064; +pub const ERROR_CLUSTER_NODE_ALREADY_MEMBER: ::DWORD = 5065; +pub const ERROR_CLUSTER_LAST_INTERNAL_NETWORK: ::DWORD = 5066; +pub const ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS: ::DWORD = 5067; +pub const ERROR_INVALID_OPERATION_ON_QUORUM: ::DWORD = 5068; +pub const ERROR_DEPENDENCY_NOT_ALLOWED: ::DWORD = 5069; +pub const ERROR_CLUSTER_NODE_PAUSED: ::DWORD = 5070; +pub const ERROR_NODE_CANT_HOST_RESOURCE: ::DWORD = 5071; +pub const ERROR_CLUSTER_NODE_NOT_READY: ::DWORD = 5072; +pub const ERROR_CLUSTER_NODE_SHUTTING_DOWN: ::DWORD = 5073; +pub const ERROR_CLUSTER_JOIN_ABORTED: ::DWORD = 5074; +pub const ERROR_CLUSTER_INCOMPATIBLE_VERSIONS: ::DWORD = 5075; +pub const ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED: ::DWORD = 5076; +pub const ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED: ::DWORD = 5077; +pub const ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND: ::DWORD = 5078; +pub const ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED: ::DWORD = 5079; +pub const ERROR_CLUSTER_RESNAME_NOT_FOUND: ::DWORD = 5080; +pub const ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED: ::DWORD = 5081; +pub const ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST: ::DWORD = 5082; +pub const ERROR_CLUSTER_DATABASE_SEQMISMATCH: ::DWORD = 5083; +pub const ERROR_RESMON_INVALID_STATE: ::DWORD = 5084; +pub const ERROR_CLUSTER_GUM_NOT_LOCKER: ::DWORD = 5085; +pub const ERROR_QUORUM_DISK_NOT_FOUND: ::DWORD = 5086; +pub const ERROR_DATABASE_BACKUP_CORRUPT: ::DWORD = 5087; +pub const ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT: ::DWORD = 5088; +pub const ERROR_RESOURCE_PROPERTY_UNCHANGEABLE: ::DWORD = 5089; +pub const ERROR_NO_ADMIN_ACCESS_POINT: ::DWORD = 5090; +pub const ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE: ::DWORD = 5890; +pub const ERROR_CLUSTER_QUORUMLOG_NOT_FOUND: ::DWORD = 5891; +pub const ERROR_CLUSTER_MEMBERSHIP_HALT: ::DWORD = 5892; +pub const ERROR_CLUSTER_INSTANCE_ID_MISMATCH: ::DWORD = 5893; +pub const ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP: ::DWORD = 5894; +pub const ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH: ::DWORD = 5895; +pub const ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP: ::DWORD = 5896; +pub const ERROR_CLUSTER_PARAMETER_MISMATCH: ::DWORD = 5897; +pub const ERROR_NODE_CANNOT_BE_CLUSTERED: ::DWORD = 5898; +pub const ERROR_CLUSTER_WRONG_OS_VERSION: ::DWORD = 5899; +pub const ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME: ::DWORD = 5900; +pub const ERROR_CLUSCFG_ALREADY_COMMITTED: ::DWORD = 5901; +pub const ERROR_CLUSCFG_ROLLBACK_FAILED: ::DWORD = 5902; +pub const ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT: ::DWORD = 5903; +pub const ERROR_CLUSTER_OLD_VERSION: ::DWORD = 5904; +pub const ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME: ::DWORD = 5905; +pub const ERROR_CLUSTER_NO_NET_ADAPTERS: ::DWORD = 5906; +pub const ERROR_CLUSTER_POISONED: ::DWORD = 5907; +pub const ERROR_CLUSTER_GROUP_MOVING: ::DWORD = 5908; +pub const ERROR_CLUSTER_RESOURCE_TYPE_BUSY: ::DWORD = 5909; +pub const ERROR_RESOURCE_CALL_TIMED_OUT: ::DWORD = 5910; +pub const ERROR_INVALID_CLUSTER_IPV6_ADDRESS: ::DWORD = 5911; +pub const ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION: ::DWORD = 5912; +pub const ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS: ::DWORD = 5913; +pub const ERROR_CLUSTER_PARTIAL_SEND: ::DWORD = 5914; +pub const ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION: ::DWORD = 5915; +pub const ERROR_CLUSTER_INVALID_STRING_TERMINATION: ::DWORD = 5916; +pub const ERROR_CLUSTER_INVALID_STRING_FORMAT: ::DWORD = 5917; +pub const ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS: ::DWORD = 5918; +pub const ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS: ::DWORD = 5919; +pub const ERROR_CLUSTER_NULL_DATA: ::DWORD = 5920; +pub const ERROR_CLUSTER_PARTIAL_READ: ::DWORD = 5921; +pub const ERROR_CLUSTER_PARTIAL_WRITE: ::DWORD = 5922; +pub const ERROR_CLUSTER_CANT_DESERIALIZE_DATA: ::DWORD = 5923; +pub const ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT: ::DWORD = 5924; +pub const ERROR_CLUSTER_NO_QUORUM: ::DWORD = 5925; +pub const ERROR_CLUSTER_INVALID_IPV6_NETWORK: ::DWORD = 5926; +pub const ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK: ::DWORD = 5927; +pub const ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP: ::DWORD = 5928; +pub const ERROR_DEPENDENCY_TREE_TOO_COMPLEX: ::DWORD = 5929; +pub const ERROR_EXCEPTION_IN_RESOURCE_CALL: ::DWORD = 5930; +pub const ERROR_CLUSTER_RHS_FAILED_INITIALIZATION: ::DWORD = 5931; +pub const ERROR_CLUSTER_NOT_INSTALLED: ::DWORD = 5932; +pub const ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE: ::DWORD = 5933; +pub const ERROR_CLUSTER_MAX_NODES_IN_CLUSTER: ::DWORD = 5934; +pub const ERROR_CLUSTER_TOO_MANY_NODES: ::DWORD = 5935; +pub const ERROR_CLUSTER_OBJECT_ALREADY_USED: ::DWORD = 5936; +pub const ERROR_NONCORE_GROUPS_FOUND: ::DWORD = 5937; +pub const ERROR_FILE_SHARE_RESOURCE_CONFLICT: ::DWORD = 5938; +pub const ERROR_CLUSTER_EVICT_INVALID_REQUEST: ::DWORD = 5939; +pub const ERROR_CLUSTER_SINGLETON_RESOURCE: ::DWORD = 5940; +pub const ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE: ::DWORD = 5941; +pub const ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED: ::DWORD = 5942; +pub const ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR: ::DWORD = 5943; +pub const ERROR_CLUSTER_GROUP_BUSY: ::DWORD = 5944; +pub const ERROR_CLUSTER_NOT_SHARED_VOLUME: ::DWORD = 5945; +pub const ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR: ::DWORD = 5946; +pub const ERROR_CLUSTER_SHARED_VOLUMES_IN_USE: ::DWORD = 5947; +pub const ERROR_CLUSTER_USE_SHARED_VOLUMES_API: ::DWORD = 5948; +pub const ERROR_CLUSTER_BACKUP_IN_PROGRESS: ::DWORD = 5949; +pub const ERROR_NON_CSV_PATH: ::DWORD = 5950; +pub const ERROR_CSV_VOLUME_NOT_LOCAL: ::DWORD = 5951; +pub const ERROR_CLUSTER_WATCHDOG_TERMINATING: ::DWORD = 5952; +pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES: ::DWORD = 5953; +pub const ERROR_CLUSTER_INVALID_NODE_WEIGHT: ::DWORD = 5954; +pub const ERROR_CLUSTER_RESOURCE_VETOED_CALL: ::DWORD = 5955; +pub const ERROR_RESMON_SYSTEM_RESOURCES_LACKING: ::DWORD = 5956; +pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION: ::DWORD = 5957; +pub const ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE: ::DWORD = 5958; +pub const ERROR_CLUSTER_GROUP_QUEUED: ::DWORD = 5959; +pub const ERROR_CLUSTER_RESOURCE_LOCKED_STATUS: ::DWORD = 5960; +pub const ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED: ::DWORD = 5961; +pub const ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS: ::DWORD = 5962; +pub const ERROR_CLUSTER_DISK_NOT_CONNECTED: ::DWORD = 5963; +pub const ERROR_DISK_NOT_CSV_CAPABLE: ::DWORD = 5964; +pub const ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE: ::DWORD = 5965; +pub const ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED: ::DWORD = 5966; +pub const ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED: ::DWORD = 5967; +pub const ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES: ::DWORD = 5968; +pub const ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES: ::DWORD = 5969; +pub const ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE: ::DWORD = 5970; +pub const ERROR_CLUSTER_AFFINITY_CONFLICT: ::DWORD = 5971; +pub const ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE: ::DWORD = 5972; +pub const ERROR_ENCRYPTION_FAILED: ::DWORD = 6000; +pub const ERROR_DECRYPTION_FAILED: ::DWORD = 6001; +pub const ERROR_FILE_ENCRYPTED: ::DWORD = 6002; +pub const ERROR_NO_RECOVERY_POLICY: ::DWORD = 6003; +pub const ERROR_NO_EFS: ::DWORD = 6004; +pub const ERROR_WRONG_EFS: ::DWORD = 6005; +pub const ERROR_NO_USER_KEYS: ::DWORD = 6006; +pub const ERROR_FILE_NOT_ENCRYPTED: ::DWORD = 6007; +pub const ERROR_NOT_EXPORT_FORMAT: ::DWORD = 6008; +pub const ERROR_FILE_READ_ONLY: ::DWORD = 6009; +pub const ERROR_DIR_EFS_DISALLOWED: ::DWORD = 6010; +pub const ERROR_EFS_SERVER_NOT_TRUSTED: ::DWORD = 6011; +pub const ERROR_BAD_RECOVERY_POLICY: ::DWORD = 6012; +pub const ERROR_EFS_ALG_BLOB_TOO_BIG: ::DWORD = 6013; +pub const ERROR_VOLUME_NOT_SUPPORT_EFS: ::DWORD = 6014; +pub const ERROR_EFS_DISABLED: ::DWORD = 6015; +pub const ERROR_EFS_VERSION_NOT_SUPPORT: ::DWORD = 6016; +pub const ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE: ::DWORD = 6017; +pub const ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER: ::DWORD = 6018; +pub const ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE: ::DWORD = 6019; +pub const ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE: ::DWORD = 6020; +pub const ERROR_CS_ENCRYPTION_FILE_NOT_CSE: ::DWORD = 6021; +pub const ERROR_ENCRYPTION_POLICY_DENIES_OPERATION: ::DWORD = 6022; +pub const ERROR_NO_BROWSER_SERVERS_FOUND: ::DWORD = 6118; +pub const SCHED_E_SERVICE_NOT_LOCALSYSTEM: ::DWORD = 6200; +pub const ERROR_LOG_SECTOR_INVALID: ::DWORD = 6600; +pub const ERROR_LOG_SECTOR_PARITY_INVALID: ::DWORD = 6601; +pub const ERROR_LOG_SECTOR_REMAPPED: ::DWORD = 6602; +pub const ERROR_LOG_BLOCK_INCOMPLETE: ::DWORD = 6603; +pub const ERROR_LOG_INVALID_RANGE: ::DWORD = 6604; +pub const ERROR_LOG_BLOCKS_EXHAUSTED: ::DWORD = 6605; +pub const ERROR_LOG_READ_CONTEXT_INVALID: ::DWORD = 6606; +pub const ERROR_LOG_RESTART_INVALID: ::DWORD = 6607; +pub const ERROR_LOG_BLOCK_VERSION: ::DWORD = 6608; +pub const ERROR_LOG_BLOCK_INVALID: ::DWORD = 6609; +pub const ERROR_LOG_READ_MODE_INVALID: ::DWORD = 6610; +pub const ERROR_LOG_NO_RESTART: ::DWORD = 6611; +pub const ERROR_LOG_METADATA_CORRUPT: ::DWORD = 6612; +pub const ERROR_LOG_METADATA_INVALID: ::DWORD = 6613; +pub const ERROR_LOG_METADATA_INCONSISTENT: ::DWORD = 6614; +pub const ERROR_LOG_RESERVATION_INVALID: ::DWORD = 6615; +pub const ERROR_LOG_CANT_DELETE: ::DWORD = 6616; +pub const ERROR_LOG_CONTAINER_LIMIT_EXCEEDED: ::DWORD = 6617; +pub const ERROR_LOG_START_OF_LOG: ::DWORD = 6618; +pub const ERROR_LOG_POLICY_ALREADY_INSTALLED: ::DWORD = 6619; +pub const ERROR_LOG_POLICY_NOT_INSTALLED: ::DWORD = 6620; +pub const ERROR_LOG_POLICY_INVALID: ::DWORD = 6621; +pub const ERROR_LOG_POLICY_CONFLICT: ::DWORD = 6622; +pub const ERROR_LOG_PINNED_ARCHIVE_TAIL: ::DWORD = 6623; +pub const ERROR_LOG_RECORD_NONEXISTENT: ::DWORD = 6624; +pub const ERROR_LOG_RECORDS_RESERVED_INVALID: ::DWORD = 6625; +pub const ERROR_LOG_SPACE_RESERVED_INVALID: ::DWORD = 6626; +pub const ERROR_LOG_TAIL_INVALID: ::DWORD = 6627; +pub const ERROR_LOG_FULL: ::DWORD = 6628; +pub const ERROR_COULD_NOT_RESIZE_LOG: ::DWORD = 6629; +pub const ERROR_LOG_MULTIPLEXED: ::DWORD = 6630; +pub const ERROR_LOG_DEDICATED: ::DWORD = 6631; +pub const ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS: ::DWORD = 6632; +pub const ERROR_LOG_ARCHIVE_IN_PROGRESS: ::DWORD = 6633; +pub const ERROR_LOG_EPHEMERAL: ::DWORD = 6634; +pub const ERROR_LOG_NOT_ENOUGH_CONTAINERS: ::DWORD = 6635; +pub const ERROR_LOG_CLIENT_ALREADY_REGISTERED: ::DWORD = 6636; +pub const ERROR_LOG_CLIENT_NOT_REGISTERED: ::DWORD = 6637; +pub const ERROR_LOG_FULL_HANDLER_IN_PROGRESS: ::DWORD = 6638; +pub const ERROR_LOG_CONTAINER_READ_FAILED: ::DWORD = 6639; +pub const ERROR_LOG_CONTAINER_WRITE_FAILED: ::DWORD = 6640; +pub const ERROR_LOG_CONTAINER_OPEN_FAILED: ::DWORD = 6641; +pub const ERROR_LOG_CONTAINER_STATE_INVALID: ::DWORD = 6642; +pub const ERROR_LOG_STATE_INVALID: ::DWORD = 6643; +pub const ERROR_LOG_PINNED: ::DWORD = 6644; +pub const ERROR_LOG_METADATA_FLUSH_FAILED: ::DWORD = 6645; +pub const ERROR_LOG_INCONSISTENT_SECURITY: ::DWORD = 6646; +pub const ERROR_LOG_APPENDED_FLUSH_FAILED: ::DWORD = 6647; +pub const ERROR_LOG_PINNED_RESERVATION: ::DWORD = 6648; +pub const ERROR_INVALID_TRANSACTION: ::DWORD = 6700; +pub const ERROR_TRANSACTION_NOT_ACTIVE: ::DWORD = 6701; +pub const ERROR_TRANSACTION_REQUEST_NOT_VALID: ::DWORD = 6702; +pub const ERROR_TRANSACTION_NOT_REQUESTED: ::DWORD = 6703; +pub const ERROR_TRANSACTION_ALREADY_ABORTED: ::DWORD = 6704; +pub const ERROR_TRANSACTION_ALREADY_COMMITTED: ::DWORD = 6705; +pub const ERROR_TM_INITIALIZATION_FAILED: ::DWORD = 6706; +pub const ERROR_RESOURCEMANAGER_READ_ONLY: ::DWORD = 6707; +pub const ERROR_TRANSACTION_NOT_JOINED: ::DWORD = 6708; +pub const ERROR_TRANSACTION_SUPERIOR_EXISTS: ::DWORD = 6709; +pub const ERROR_CRM_PROTOCOL_ALREADY_EXISTS: ::DWORD = 6710; +pub const ERROR_TRANSACTION_PROPAGATION_FAILED: ::DWORD = 6711; +pub const ERROR_CRM_PROTOCOL_NOT_FOUND: ::DWORD = 6712; +pub const ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER: ::DWORD = 6713; +pub const ERROR_CURRENT_TRANSACTION_NOT_VALID: ::DWORD = 6714; +pub const ERROR_TRANSACTION_NOT_FOUND: ::DWORD = 6715; +pub const ERROR_RESOURCEMANAGER_NOT_FOUND: ::DWORD = 6716; +pub const ERROR_ENLISTMENT_NOT_FOUND: ::DWORD = 6717; +pub const ERROR_TRANSACTIONMANAGER_NOT_FOUND: ::DWORD = 6718; +pub const ERROR_TRANSACTIONMANAGER_NOT_ONLINE: ::DWORD = 6719; +pub const ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION: ::DWORD = 6720; +pub const ERROR_TRANSACTION_NOT_ROOT: ::DWORD = 6721; +pub const ERROR_TRANSACTION_OBJECT_EXPIRED: ::DWORD = 6722; +pub const ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED: ::DWORD = 6723; +pub const ERROR_TRANSACTION_RECORD_TOO_LONG: ::DWORD = 6724; +pub const ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED: ::DWORD = 6725; +pub const ERROR_TRANSACTION_INTEGRITY_VIOLATED: ::DWORD = 6726; +pub const ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH: ::DWORD = 6727; +pub const ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT: ::DWORD = 6728; +pub const ERROR_TRANSACTION_MUST_WRITETHROUGH: ::DWORD = 6729; +pub const ERROR_TRANSACTION_NO_SUPERIOR: ::DWORD = 6730; +pub const ERROR_HEURISTIC_DAMAGE_POSSIBLE: ::DWORD = 6731; +pub const ERROR_TRANSACTIONAL_CONFLICT: ::DWORD = 6800; +pub const ERROR_RM_NOT_ACTIVE: ::DWORD = 6801; +pub const ERROR_RM_METADATA_CORRUPT: ::DWORD = 6802; +pub const ERROR_DIRECTORY_NOT_RM: ::DWORD = 6803; +pub const ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE: ::DWORD = 6805; +pub const ERROR_LOG_RESIZE_INVALID_SIZE: ::DWORD = 6806; +pub const ERROR_OBJECT_NO_LONGER_EXISTS: ::DWORD = 6807; +pub const ERROR_STREAM_MINIVERSION_NOT_FOUND: ::DWORD = 6808; +pub const ERROR_STREAM_MINIVERSION_NOT_VALID: ::DWORD = 6809; +pub const ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION: ::DWORD = 6810; +pub const ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT: ::DWORD = 6811; +pub const ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS: ::DWORD = 6812; +pub const ERROR_REMOTE_FILE_VERSION_MISMATCH: ::DWORD = 6814; +pub const ERROR_HANDLE_NO_LONGER_VALID: ::DWORD = 6815; +pub const ERROR_NO_TXF_METADATA: ::DWORD = 6816; +pub const ERROR_LOG_CORRUPTION_DETECTED: ::DWORD = 6817; +pub const ERROR_CANT_RECOVER_WITH_HANDLE_OPEN: ::DWORD = 6818; +pub const ERROR_RM_DISCONNECTED: ::DWORD = 6819; +pub const ERROR_ENLISTMENT_NOT_SUPERIOR: ::DWORD = 6820; +pub const ERROR_RECOVERY_NOT_NEEDED: ::DWORD = 6821; +pub const ERROR_RM_ALREADY_STARTED: ::DWORD = 6822; +pub const ERROR_FILE_IDENTITY_NOT_PERSISTENT: ::DWORD = 6823; +pub const ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY: ::DWORD = 6824; +pub const ERROR_CANT_CROSS_RM_BOUNDARY: ::DWORD = 6825; +pub const ERROR_TXF_DIR_NOT_EMPTY: ::DWORD = 6826; +pub const ERROR_INDOUBT_TRANSACTIONS_EXIST: ::DWORD = 6827; +pub const ERROR_TM_VOLATILE: ::DWORD = 6828; +pub const ERROR_ROLLBACK_TIMER_EXPIRED: ::DWORD = 6829; +pub const ERROR_TXF_ATTRIBUTE_CORRUPT: ::DWORD = 6830; +pub const ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION: ::DWORD = 6831; +pub const ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED: ::DWORD = 6832; +pub const ERROR_LOG_GROWTH_FAILED: ::DWORD = 6833; +pub const ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE: ::DWORD = 6834; +pub const ERROR_TXF_METADATA_ALREADY_PRESENT: ::DWORD = 6835; +pub const ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET: ::DWORD = 6836; +pub const ERROR_TRANSACTION_REQUIRED_PROMOTION: ::DWORD = 6837; +pub const ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION: ::DWORD = 6838; +pub const ERROR_TRANSACTIONS_NOT_FROZEN: ::DWORD = 6839; +pub const ERROR_TRANSACTION_FREEZE_IN_PROGRESS: ::DWORD = 6840; +pub const ERROR_NOT_SNAPSHOT_VOLUME: ::DWORD = 6841; +pub const ERROR_NO_SAVEPOINT_WITH_OPEN_FILES: ::DWORD = 6842; +pub const ERROR_DATA_LOST_REPAIR: ::DWORD = 6843; +pub const ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION: ::DWORD = 6844; +pub const ERROR_TM_IDENTITY_MISMATCH: ::DWORD = 6845; +pub const ERROR_FLOATED_SECTION: ::DWORD = 6846; +pub const ERROR_CANNOT_ACCEPT_TRANSACTED_WORK: ::DWORD = 6847; +pub const ERROR_CANNOT_ABORT_TRANSACTIONS: ::DWORD = 6848; +pub const ERROR_BAD_CLUSTERS: ::DWORD = 6849; +pub const ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION: ::DWORD = 6850; +pub const ERROR_VOLUME_DIRTY: ::DWORD = 6851; +pub const ERROR_NO_LINK_TRACKING_IN_TRANSACTION: ::DWORD = 6852; +pub const ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION: ::DWORD = 6853; +pub const ERROR_EXPIRED_HANDLE: ::DWORD = 6854; +pub const ERROR_TRANSACTION_NOT_ENLISTED: ::DWORD = 6855; +pub const ERROR_CTX_WINSTATION_NAME_INVALID: ::DWORD = 7001; +pub const ERROR_CTX_INVALID_PD: ::DWORD = 7002; +pub const ERROR_CTX_PD_NOT_FOUND: ::DWORD = 7003; +pub const ERROR_CTX_WD_NOT_FOUND: ::DWORD = 7004; +pub const ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY: ::DWORD = 7005; +pub const ERROR_CTX_SERVICE_NAME_COLLISION: ::DWORD = 7006; +pub const ERROR_CTX_CLOSE_PENDING: ::DWORD = 7007; +pub const ERROR_CTX_NO_OUTBUF: ::DWORD = 7008; +pub const ERROR_CTX_MODEM_INF_NOT_FOUND: ::DWORD = 7009; +pub const ERROR_CTX_INVALID_MODEMNAME: ::DWORD = 7010; +pub const ERROR_CTX_MODEM_RESPONSE_ERROR: ::DWORD = 7011; +pub const ERROR_CTX_MODEM_RESPONSE_TIMEOUT: ::DWORD = 7012; +pub const ERROR_CTX_MODEM_RESPONSE_NO_CARRIER: ::DWORD = 7013; +pub const ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE: ::DWORD = 7014; +pub const ERROR_CTX_MODEM_RESPONSE_BUSY: ::DWORD = 7015; +pub const ERROR_CTX_MODEM_RESPONSE_VOICE: ::DWORD = 7016; +pub const ERROR_CTX_TD_ERROR: ::DWORD = 7017; +pub const ERROR_CTX_WINSTATION_NOT_FOUND: ::DWORD = 7022; +pub const ERROR_CTX_WINSTATION_ALREADY_EXISTS: ::DWORD = 7023; +pub const ERROR_CTX_WINSTATION_BUSY: ::DWORD = 7024; +pub const ERROR_CTX_BAD_VIDEO_MODE: ::DWORD = 7025; +pub const ERROR_CTX_GRAPHICS_INVALID: ::DWORD = 7035; +pub const ERROR_CTX_LOGON_DISABLED: ::DWORD = 7037; +pub const ERROR_CTX_NOT_CONSOLE: ::DWORD = 7038; +pub const ERROR_CTX_CLIENT_QUERY_TIMEOUT: ::DWORD = 7040; +pub const ERROR_CTX_CONSOLE_DISCONNECT: ::DWORD = 7041; +pub const ERROR_CTX_CONSOLE_CONNECT: ::DWORD = 7042; +pub const ERROR_CTX_SHADOW_DENIED: ::DWORD = 7044; +pub const ERROR_CTX_WINSTATION_ACCESS_DENIED: ::DWORD = 7045; +pub const ERROR_CTX_INVALID_WD: ::DWORD = 7049; +pub const ERROR_CTX_SHADOW_INVALID: ::DWORD = 7050; +pub const ERROR_CTX_SHADOW_DISABLED: ::DWORD = 7051; +pub const ERROR_CTX_CLIENT_LICENSE_IN_USE: ::DWORD = 7052; +pub const ERROR_CTX_CLIENT_LICENSE_NOT_SET: ::DWORD = 7053; +pub const ERROR_CTX_LICENSE_NOT_AVAILABLE: ::DWORD = 7054; +pub const ERROR_CTX_LICENSE_CLIENT_INVALID: ::DWORD = 7055; +pub const ERROR_CTX_LICENSE_EXPIRED: ::DWORD = 7056; +pub const ERROR_CTX_SHADOW_NOT_RUNNING: ::DWORD = 7057; +pub const ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE: ::DWORD = 7058; +pub const ERROR_ACTIVATION_COUNT_EXCEEDED: ::DWORD = 7059; +pub const ERROR_CTX_WINSTATIONS_DISABLED: ::DWORD = 7060; +pub const ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED: ::DWORD = 7061; +pub const ERROR_CTX_SESSION_IN_USE: ::DWORD = 7062; +pub const ERROR_CTX_NO_FORCE_LOGOFF: ::DWORD = 7063; +pub const ERROR_CTX_ACCOUNT_RESTRICTION: ::DWORD = 7064; +pub const ERROR_RDP_PROTOCOL_ERROR: ::DWORD = 7065; +pub const ERROR_CTX_CDM_CONNECT: ::DWORD = 7066; +pub const ERROR_CTX_CDM_DISCONNECT: ::DWORD = 7067; +pub const ERROR_CTX_SECURITY_LAYER_ERROR: ::DWORD = 7068; +pub const ERROR_TS_INCOMPATIBLE_SESSIONS: ::DWORD = 7069; +pub const ERROR_TS_VIDEO_SUBSYSTEM_ERROR: ::DWORD = 7070; +pub const FRS_ERR_INVALID_API_SEQUENCE: ::DWORD = 8001; +pub const FRS_ERR_STARTING_SERVICE: ::DWORD = 8002; +pub const FRS_ERR_STOPPING_SERVICE: ::DWORD = 8003; +pub const FRS_ERR_INTERNAL_API: ::DWORD = 8004; +pub const FRS_ERR_INTERNAL: ::DWORD = 8005; +pub const FRS_ERR_SERVICE_COMM: ::DWORD = 8006; +pub const FRS_ERR_INSUFFICIENT_PRIV: ::DWORD = 8007; +pub const FRS_ERR_AUTHENTICATION: ::DWORD = 8008; +pub const FRS_ERR_PARENT_INSUFFICIENT_PRIV: ::DWORD = 8009; +pub const FRS_ERR_PARENT_AUTHENTICATION: ::DWORD = 8010; +pub const FRS_ERR_CHILD_TO_PARENT_COMM: ::DWORD = 8011; +pub const FRS_ERR_PARENT_TO_CHILD_COMM: ::DWORD = 8012; +pub const FRS_ERR_SYSVOL_POPULATE: ::DWORD = 8013; +pub const FRS_ERR_SYSVOL_POPULATE_TIMEOUT: ::DWORD = 8014; +pub const FRS_ERR_SYSVOL_IS_BUSY: ::DWORD = 8015; +pub const FRS_ERR_SYSVOL_DEMOTE: ::DWORD = 8016; +pub const FRS_ERR_INVALID_SERVICE_PARAMETER: ::DWORD = 8017; +pub const DS_S_SUCCESS: ::DWORD = NO_ERROR; +pub const ERROR_DS_NOT_INSTALLED: ::DWORD = 8200; +pub const ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY: ::DWORD = 8201; +pub const ERROR_DS_NO_ATTRIBUTE_OR_VALUE: ::DWORD = 8202; +pub const ERROR_DS_INVALID_ATTRIBUTE_SYNTAX: ::DWORD = 8203; +pub const ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED: ::DWORD = 8204; +pub const ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS: ::DWORD = 8205; +pub const ERROR_DS_BUSY: ::DWORD = 8206; +pub const ERROR_DS_UNAVAILABLE: ::DWORD = 8207; +pub const ERROR_DS_NO_RIDS_ALLOCATED: ::DWORD = 8208; +pub const ERROR_DS_NO_MORE_RIDS: ::DWORD = 8209; +pub const ERROR_DS_INCORRECT_ROLE_OWNER: ::DWORD = 8210; +pub const ERROR_DS_RIDMGR_INIT_ERROR: ::DWORD = 8211; +pub const ERROR_DS_OBJ_CLASS_VIOLATION: ::DWORD = 8212; +pub const ERROR_DS_CANT_ON_NON_LEAF: ::DWORD = 8213; +pub const ERROR_DS_CANT_ON_RDN: ::DWORD = 8214; +pub const ERROR_DS_CANT_MOD_OBJ_CLASS: ::DWORD = 8215; +pub const ERROR_DS_CROSS_DOM_MOVE_ERROR: ::DWORD = 8216; +pub const ERROR_DS_GC_NOT_AVAILABLE: ::DWORD = 8217; +pub const ERROR_SHARED_POLICY: ::DWORD = 8218; +pub const ERROR_POLICY_OBJECT_NOT_FOUND: ::DWORD = 8219; +pub const ERROR_POLICY_ONLY_IN_DS: ::DWORD = 8220; +pub const ERROR_PROMOTION_ACTIVE: ::DWORD = 8221; +pub const ERROR_NO_PROMOTION_ACTIVE: ::DWORD = 8222; +pub const ERROR_DS_OPERATIONS_ERROR: ::DWORD = 8224; +pub const ERROR_DS_PROTOCOL_ERROR: ::DWORD = 8225; +pub const ERROR_DS_TIMELIMIT_EXCEEDED: ::DWORD = 8226; +pub const ERROR_DS_SIZELIMIT_EXCEEDED: ::DWORD = 8227; +pub const ERROR_DS_ADMIN_LIMIT_EXCEEDED: ::DWORD = 8228; +pub const ERROR_DS_COMPARE_FALSE: ::DWORD = 8229; +pub const ERROR_DS_COMPARE_TRUE: ::DWORD = 8230; +pub const ERROR_DS_AUTH_METHOD_NOT_SUPPORTED: ::DWORD = 8231; +pub const ERROR_DS_STRONG_AUTH_REQUIRED: ::DWORD = 8232; +pub const ERROR_DS_INAPPROPRIATE_AUTH: ::DWORD = 8233; +pub const ERROR_DS_AUTH_UNKNOWN: ::DWORD = 8234; +pub const ERROR_DS_REFERRAL: ::DWORD = 8235; +pub const ERROR_DS_UNAVAILABLE_CRIT_EXTENSION: ::DWORD = 8236; +pub const ERROR_DS_CONFIDENTIALITY_REQUIRED: ::DWORD = 8237; +pub const ERROR_DS_INAPPROPRIATE_MATCHING: ::DWORD = 8238; +pub const ERROR_DS_CONSTRAINT_VIOLATION: ::DWORD = 8239; +pub const ERROR_DS_NO_SUCH_OBJECT: ::DWORD = 8240; +pub const ERROR_DS_ALIAS_PROBLEM: ::DWORD = 8241; +pub const ERROR_DS_INVALID_DN_SYNTAX: ::DWORD = 8242; +pub const ERROR_DS_IS_LEAF: ::DWORD = 8243; +pub const ERROR_DS_ALIAS_DEREF_PROBLEM: ::DWORD = 8244; +pub const ERROR_DS_UNWILLING_TO_PERFORM: ::DWORD = 8245; +pub const ERROR_DS_LOOP_DETECT: ::DWORD = 8246; +pub const ERROR_DS_NAMING_VIOLATION: ::DWORD = 8247; +pub const ERROR_DS_OBJECT_RESULTS_TOO_LARGE: ::DWORD = 8248; +pub const ERROR_DS_AFFECTS_MULTIPLE_DSAS: ::DWORD = 8249; +pub const ERROR_DS_SERVER_DOWN: ::DWORD = 8250; +pub const ERROR_DS_LOCAL_ERROR: ::DWORD = 8251; +pub const ERROR_DS_ENCODING_ERROR: ::DWORD = 8252; +pub const ERROR_DS_DECODING_ERROR: ::DWORD = 8253; +pub const ERROR_DS_FILTER_UNKNOWN: ::DWORD = 8254; +pub const ERROR_DS_PARAM_ERROR: ::DWORD = 8255; +pub const ERROR_DS_NOT_SUPPORTED: ::DWORD = 8256; +pub const ERROR_DS_NO_RESULTS_RETURNED: ::DWORD = 8257; +pub const ERROR_DS_CONTROL_NOT_FOUND: ::DWORD = 8258; +pub const ERROR_DS_CLIENT_LOOP: ::DWORD = 8259; +pub const ERROR_DS_REFERRAL_LIMIT_EXCEEDED: ::DWORD = 8260; +pub const ERROR_DS_SORT_CONTROL_MISSING: ::DWORD = 8261; +pub const ERROR_DS_OFFSET_RANGE_ERROR: ::DWORD = 8262; +pub const ERROR_DS_RIDMGR_DISABLED: ::DWORD = 8263; +pub const ERROR_DS_ROOT_MUST_BE_NC: ::DWORD = 8301; +pub const ERROR_DS_ADD_REPLICA_INHIBITED: ::DWORD = 8302; +pub const ERROR_DS_ATT_NOT_DEF_IN_SCHEMA: ::DWORD = 8303; +pub const ERROR_DS_MAX_OBJ_SIZE_EXCEEDED: ::DWORD = 8304; +pub const ERROR_DS_OBJ_STRING_NAME_EXISTS: ::DWORD = 8305; +pub const ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA: ::DWORD = 8306; +pub const ERROR_DS_RDN_DOESNT_MATCH_SCHEMA: ::DWORD = 8307; +pub const ERROR_DS_NO_REQUESTED_ATTS_FOUND: ::DWORD = 8308; +pub const ERROR_DS_USER_BUFFER_TO_SMALL: ::DWORD = 8309; +pub const ERROR_DS_ATT_IS_NOT_ON_OBJ: ::DWORD = 8310; +pub const ERROR_DS_ILLEGAL_MOD_OPERATION: ::DWORD = 8311; +pub const ERROR_DS_OBJ_TOO_LARGE: ::DWORD = 8312; +pub const ERROR_DS_BAD_INSTANCE_TYPE: ::DWORD = 8313; +pub const ERROR_DS_MASTERDSA_REQUIRED: ::DWORD = 8314; +pub const ERROR_DS_OBJECT_CLASS_REQUIRED: ::DWORD = 8315; +pub const ERROR_DS_MISSING_REQUIRED_ATT: ::DWORD = 8316; +pub const ERROR_DS_ATT_NOT_DEF_FOR_CLASS: ::DWORD = 8317; +pub const ERROR_DS_ATT_ALREADY_EXISTS: ::DWORD = 8318; +pub const ERROR_DS_CANT_ADD_ATT_VALUES: ::DWORD = 8320; +pub const ERROR_DS_SINGLE_VALUE_CONSTRAINT: ::DWORD = 8321; +pub const ERROR_DS_RANGE_CONSTRAINT: ::DWORD = 8322; +pub const ERROR_DS_ATT_VAL_ALREADY_EXISTS: ::DWORD = 8323; +pub const ERROR_DS_CANT_REM_MISSING_ATT: ::DWORD = 8324; +pub const ERROR_DS_CANT_REM_MISSING_ATT_VAL: ::DWORD = 8325; +pub const ERROR_DS_ROOT_CANT_BE_SUBREF: ::DWORD = 8326; +pub const ERROR_DS_NO_CHAINING: ::DWORD = 8327; +pub const ERROR_DS_NO_CHAINED_EVAL: ::DWORD = 8328; +pub const ERROR_DS_NO_PARENT_OBJECT: ::DWORD = 8329; +pub const ERROR_DS_PARENT_IS_AN_ALIAS: ::DWORD = 8330; +pub const ERROR_DS_CANT_MIX_MASTER_AND_REPS: ::DWORD = 8331; +pub const ERROR_DS_CHILDREN_EXIST: ::DWORD = 8332; +pub const ERROR_DS_OBJ_NOT_FOUND: ::DWORD = 8333; +pub const ERROR_DS_ALIASED_OBJ_MISSING: ::DWORD = 8334; +pub const ERROR_DS_BAD_NAME_SYNTAX: ::DWORD = 8335; +pub const ERROR_DS_ALIAS_POINTS_TO_ALIAS: ::DWORD = 8336; +pub const ERROR_DS_CANT_DEREF_ALIAS: ::DWORD = 8337; +pub const ERROR_DS_OUT_OF_SCOPE: ::DWORD = 8338; +pub const ERROR_DS_OBJECT_BEING_REMOVED: ::DWORD = 8339; +pub const ERROR_DS_CANT_DELETE_DSA_OBJ: ::DWORD = 8340; +pub const ERROR_DS_GENERIC_ERROR: ::DWORD = 8341; +pub const ERROR_DS_DSA_MUST_BE_INT_MASTER: ::DWORD = 8342; +pub const ERROR_DS_CLASS_NOT_DSA: ::DWORD = 8343; +pub const ERROR_DS_INSUFF_ACCESS_RIGHTS: ::DWORD = 8344; +pub const ERROR_DS_ILLEGAL_SUPERIOR: ::DWORD = 8345; +pub const ERROR_DS_ATTRIBUTE_OWNED_BY_SAM: ::DWORD = 8346; +pub const ERROR_DS_NAME_TOO_MANY_PARTS: ::DWORD = 8347; +pub const ERROR_DS_NAME_TOO_LONG: ::DWORD = 8348; +pub const ERROR_DS_NAME_VALUE_TOO_LONG: ::DWORD = 8349; +pub const ERROR_DS_NAME_UNPARSEABLE: ::DWORD = 8350; +pub const ERROR_DS_NAME_TYPE_UNKNOWN: ::DWORD = 8351; +pub const ERROR_DS_NOT_AN_OBJECT: ::DWORD = 8352; +pub const ERROR_DS_SEC_DESC_TOO_SHORT: ::DWORD = 8353; +pub const ERROR_DS_SEC_DESC_INVALID: ::DWORD = 8354; +pub const ERROR_DS_NO_DELETED_NAME: ::DWORD = 8355; +pub const ERROR_DS_SUBREF_MUST_HAVE_PARENT: ::DWORD = 8356; +pub const ERROR_DS_NCNAME_MUST_BE_NC: ::DWORD = 8357; +pub const ERROR_DS_CANT_ADD_SYSTEM_ONLY: ::DWORD = 8358; +pub const ERROR_DS_CLASS_MUST_BE_CONCRETE: ::DWORD = 8359; +pub const ERROR_DS_INVALID_DMD: ::DWORD = 8360; +pub const ERROR_DS_OBJ_GUID_EXISTS: ::DWORD = 8361; +pub const ERROR_DS_NOT_ON_BACKLINK: ::DWORD = 8362; +pub const ERROR_DS_NO_CROSSREF_FOR_NC: ::DWORD = 8363; +pub const ERROR_DS_SHUTTING_DOWN: ::DWORD = 8364; +pub const ERROR_DS_UNKNOWN_OPERATION: ::DWORD = 8365; +pub const ERROR_DS_INVALID_ROLE_OWNER: ::DWORD = 8366; +pub const ERROR_DS_COULDNT_CONTACT_FSMO: ::DWORD = 8367; +pub const ERROR_DS_CROSS_NC_DN_RENAME: ::DWORD = 8368; +pub const ERROR_DS_CANT_MOD_SYSTEM_ONLY: ::DWORD = 8369; +pub const ERROR_DS_REPLICATOR_ONLY: ::DWORD = 8370; +pub const ERROR_DS_OBJ_CLASS_NOT_DEFINED: ::DWORD = 8371; +pub const ERROR_DS_OBJ_CLASS_NOT_SUBCLASS: ::DWORD = 8372; +pub const ERROR_DS_NAME_REFERENCE_INVALID: ::DWORD = 8373; +pub const ERROR_DS_CROSS_REF_EXISTS: ::DWORD = 8374; +pub const ERROR_DS_CANT_DEL_MASTER_CROSSREF: ::DWORD = 8375; +pub const ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD: ::DWORD = 8376; +pub const ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX: ::DWORD = 8377; +pub const ERROR_DS_DUP_RDN: ::DWORD = 8378; +pub const ERROR_DS_DUP_OID: ::DWORD = 8379; +pub const ERROR_DS_DUP_MAPI_ID: ::DWORD = 8380; +pub const ERROR_DS_DUP_SCHEMA_ID_GUID: ::DWORD = 8381; +pub const ERROR_DS_DUP_LDAP_DISPLAY_NAME: ::DWORD = 8382; +pub const ERROR_DS_SEMANTIC_ATT_TEST: ::DWORD = 8383; +pub const ERROR_DS_SYNTAX_MISMATCH: ::DWORD = 8384; +pub const ERROR_DS_EXISTS_IN_MUST_HAVE: ::DWORD = 8385; +pub const ERROR_DS_EXISTS_IN_MAY_HAVE: ::DWORD = 8386; +pub const ERROR_DS_NONEXISTENT_MAY_HAVE: ::DWORD = 8387; +pub const ERROR_DS_NONEXISTENT_MUST_HAVE: ::DWORD = 8388; +pub const ERROR_DS_AUX_CLS_TEST_FAIL: ::DWORD = 8389; +pub const ERROR_DS_NONEXISTENT_POSS_SUP: ::DWORD = 8390; +pub const ERROR_DS_SUB_CLS_TEST_FAIL: ::DWORD = 8391; +pub const ERROR_DS_BAD_RDN_ATT_ID_SYNTAX: ::DWORD = 8392; +pub const ERROR_DS_EXISTS_IN_AUX_CLS: ::DWORD = 8393; +pub const ERROR_DS_EXISTS_IN_SUB_CLS: ::DWORD = 8394; +pub const ERROR_DS_EXISTS_IN_POSS_SUP: ::DWORD = 8395; +pub const ERROR_DS_RECALCSCHEMA_FAILED: ::DWORD = 8396; +pub const ERROR_DS_TREE_DELETE_NOT_FINISHED: ::DWORD = 8397; +pub const ERROR_DS_CANT_DELETE: ::DWORD = 8398; +pub const ERROR_DS_ATT_SCHEMA_REQ_ID: ::DWORD = 8399; +pub const ERROR_DS_BAD_ATT_SCHEMA_SYNTAX: ::DWORD = 8400; +pub const ERROR_DS_CANT_CACHE_ATT: ::DWORD = 8401; +pub const ERROR_DS_CANT_CACHE_CLASS: ::DWORD = 8402; +pub const ERROR_DS_CANT_REMOVE_ATT_CACHE: ::DWORD = 8403; +pub const ERROR_DS_CANT_REMOVE_CLASS_CACHE: ::DWORD = 8404; +pub const ERROR_DS_CANT_RETRIEVE_DN: ::DWORD = 8405; +pub const ERROR_DS_MISSING_SUPREF: ::DWORD = 8406; +pub const ERROR_DS_CANT_RETRIEVE_INSTANCE: ::DWORD = 8407; +pub const ERROR_DS_CODE_INCONSISTENCY: ::DWORD = 8408; +pub const ERROR_DS_DATABASE_ERROR: ::DWORD = 8409; +pub const ERROR_DS_GOVERNSID_MISSING: ::DWORD = 8410; +pub const ERROR_DS_MISSING_EXPECTED_ATT: ::DWORD = 8411; +pub const ERROR_DS_NCNAME_MISSING_CR_REF: ::DWORD = 8412; +pub const ERROR_DS_SECURITY_CHECKING_ERROR: ::DWORD = 8413; +pub const ERROR_DS_SCHEMA_NOT_LOADED: ::DWORD = 8414; +pub const ERROR_DS_SCHEMA_ALLOC_FAILED: ::DWORD = 8415; +pub const ERROR_DS_ATT_SCHEMA_REQ_SYNTAX: ::DWORD = 8416; +pub const ERROR_DS_GCVERIFY_ERROR: ::DWORD = 8417; +pub const ERROR_DS_DRA_SCHEMA_MISMATCH: ::DWORD = 8418; +pub const ERROR_DS_CANT_FIND_DSA_OBJ: ::DWORD = 8419; +pub const ERROR_DS_CANT_FIND_EXPECTED_NC: ::DWORD = 8420; +pub const ERROR_DS_CANT_FIND_NC_IN_CACHE: ::DWORD = 8421; +pub const ERROR_DS_CANT_RETRIEVE_CHILD: ::DWORD = 8422; +pub const ERROR_DS_SECURITY_ILLEGAL_MODIFY: ::DWORD = 8423; +pub const ERROR_DS_CANT_REPLACE_HIDDEN_REC: ::DWORD = 8424; +pub const ERROR_DS_BAD_HIERARCHY_FILE: ::DWORD = 8425; +pub const ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED: ::DWORD = 8426; +pub const ERROR_DS_CONFIG_PARAM_MISSING: ::DWORD = 8427; +pub const ERROR_DS_COUNTING_AB_INDICES_FAILED: ::DWORD = 8428; +pub const ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED: ::DWORD = 8429; +pub const ERROR_DS_INTERNAL_FAILURE: ::DWORD = 8430; +pub const ERROR_DS_UNKNOWN_ERROR: ::DWORD = 8431; +pub const ERROR_DS_ROOT_REQUIRES_CLASS_TOP: ::DWORD = 8432; +pub const ERROR_DS_REFUSING_FSMO_ROLES: ::DWORD = 8433; +pub const ERROR_DS_MISSING_FSMO_SETTINGS: ::DWORD = 8434; +pub const ERROR_DS_UNABLE_TO_SURRENDER_ROLES: ::DWORD = 8435; +pub const ERROR_DS_DRA_GENERIC: ::DWORD = 8436; +pub const ERROR_DS_DRA_INVALID_PARAMETER: ::DWORD = 8437; +pub const ERROR_DS_DRA_BUSY: ::DWORD = 8438; +pub const ERROR_DS_DRA_BAD_DN: ::DWORD = 8439; +pub const ERROR_DS_DRA_BAD_NC: ::DWORD = 8440; +pub const ERROR_DS_DRA_DN_EXISTS: ::DWORD = 8441; +pub const ERROR_DS_DRA_INTERNAL_ERROR: ::DWORD = 8442; +pub const ERROR_DS_DRA_INCONSISTENT_DIT: ::DWORD = 8443; +pub const ERROR_DS_DRA_CONNECTION_FAILED: ::DWORD = 8444; +pub const ERROR_DS_DRA_BAD_INSTANCE_TYPE: ::DWORD = 8445; +pub const ERROR_DS_DRA_OUT_OF_MEM: ::DWORD = 8446; +pub const ERROR_DS_DRA_MAIL_PROBLEM: ::DWORD = 8447; +pub const ERROR_DS_DRA_REF_ALREADY_EXISTS: ::DWORD = 8448; +pub const ERROR_DS_DRA_REF_NOT_FOUND: ::DWORD = 8449; +pub const ERROR_DS_DRA_OBJ_IS_REP_SOURCE: ::DWORD = 8450; +pub const ERROR_DS_DRA_DB_ERROR: ::DWORD = 8451; +pub const ERROR_DS_DRA_NO_REPLICA: ::DWORD = 8452; +pub const ERROR_DS_DRA_ACCESS_DENIED: ::DWORD = 8453; +pub const ERROR_DS_DRA_NOT_SUPPORTED: ::DWORD = 8454; +pub const ERROR_DS_DRA_RPC_CANCELLED: ::DWORD = 8455; +pub const ERROR_DS_DRA_SOURCE_DISABLED: ::DWORD = 8456; +pub const ERROR_DS_DRA_SINK_DISABLED: ::DWORD = 8457; +pub const ERROR_DS_DRA_NAME_COLLISION: ::DWORD = 8458; +pub const ERROR_DS_DRA_SOURCE_REINSTALLED: ::DWORD = 8459; +pub const ERROR_DS_DRA_MISSING_PARENT: ::DWORD = 8460; +pub const ERROR_DS_DRA_PREEMPTED: ::DWORD = 8461; +pub const ERROR_DS_DRA_ABANDON_SYNC: ::DWORD = 8462; +pub const ERROR_DS_DRA_SHUTDOWN: ::DWORD = 8463; +pub const ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET: ::DWORD = 8464; +pub const ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA: ::DWORD = 8465; +pub const ERROR_DS_DRA_EXTN_CONNECTION_FAILED: ::DWORD = 8466; +pub const ERROR_DS_INSTALL_SCHEMA_MISMATCH: ::DWORD = 8467; +pub const ERROR_DS_DUP_LINK_ID: ::DWORD = 8468; +pub const ERROR_DS_NAME_ERROR_RESOLVING: ::DWORD = 8469; +pub const ERROR_DS_NAME_ERROR_NOT_FOUND: ::DWORD = 8470; +pub const ERROR_DS_NAME_ERROR_NOT_UNIQUE: ::DWORD = 8471; +pub const ERROR_DS_NAME_ERROR_NO_MAPPING: ::DWORD = 8472; +pub const ERROR_DS_NAME_ERROR_DOMAIN_ONLY: ::DWORD = 8473; +pub const ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING: ::DWORD = 8474; +pub const ERROR_DS_CONSTRUCTED_ATT_MOD: ::DWORD = 8475; +pub const ERROR_DS_WRONG_OM_OBJ_CLASS: ::DWORD = 8476; +pub const ERROR_DS_DRA_REPL_PENDING: ::DWORD = 8477; +pub const ERROR_DS_DS_REQUIRED: ::DWORD = 8478; +pub const ERROR_DS_INVALID_LDAP_DISPLAY_NAME: ::DWORD = 8479; +pub const ERROR_DS_NON_BASE_SEARCH: ::DWORD = 8480; +pub const ERROR_DS_CANT_RETRIEVE_ATTS: ::DWORD = 8481; +pub const ERROR_DS_BACKLINK_WITHOUT_LINK: ::DWORD = 8482; +pub const ERROR_DS_EPOCH_MISMATCH: ::DWORD = 8483; +pub const ERROR_DS_SRC_NAME_MISMATCH: ::DWORD = 8484; +pub const ERROR_DS_SRC_AND_DST_NC_IDENTICAL: ::DWORD = 8485; +pub const ERROR_DS_DST_NC_MISMATCH: ::DWORD = 8486; +pub const ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC: ::DWORD = 8487; +pub const ERROR_DS_SRC_GUID_MISMATCH: ::DWORD = 8488; +pub const ERROR_DS_CANT_MOVE_DELETED_OBJECT: ::DWORD = 8489; +pub const ERROR_DS_PDC_OPERATION_IN_PROGRESS: ::DWORD = 8490; +pub const ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD: ::DWORD = 8491; +pub const ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION: ::DWORD = 8492; +pub const ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS: ::DWORD = 8493; +pub const ERROR_DS_NC_MUST_HAVE_NC_PARENT: ::DWORD = 8494; +pub const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE: ::DWORD = 8495; +pub const ERROR_DS_DST_DOMAIN_NOT_NATIVE: ::DWORD = 8496; +pub const ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER: ::DWORD = 8497; +pub const ERROR_DS_CANT_MOVE_ACCOUNT_GROUP: ::DWORD = 8498; +pub const ERROR_DS_CANT_MOVE_RESOURCE_GROUP: ::DWORD = 8499; +pub const ERROR_DS_INVALID_SEARCH_FLAG: ::DWORD = 8500; +pub const ERROR_DS_NO_TREE_DELETE_ABOVE_NC: ::DWORD = 8501; +pub const ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE: ::DWORD = 8502; +pub const ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE: ::DWORD = 8503; +pub const ERROR_DS_SAM_INIT_FAILURE: ::DWORD = 8504; +pub const ERROR_DS_SENSITIVE_GROUP_VIOLATION: ::DWORD = 8505; +pub const ERROR_DS_CANT_MOD_PRIMARYGROUPID: ::DWORD = 8506; +pub const ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD: ::DWORD = 8507; +pub const ERROR_DS_NONSAFE_SCHEMA_CHANGE: ::DWORD = 8508; +pub const ERROR_DS_SCHEMA_UPDATE_DISALLOWED: ::DWORD = 8509; +pub const ERROR_DS_CANT_CREATE_UNDER_SCHEMA: ::DWORD = 8510; +pub const ERROR_DS_INSTALL_NO_SRC_SCH_VERSION: ::DWORD = 8511; +pub const ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE: ::DWORD = 8512; +pub const ERROR_DS_INVALID_GROUP_TYPE: ::DWORD = 8513; +pub const ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN: ::DWORD = 8514; +pub const ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN: ::DWORD = 8515; +pub const ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER: ::DWORD = 8516; +pub const ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER: ::DWORD = 8517; +pub const ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER: ::DWORD = 8518; +pub const ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER: ::DWORD = 8519; +pub const ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER: ::DWORD = 8520; +pub const ERROR_DS_HAVE_PRIMARY_MEMBERS: ::DWORD = 8521; +pub const ERROR_DS_STRING_SD_CONVERSION_FAILED: ::DWORD = 8522; +pub const ERROR_DS_NAMING_MASTER_GC: ::DWORD = 8523; +pub const ERROR_DS_DNS_LOOKUP_FAILURE: ::DWORD = 8524; +pub const ERROR_DS_COULDNT_UPDATE_SPNS: ::DWORD = 8525; +pub const ERROR_DS_CANT_RETRIEVE_SD: ::DWORD = 8526; +pub const ERROR_DS_KEY_NOT_UNIQUE: ::DWORD = 8527; +pub const ERROR_DS_WRONG_LINKED_ATT_SYNTAX: ::DWORD = 8528; +pub const ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD: ::DWORD = 8529; +pub const ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY: ::DWORD = 8530; +pub const ERROR_DS_CANT_START: ::DWORD = 8531; +pub const ERROR_DS_INIT_FAILURE: ::DWORD = 8532; +pub const ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION: ::DWORD = 8533; +pub const ERROR_DS_SOURCE_DOMAIN_IN_FOREST: ::DWORD = 8534; +pub const ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST: ::DWORD = 8535; +pub const ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED: ::DWORD = 8536; +pub const ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN: ::DWORD = 8537; +pub const ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER: ::DWORD = 8538; +pub const ERROR_DS_SRC_SID_EXISTS_IN_FOREST: ::DWORD = 8539; +pub const ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH: ::DWORD = 8540; +pub const ERROR_SAM_INIT_FAILURE: ::DWORD = 8541; +pub const ERROR_DS_DRA_SCHEMA_INFO_SHIP: ::DWORD = 8542; +pub const ERROR_DS_DRA_SCHEMA_CONFLICT: ::DWORD = 8543; +pub const ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT: ::DWORD = 8544; +pub const ERROR_DS_DRA_OBJ_NC_MISMATCH: ::DWORD = 8545; +pub const ERROR_DS_NC_STILL_HAS_DSAS: ::DWORD = 8546; +pub const ERROR_DS_GC_REQUIRED: ::DWORD = 8547; +pub const ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY: ::DWORD = 8548; +pub const ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS: ::DWORD = 8549; +pub const ERROR_DS_CANT_ADD_TO_GC: ::DWORD = 8550; +pub const ERROR_DS_NO_CHECKPOINT_WITH_PDC: ::DWORD = 8551; +pub const ERROR_DS_SOURCE_AUDITING_NOT_ENABLED: ::DWORD = 8552; +pub const ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC: ::DWORD = 8553; +pub const ERROR_DS_INVALID_NAME_FOR_SPN: ::DWORD = 8554; +pub const ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS: ::DWORD = 8555; +pub const ERROR_DS_UNICODEPWD_NOT_IN_QUOTES: ::DWORD = 8556; +pub const ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED: ::DWORD = 8557; +pub const ERROR_DS_MUST_BE_RUN_ON_DST_DC: ::DWORD = 8558; +pub const ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER: ::DWORD = 8559; +pub const ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ: ::DWORD = 8560; +pub const ERROR_DS_INIT_FAILURE_CONSOLE: ::DWORD = 8561; +pub const ERROR_DS_SAM_INIT_FAILURE_CONSOLE: ::DWORD = 8562; +pub const ERROR_DS_FOREST_VERSION_TOO_HIGH: ::DWORD = 8563; +pub const ERROR_DS_DOMAIN_VERSION_TOO_HIGH: ::DWORD = 8564; +pub const ERROR_DS_FOREST_VERSION_TOO_LOW: ::DWORD = 8565; +pub const ERROR_DS_DOMAIN_VERSION_TOO_LOW: ::DWORD = 8566; +pub const ERROR_DS_INCOMPATIBLE_VERSION: ::DWORD = 8567; +pub const ERROR_DS_LOW_DSA_VERSION: ::DWORD = 8568; +pub const ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN: ::DWORD = 8569; +pub const ERROR_DS_NOT_SUPPORTED_SORT_ORDER: ::DWORD = 8570; +pub const ERROR_DS_NAME_NOT_UNIQUE: ::DWORD = 8571; +pub const ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4: ::DWORD = 8572; +pub const ERROR_DS_OUT_OF_VERSION_STORE: ::DWORD = 8573; +pub const ERROR_DS_INCOMPATIBLE_CONTROLS_USED: ::DWORD = 8574; +pub const ERROR_DS_NO_REF_DOMAIN: ::DWORD = 8575; +pub const ERROR_DS_RESERVED_LINK_ID: ::DWORD = 8576; +pub const ERROR_DS_LINK_ID_NOT_AVAILABLE: ::DWORD = 8577; +pub const ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER: ::DWORD = 8578; +pub const ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE: ::DWORD = 8579; +pub const ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC: ::DWORD = 8580; +pub const ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG: ::DWORD = 8581; +pub const ERROR_DS_MODIFYDN_WRONG_GRANDPARENT: ::DWORD = 8582; +pub const ERROR_DS_NAME_ERROR_TRUST_REFERRAL: ::DWORD = 8583; +pub const ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER: ::DWORD = 8584; +pub const ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD: ::DWORD = 8585; +pub const ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2: ::DWORD = 8586; +pub const ERROR_DS_THREAD_LIMIT_EXCEEDED: ::DWORD = 8587; +pub const ERROR_DS_NOT_CLOSEST: ::DWORD = 8588; +pub const ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF: ::DWORD = 8589; +pub const ERROR_DS_SINGLE_USER_MODE_FAILED: ::DWORD = 8590; +pub const ERROR_DS_NTDSCRIPT_SYNTAX_ERROR: ::DWORD = 8591; +pub const ERROR_DS_NTDSCRIPT_PROCESS_ERROR: ::DWORD = 8592; +pub const ERROR_DS_DIFFERENT_REPL_EPOCHS: ::DWORD = 8593; +pub const ERROR_DS_DRS_EXTENSIONS_CHANGED: ::DWORD = 8594; +pub const ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR: ::DWORD = 8595; +pub const ERROR_DS_NO_MSDS_INTID: ::DWORD = 8596; +pub const ERROR_DS_DUP_MSDS_INTID: ::DWORD = 8597; +pub const ERROR_DS_EXISTS_IN_RDNATTID: ::DWORD = 8598; +pub const ERROR_DS_AUTHORIZATION_FAILED: ::DWORD = 8599; +pub const ERROR_DS_INVALID_SCRIPT: ::DWORD = 8600; +pub const ERROR_DS_REMOTE_CROSSREF_OP_FAILED: ::DWORD = 8601; +pub const ERROR_DS_CROSS_REF_BUSY: ::DWORD = 8602; +pub const ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN: ::DWORD = 8603; +pub const ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC: ::DWORD = 8604; +pub const ERROR_DS_DUPLICATE_ID_FOUND: ::DWORD = 8605; +pub const ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT: ::DWORD = 8606; +pub const ERROR_DS_GROUP_CONVERSION_ERROR: ::DWORD = 8607; +pub const ERROR_DS_CANT_MOVE_APP_BASIC_GROUP: ::DWORD = 8608; +pub const ERROR_DS_CANT_MOVE_APP_QUERY_GROUP: ::DWORD = 8609; +pub const ERROR_DS_ROLE_NOT_VERIFIED: ::DWORD = 8610; +pub const ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL: ::DWORD = 8611; +pub const ERROR_DS_DOMAIN_RENAME_IN_PROGRESS: ::DWORD = 8612; +pub const ERROR_DS_EXISTING_AD_CHILD_NC: ::DWORD = 8613; +pub const ERROR_DS_REPL_LIFETIME_EXCEEDED: ::DWORD = 8614; +pub const ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER: ::DWORD = 8615; +pub const ERROR_DS_LDAP_SEND_QUEUE_FULL: ::DWORD = 8616; +pub const ERROR_DS_DRA_OUT_SCHEDULE_WINDOW: ::DWORD = 8617; +pub const ERROR_DS_POLICY_NOT_KNOWN: ::DWORD = 8618; +pub const ERROR_NO_SITE_SETTINGS_OBJECT: ::DWORD = 8619; +pub const ERROR_NO_SECRETS: ::DWORD = 8620; +pub const ERROR_NO_WRITABLE_DC_FOUND: ::DWORD = 8621; +pub const ERROR_DS_NO_SERVER_OBJECT: ::DWORD = 8622; +pub const ERROR_DS_NO_NTDSA_OBJECT: ::DWORD = 8623; +pub const ERROR_DS_NON_ASQ_SEARCH: ::DWORD = 8624; +pub const ERROR_DS_AUDIT_FAILURE: ::DWORD = 8625; +pub const ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE: ::DWORD = 8626; +pub const ERROR_DS_INVALID_SEARCH_FLAG_TUPLE: ::DWORD = 8627; +pub const ERROR_DS_HIERARCHY_TABLE_TOO_DEEP: ::DWORD = 8628; +pub const ERROR_DS_DRA_CORRUPT_UTD_VECTOR: ::DWORD = 8629; +pub const ERROR_DS_DRA_SECRETS_DENIED: ::DWORD = 8630; +pub const ERROR_DS_RESERVED_MAPI_ID: ::DWORD = 8631; +pub const ERROR_DS_MAPI_ID_NOT_AVAILABLE: ::DWORD = 8632; +pub const ERROR_DS_DRA_MISSING_KRBTGT_SECRET: ::DWORD = 8633; +pub const ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST: ::DWORD = 8634; +pub const ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST: ::DWORD = 8635; +pub const ERROR_INVALID_USER_PRINCIPAL_NAME: ::DWORD = 8636; +pub const ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS: ::DWORD = 8637; +pub const ERROR_DS_OID_NOT_FOUND: ::DWORD = 8638; +pub const ERROR_DS_DRA_RECYCLED_TARGET: ::DWORD = 8639; +pub const ERROR_DS_DISALLOWED_NC_REDIRECT: ::DWORD = 8640; +pub const ERROR_DS_HIGH_ADLDS_FFL: ::DWORD = 8641; +pub const ERROR_DS_HIGH_DSA_VERSION: ::DWORD = 8642; +pub const ERROR_DS_LOW_ADLDS_FFL: ::DWORD = 8643; +pub const ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION: ::DWORD = 8644; +pub const ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED: ::DWORD = 8645; +pub const ERROR_INCORRECT_ACCOUNT_TYPE: ::DWORD = 8646; +pub const ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST: ::DWORD = 8647; +pub const ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST: ::DWORD = 8648; +pub const DNS_ERROR_RESPONSE_CODES_BASE: ::DWORD = 9000; +pub const DNS_ERROR_RCODE_NO_ERROR: ::DWORD = NO_ERROR; +pub const DNS_ERROR_MASK: ::DWORD = 0x00002328; +pub const DNS_ERROR_RCODE_FORMAT_ERROR: ::DWORD = 9001; +pub const DNS_ERROR_RCODE_SERVER_FAILURE: ::DWORD = 9002; +pub const DNS_ERROR_RCODE_NAME_ERROR: ::DWORD = 9003; +pub const DNS_ERROR_RCODE_NOT_IMPLEMENTED: ::DWORD = 9004; +pub const DNS_ERROR_RCODE_REFUSED: ::DWORD = 9005; +pub const DNS_ERROR_RCODE_YXDOMAIN: ::DWORD = 9006; +pub const DNS_ERROR_RCODE_YXRRSET: ::DWORD = 9007; +pub const DNS_ERROR_RCODE_NXRRSET: ::DWORD = 9008; +pub const DNS_ERROR_RCODE_NOTAUTH: ::DWORD = 9009; +pub const DNS_ERROR_RCODE_NOTZONE: ::DWORD = 9010; +pub const DNS_ERROR_RCODE_BADSIG: ::DWORD = 9016; +pub const DNS_ERROR_RCODE_BADKEY: ::DWORD = 9017; +pub const DNS_ERROR_RCODE_BADTIME: ::DWORD = 9018; +pub const DNS_ERROR_RCODE_LAST: ::DWORD = DNS_ERROR_RCODE_BADTIME; +pub const DNS_ERROR_DNSSEC_BASE: ::DWORD = 9100; +pub const DNS_ERROR_KEYMASTER_REQUIRED: ::DWORD = 9101; +pub const DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE: ::DWORD = 9102; +pub const DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1: ::DWORD = 9103; +pub const DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS: ::DWORD = 9104; +pub const DNS_ERROR_UNSUPPORTED_ALGORITHM: ::DWORD = 9105; +pub const DNS_ERROR_INVALID_KEY_SIZE: ::DWORD = 9106; +pub const DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE: ::DWORD = 9107; +pub const DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION: ::DWORD = 9108; +pub const DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR: ::DWORD = 9109; +pub const DNS_ERROR_UNEXPECTED_CNG_ERROR: ::DWORD = 9110; +pub const DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION: ::DWORD = 9111; +pub const DNS_ERROR_KSP_NOT_ACCESSIBLE: ::DWORD = 9112; +pub const DNS_ERROR_TOO_MANY_SKDS: ::DWORD = 9113; +pub const DNS_ERROR_INVALID_ROLLOVER_PERIOD: ::DWORD = 9114; +pub const DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET: ::DWORD = 9115; +pub const DNS_ERROR_ROLLOVER_IN_PROGRESS: ::DWORD = 9116; +pub const DNS_ERROR_STANDBY_KEY_NOT_PRESENT: ::DWORD = 9117; +pub const DNS_ERROR_NOT_ALLOWED_ON_ZSK: ::DWORD = 9118; +pub const DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD: ::DWORD = 9119; +pub const DNS_ERROR_ROLLOVER_ALREADY_QUEUED: ::DWORD = 9120; +pub const DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE: ::DWORD = 9121; +pub const DNS_ERROR_BAD_KEYMASTER: ::DWORD = 9122; +pub const DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD: ::DWORD = 9123; +pub const DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT: ::DWORD = 9124; +pub const DNS_ERROR_DNSSEC_IS_DISABLED: ::DWORD = 9125; +pub const DNS_ERROR_INVALID_XML: ::DWORD = 9126; +pub const DNS_ERROR_NO_VALID_TRUST_ANCHORS: ::DWORD = 9127; +pub const DNS_ERROR_ROLLOVER_NOT_POKEABLE: ::DWORD = 9128; +pub const DNS_ERROR_NSEC3_NAME_COLLISION: ::DWORD = 9129; +pub const DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1: ::DWORD = 9130; +pub const DNS_ERROR_PACKET_FMT_BASE: ::DWORD = 9500; +pub const DNS_INFO_NO_RECORDS: ::DWORD = 9501; +pub const DNS_ERROR_BAD_PACKET: ::DWORD = 9502; +pub const DNS_ERROR_NO_PACKET: ::DWORD = 9503; +pub const DNS_ERROR_RCODE: ::DWORD = 9504; +pub const DNS_ERROR_UNSECURE_PACKET: ::DWORD = 9505; +pub const DNS_STATUS_PACKET_UNSECURE: ::DWORD = DNS_ERROR_UNSECURE_PACKET; +pub const DNS_REQUEST_PENDING: ::DWORD = 9506; +pub const DNS_ERROR_NO_MEMORY: ::DWORD = ERROR_OUTOFMEMORY; +pub const DNS_ERROR_INVALID_NAME: ::DWORD = ERROR_INVALID_NAME; +pub const DNS_ERROR_INVALID_DATA: ::DWORD = ERROR_INVALID_DATA; +pub const DNS_ERROR_GENERAL_API_BASE: ::DWORD = 9550; +pub const DNS_ERROR_INVALID_TYPE: ::DWORD = 9551; +pub const DNS_ERROR_INVALID_IP_ADDRESS: ::DWORD = 9552; +pub const DNS_ERROR_INVALID_PROPERTY: ::DWORD = 9553; +pub const DNS_ERROR_TRY_AGAIN_LATER: ::DWORD = 9554; +pub const DNS_ERROR_NOT_UNIQUE: ::DWORD = 9555; +pub const DNS_ERROR_NON_RFC_NAME: ::DWORD = 9556; +pub const DNS_STATUS_FQDN: ::DWORD = 9557; +pub const DNS_STATUS_DOTTED_NAME: ::DWORD = 9558; +pub const DNS_STATUS_SINGLE_PART_NAME: ::DWORD = 9559; +pub const DNS_ERROR_INVALID_NAME_CHAR: ::DWORD = 9560; +pub const DNS_ERROR_NUMERIC_NAME: ::DWORD = 9561; +pub const DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER: ::DWORD = 9562; +pub const DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION: ::DWORD = 9563; +pub const DNS_ERROR_CANNOT_FIND_ROOT_HINTS: ::DWORD = 9564; +pub const DNS_ERROR_INCONSISTENT_ROOT_HINTS: ::DWORD = 9565; +pub const DNS_ERROR_DWORD_VALUE_TOO_SMALL: ::DWORD = 9566; +pub const DNS_ERROR_DWORD_VALUE_TOO_LARGE: ::DWORD = 9567; +pub const DNS_ERROR_BACKGROUND_LOADING: ::DWORD = 9568; +pub const DNS_ERROR_NOT_ALLOWED_ON_RODC: ::DWORD = 9569; +pub const DNS_ERROR_NOT_ALLOWED_UNDER_DNAME: ::DWORD = 9570; +pub const DNS_ERROR_DELEGATION_REQUIRED: ::DWORD = 9571; +pub const DNS_ERROR_INVALID_POLICY_TABLE: ::DWORD = 9572; +pub const DNS_ERROR_ZONE_BASE: ::DWORD = 9600; +pub const DNS_ERROR_ZONE_DOES_NOT_EXIST: ::DWORD = 9601; +pub const DNS_ERROR_NO_ZONE_INFO: ::DWORD = 9602; +pub const DNS_ERROR_INVALID_ZONE_OPERATION: ::DWORD = 9603; +pub const DNS_ERROR_ZONE_CONFIGURATION_ERROR: ::DWORD = 9604; +pub const DNS_ERROR_ZONE_HAS_NO_SOA_RECORD: ::DWORD = 9605; +pub const DNS_ERROR_ZONE_HAS_NO_NS_RECORDS: ::DWORD = 9606; +pub const DNS_ERROR_ZONE_LOCKED: ::DWORD = 9607; +pub const DNS_ERROR_ZONE_CREATION_FAILED: ::DWORD = 9608; +pub const DNS_ERROR_ZONE_ALREADY_EXISTS: ::DWORD = 9609; +pub const DNS_ERROR_AUTOZONE_ALREADY_EXISTS: ::DWORD = 9610; +pub const DNS_ERROR_INVALID_ZONE_TYPE: ::DWORD = 9611; +pub const DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP: ::DWORD = 9612; +pub const DNS_ERROR_ZONE_NOT_SECONDARY: ::DWORD = 9613; +pub const DNS_ERROR_NEED_SECONDARY_ADDRESSES: ::DWORD = 9614; +pub const DNS_ERROR_WINS_INIT_FAILED: ::DWORD = 9615; +pub const DNS_ERROR_NEED_WINS_SERVERS: ::DWORD = 9616; +pub const DNS_ERROR_NBSTAT_INIT_FAILED: ::DWORD = 9617; +pub const DNS_ERROR_SOA_DELETE_INVALID: ::DWORD = 9618; +pub const DNS_ERROR_FORWARDER_ALREADY_EXISTS: ::DWORD = 9619; +pub const DNS_ERROR_ZONE_REQUIRES_MASTER_IP: ::DWORD = 9620; +pub const DNS_ERROR_ZONE_IS_SHUTDOWN: ::DWORD = 9621; +pub const DNS_ERROR_ZONE_LOCKED_FOR_SIGNING: ::DWORD = 9622; +pub const DNS_ERROR_DATAFILE_BASE: ::DWORD = 9650; +pub const DNS_ERROR_PRIMARY_REQUIRES_DATAFILE: ::DWORD = 9651; +pub const DNS_ERROR_INVALID_DATAFILE_NAME: ::DWORD = 9652; +pub const DNS_ERROR_DATAFILE_OPEN_FAILURE: ::DWORD = 9653; +pub const DNS_ERROR_FILE_WRITEBACK_FAILED: ::DWORD = 9654; +pub const DNS_ERROR_DATAFILE_PARSING: ::DWORD = 9655; +pub const DNS_ERROR_DATABASE_BASE: ::DWORD = 9700; +pub const DNS_ERROR_RECORD_DOES_NOT_EXIST: ::DWORD = 9701; +pub const DNS_ERROR_RECORD_FORMAT: ::DWORD = 9702; +pub const DNS_ERROR_NODE_CREATION_FAILED: ::DWORD = 9703; +pub const DNS_ERROR_UNKNOWN_RECORD_TYPE: ::DWORD = 9704; +pub const DNS_ERROR_RECORD_TIMED_OUT: ::DWORD = 9705; +pub const DNS_ERROR_NAME_NOT_IN_ZONE: ::DWORD = 9706; +pub const DNS_ERROR_CNAME_LOOP: ::DWORD = 9707; +pub const DNS_ERROR_NODE_IS_CNAME: ::DWORD = 9708; +pub const DNS_ERROR_CNAME_COLLISION: ::DWORD = 9709; +pub const DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT: ::DWORD = 9710; +pub const DNS_ERROR_RECORD_ALREADY_EXISTS: ::DWORD = 9711; +pub const DNS_ERROR_SECONDARY_DATA: ::DWORD = 9712; +pub const DNS_ERROR_NO_CREATE_CACHE_DATA: ::DWORD = 9713; +pub const DNS_ERROR_NAME_DOES_NOT_EXIST: ::DWORD = 9714; +pub const DNS_WARNING_PTR_CREATE_FAILED: ::DWORD = 9715; +pub const DNS_WARNING_DOMAIN_UNDELETED: ::DWORD = 9716; +pub const DNS_ERROR_DS_UNAVAILABLE: ::DWORD = 9717; +pub const DNS_ERROR_DS_ZONE_ALREADY_EXISTS: ::DWORD = 9718; +pub const DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE: ::DWORD = 9719; +pub const DNS_ERROR_NODE_IS_DNAME: ::DWORD = 9720; +pub const DNS_ERROR_DNAME_COLLISION: ::DWORD = 9721; +pub const DNS_ERROR_ALIAS_LOOP: ::DWORD = 9722; +pub const DNS_ERROR_OPERATION_BASE: ::DWORD = 9750; +pub const DNS_INFO_AXFR_COMPLETE: ::DWORD = 9751; +pub const DNS_ERROR_AXFR: ::DWORD = 9752; +pub const DNS_INFO_ADDED_LOCAL_WINS: ::DWORD = 9753; +pub const DNS_ERROR_SECURE_BASE: ::DWORD = 9800; +pub const DNS_STATUS_CONTINUE_NEEDED: ::DWORD = 9801; +pub const DNS_ERROR_SETUP_BASE: ::DWORD = 9850; +pub const DNS_ERROR_NO_TCPIP: ::DWORD = 9851; +pub const DNS_ERROR_NO_DNS_SERVERS: ::DWORD = 9852; +pub const DNS_ERROR_DP_BASE: ::DWORD = 9900; +pub const DNS_ERROR_DP_DOES_NOT_EXIST: ::DWORD = 9901; +pub const DNS_ERROR_DP_ALREADY_EXISTS: ::DWORD = 9902; +pub const DNS_ERROR_DP_NOT_ENLISTED: ::DWORD = 9903; +pub const DNS_ERROR_DP_ALREADY_ENLISTED: ::DWORD = 9904; +pub const DNS_ERROR_DP_NOT_AVAILABLE: ::DWORD = 9905; +pub const DNS_ERROR_DP_FSMO_ERROR: ::DWORD = 9906; +pub const DNS_ERROR_ZONESCOPE_ALREADY_EXISTS: ::DWORD = 9951; +pub const DNS_ERROR_ZONESCOPE_DOES_NOT_EXIST: ::DWORD = 9952; +pub const DNS_ERROR_DEFAULT_ZONESCOPE: ::DWORD = 9953; +pub const DNS_ERROR_INVALID_ZONESCOPE_NAME: ::DWORD = 9954; +pub const DNS_ERROR_NOT_ALLOWED_WITH_ZONESCOPES: ::DWORD = 9955; +pub const DNS_ERROR_LOAD_ZONESCOPE_FAILED: ::DWORD = 9956; +pub const DNS_ERROR_ZONESCOPE_FILE_WRITEBACK_FAILED: ::DWORD = 9957; +pub const DNS_ERROR_INVALID_SCOPE_NAME: ::DWORD = 9958; +pub const DNS_ERROR_SCOPE_DOES_NOT_EXIST: ::DWORD = 9959; +pub const DNS_ERROR_DEFAULT_SCOPE: ::DWORD = 9960; +pub const DNS_ERROR_INVALID_SCOPE_OPERATION: ::DWORD = 9961; +pub const DNS_ERROR_SCOPE_LOCKED: ::DWORD = 9962; +pub const DNS_ERROR_SCOPE_ALREADY_EXISTS: ::DWORD = 9963; +pub const WSABASEERR: ::DWORD = 10000; +pub const WSAEINTR: ::DWORD = 10004; +pub const WSAEBADF: ::DWORD = 10009; +pub const WSAEACCES: ::DWORD = 10013; +pub const WSAEFAULT: ::DWORD = 10014; +pub const WSAEINVAL: ::DWORD = 10022; +pub const WSAEMFILE: ::DWORD = 10024; +pub const WSAEWOULDBLOCK: ::DWORD = 10035; +pub const WSAEINPROGRESS: ::DWORD = 10036; +pub const WSAEALREADY: ::DWORD = 10037; +pub const WSAENOTSOCK: ::DWORD = 10038; +pub const WSAEDESTADDRREQ: ::DWORD = 10039; +pub const WSAEMSGSIZE: ::DWORD = 10040; +pub const WSAEPROTOTYPE: ::DWORD = 10041; +pub const WSAENOPROTOOPT: ::DWORD = 10042; +pub const WSAEPROTONOSUPPORT: ::DWORD = 10043; +pub const WSAESOCKTNOSUPPORT: ::DWORD = 10044; +pub const WSAEOPNOTSUPP: ::DWORD = 10045; +pub const WSAEPFNOSUPPORT: ::DWORD = 10046; +pub const WSAEAFNOSUPPORT: ::DWORD = 10047; +pub const WSAEADDRINUSE: ::DWORD = 10048; +pub const WSAEADDRNOTAVAIL: ::DWORD = 10049; +pub const WSAENETDOWN: ::DWORD = 10050; +pub const WSAENETUNREACH: ::DWORD = 10051; +pub const WSAENETRESET: ::DWORD = 10052; +pub const WSAECONNABORTED: ::DWORD = 10053; +pub const WSAECONNRESET: ::DWORD = 10054; +pub const WSAENOBUFS: ::DWORD = 10055; +pub const WSAEISCONN: ::DWORD = 10056; +pub const WSAENOTCONN: ::DWORD = 10057; +pub const WSAESHUTDOWN: ::DWORD = 10058; +pub const WSAETOOMANYREFS: ::DWORD = 10059; +pub const WSAETIMEDOUT: ::DWORD = 10060; +pub const WSAECONNREFUSED: ::DWORD = 10061; +pub const WSAELOOP: ::DWORD = 10062; +pub const WSAENAMETOOLONG: ::DWORD = 10063; +pub const WSAEHOSTDOWN: ::DWORD = 10064; +pub const WSAEHOSTUNREACH: ::DWORD = 10065; +pub const WSAENOTEMPTY: ::DWORD = 10066; +pub const WSAEPROCLIM: ::DWORD = 10067; +pub const WSAEUSERS: ::DWORD = 10068; +pub const WSAEDQUOT: ::DWORD = 10069; +pub const WSAESTALE: ::DWORD = 10070; +pub const WSAEREMOTE: ::DWORD = 10071; +pub const WSASYSNOTREADY: ::DWORD = 10091; +pub const WSAVERNOTSUPPORTED: ::DWORD = 10092; +pub const WSANOTINITIALISED: ::DWORD = 10093; +pub const WSAEDISCON: ::DWORD = 10101; +pub const WSAENOMORE: ::DWORD = 10102; +pub const WSAECANCELLED: ::DWORD = 10103; +pub const WSAEINVALIDPROCTABLE: ::DWORD = 10104; +pub const WSAEINVALIDPROVIDER: ::DWORD = 10105; +pub const WSAEPROVIDERFAILEDINIT: ::DWORD = 10106; +pub const WSASYSCALLFAILURE: ::DWORD = 10107; +pub const WSASERVICE_NOT_FOUND: ::DWORD = 10108; +pub const WSATYPE_NOT_FOUND: ::DWORD = 10109; +pub const WSA_E_NO_MORE: ::DWORD = 10110; +pub const WSA_E_CANCELLED: ::DWORD = 10111; +pub const WSAEREFUSED: ::DWORD = 10112; +pub const WSAHOST_NOT_FOUND: ::DWORD = 11001; +pub const WSATRY_AGAIN: ::DWORD = 11002; +pub const WSANO_RECOVERY: ::DWORD = 11003; +pub const WSANO_DATA: ::DWORD = 11004; +pub const WSA_QOS_RECEIVERS: ::DWORD = 11005; +pub const WSA_QOS_SENDERS: ::DWORD = 11006; +pub const WSA_QOS_NO_SENDERS: ::DWORD = 11007; +pub const WSA_QOS_NO_RECEIVERS: ::DWORD = 11008; +pub const WSA_QOS_REQUEST_CONFIRMED: ::DWORD = 11009; +pub const WSA_QOS_ADMISSION_FAILURE: ::DWORD = 11010; +pub const WSA_QOS_POLICY_FAILURE: ::DWORD = 11011; +pub const WSA_QOS_BAD_STYLE: ::DWORD = 11012; +pub const WSA_QOS_BAD_OBJECT: ::DWORD = 11013; +pub const WSA_QOS_TRAFFIC_CTRL_ERROR: ::DWORD = 11014; +pub const WSA_QOS_GENERIC_ERROR: ::DWORD = 11015; +pub const WSA_QOS_ESERVICETYPE: ::DWORD = 11016; +pub const WSA_QOS_EFLOWSPEC: ::DWORD = 11017; +pub const WSA_QOS_EPROVSPECBUF: ::DWORD = 11018; +pub const WSA_QOS_EFILTERSTYLE: ::DWORD = 11019; +pub const WSA_QOS_EFILTERTYPE: ::DWORD = 11020; +pub const WSA_QOS_EFILTERCOUNT: ::DWORD = 11021; +pub const WSA_QOS_EOBJLENGTH: ::DWORD = 11022; +pub const WSA_QOS_EFLOWCOUNT: ::DWORD = 11023; +pub const WSA_QOS_EUNKOWNPSOBJ: ::DWORD = 11024; +pub const WSA_QOS_EPOLICYOBJ: ::DWORD = 11025; +pub const WSA_QOS_EFLOWDESC: ::DWORD = 11026; +pub const WSA_QOS_EPSFLOWSPEC: ::DWORD = 11027; +pub const WSA_QOS_EPSFILTERSPEC: ::DWORD = 11028; +pub const WSA_QOS_ESDMODEOBJ: ::DWORD = 11029; +pub const WSA_QOS_ESHAPERATEOBJ: ::DWORD = 11030; +pub const WSA_QOS_RESERVED_PETYPE: ::DWORD = 11031; +pub const WSA_SECURE_HOST_NOT_FOUND: ::DWORD = 11032; +pub const WSA_IPSEC_NAME_POLICY_ERROR: ::DWORD = 11033; +pub const ERROR_IPSEC_QM_POLICY_EXISTS: ::DWORD = 13000; +pub const ERROR_IPSEC_QM_POLICY_NOT_FOUND: ::DWORD = 13001; +pub const ERROR_IPSEC_QM_POLICY_IN_USE: ::DWORD = 13002; +pub const ERROR_IPSEC_MM_POLICY_EXISTS: ::DWORD = 13003; +pub const ERROR_IPSEC_MM_POLICY_NOT_FOUND: ::DWORD = 13004; +pub const ERROR_IPSEC_MM_POLICY_IN_USE: ::DWORD = 13005; +pub const ERROR_IPSEC_MM_FILTER_EXISTS: ::DWORD = 13006; +pub const ERROR_IPSEC_MM_FILTER_NOT_FOUND: ::DWORD = 13007; +pub const ERROR_IPSEC_TRANSPORT_FILTER_EXISTS: ::DWORD = 13008; +pub const ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND: ::DWORD = 13009; +pub const ERROR_IPSEC_MM_AUTH_EXISTS: ::DWORD = 13010; +pub const ERROR_IPSEC_MM_AUTH_NOT_FOUND: ::DWORD = 13011; +pub const ERROR_IPSEC_MM_AUTH_IN_USE: ::DWORD = 13012; +pub const ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND: ::DWORD = 13013; +pub const ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND: ::DWORD = 13014; +pub const ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND: ::DWORD = 13015; +pub const ERROR_IPSEC_TUNNEL_FILTER_EXISTS: ::DWORD = 13016; +pub const ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND: ::DWORD = 13017; +pub const ERROR_IPSEC_MM_FILTER_PENDING_DELETION: ::DWORD = 13018; +pub const ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION: ::DWORD = 13019; +pub const ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION: ::DWORD = 13020; +pub const ERROR_IPSEC_MM_POLICY_PENDING_DELETION: ::DWORD = 13021; +pub const ERROR_IPSEC_MM_AUTH_PENDING_DELETION: ::DWORD = 13022; +pub const ERROR_IPSEC_QM_POLICY_PENDING_DELETION: ::DWORD = 13023; +pub const WARNING_IPSEC_MM_POLICY_PRUNED: ::DWORD = 13024; +pub const WARNING_IPSEC_QM_POLICY_PRUNED: ::DWORD = 13025; +pub const ERROR_IPSEC_IKE_NEG_STATUS_BEGIN: ::DWORD = 13800; +pub const ERROR_IPSEC_IKE_AUTH_FAIL: ::DWORD = 13801; +pub const ERROR_IPSEC_IKE_ATTRIB_FAIL: ::DWORD = 13802; +pub const ERROR_IPSEC_IKE_NEGOTIATION_PENDING: ::DWORD = 13803; +pub const ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR: ::DWORD = 13804; +pub const ERROR_IPSEC_IKE_TIMED_OUT: ::DWORD = 13805; +pub const ERROR_IPSEC_IKE_NO_CERT: ::DWORD = 13806; +pub const ERROR_IPSEC_IKE_SA_DELETED: ::DWORD = 13807; +pub const ERROR_IPSEC_IKE_SA_REAPED: ::DWORD = 13808; +pub const ERROR_IPSEC_IKE_MM_ACQUIRE_DROP: ::DWORD = 13809; +pub const ERROR_IPSEC_IKE_QM_ACQUIRE_DROP: ::DWORD = 13810; +pub const ERROR_IPSEC_IKE_QUEUE_DROP_MM: ::DWORD = 13811; +pub const ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM: ::DWORD = 13812; +pub const ERROR_IPSEC_IKE_DROP_NO_RESPONSE: ::DWORD = 13813; +pub const ERROR_IPSEC_IKE_MM_DELAY_DROP: ::DWORD = 13814; +pub const ERROR_IPSEC_IKE_QM_DELAY_DROP: ::DWORD = 13815; +pub const ERROR_IPSEC_IKE_ERROR: ::DWORD = 13816; +pub const ERROR_IPSEC_IKE_CRL_FAILED: ::DWORD = 13817; +pub const ERROR_IPSEC_IKE_INVALID_KEY_USAGE: ::DWORD = 13818; +pub const ERROR_IPSEC_IKE_INVALID_CERT_TYPE: ::DWORD = 13819; +pub const ERROR_IPSEC_IKE_NO_PRIVATE_KEY: ::DWORD = 13820; +pub const ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY: ::DWORD = 13821; +pub const ERROR_IPSEC_IKE_DH_FAIL: ::DWORD = 13822; +pub const ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED: ::DWORD = 13823; +pub const ERROR_IPSEC_IKE_INVALID_HEADER: ::DWORD = 13824; +pub const ERROR_IPSEC_IKE_NO_POLICY: ::DWORD = 13825; +pub const ERROR_IPSEC_IKE_INVALID_SIGNATURE: ::DWORD = 13826; +pub const ERROR_IPSEC_IKE_KERBEROS_ERROR: ::DWORD = 13827; +pub const ERROR_IPSEC_IKE_NO_PUBLIC_KEY: ::DWORD = 13828; +pub const ERROR_IPSEC_IKE_PROCESS_ERR: ::DWORD = 13829; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_SA: ::DWORD = 13830; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_PROP: ::DWORD = 13831; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_TRANS: ::DWORD = 13832; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_KE: ::DWORD = 13833; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_ID: ::DWORD = 13834; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_CERT: ::DWORD = 13835; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ: ::DWORD = 13836; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_HASH: ::DWORD = 13837; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_SIG: ::DWORD = 13838; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_NONCE: ::DWORD = 13839; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY: ::DWORD = 13840; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_DELETE: ::DWORD = 13841; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR: ::DWORD = 13842; +pub const ERROR_IPSEC_IKE_INVALID_PAYLOAD: ::DWORD = 13843; +pub const ERROR_IPSEC_IKE_LOAD_SOFT_SA: ::DWORD = 13844; +pub const ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN: ::DWORD = 13845; +pub const ERROR_IPSEC_IKE_INVALID_COOKIE: ::DWORD = 13846; +pub const ERROR_IPSEC_IKE_NO_PEER_CERT: ::DWORD = 13847; +pub const ERROR_IPSEC_IKE_PEER_CRL_FAILED: ::DWORD = 13848; +pub const ERROR_IPSEC_IKE_POLICY_CHANGE: ::DWORD = 13849; +pub const ERROR_IPSEC_IKE_NO_MM_POLICY: ::DWORD = 13850; +pub const ERROR_IPSEC_IKE_NOTCBPRIV: ::DWORD = 13851; +pub const ERROR_IPSEC_IKE_SECLOADFAIL: ::DWORD = 13852; +pub const ERROR_IPSEC_IKE_FAILSSPINIT: ::DWORD = 13853; +pub const ERROR_IPSEC_IKE_FAILQUERYSSP: ::DWORD = 13854; +pub const ERROR_IPSEC_IKE_SRVACQFAIL: ::DWORD = 13855; +pub const ERROR_IPSEC_IKE_SRVQUERYCRED: ::DWORD = 13856; +pub const ERROR_IPSEC_IKE_GETSPIFAIL: ::DWORD = 13857; +pub const ERROR_IPSEC_IKE_INVALID_FILTER: ::DWORD = 13858; +pub const ERROR_IPSEC_IKE_OUT_OF_MEMORY: ::DWORD = 13859; +pub const ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED: ::DWORD = 13860; +pub const ERROR_IPSEC_IKE_INVALID_POLICY: ::DWORD = 13861; +pub const ERROR_IPSEC_IKE_UNKNOWN_DOI: ::DWORD = 13862; +pub const ERROR_IPSEC_IKE_INVALID_SITUATION: ::DWORD = 13863; +pub const ERROR_IPSEC_IKE_DH_FAILURE: ::DWORD = 13864; +pub const ERROR_IPSEC_IKE_INVALID_GROUP: ::DWORD = 13865; +pub const ERROR_IPSEC_IKE_ENCRYPT: ::DWORD = 13866; +pub const ERROR_IPSEC_IKE_DECRYPT: ::DWORD = 13867; +pub const ERROR_IPSEC_IKE_POLICY_MATCH: ::DWORD = 13868; +pub const ERROR_IPSEC_IKE_UNSUPPORTED_ID: ::DWORD = 13869; +pub const ERROR_IPSEC_IKE_INVALID_HASH: ::DWORD = 13870; +pub const ERROR_IPSEC_IKE_INVALID_HASH_ALG: ::DWORD = 13871; +pub const ERROR_IPSEC_IKE_INVALID_HASH_SIZE: ::DWORD = 13872; +pub const ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG: ::DWORD = 13873; +pub const ERROR_IPSEC_IKE_INVALID_AUTH_ALG: ::DWORD = 13874; +pub const ERROR_IPSEC_IKE_INVALID_SIG: ::DWORD = 13875; +pub const ERROR_IPSEC_IKE_LOAD_FAILED: ::DWORD = 13876; +pub const ERROR_IPSEC_IKE_RPC_DELETE: ::DWORD = 13877; +pub const ERROR_IPSEC_IKE_BENIGN_REINIT: ::DWORD = 13878; +pub const ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY: ::DWORD = 13879; +pub const ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION: ::DWORD = 13880; +pub const ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN: ::DWORD = 13881; +pub const ERROR_IPSEC_IKE_MM_LIMIT: ::DWORD = 13882; +pub const ERROR_IPSEC_IKE_NEGOTIATION_DISABLED: ::DWORD = 13883; +pub const ERROR_IPSEC_IKE_QM_LIMIT: ::DWORD = 13884; +pub const ERROR_IPSEC_IKE_MM_EXPIRED: ::DWORD = 13885; +pub const ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID: ::DWORD = 13886; +pub const ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH: ::DWORD = 13887; +pub const ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID: ::DWORD = 13888; +pub const ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD: ::DWORD = 13889; +pub const ERROR_IPSEC_IKE_DOS_COOKIE_SENT: ::DWORD = 13890; +pub const ERROR_IPSEC_IKE_SHUTTING_DOWN: ::DWORD = 13891; +pub const ERROR_IPSEC_IKE_CGA_AUTH_FAILED: ::DWORD = 13892; +pub const ERROR_IPSEC_IKE_PROCESS_ERR_NATOA: ::DWORD = 13893; +pub const ERROR_IPSEC_IKE_INVALID_MM_FOR_QM: ::DWORD = 13894; +pub const ERROR_IPSEC_IKE_QM_EXPIRED: ::DWORD = 13895; +pub const ERROR_IPSEC_IKE_TOO_MANY_FILTERS: ::DWORD = 13896; +pub const ERROR_IPSEC_IKE_NEG_STATUS_END: ::DWORD = 13897; +pub const ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL: ::DWORD = 13898; +pub const ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE: ::DWORD = 13899; +pub const ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING: ::DWORD = 13900; +pub const ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING: ::DWORD = 13901; +pub const ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS: ::DWORD = 13902; +pub const ERROR_IPSEC_IKE_RATELIMIT_DROP: ::DWORD = 13903; +pub const ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE: ::DWORD = 13904; +pub const ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE: ::DWORD = 13905; +pub const ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE: ::DWORD = 13906; +pub const ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY: ::DWORD = 13907; +pub const ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE: ::DWORD = 13908; +pub const ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END: ::DWORD = 13909; +pub const ERROR_IPSEC_BAD_SPI: ::DWORD = 13910; +pub const ERROR_IPSEC_SA_LIFETIME_EXPIRED: ::DWORD = 13911; +pub const ERROR_IPSEC_WRONG_SA: ::DWORD = 13912; +pub const ERROR_IPSEC_REPLAY_CHECK_FAILED: ::DWORD = 13913; +pub const ERROR_IPSEC_INVALID_PACKET: ::DWORD = 13914; +pub const ERROR_IPSEC_INTEGRITY_CHECK_FAILED: ::DWORD = 13915; +pub const ERROR_IPSEC_CLEAR_TEXT_DROP: ::DWORD = 13916; +pub const ERROR_IPSEC_AUTH_FIREWALL_DROP: ::DWORD = 13917; +pub const ERROR_IPSEC_THROTTLE_DROP: ::DWORD = 13918; +pub const ERROR_IPSEC_DOSP_BLOCK: ::DWORD = 13925; +pub const ERROR_IPSEC_DOSP_RECEIVED_MULTICAST: ::DWORD = 13926; +pub const ERROR_IPSEC_DOSP_INVALID_PACKET: ::DWORD = 13927; +pub const ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED: ::DWORD = 13928; +pub const ERROR_IPSEC_DOSP_MAX_ENTRIES: ::DWORD = 13929; +pub const ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED: ::DWORD = 13930; +pub const ERROR_IPSEC_DOSP_NOT_INSTALLED: ::DWORD = 13931; +pub const ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES: ::DWORD = 13932; +pub const ERROR_SXS_SECTION_NOT_FOUND: ::DWORD = 14000; +pub const ERROR_SXS_CANT_GEN_ACTCTX: ::DWORD = 14001; +pub const ERROR_SXS_INVALID_ACTCTXDATA_FORMAT: ::DWORD = 14002; +pub const ERROR_SXS_ASSEMBLY_NOT_FOUND: ::DWORD = 14003; +pub const ERROR_SXS_MANIFEST_FORMAT_ERROR: ::DWORD = 14004; +pub const ERROR_SXS_MANIFEST_PARSE_ERROR: ::DWORD = 14005; +pub const ERROR_SXS_ACTIVATION_CONTEXT_DISABLED: ::DWORD = 14006; +pub const ERROR_SXS_KEY_NOT_FOUND: ::DWORD = 14007; +pub const ERROR_SXS_VERSION_CONFLICT: ::DWORD = 14008; +pub const ERROR_SXS_WRONG_SECTION_TYPE: ::DWORD = 14009; +pub const ERROR_SXS_THREAD_QUERIES_DISABLED: ::DWORD = 14010; +pub const ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET: ::DWORD = 14011; +pub const ERROR_SXS_UNKNOWN_ENCODING_GROUP: ::DWORD = 14012; +pub const ERROR_SXS_UNKNOWN_ENCODING: ::DWORD = 14013; +pub const ERROR_SXS_INVALID_XML_NAMESPACE_URI: ::DWORD = 14014; +pub const ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED: ::DWORD = 14015; +pub const ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED: ::DWORD = 14016; +pub const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE: ::DWORD = 14017; +pub const ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE: ::DWORD = 14018; +pub const ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE: ::DWORD = 14019; +pub const ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT: ::DWORD = 14020; +pub const ERROR_SXS_DUPLICATE_DLL_NAME: ::DWORD = 14021; +pub const ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME: ::DWORD = 14022; +pub const ERROR_SXS_DUPLICATE_CLSID: ::DWORD = 14023; +pub const ERROR_SXS_DUPLICATE_IID: ::DWORD = 14024; +pub const ERROR_SXS_DUPLICATE_TLBID: ::DWORD = 14025; +pub const ERROR_SXS_DUPLICATE_PROGID: ::DWORD = 14026; +pub const ERROR_SXS_DUPLICATE_ASSEMBLY_NAME: ::DWORD = 14027; +pub const ERROR_SXS_FILE_HASH_MISMATCH: ::DWORD = 14028; +pub const ERROR_SXS_POLICY_PARSE_ERROR: ::DWORD = 14029; +pub const ERROR_SXS_XML_E_MISSINGQUOTE: ::DWORD = 14030; +pub const ERROR_SXS_XML_E_COMMENTSYNTAX: ::DWORD = 14031; +pub const ERROR_SXS_XML_E_BADSTARTNAMECHAR: ::DWORD = 14032; +pub const ERROR_SXS_XML_E_BADNAMECHAR: ::DWORD = 14033; +pub const ERROR_SXS_XML_E_BADCHARINSTRING: ::DWORD = 14034; +pub const ERROR_SXS_XML_E_XMLDECLSYNTAX: ::DWORD = 14035; +pub const ERROR_SXS_XML_E_BADCHARDATA: ::DWORD = 14036; +pub const ERROR_SXS_XML_E_MISSINGWHITESPACE: ::DWORD = 14037; +pub const ERROR_SXS_XML_E_EXPECTINGTAGEND: ::DWORD = 14038; +pub const ERROR_SXS_XML_E_MISSINGSEMICOLON: ::DWORD = 14039; +pub const ERROR_SXS_XML_E_UNBALANCEDPAREN: ::DWORD = 14040; +pub const ERROR_SXS_XML_E_INTERNALERROR: ::DWORD = 14041; +pub const ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE: ::DWORD = 14042; +pub const ERROR_SXS_XML_E_INCOMPLETE_ENCODING: ::DWORD = 14043; +pub const ERROR_SXS_XML_E_MISSING_PAREN: ::DWORD = 14044; +pub const ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE: ::DWORD = 14045; +pub const ERROR_SXS_XML_E_MULTIPLE_COLONS: ::DWORD = 14046; +pub const ERROR_SXS_XML_E_INVALID_DECIMAL: ::DWORD = 14047; +pub const ERROR_SXS_XML_E_INVALID_HEXIDECIMAL: ::DWORD = 14048; +pub const ERROR_SXS_XML_E_INVALID_UNICODE: ::DWORD = 14049; +pub const ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK: ::DWORD = 14050; +pub const ERROR_SXS_XML_E_UNEXPECTEDENDTAG: ::DWORD = 14051; +pub const ERROR_SXS_XML_E_UNCLOSEDTAG: ::DWORD = 14052; +pub const ERROR_SXS_XML_E_DUPLICATEATTRIBUTE: ::DWORD = 14053; +pub const ERROR_SXS_XML_E_MULTIPLEROOTS: ::DWORD = 14054; +pub const ERROR_SXS_XML_E_INVALIDATROOTLEVEL: ::DWORD = 14055; +pub const ERROR_SXS_XML_E_BADXMLDECL: ::DWORD = 14056; +pub const ERROR_SXS_XML_E_MISSINGROOT: ::DWORD = 14057; +pub const ERROR_SXS_XML_E_UNEXPECTEDEOF: ::DWORD = 14058; +pub const ERROR_SXS_XML_E_BADPEREFINSUBSET: ::DWORD = 14059; +pub const ERROR_SXS_XML_E_UNCLOSEDSTARTTAG: ::DWORD = 14060; +pub const ERROR_SXS_XML_E_UNCLOSEDENDTAG: ::DWORD = 14061; +pub const ERROR_SXS_XML_E_UNCLOSEDSTRING: ::DWORD = 14062; +pub const ERROR_SXS_XML_E_UNCLOSEDCOMMENT: ::DWORD = 14063; +pub const ERROR_SXS_XML_E_UNCLOSEDDECL: ::DWORD = 14064; +pub const ERROR_SXS_XML_E_UNCLOSEDCDATA: ::DWORD = 14065; +pub const ERROR_SXS_XML_E_RESERVEDNAMESPACE: ::DWORD = 14066; +pub const ERROR_SXS_XML_E_INVALIDENCODING: ::DWORD = 14067; +pub const ERROR_SXS_XML_E_INVALIDSWITCH: ::DWORD = 14068; +pub const ERROR_SXS_XML_E_BADXMLCASE: ::DWORD = 14069; +pub const ERROR_SXS_XML_E_INVALID_STANDALONE: ::DWORD = 14070; +pub const ERROR_SXS_XML_E_UNEXPECTED_STANDALONE: ::DWORD = 14071; +pub const ERROR_SXS_XML_E_INVALID_VERSION: ::DWORD = 14072; +pub const ERROR_SXS_XML_E_MISSINGEQUALS: ::DWORD = 14073; +pub const ERROR_SXS_PROTECTION_RECOVERY_FAILED: ::DWORD = 14074; +pub const ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT: ::DWORD = 14075; +pub const ERROR_SXS_PROTECTION_CATALOG_NOT_VALID: ::DWORD = 14076; +pub const ERROR_SXS_UNTRANSLATABLE_HRESULT: ::DWORD = 14077; +pub const ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING: ::DWORD = 14078; +pub const ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE: ::DWORD = 14079; +pub const ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME: ::DWORD = 14080; +pub const ERROR_SXS_ASSEMBLY_MISSING: ::DWORD = 14081; +pub const ERROR_SXS_CORRUPT_ACTIVATION_STACK: ::DWORD = 14082; +pub const ERROR_SXS_CORRUPTION: ::DWORD = 14083; +pub const ERROR_SXS_EARLY_DEACTIVATION: ::DWORD = 14084; +pub const ERROR_SXS_INVALID_DEACTIVATION: ::DWORD = 14085; +pub const ERROR_SXS_MULTIPLE_DEACTIVATION: ::DWORD = 14086; +pub const ERROR_SXS_PROCESS_TERMINATION_REQUESTED: ::DWORD = 14087; +pub const ERROR_SXS_RELEASE_ACTIVATION_CONTEXT: ::DWORD = 14088; +pub const ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY: ::DWORD = 14089; +pub const ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE: ::DWORD = 14090; +pub const ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME: ::DWORD = 14091; +pub const ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE: ::DWORD = 14092; +pub const ERROR_SXS_IDENTITY_PARSE_ERROR: ::DWORD = 14093; +pub const ERROR_MALFORMED_SUBSTITUTION_STRING: ::DWORD = 14094; +pub const ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN: ::DWORD = 14095; +pub const ERROR_UNMAPPED_SUBSTITUTION_STRING: ::DWORD = 14096; +pub const ERROR_SXS_ASSEMBLY_NOT_LOCKED: ::DWORD = 14097; +pub const ERROR_SXS_COMPONENT_STORE_CORRUPT: ::DWORD = 14098; +pub const ERROR_ADVANCED_INSTALLER_FAILED: ::DWORD = 14099; +pub const ERROR_XML_ENCODING_MISMATCH: ::DWORD = 14100; +pub const ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT: ::DWORD = 14101; +pub const ERROR_SXS_IDENTITIES_DIFFERENT: ::DWORD = 14102; +pub const ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT: ::DWORD = 14103; +pub const ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY: ::DWORD = 14104; +pub const ERROR_SXS_MANIFEST_TOO_BIG: ::DWORD = 14105; +pub const ERROR_SXS_SETTING_NOT_REGISTERED: ::DWORD = 14106; +pub const ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE: ::DWORD = 14107; +pub const ERROR_SMI_PRIMITIVE_INSTALLER_FAILED: ::DWORD = 14108; +pub const ERROR_GENERIC_COMMAND_FAILED: ::DWORD = 14109; +pub const ERROR_SXS_FILE_HASH_MISSING: ::DWORD = 14110; +pub const ERROR_EVT_INVALID_CHANNEL_PATH: ::DWORD = 15000; +pub const ERROR_EVT_INVALID_QUERY: ::DWORD = 15001; +pub const ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND: ::DWORD = 15002; +pub const ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND: ::DWORD = 15003; +pub const ERROR_EVT_INVALID_PUBLISHER_NAME: ::DWORD = 15004; +pub const ERROR_EVT_INVALID_EVENT_DATA: ::DWORD = 15005; +pub const ERROR_EVT_CHANNEL_NOT_FOUND: ::DWORD = 15007; +pub const ERROR_EVT_MALFORMED_XML_TEXT: ::DWORD = 15008; +pub const ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL: ::DWORD = 15009; +pub const ERROR_EVT_CONFIGURATION_ERROR: ::DWORD = 15010; +pub const ERROR_EVT_QUERY_RESULT_STALE: ::DWORD = 15011; +pub const ERROR_EVT_QUERY_RESULT_INVALID_POSITION: ::DWORD = 15012; +pub const ERROR_EVT_NON_VALIDATING_MSXML: ::DWORD = 15013; +pub const ERROR_EVT_FILTER_ALREADYSCOPED: ::DWORD = 15014; +pub const ERROR_EVT_FILTER_NOTELTSET: ::DWORD = 15015; +pub const ERROR_EVT_FILTER_INVARG: ::DWORD = 15016; +pub const ERROR_EVT_FILTER_INVTEST: ::DWORD = 15017; +pub const ERROR_EVT_FILTER_INVTYPE: ::DWORD = 15018; +pub const ERROR_EVT_FILTER_PARSEERR: ::DWORD = 15019; +pub const ERROR_EVT_FILTER_UNSUPPORTEDOP: ::DWORD = 15020; +pub const ERROR_EVT_FILTER_UNEXPECTEDTOKEN: ::DWORD = 15021; +pub const ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL: ::DWORD = 15022; +pub const ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE: ::DWORD = 15023; +pub const ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE: ::DWORD = 15024; +pub const ERROR_EVT_CHANNEL_CANNOT_ACTIVATE: ::DWORD = 15025; +pub const ERROR_EVT_FILTER_TOO_COMPLEX: ::DWORD = 15026; +pub const ERROR_EVT_MESSAGE_NOT_FOUND: ::DWORD = 15027; +pub const ERROR_EVT_MESSAGE_ID_NOT_FOUND: ::DWORD = 15028; +pub const ERROR_EVT_UNRESOLVED_VALUE_INSERT: ::DWORD = 15029; +pub const ERROR_EVT_UNRESOLVED_PARAMETER_INSERT: ::DWORD = 15030; +pub const ERROR_EVT_MAX_INSERTS_REACHED: ::DWORD = 15031; +pub const ERROR_EVT_EVENT_DEFINITION_NOT_FOUND: ::DWORD = 15032; +pub const ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND: ::DWORD = 15033; +pub const ERROR_EVT_VERSION_TOO_OLD: ::DWORD = 15034; +pub const ERROR_EVT_VERSION_TOO_NEW: ::DWORD = 15035; +pub const ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY: ::DWORD = 15036; +pub const ERROR_EVT_PUBLISHER_DISABLED: ::DWORD = 15037; +pub const ERROR_EVT_FILTER_OUT_OF_RANGE: ::DWORD = 15038; +pub const ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE: ::DWORD = 15080; +pub const ERROR_EC_LOG_DISABLED: ::DWORD = 15081; +pub const ERROR_EC_CIRCULAR_FORWARDING: ::DWORD = 15082; +pub const ERROR_EC_CREDSTORE_FULL: ::DWORD = 15083; +pub const ERROR_EC_CRED_NOT_FOUND: ::DWORD = 15084; +pub const ERROR_EC_NO_ACTIVE_CHANNEL: ::DWORD = 15085; +pub const ERROR_MUI_FILE_NOT_FOUND: ::DWORD = 15100; +pub const ERROR_MUI_INVALID_FILE: ::DWORD = 15101; +pub const ERROR_MUI_INVALID_RC_CONFIG: ::DWORD = 15102; +pub const ERROR_MUI_INVALID_LOCALE_NAME: ::DWORD = 15103; +pub const ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME: ::DWORD = 15104; +pub const ERROR_MUI_FILE_NOT_LOADED: ::DWORD = 15105; +pub const ERROR_RESOURCE_ENUM_USER_STOP: ::DWORD = 15106; +pub const ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED: ::DWORD = 15107; +pub const ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME: ::DWORD = 15108; +pub const ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE: ::DWORD = 15110; +pub const ERROR_MRM_INVALID_PRICONFIG: ::DWORD = 15111; +pub const ERROR_MRM_INVALID_FILE_TYPE: ::DWORD = 15112; +pub const ERROR_MRM_UNKNOWN_QUALIFIER: ::DWORD = 15113; +pub const ERROR_MRM_INVALID_QUALIFIER_VALUE: ::DWORD = 15114; +pub const ERROR_MRM_NO_CANDIDATE: ::DWORD = 15115; +pub const ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE: ::DWORD = 15116; +pub const ERROR_MRM_RESOURCE_TYPE_MISMATCH: ::DWORD = 15117; +pub const ERROR_MRM_DUPLICATE_MAP_NAME: ::DWORD = 15118; +pub const ERROR_MRM_DUPLICATE_ENTRY: ::DWORD = 15119; +pub const ERROR_MRM_INVALID_RESOURCE_IDENTIFIER: ::DWORD = 15120; +pub const ERROR_MRM_FILEPATH_TOO_LONG: ::DWORD = 15121; +pub const ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE: ::DWORD = 15122; +pub const ERROR_MRM_INVALID_PRI_FILE: ::DWORD = 15126; +pub const ERROR_MRM_NAMED_RESOURCE_NOT_FOUND: ::DWORD = 15127; +pub const ERROR_MRM_MAP_NOT_FOUND: ::DWORD = 15135; +pub const ERROR_MRM_UNSUPPORTED_PROFILE_TYPE: ::DWORD = 15136; +pub const ERROR_MRM_INVALID_QUALIFIER_OPERATOR: ::DWORD = 15137; +pub const ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE: ::DWORD = 15138; +pub const ERROR_MRM_AUTOMERGE_ENABLED: ::DWORD = 15139; +pub const ERROR_MRM_TOO_MANY_RESOURCES: ::DWORD = 15140; +pub const ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE: ::DWORD = 15141; +pub const ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE: ::DWORD = 15142; +pub const ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD: ::DWORD = 15143; +pub const ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST: ::DWORD = 15144; +pub const ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT: ::DWORD = 15145; +pub const ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE: ::DWORD = 15146; +pub const ERROR_MRM_GENERATION_COUNT_MISMATCH: ::DWORD = 15147; +pub const ERROR_MCA_INVALID_CAPABILITIES_STRING: ::DWORD = 15200; +pub const ERROR_MCA_INVALID_VCP_VERSION: ::DWORD = 15201; +pub const ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION: ::DWORD = 15202; +pub const ERROR_MCA_MCCS_VERSION_MISMATCH: ::DWORD = 15203; +pub const ERROR_MCA_UNSUPPORTED_MCCS_VERSION: ::DWORD = 15204; +pub const ERROR_MCA_INTERNAL_ERROR: ::DWORD = 15205; +pub const ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED: ::DWORD = 15206; +pub const ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE: ::DWORD = 15207; +pub const ERROR_AMBIGUOUS_SYSTEM_DEVICE: ::DWORD = 15250; +pub const ERROR_SYSTEM_DEVICE_NOT_FOUND: ::DWORD = 15299; +pub const ERROR_HASH_NOT_SUPPORTED: ::DWORD = 15300; +pub const ERROR_HASH_NOT_PRESENT: ::DWORD = 15301; +pub const ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED: ::DWORD = 15321; +pub const ERROR_GPIO_CLIENT_INFORMATION_INVALID: ::DWORD = 15322; +pub const ERROR_GPIO_VERSION_NOT_SUPPORTED: ::DWORD = 15323; +pub const ERROR_GPIO_INVALID_REGISTRATION_PACKET: ::DWORD = 15324; +pub const ERROR_GPIO_OPERATION_DENIED: ::DWORD = 15325; +pub const ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE: ::DWORD = 15326; +pub const ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED: ::DWORD = 15327; +pub const ERROR_CANNOT_SWITCH_RUNLEVEL: ::DWORD = 15400; +pub const ERROR_INVALID_RUNLEVEL_SETTING: ::DWORD = 15401; +pub const ERROR_RUNLEVEL_SWITCH_TIMEOUT: ::DWORD = 15402; +pub const ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT: ::DWORD = 15403; +pub const ERROR_RUNLEVEL_SWITCH_IN_PROGRESS: ::DWORD = 15404; +pub const ERROR_SERVICES_FAILED_AUTOSTART: ::DWORD = 15405; +pub const ERROR_COM_TASK_STOP_PENDING: ::DWORD = 15501; +pub const ERROR_INSTALL_OPEN_PACKAGE_FAILED: ::DWORD = 15600; +pub const ERROR_INSTALL_PACKAGE_NOT_FOUND: ::DWORD = 15601; +pub const ERROR_INSTALL_INVALID_PACKAGE: ::DWORD = 15602; +pub const ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED: ::DWORD = 15603; +pub const ERROR_INSTALL_OUT_OF_DISK_SPACE: ::DWORD = 15604; +pub const ERROR_INSTALL_NETWORK_FAILURE: ::DWORD = 15605; +pub const ERROR_INSTALL_REGISTRATION_FAILURE: ::DWORD = 15606; +pub const ERROR_INSTALL_DEREGISTRATION_FAILURE: ::DWORD = 15607; +pub const ERROR_INSTALL_CANCEL: ::DWORD = 15608; +pub const ERROR_INSTALL_FAILED: ::DWORD = 15609; +pub const ERROR_REMOVE_FAILED: ::DWORD = 15610; +pub const ERROR_PACKAGE_ALREADY_EXISTS: ::DWORD = 15611; +pub const ERROR_NEEDS_REMEDIATION: ::DWORD = 15612; +pub const ERROR_INSTALL_PREREQUISITE_FAILED: ::DWORD = 15613; +pub const ERROR_PACKAGE_REPOSITORY_CORRUPTED: ::DWORD = 15614; +pub const ERROR_INSTALL_POLICY_FAILURE: ::DWORD = 15615; +pub const ERROR_PACKAGE_UPDATING: ::DWORD = 15616; +pub const ERROR_DEPLOYMENT_BLOCKED_BY_POLICY: ::DWORD = 15617; +pub const ERROR_PACKAGES_IN_USE: ::DWORD = 15618; +pub const ERROR_RECOVERY_FILE_CORRUPT: ::DWORD = 15619; +pub const ERROR_INVALID_STAGED_SIGNATURE: ::DWORD = 15620; +pub const ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED: ::DWORD = 15621; +pub const ERROR_INSTALL_PACKAGE_DOWNGRADE: ::DWORD = 15622; +pub const ERROR_SYSTEM_NEEDS_REMEDIATION: ::DWORD = 15623; +pub const ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN: ::DWORD = 15624; +pub const ERROR_RESILIENCY_FILE_CORRUPT: ::DWORD = 15625; +pub const ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING: ::DWORD = 15626; +pub const APPMODEL_ERROR_NO_PACKAGE: ::DWORD = 15700; +pub const APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT: ::DWORD = 15701; +pub const APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT: ::DWORD = 15702; +pub const APPMODEL_ERROR_NO_APPLICATION: ::DWORD = 15703; +pub const APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED: ::DWORD = 15704; +pub const APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID: ::DWORD = 15705; +pub const ERROR_STATE_LOAD_STORE_FAILED: ::DWORD = 15800; +pub const ERROR_STATE_GET_VERSION_FAILED: ::DWORD = 15801; +pub const ERROR_STATE_SET_VERSION_FAILED: ::DWORD = 15802; +pub const ERROR_STATE_STRUCTURED_RESET_FAILED: ::DWORD = 15803; +pub const ERROR_STATE_OPEN_CONTAINER_FAILED: ::DWORD = 15804; +pub const ERROR_STATE_CREATE_CONTAINER_FAILED: ::DWORD = 15805; +pub const ERROR_STATE_DELETE_CONTAINER_FAILED: ::DWORD = 15806; +pub const ERROR_STATE_READ_SETTING_FAILED: ::DWORD = 15807; +pub const ERROR_STATE_WRITE_SETTING_FAILED: ::DWORD = 15808; +pub const ERROR_STATE_DELETE_SETTING_FAILED: ::DWORD = 15809; +pub const ERROR_STATE_QUERY_SETTING_FAILED: ::DWORD = 15810; +pub const ERROR_STATE_READ_COMPOSITE_SETTING_FAILED: ::DWORD = 15811; +pub const ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED: ::DWORD = 15812; +pub const ERROR_STATE_ENUMERATE_CONTAINER_FAILED: ::DWORD = 15813; +pub const ERROR_STATE_ENUMERATE_SETTINGS_FAILED: ::DWORD = 15814; +pub const ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED: ::DWORD = 15815; +pub const ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED: ::DWORD = 15816; +pub const ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED: ::DWORD = 15817; +pub const ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED: ::DWORD = 15818; +pub const ERROR_API_UNAVAILABLE: ::DWORD = 15841; +pub const STORE_ERROR_UNLICENSED: ::DWORD = 15861; +pub const STORE_ERROR_UNLICENSED_USER: ::DWORD = 15862; +pub const STORE_ERROR_PENDING_COM_TRANSACTION: ::DWORD = 15863; +pub const STORE_ERROR_LICENSE_REVOKED: ::DWORD = 15864; +pub const SEVERITY_SUCCESS: HRESULT = 0; +pub const SEVERITY_ERROR: HRESULT = 1; +#[inline] +pub fn MAKE_HRESULT(sev: HRESULT, fac: HRESULT, code: HRESULT) -> HRESULT { + (sev << 31) | (fac << 16) | code +} +pub type HRESULT = ::c_long; +pub const NOERROR: HRESULT = 0; +pub const E_UNEXPECTED: HRESULT = 0x8000FFFFu32 as HRESULT; +pub const E_NOTIMPL: HRESULT = 0x80004001u32 as HRESULT; +pub const E_OUTOFMEMORY: HRESULT = 0x8007000Eu32 as HRESULT; +pub const E_INVALIDARG: HRESULT = 0x80070057u32 as HRESULT; +pub const E_NOINTERFACE: HRESULT = 0x80004002u32 as HRESULT; +pub const E_POINTER: HRESULT = 0x80004003u32 as HRESULT; +pub const E_HANDLE: HRESULT = 0x80070006u32 as HRESULT; +pub const E_ABORT: HRESULT = 0x80004004u32 as HRESULT; +pub const E_FAIL: HRESULT = 0x80004005u32 as HRESULT; +pub const E_ACCESSDENIED: HRESULT = 0x80070005u32 as HRESULT; +pub const E_PENDING: HRESULT = 0x8000000Au32 as HRESULT; +pub const E_BOUNDS: HRESULT = 0x8000000Bu32 as HRESULT; +pub const E_CHANGED_STATE: HRESULT = 0x8000000Cu32 as HRESULT; +pub const E_ILLEGAL_STATE_CHANGE: HRESULT = 0x8000000Du32 as HRESULT; +pub const E_ILLEGAL_METHOD_CALL: HRESULT = 0x8000000Eu32 as HRESULT; +pub const RO_E_METADATA_NAME_NOT_FOUND: HRESULT = 0x8000000Fu32 as HRESULT; +pub const RO_E_METADATA_NAME_IS_NAMESPACE: HRESULT = 0x80000010u32 as HRESULT; +pub const RO_E_METADATA_INVALID_TYPE_FORMAT: HRESULT = 0x80000011u32 as HRESULT; +pub const RO_E_INVALID_METADATA_FILE: HRESULT = 0x80000012u32 as HRESULT; +pub const RO_E_CLOSED: HRESULT = 0x80000013u32 as HRESULT; +pub const RO_E_EXCLUSIVE_WRITE: HRESULT = 0x80000014u32 as HRESULT; +pub const RO_E_CHANGE_NOTIFICATION_IN_PROGRESS: HRESULT = 0x80000015u32 as HRESULT; +pub const RO_E_ERROR_STRING_NOT_FOUND: HRESULT = 0x80000016u32 as HRESULT; +pub const E_STRING_NOT_NULL_TERMINATED: HRESULT = 0x80000017u32 as HRESULT; +pub const E_ILLEGAL_DELEGATE_ASSIGNMENT: HRESULT = 0x80000018u32 as HRESULT; +pub const E_ASYNC_OPERATION_NOT_STARTED: HRESULT = 0x80000019u32 as HRESULT; +pub const E_APPLICATION_EXITING: HRESULT = 0x8000001Au32 as HRESULT; +pub const E_APPLICATION_VIEW_EXITING: HRESULT = 0x8000001Bu32 as HRESULT; +pub const RO_E_MUST_BE_AGILE: HRESULT = 0x8000001Cu32 as HRESULT; +pub const RO_E_UNSUPPORTED_FROM_MTA: HRESULT = 0x8000001Du32 as HRESULT; +pub const RO_E_COMMITTED: HRESULT = 0x8000001Eu32 as HRESULT; +pub const RO_E_BLOCKED_CROSS_ASTA_CALL: HRESULT = 0x8000001Fu32 as HRESULT; +pub const CO_E_INIT_TLS: HRESULT = 0x80004006u32 as HRESULT; +pub const CO_E_INIT_SHARED_ALLOCATOR: HRESULT = 0x80004007u32 as HRESULT; +pub const CO_E_INIT_MEMORY_ALLOCATOR: HRESULT = 0x80004008u32 as HRESULT; +pub const CO_E_INIT_CLASS_CACHE: HRESULT = 0x80004009u32 as HRESULT; +pub const CO_E_INIT_RPC_CHANNEL: HRESULT = 0x8000400Au32 as HRESULT; +pub const CO_E_INIT_TLS_SET_CHANNEL_CONTROL: HRESULT = 0x8000400Bu32 as HRESULT; +pub const CO_E_INIT_TLS_CHANNEL_CONTROL: HRESULT = 0x8000400Cu32 as HRESULT; +pub const CO_E_INIT_UNACCEPTED_USER_ALLOCATOR: HRESULT = 0x8000400Du32 as HRESULT; +pub const CO_E_INIT_SCM_MUTEX_EXISTS: HRESULT = 0x8000400Eu32 as HRESULT; +pub const CO_E_INIT_SCM_FILE_MAPPING_EXISTS: HRESULT = 0x8000400Fu32 as HRESULT; +pub const CO_E_INIT_SCM_MAP_VIEW_OF_FILE: HRESULT = 0x80004010u32 as HRESULT; +pub const CO_E_INIT_SCM_EXEC_FAILURE: HRESULT = 0x80004011u32 as HRESULT; +pub const CO_E_INIT_ONLY_SINGLE_THREADED: HRESULT = 0x80004012u32 as HRESULT; +pub const CO_E_CANT_REMOTE: HRESULT = 0x80004013u32 as HRESULT; +pub const CO_E_BAD_SERVER_NAME: HRESULT = 0x80004014u32 as HRESULT; +pub const CO_E_WRONG_SERVER_IDENTITY: HRESULT = 0x80004015u32 as HRESULT; +pub const CO_E_OLE1DDE_DISABLED: HRESULT = 0x80004016u32 as HRESULT; +pub const CO_E_RUNAS_SYNTAX: HRESULT = 0x80004017u32 as HRESULT; +pub const CO_E_CREATEPROCESS_FAILURE: HRESULT = 0x80004018u32 as HRESULT; +pub const CO_E_RUNAS_CREATEPROCESS_FAILURE: HRESULT = 0x80004019u32 as HRESULT; +pub const CO_E_RUNAS_LOGON_FAILURE: HRESULT = 0x8000401Au32 as HRESULT; +pub const CO_E_LAUNCH_PERMSSION_DENIED: HRESULT = 0x8000401Bu32 as HRESULT; +pub const CO_E_START_SERVICE_FAILURE: HRESULT = 0x8000401Cu32 as HRESULT; +pub const CO_E_REMOTE_COMMUNICATION_FAILURE: HRESULT = 0x8000401Du32 as HRESULT; +pub const CO_E_SERVER_START_TIMEOUT: HRESULT = 0x8000401Eu32 as HRESULT; +pub const CO_E_CLSREG_INCONSISTENT: HRESULT = 0x8000401Fu32 as HRESULT; +pub const CO_E_IIDREG_INCONSISTENT: HRESULT = 0x80004020u32 as HRESULT; +pub const CO_E_NOT_SUPPORTED: HRESULT = 0x80004021u32 as HRESULT; +pub const CO_E_RELOAD_DLL: HRESULT = 0x80004022u32 as HRESULT; +pub const CO_E_MSI_ERROR: HRESULT = 0x80004023u32 as HRESULT; +pub const CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT: HRESULT = 0x80004024u32 as HRESULT; +pub const CO_E_SERVER_PAUSED: HRESULT = 0x80004025u32 as HRESULT; +pub const CO_E_SERVER_NOT_PAUSED: HRESULT = 0x80004026u32 as HRESULT; +pub const CO_E_CLASS_DISABLED: HRESULT = 0x80004027u32 as HRESULT; +pub const CO_E_CLRNOTAVAILABLE: HRESULT = 0x80004028u32 as HRESULT; +pub const CO_E_ASYNC_WORK_REJECTED: HRESULT = 0x80004029u32 as HRESULT; +pub const CO_E_SERVER_INIT_TIMEOUT: HRESULT = 0x8000402Au32 as HRESULT; +pub const CO_E_NO_SECCTX_IN_ACTIVATE: HRESULT = 0x8000402Bu32 as HRESULT; +pub const CO_E_TRACKER_CONFIG: HRESULT = 0x80004030u32 as HRESULT; +pub const CO_E_THREADPOOL_CONFIG: HRESULT = 0x80004031u32 as HRESULT; +pub const CO_E_SXS_CONFIG: HRESULT = 0x80004032u32 as HRESULT; +pub const CO_E_MALFORMED_SPN: HRESULT = 0x80004033u32 as HRESULT; +pub const CO_E_UNREVOKED_REGISTRATION_ON_APARTMENT_SHUTDOWN: HRESULT = 0x80004034u32 as HRESULT; +pub const CO_E_PREMATURE_STUB_RUNDOWN: HRESULT = 0x80004035u32 as HRESULT; +pub const S_OK: HRESULT = 0; +pub const S_FALSE: HRESULT = 1; +pub const OLE_E_FIRST: HRESULT = 0x80040000u32 as HRESULT; +pub const OLE_E_LAST: HRESULT = 0x800400FFu32 as HRESULT; +pub const OLE_S_FIRST: HRESULT = 0x00040000; +pub const OLE_S_LAST: HRESULT = 0x000400FF; +pub const OLE_E_OLEVERB: HRESULT = 0x80040000u32 as HRESULT; +pub const OLE_E_ADVF: HRESULT = 0x80040001u32 as HRESULT; +pub const OLE_E_ENUM_NOMORE: HRESULT = 0x80040002u32 as HRESULT; +pub const OLE_E_ADVISENOTSUPPORTED: HRESULT = 0x80040003u32 as HRESULT; +pub const OLE_E_NOCONNECTION: HRESULT = 0x80040004u32 as HRESULT; +pub const OLE_E_NOTRUNNING: HRESULT = 0x80040005u32 as HRESULT; +pub const OLE_E_NOCACHE: HRESULT = 0x80040006u32 as HRESULT; +pub const OLE_E_BLANK: HRESULT = 0x80040007u32 as HRESULT; +pub const OLE_E_CLASSDIFF: HRESULT = 0x80040008u32 as HRESULT; +pub const OLE_E_CANT_GETMONIKER: HRESULT = 0x80040009u32 as HRESULT; +pub const OLE_E_CANT_BINDTOSOURCE: HRESULT = 0x8004000Au32 as HRESULT; +pub const OLE_E_STATIC: HRESULT = 0x8004000Bu32 as HRESULT; +pub const OLE_E_PROMPTSAVECANCELLED: HRESULT = 0x8004000Cu32 as HRESULT; +pub const OLE_E_INVALIDRECT: HRESULT = 0x8004000Du32 as HRESULT; +pub const OLE_E_WRONGCOMPOBJ: HRESULT = 0x8004000Eu32 as HRESULT; +pub const OLE_E_INVALIDHWND: HRESULT = 0x8004000Fu32 as HRESULT; +pub const OLE_E_NOT_INPLACEACTIVE: HRESULT = 0x80040010u32 as HRESULT; +pub const OLE_E_CANTCONVERT: HRESULT = 0x80040011u32 as HRESULT; +pub const OLE_E_NOSTORAGE: HRESULT = 0x80040012u32 as HRESULT; +pub const DV_E_FORMATETC: HRESULT = 0x80040064u32 as HRESULT; +pub const DV_E_DVTARGETDEVICE: HRESULT = 0x80040065u32 as HRESULT; +pub const DV_E_STGMEDIUM: HRESULT = 0x80040066u32 as HRESULT; +pub const DV_E_STATDATA: HRESULT = 0x80040067u32 as HRESULT; +pub const DV_E_LINDEX: HRESULT = 0x80040068u32 as HRESULT; +pub const DV_E_TYMED: HRESULT = 0x80040069u32 as HRESULT; +pub const DV_E_CLIPFORMAT: HRESULT = 0x8004006Au32 as HRESULT; +pub const DV_E_DVASPECT: HRESULT = 0x8004006Bu32 as HRESULT; +pub const DV_E_DVTARGETDEVICE_SIZE: HRESULT = 0x8004006Cu32 as HRESULT; +pub const DV_E_NOIVIEWOBJECT: HRESULT = 0x8004006Du32 as HRESULT; +pub const DRAGDROP_E_FIRST: HRESULT = 0x80040100u32 as HRESULT; +pub const DRAGDROP_E_LAST: HRESULT = 0x8004010Fu32 as HRESULT; +pub const DRAGDROP_S_FIRST: HRESULT = 0x00040100; +pub const DRAGDROP_S_LAST: HRESULT = 0x0004010F; +pub const DRAGDROP_E_NOTREGISTERED: HRESULT = 0x80040100u32 as HRESULT; +pub const DRAGDROP_E_ALREADYREGISTERED: HRESULT = 0x80040101u32 as HRESULT; +pub const DRAGDROP_E_INVALIDHWND: HRESULT = 0x80040102u32 as HRESULT; +pub const DRAGDROP_E_CONCURRENT_DRAG_ATTEMPTED: HRESULT = 0x80040103u32 as HRESULT; +pub const CLASSFACTORY_E_FIRST: HRESULT = 0x80040110u32 as HRESULT; +pub const CLASSFACTORY_E_LAST: HRESULT = 0x8004011Fu32 as HRESULT; +pub const CLASSFACTORY_S_FIRST: HRESULT = 0x00040110; +pub const CLASSFACTORY_S_LAST: HRESULT = 0x0004011F; +pub const CLASS_E_NOAGGREGATION: HRESULT = 0x80040110u32 as HRESULT; +pub const CLASS_E_CLASSNOTAVAILABLE: HRESULT = 0x80040111u32 as HRESULT; +pub const CLASS_E_NOTLICENSED: HRESULT = 0x80040112u32 as HRESULT; +pub const MARSHAL_E_FIRST: HRESULT = 0x80040120u32 as HRESULT; +pub const MARSHAL_E_LAST: HRESULT = 0x8004012Fu32 as HRESULT; +pub const MARSHAL_S_FIRST: HRESULT = 0x00040120; +pub const MARSHAL_S_LAST: HRESULT = 0x0004012F; +pub const DATA_E_FIRST: HRESULT = 0x80040130u32 as HRESULT; +pub const DATA_E_LAST: HRESULT = 0x8004013Fu32 as HRESULT; +pub const DATA_S_FIRST: HRESULT = 0x00040130; +pub const DATA_S_LAST: HRESULT = 0x0004013F; +pub const VIEW_E_FIRST: HRESULT = 0x80040140u32 as HRESULT; +pub const VIEW_E_LAST: HRESULT = 0x8004014Fu32 as HRESULT; +pub const VIEW_S_FIRST: HRESULT = 0x00040140; +pub const VIEW_S_LAST: HRESULT = 0x0004014F; +pub const VIEW_E_DRAW: HRESULT = 0x80040140u32 as HRESULT; +pub const REGDB_E_FIRST: HRESULT = 0x80040150u32 as HRESULT; +pub const REGDB_E_LAST: HRESULT = 0x8004015Fu32 as HRESULT; +pub const REGDB_S_FIRST: HRESULT = 0x00040150; +pub const REGDB_S_LAST: HRESULT = 0x0004015F; +pub const REGDB_E_READREGDB: HRESULT = 0x80040150u32 as HRESULT; +pub const REGDB_E_WRITEREGDB: HRESULT = 0x80040151u32 as HRESULT; +pub const REGDB_E_KEYMISSING: HRESULT = 0x80040152u32 as HRESULT; +pub const REGDB_E_INVALIDVALUE: HRESULT = 0x80040153u32 as HRESULT; +pub const REGDB_E_CLASSNOTREG: HRESULT = 0x80040154u32 as HRESULT; +pub const REGDB_E_IIDNOTREG: HRESULT = 0x80040155u32 as HRESULT; +pub const REGDB_E_BADTHREADINGMODEL: HRESULT = 0x80040156u32 as HRESULT; +pub const CAT_E_FIRST: HRESULT = 0x80040160u32 as HRESULT; +pub const CAT_E_LAST: HRESULT = 0x80040161u32 as HRESULT; +pub const CAT_E_CATIDNOEXIST: HRESULT = 0x80040160u32 as HRESULT; +pub const CAT_E_NODESCRIPTION: HRESULT = 0x80040161u32 as HRESULT; +pub const CS_E_FIRST: HRESULT = 0x80040164u32 as HRESULT; +pub const CS_E_LAST: HRESULT = 0x8004016Fu32 as HRESULT; +pub const CS_E_PACKAGE_NOTFOUND: HRESULT = 0x80040164u32 as HRESULT; +pub const CS_E_NOT_DELETABLE: HRESULT = 0x80040165u32 as HRESULT; +pub const CS_E_CLASS_NOTFOUND: HRESULT = 0x80040166u32 as HRESULT; +pub const CS_E_INVALID_VERSION: HRESULT = 0x80040167u32 as HRESULT; +pub const CS_E_NO_CLASSSTORE: HRESULT = 0x80040168u32 as HRESULT; +pub const CS_E_OBJECT_NOTFOUND: HRESULT = 0x80040169u32 as HRESULT; +pub const CS_E_OBJECT_ALREADY_EXISTS: HRESULT = 0x8004016Au32 as HRESULT; +pub const CS_E_INVALID_PATH: HRESULT = 0x8004016Bu32 as HRESULT; +pub const CS_E_NETWORK_ERROR: HRESULT = 0x8004016Cu32 as HRESULT; +pub const CS_E_ADMIN_LIMIT_EXCEEDED: HRESULT = 0x8004016Du32 as HRESULT; +pub const CS_E_SCHEMA_MISMATCH: HRESULT = 0x8004016Eu32 as HRESULT; +pub const CS_E_INTERNAL_ERROR: HRESULT = 0x8004016Fu32 as HRESULT; +pub const CACHE_E_FIRST: HRESULT = 0x80040170u32 as HRESULT; +pub const CACHE_E_LAST: HRESULT = 0x8004017Fu32 as HRESULT; +pub const CACHE_S_FIRST: HRESULT = 0x00040170; +pub const CACHE_S_LAST: HRESULT = 0x0004017F; +pub const CACHE_E_NOCACHE_UPDATED: HRESULT = 0x80040170u32 as HRESULT; +pub const OLEOBJ_E_FIRST: HRESULT = 0x80040180u32 as HRESULT; +pub const OLEOBJ_E_LAST: HRESULT = 0x8004018Fu32 as HRESULT; +pub const OLEOBJ_S_FIRST: HRESULT = 0x00040180; +pub const OLEOBJ_S_LAST: HRESULT = 0x0004018F; +pub const OLEOBJ_E_NOVERBS: HRESULT = 0x80040180u32 as HRESULT; +pub const OLEOBJ_E_INVALIDVERB: HRESULT = 0x80040181u32 as HRESULT; +pub const CLIENTSITE_E_FIRST: HRESULT = 0x80040190u32 as HRESULT; +pub const CLIENTSITE_E_LAST: HRESULT = 0x8004019Fu32 as HRESULT; +pub const CLIENTSITE_S_FIRST: HRESULT = 0x00040190; +pub const CLIENTSITE_S_LAST: HRESULT = 0x0004019F; +pub const INPLACE_E_NOTUNDOABLE: HRESULT = 0x800401A0u32 as HRESULT; +pub const INPLACE_E_NOTOOLSPACE: HRESULT = 0x800401A1u32 as HRESULT; +pub const INPLACE_E_FIRST: HRESULT = 0x800401A0u32 as HRESULT; +pub const INPLACE_E_LAST: HRESULT = 0x800401AFu32 as HRESULT; +pub const INPLACE_S_FIRST: HRESULT = 0x000401A0; +pub const INPLACE_S_LAST: HRESULT = 0x000401AF; +pub const ENUM_E_FIRST: HRESULT = 0x800401B0u32 as HRESULT; +pub const ENUM_E_LAST: HRESULT = 0x800401BFu32 as HRESULT; +pub const ENUM_S_FIRST: HRESULT = 0x000401B0; +pub const ENUM_S_LAST: HRESULT = 0x000401BF; +pub const CONVERT10_E_FIRST: HRESULT = 0x800401C0u32 as HRESULT; +pub const CONVERT10_E_LAST: HRESULT = 0x800401CFu32 as HRESULT; +pub const CONVERT10_S_FIRST: HRESULT = 0x000401C0; +pub const CONVERT10_S_LAST: HRESULT = 0x000401CF; +pub const CONVERT10_E_OLESTREAM_GET: HRESULT = 0x800401C0u32 as HRESULT; +pub const CONVERT10_E_OLESTREAM_PUT: HRESULT = 0x800401C1u32 as HRESULT; +pub const CONVERT10_E_OLESTREAM_FMT: HRESULT = 0x800401C2u32 as HRESULT; +pub const CONVERT10_E_OLESTREAM_BITMAP_TO_DIB: HRESULT = 0x800401C3u32 as HRESULT; +pub const CONVERT10_E_STG_FMT: HRESULT = 0x800401C4u32 as HRESULT; +pub const CONVERT10_E_STG_NO_STD_STREAM: HRESULT = 0x800401C5u32 as HRESULT; +pub const CONVERT10_E_STG_DIB_TO_BITMAP: HRESULT = 0x800401C6u32 as HRESULT; +pub const CLIPBRD_E_FIRST: HRESULT = 0x800401D0u32 as HRESULT; +pub const CLIPBRD_E_LAST: HRESULT = 0x800401DFu32 as HRESULT; +pub const CLIPBRD_S_FIRST: HRESULT = 0x000401D0; +pub const CLIPBRD_S_LAST: HRESULT = 0x000401DF; +pub const CLIPBRD_E_CANT_OPEN: HRESULT = 0x800401D0u32 as HRESULT; +pub const CLIPBRD_E_CANT_EMPTY: HRESULT = 0x800401D1u32 as HRESULT; +pub const CLIPBRD_E_CANT_SET: HRESULT = 0x800401D2u32 as HRESULT; +pub const CLIPBRD_E_BAD_DATA: HRESULT = 0x800401D3u32 as HRESULT; +pub const CLIPBRD_E_CANT_CLOSE: HRESULT = 0x800401D4u32 as HRESULT; +pub const MK_E_FIRST: HRESULT = 0x800401E0u32 as HRESULT; +pub const MK_E_LAST: HRESULT = 0x800401EFu32 as HRESULT; +pub const MK_S_FIRST: HRESULT = 0x000401E0; +pub const MK_S_LAST: HRESULT = 0x000401EF; +pub const MK_E_CONNECTMANUALLY: HRESULT = 0x800401E0u32 as HRESULT; +pub const MK_E_EXCEEDEDDEADLINE: HRESULT = 0x800401E1u32 as HRESULT; +pub const MK_E_NEEDGENERIC: HRESULT = 0x800401E2u32 as HRESULT; +pub const MK_E_UNAVAILABLE: HRESULT = 0x800401E3u32 as HRESULT; +pub const MK_E_SYNTAX: HRESULT = 0x800401E4u32 as HRESULT; +pub const MK_E_NOOBJECT: HRESULT = 0x800401E5u32 as HRESULT; +pub const MK_E_INVALIDEXTENSION: HRESULT = 0x800401E6u32 as HRESULT; +pub const MK_E_INTERMEDIATEINTERFACENOTSUPPORTED: HRESULT = 0x800401E7u32 as HRESULT; +pub const MK_E_NOTBINDABLE: HRESULT = 0x800401E8u32 as HRESULT; +pub const MK_E_NOTBOUND: HRESULT = 0x800401E9u32 as HRESULT; +pub const MK_E_CANTOPENFILE: HRESULT = 0x800401EAu32 as HRESULT; +pub const MK_E_MUSTBOTHERUSER: HRESULT = 0x800401EBu32 as HRESULT; +pub const MK_E_NOINVERSE: HRESULT = 0x800401ECu32 as HRESULT; +pub const MK_E_NOSTORAGE: HRESULT = 0x800401EDu32 as HRESULT; +pub const MK_E_NOPREFIX: HRESULT = 0x800401EEu32 as HRESULT; +pub const MK_E_ENUMERATION_FAILED: HRESULT = 0x800401EFu32 as HRESULT; +pub const CO_E_FIRST: HRESULT = 0x800401F0u32 as HRESULT; +pub const CO_E_LAST: HRESULT = 0x800401FFu32 as HRESULT; +pub const CO_S_FIRST: HRESULT = 0x000401F0; +pub const CO_S_LAST: HRESULT = 0x000401FF; +pub const CO_E_NOTINITIALIZED: HRESULT = 0x800401F0u32 as HRESULT; +pub const CO_E_ALREADYINITIALIZED: HRESULT = 0x800401F1u32 as HRESULT; +pub const CO_E_CANTDETERMINECLASS: HRESULT = 0x800401F2u32 as HRESULT; +pub const CO_E_CLASSSTRING: HRESULT = 0x800401F3u32 as HRESULT; +pub const CO_E_IIDSTRING: HRESULT = 0x800401F4u32 as HRESULT; +pub const CO_E_APPNOTFOUND: HRESULT = 0x800401F5u32 as HRESULT; +pub const CO_E_APPSINGLEUSE: HRESULT = 0x800401F6u32 as HRESULT; +pub const CO_E_ERRORINAPP: HRESULT = 0x800401F7u32 as HRESULT; +pub const CO_E_DLLNOTFOUND: HRESULT = 0x800401F8u32 as HRESULT; +pub const CO_E_ERRORINDLL: HRESULT = 0x800401F9u32 as HRESULT; +pub const CO_E_WRONGOSFORAPP: HRESULT = 0x800401FAu32 as HRESULT; +pub const CO_E_OBJNOTREG: HRESULT = 0x800401FBu32 as HRESULT; +pub const CO_E_OBJISREG: HRESULT = 0x800401FCu32 as HRESULT; +pub const CO_E_OBJNOTCONNECTED: HRESULT = 0x800401FDu32 as HRESULT; +pub const CO_E_APPDIDNTREG: HRESULT = 0x800401FEu32 as HRESULT; +pub const CO_E_RELEASED: HRESULT = 0x800401FFu32 as HRESULT; +pub const EVENT_E_FIRST: HRESULT = 0x80040200u32 as HRESULT; +pub const EVENT_E_LAST: HRESULT = 0x8004021Fu32 as HRESULT; +pub const EVENT_S_FIRST: HRESULT = 0x00040200; +pub const EVENT_S_LAST: HRESULT = 0x0004021F; +pub const EVENT_S_SOME_SUBSCRIBERS_FAILED: HRESULT = 0x00040200; +pub const EVENT_E_ALL_SUBSCRIBERS_FAILED: HRESULT = 0x80040201u32 as HRESULT; +pub const EVENT_S_NOSUBSCRIBERS: HRESULT = 0x00040202; +pub const EVENT_E_QUERYSYNTAX: HRESULT = 0x80040203u32 as HRESULT; +pub const EVENT_E_QUERYFIELD: HRESULT = 0x80040204u32 as HRESULT; +pub const EVENT_E_INTERNALEXCEPTION: HRESULT = 0x80040205u32 as HRESULT; +pub const EVENT_E_INTERNALERROR: HRESULT = 0x80040206u32 as HRESULT; +pub const EVENT_E_INVALID_PER_USER_SID: HRESULT = 0x80040207u32 as HRESULT; +pub const EVENT_E_USER_EXCEPTION: HRESULT = 0x80040208u32 as HRESULT; +pub const EVENT_E_TOO_MANY_METHODS: HRESULT = 0x80040209u32 as HRESULT; +pub const EVENT_E_MISSING_EVENTCLASS: HRESULT = 0x8004020Au32 as HRESULT; +pub const EVENT_E_NOT_ALL_REMOVED: HRESULT = 0x8004020Bu32 as HRESULT; +pub const EVENT_E_COMPLUS_NOT_INSTALLED: HRESULT = 0x8004020Cu32 as HRESULT; +pub const EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT: HRESULT = 0x8004020Du32 as HRESULT; +pub const EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT: HRESULT = 0x8004020Eu32 as HRESULT; +pub const EVENT_E_INVALID_EVENT_CLASS_PARTITION: HRESULT = 0x8004020Fu32 as HRESULT; +pub const EVENT_E_PER_USER_SID_NOT_LOGGED_ON: HRESULT = 0x80040210u32 as HRESULT; +pub const TPC_E_INVALID_PROPERTY: HRESULT = 0x80040241u32 as HRESULT; +pub const TPC_E_NO_DEFAULT_TABLET: HRESULT = 0x80040212u32 as HRESULT; +pub const TPC_E_UNKNOWN_PROPERTY: HRESULT = 0x8004021Bu32 as HRESULT; +pub const TPC_E_INVALID_INPUT_RECT: HRESULT = 0x80040219u32 as HRESULT; +pub const TPC_E_INVALID_STROKE: HRESULT = 0x80040222u32 as HRESULT; +pub const TPC_E_INITIALIZE_FAIL: HRESULT = 0x80040223u32 as HRESULT; +pub const TPC_E_NOT_RELEVANT: HRESULT = 0x80040232u32 as HRESULT; +pub const TPC_E_INVALID_PACKET_DESCRIPTION: HRESULT = 0x80040233u32 as HRESULT; +pub const TPC_E_RECOGNIZER_NOT_REGISTERED: HRESULT = 0x80040235u32 as HRESULT; +pub const TPC_E_INVALID_RIGHTS: HRESULT = 0x80040236u32 as HRESULT; +pub const TPC_E_OUT_OF_ORDER_CALL: HRESULT = 0x80040237u32 as HRESULT; +pub const TPC_E_QUEUE_FULL: HRESULT = 0x80040238u32 as HRESULT; +pub const TPC_E_INVALID_CONFIGURATION: HRESULT = 0x80040239u32 as HRESULT; +pub const TPC_E_INVALID_DATA_FROM_RECOGNIZER: HRESULT = 0x8004023Au32 as HRESULT; +pub const TPC_S_TRUNCATED: HRESULT = 0x00040252; +pub const TPC_S_INTERRUPTED: HRESULT = 0x00040253; +pub const TPC_S_NO_DATA_TO_PROCESS: HRESULT = 0x00040254; +pub const XACT_E_FIRST: HRESULT = 0x8004D000u32 as HRESULT; +pub const XACT_E_LAST: HRESULT = 0x8004D02Bu32 as HRESULT; +pub const XACT_S_FIRST: HRESULT = 0x0004D000; +pub const XACT_S_LAST: HRESULT = 0x0004D010; +pub const XACT_E_ALREADYOTHERSINGLEPHASE: HRESULT = 0x8004D000u32 as HRESULT; +pub const XACT_E_CANTRETAIN: HRESULT = 0x8004D001u32 as HRESULT; +pub const XACT_E_COMMITFAILED: HRESULT = 0x8004D002u32 as HRESULT; +pub const XACT_E_COMMITPREVENTED: HRESULT = 0x8004D003u32 as HRESULT; +pub const XACT_E_HEURISTICABORT: HRESULT = 0x8004D004u32 as HRESULT; +pub const XACT_E_HEURISTICCOMMIT: HRESULT = 0x8004D005u32 as HRESULT; +pub const XACT_E_HEURISTICDAMAGE: HRESULT = 0x8004D006u32 as HRESULT; +pub const XACT_E_HEURISTICDANGER: HRESULT = 0x8004D007u32 as HRESULT; +pub const XACT_E_ISOLATIONLEVEL: HRESULT = 0x8004D008u32 as HRESULT; +pub const XACT_E_NOASYNC: HRESULT = 0x8004D009u32 as HRESULT; +pub const XACT_E_NOENLIST: HRESULT = 0x8004D00Au32 as HRESULT; +pub const XACT_E_NOISORETAIN: HRESULT = 0x8004D00Bu32 as HRESULT; +pub const XACT_E_NORESOURCE: HRESULT = 0x8004D00Cu32 as HRESULT; +pub const XACT_E_NOTCURRENT: HRESULT = 0x8004D00Du32 as HRESULT; +pub const XACT_E_NOTRANSACTION: HRESULT = 0x8004D00Eu32 as HRESULT; +pub const XACT_E_NOTSUPPORTED: HRESULT = 0x8004D00Fu32 as HRESULT; +pub const XACT_E_UNKNOWNRMGRID: HRESULT = 0x8004D010u32 as HRESULT; +pub const XACT_E_WRONGSTATE: HRESULT = 0x8004D011u32 as HRESULT; +pub const XACT_E_WRONGUOW: HRESULT = 0x8004D012u32 as HRESULT; +pub const XACT_E_XTIONEXISTS: HRESULT = 0x8004D013u32 as HRESULT; +pub const XACT_E_NOIMPORTOBJECT: HRESULT = 0x8004D014u32 as HRESULT; +pub const XACT_E_INVALIDCOOKIE: HRESULT = 0x8004D015u32 as HRESULT; +pub const XACT_E_INDOUBT: HRESULT = 0x8004D016u32 as HRESULT; +pub const XACT_E_NOTIMEOUT: HRESULT = 0x8004D017u32 as HRESULT; +pub const XACT_E_ALREADYINPROGRESS: HRESULT = 0x8004D018u32 as HRESULT; +pub const XACT_E_ABORTED: HRESULT = 0x8004D019u32 as HRESULT; +pub const XACT_E_LOGFULL: HRESULT = 0x8004D01Au32 as HRESULT; +pub const XACT_E_TMNOTAVAILABLE: HRESULT = 0x8004D01Bu32 as HRESULT; +pub const XACT_E_CONNECTION_DOWN: HRESULT = 0x8004D01Cu32 as HRESULT; +pub const XACT_E_CONNECTION_DENIED: HRESULT = 0x8004D01Du32 as HRESULT; +pub const XACT_E_REENLISTTIMEOUT: HRESULT = 0x8004D01Eu32 as HRESULT; +pub const XACT_E_TIP_CONNECT_FAILED: HRESULT = 0x8004D01Fu32 as HRESULT; +pub const XACT_E_TIP_PROTOCOL_ERROR: HRESULT = 0x8004D020u32 as HRESULT; +pub const XACT_E_TIP_PULL_FAILED: HRESULT = 0x8004D021u32 as HRESULT; +pub const XACT_E_DEST_TMNOTAVAILABLE: HRESULT = 0x8004D022u32 as HRESULT; +pub const XACT_E_TIP_DISABLED: HRESULT = 0x8004D023u32 as HRESULT; +pub const XACT_E_NETWORK_TX_DISABLED: HRESULT = 0x8004D024u32 as HRESULT; +pub const XACT_E_PARTNER_NETWORK_TX_DISABLED: HRESULT = 0x8004D025u32 as HRESULT; +pub const XACT_E_XA_TX_DISABLED: HRESULT = 0x8004D026u32 as HRESULT; +pub const XACT_E_UNABLE_TO_READ_DTC_CONFIG: HRESULT = 0x8004D027u32 as HRESULT; +pub const XACT_E_UNABLE_TO_LOAD_DTC_PROXY: HRESULT = 0x8004D028u32 as HRESULT; +pub const XACT_E_ABORTING: HRESULT = 0x8004D029u32 as HRESULT; +pub const XACT_E_PUSH_COMM_FAILURE: HRESULT = 0x8004D02Au32 as HRESULT; +pub const XACT_E_PULL_COMM_FAILURE: HRESULT = 0x8004D02Bu32 as HRESULT; +pub const XACT_E_LU_TX_DISABLED: HRESULT = 0x8004D02Cu32 as HRESULT; +pub const XACT_E_CLERKNOTFOUND: HRESULT = 0x8004D080u32 as HRESULT; +pub const XACT_E_CLERKEXISTS: HRESULT = 0x8004D081u32 as HRESULT; +pub const XACT_E_RECOVERYINPROGRESS: HRESULT = 0x8004D082u32 as HRESULT; +pub const XACT_E_TRANSACTIONCLOSED: HRESULT = 0x8004D083u32 as HRESULT; +pub const XACT_E_INVALIDLSN: HRESULT = 0x8004D084u32 as HRESULT; +pub const XACT_E_REPLAYREQUEST: HRESULT = 0x8004D085u32 as HRESULT; +pub const XACT_S_ASYNC: HRESULT = 0x0004D000; +pub const XACT_S_DEFECT: HRESULT = 0x0004D001; +pub const XACT_S_READONLY: HRESULT = 0x0004D002; +pub const XACT_S_SOMENORETAIN: HRESULT = 0x0004D003; +pub const XACT_S_OKINFORM: HRESULT = 0x0004D004; +pub const XACT_S_MADECHANGESCONTENT: HRESULT = 0x0004D005; +pub const XACT_S_MADECHANGESINFORM: HRESULT = 0x0004D006; +pub const XACT_S_ALLNORETAIN: HRESULT = 0x0004D007; +pub const XACT_S_ABORTING: HRESULT = 0x0004D008; +pub const XACT_S_SINGLEPHASE: HRESULT = 0x0004D009; +pub const XACT_S_LOCALLY_OK: HRESULT = 0x0004D00A; +pub const XACT_S_LASTRESOURCEMANAGER: HRESULT = 0x0004D010; +pub const CONTEXT_E_FIRST: HRESULT = 0x8004E000u32 as HRESULT; +pub const CONTEXT_E_LAST: HRESULT = 0x8004E02Fu32 as HRESULT; +pub const CONTEXT_S_FIRST: HRESULT = 0x0004E000; +pub const CONTEXT_S_LAST: HRESULT = 0x0004E02F; +pub const CONTEXT_E_ABORTED: HRESULT = 0x8004E002u32 as HRESULT; +pub const CONTEXT_E_ABORTING: HRESULT = 0x8004E003u32 as HRESULT; +pub const CONTEXT_E_NOCONTEXT: HRESULT = 0x8004E004u32 as HRESULT; +pub const CONTEXT_E_WOULD_DEADLOCK: HRESULT = 0x8004E005u32 as HRESULT; +pub const CONTEXT_E_SYNCH_TIMEOUT: HRESULT = 0x8004E006u32 as HRESULT; +pub const CONTEXT_E_OLDREF: HRESULT = 0x8004E007u32 as HRESULT; +pub const CONTEXT_E_ROLENOTFOUND: HRESULT = 0x8004E00Cu32 as HRESULT; +pub const CONTEXT_E_TMNOTAVAILABLE: HRESULT = 0x8004E00Fu32 as HRESULT; +pub const CO_E_ACTIVATIONFAILED: HRESULT = 0x8004E021u32 as HRESULT; +pub const CO_E_ACTIVATIONFAILED_EVENTLOGGED: HRESULT = 0x8004E022u32 as HRESULT; +pub const CO_E_ACTIVATIONFAILED_CATALOGERROR: HRESULT = 0x8004E023u32 as HRESULT; +pub const CO_E_ACTIVATIONFAILED_TIMEOUT: HRESULT = 0x8004E024u32 as HRESULT; +pub const CO_E_INITIALIZATIONFAILED: HRESULT = 0x8004E025u32 as HRESULT; +pub const CONTEXT_E_NOJIT: HRESULT = 0x8004E026u32 as HRESULT; +pub const CONTEXT_E_NOTRANSACTION: HRESULT = 0x8004E027u32 as HRESULT; +pub const CO_E_THREADINGMODEL_CHANGED: HRESULT = 0x8004E028u32 as HRESULT; +pub const CO_E_NOIISINTRINSICS: HRESULT = 0x8004E029u32 as HRESULT; +pub const CO_E_NOCOOKIES: HRESULT = 0x8004E02Au32 as HRESULT; +pub const CO_E_DBERROR: HRESULT = 0x8004E02Bu32 as HRESULT; +pub const CO_E_NOTPOOLED: HRESULT = 0x8004E02Cu32 as HRESULT; +pub const CO_E_NOTCONSTRUCTED: HRESULT = 0x8004E02Du32 as HRESULT; +pub const CO_E_NOSYNCHRONIZATION: HRESULT = 0x8004E02Eu32 as HRESULT; +pub const CO_E_ISOLEVELMISMATCH: HRESULT = 0x8004E02Fu32 as HRESULT; +pub const CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED: HRESULT = 0x8004E030u32 as HRESULT; +pub const CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED: HRESULT = 0x8004E031u32 as HRESULT; +pub const OLE_S_USEREG: HRESULT = 0x00040000; +pub const OLE_S_STATIC: HRESULT = 0x00040001; +pub const OLE_S_MAC_CLIPFORMAT: HRESULT = 0x00040002; +pub const DRAGDROP_S_DROP: HRESULT = 0x00040100; +pub const DRAGDROP_S_CANCEL: HRESULT = 0x00040101; +pub const DRAGDROP_S_USEDEFAULTCURSORS: HRESULT = 0x00040102; +pub const DATA_S_SAMEFORMATETC: HRESULT = 0x00040130; +pub const VIEW_S_ALREADY_FROZEN: HRESULT = 0x00040140; +pub const CACHE_S_FORMATETC_NOTSUPPORTED: HRESULT = 0x00040170; +pub const CACHE_S_SAMECACHE: HRESULT = 0x00040171; +pub const CACHE_S_SOMECACHES_NOTUPDATED: HRESULT = 0x00040172; +pub const OLEOBJ_S_INVALIDVERB: HRESULT = 0x00040180; +pub const OLEOBJ_S_CANNOT_DOVERB_NOW: HRESULT = 0x00040181; +pub const OLEOBJ_S_INVALIDHWND: HRESULT = 0x00040182; +pub const INPLACE_S_TRUNCATED: HRESULT = 0x000401A0; +pub const CONVERT10_S_NO_PRESENTATION: HRESULT = 0x000401C0; +pub const MK_S_REDUCED_TO_SELF: HRESULT = 0x000401E2; +pub const MK_S_ME: HRESULT = 0x000401E4; +pub const MK_S_HIM: HRESULT = 0x000401E5; +pub const MK_S_US: HRESULT = 0x000401E6; +pub const MK_S_MONIKERALREADYREGISTERED: HRESULT = 0x000401E7; +pub const SCHED_S_TASK_READY: HRESULT = 0x00041300; +pub const SCHED_S_TASK_RUNNING: HRESULT = 0x00041301; +pub const SCHED_S_TASK_DISABLED: HRESULT = 0x00041302; +pub const SCHED_S_TASK_HAS_NOT_RUN: HRESULT = 0x00041303; +pub const SCHED_S_TASK_NO_MORE_RUNS: HRESULT = 0x00041304; +pub const SCHED_S_TASK_NOT_SCHEDULED: HRESULT = 0x00041305; +pub const SCHED_S_TASK_TERMINATED: HRESULT = 0x00041306; +pub const SCHED_S_TASK_NO_VALID_TRIGGERS: HRESULT = 0x00041307; +pub const SCHED_S_EVENT_TRIGGER: HRESULT = 0x00041308; +pub const SCHED_E_TRIGGER_NOT_FOUND: HRESULT = 0x80041309u32 as HRESULT; +pub const SCHED_E_TASK_NOT_READY: HRESULT = 0x8004130Au32 as HRESULT; +pub const SCHED_E_TASK_NOT_RUNNING: HRESULT = 0x8004130Bu32 as HRESULT; +pub const SCHED_E_SERVICE_NOT_INSTALLED: HRESULT = 0x8004130Cu32 as HRESULT; +pub const SCHED_E_CANNOT_OPEN_TASK: HRESULT = 0x8004130Du32 as HRESULT; +pub const SCHED_E_INVALID_TASK: HRESULT = 0x8004130Eu32 as HRESULT; +pub const SCHED_E_ACCOUNT_INFORMATION_NOT_SET: HRESULT = 0x8004130Fu32 as HRESULT; +pub const SCHED_E_ACCOUNT_NAME_NOT_FOUND: HRESULT = 0x80041310u32 as HRESULT; +pub const SCHED_E_ACCOUNT_DBASE_CORRUPT: HRESULT = 0x80041311u32 as HRESULT; +pub const SCHED_E_NO_SECURITY_SERVICES: HRESULT = 0x80041312u32 as HRESULT; +pub const SCHED_E_UNKNOWN_OBJECT_VERSION: HRESULT = 0x80041313u32 as HRESULT; +pub const SCHED_E_UNSUPPORTED_ACCOUNT_OPTION: HRESULT = 0x80041314u32 as HRESULT; +pub const SCHED_E_SERVICE_NOT_RUNNING: HRESULT = 0x80041315u32 as HRESULT; +pub const SCHED_E_UNEXPECTEDNODE: HRESULT = 0x80041316u32 as HRESULT; +pub const SCHED_E_NAMESPACE: HRESULT = 0x80041317u32 as HRESULT; +pub const SCHED_E_INVALIDVALUE: HRESULT = 0x80041318u32 as HRESULT; +pub const SCHED_E_MISSINGNODE: HRESULT = 0x80041319u32 as HRESULT; +pub const SCHED_E_MALFORMEDXML: HRESULT = 0x8004131Au32 as HRESULT; +pub const SCHED_S_SOME_TRIGGERS_FAILED: HRESULT = 0x0004131B; +pub const SCHED_S_BATCH_LOGON_PROBLEM: HRESULT = 0x0004131C; +pub const SCHED_E_TOO_MANY_NODES: HRESULT = 0x8004131Du32 as HRESULT; +pub const SCHED_E_PAST_END_BOUNDARY: HRESULT = 0x8004131Eu32 as HRESULT; +pub const SCHED_E_ALREADY_RUNNING: HRESULT = 0x8004131Fu32 as HRESULT; +pub const SCHED_E_USER_NOT_LOGGED_ON: HRESULT = 0x80041320u32 as HRESULT; +pub const SCHED_E_INVALID_TASK_HASH: HRESULT = 0x80041321u32 as HRESULT; +pub const SCHED_E_SERVICE_NOT_AVAILABLE: HRESULT = 0x80041322u32 as HRESULT; +pub const SCHED_E_SERVICE_TOO_BUSY: HRESULT = 0x80041323u32 as HRESULT; +pub const SCHED_E_TASK_ATTEMPTED: HRESULT = 0x80041324u32 as HRESULT; +pub const SCHED_S_TASK_QUEUED: HRESULT = 0x00041325; +pub const SCHED_E_TASK_DISABLED: HRESULT = 0x80041326u32 as HRESULT; +pub const SCHED_E_TASK_NOT_V1_COMPAT: HRESULT = 0x80041327u32 as HRESULT; +pub const SCHED_E_START_ON_DEMAND: HRESULT = 0x80041328u32 as HRESULT; +pub const SCHED_E_TASK_NOT_UBPM_COMPAT: HRESULT = 0x80041329u32 as HRESULT; +pub const SCHED_E_DEPRECATED_FEATURE_USED: HRESULT = 0x80041330u32 as HRESULT; +pub const CO_E_CLASS_CREATE_FAILED: HRESULT = 0x80080001u32 as HRESULT; +pub const CO_E_SCM_ERROR: HRESULT = 0x80080002u32 as HRESULT; +pub const CO_E_SCM_RPC_FAILURE: HRESULT = 0x80080003u32 as HRESULT; +pub const CO_E_BAD_PATH: HRESULT = 0x80080004u32 as HRESULT; +pub const CO_E_SERVER_EXEC_FAILURE: HRESULT = 0x80080005u32 as HRESULT; +pub const CO_E_OBJSRV_RPC_FAILURE: HRESULT = 0x80080006u32 as HRESULT; +pub const MK_E_NO_NORMALIZED: HRESULT = 0x80080007u32 as HRESULT; +pub const CO_E_SERVER_STOPPING: HRESULT = 0x80080008u32 as HRESULT; +pub const MEM_E_INVALID_ROOT: HRESULT = 0x80080009u32 as HRESULT; +pub const MEM_E_INVALID_LINK: HRESULT = 0x80080010u32 as HRESULT; +pub const MEM_E_INVALID_SIZE: HRESULT = 0x80080011u32 as HRESULT; +pub const CO_S_NOTALLINTERFACES: HRESULT = 0x00080012; +pub const CO_S_MACHINENAMENOTFOUND: HRESULT = 0x00080013; +pub const CO_E_MISSING_DISPLAYNAME: HRESULT = 0x80080015u32 as HRESULT; +pub const CO_E_RUNAS_VALUE_MUST_BE_AAA: HRESULT = 0x80080016u32 as HRESULT; +pub const CO_E_ELEVATION_DISABLED: HRESULT = 0x80080017u32 as HRESULT; +pub const APPX_E_PACKAGING_INTERNAL: HRESULT = 0x80080200u32 as HRESULT; +pub const APPX_E_INTERLEAVING_NOT_ALLOWED: HRESULT = 0x80080201u32 as HRESULT; +pub const APPX_E_RELATIONSHIPS_NOT_ALLOWED: HRESULT = 0x80080202u32 as HRESULT; +pub const APPX_E_MISSING_REQUIRED_FILE: HRESULT = 0x80080203u32 as HRESULT; +pub const APPX_E_INVALID_MANIFEST: HRESULT = 0x80080204u32 as HRESULT; +pub const APPX_E_INVALID_BLOCKMAP: HRESULT = 0x80080205u32 as HRESULT; +pub const APPX_E_CORRUPT_CONTENT: HRESULT = 0x80080206u32 as HRESULT; +pub const APPX_E_BLOCK_HASH_INVALID: HRESULT = 0x80080207u32 as HRESULT; +pub const APPX_E_REQUESTED_RANGE_TOO_LARGE: HRESULT = 0x80080208u32 as HRESULT; +pub const APPX_E_INVALID_SIP_CLIENT_DATA: HRESULT = 0x80080209u32 as HRESULT; +pub const BT_E_SPURIOUS_ACTIVATION: HRESULT = 0x80080300u32 as HRESULT; +pub const DISP_E_UNKNOWNINTERFACE: HRESULT = 0x80020001u32 as HRESULT; +pub const DISP_E_MEMBERNOTFOUND: HRESULT = 0x80020003u32 as HRESULT; +pub const DISP_E_PARAMNOTFOUND: HRESULT = 0x80020004u32 as HRESULT; +pub const DISP_E_TYPEMISMATCH: HRESULT = 0x80020005u32 as HRESULT; +pub const DISP_E_UNKNOWNNAME: HRESULT = 0x80020006u32 as HRESULT; +pub const DISP_E_NONAMEDARGS: HRESULT = 0x80020007u32 as HRESULT; +pub const DISP_E_BADVARTYPE: HRESULT = 0x80020008u32 as HRESULT; +pub const DISP_E_EXCEPTION: HRESULT = 0x80020009u32 as HRESULT; +pub const DISP_E_OVERFLOW: HRESULT = 0x8002000Au32 as HRESULT; +pub const DISP_E_BADINDEX: HRESULT = 0x8002000Bu32 as HRESULT; +pub const DISP_E_UNKNOWNLCID: HRESULT = 0x8002000Cu32 as HRESULT; +pub const DISP_E_ARRAYISLOCKED: HRESULT = 0x8002000Du32 as HRESULT; +pub const DISP_E_BADPARAMCOUNT: HRESULT = 0x8002000Eu32 as HRESULT; +pub const DISP_E_PARAMNOTOPTIONAL: HRESULT = 0x8002000Fu32 as HRESULT; +pub const DISP_E_BADCALLEE: HRESULT = 0x80020010u32 as HRESULT; +pub const DISP_E_NOTACOLLECTION: HRESULT = 0x80020011u32 as HRESULT; +pub const DISP_E_DIVBYZERO: HRESULT = 0x80020012u32 as HRESULT; +pub const DISP_E_BUFFERTOOSMALL: HRESULT = 0x80020013u32 as HRESULT; +pub const TYPE_E_BUFFERTOOSMALL: HRESULT = 0x80028016u32 as HRESULT; +pub const TYPE_E_FIELDNOTFOUND: HRESULT = 0x80028017u32 as HRESULT; +pub const TYPE_E_INVDATAREAD: HRESULT = 0x80028018u32 as HRESULT; +pub const TYPE_E_UNSUPFORMAT: HRESULT = 0x80028019u32 as HRESULT; +pub const TYPE_E_REGISTRYACCESS: HRESULT = 0x8002801Cu32 as HRESULT; +pub const TYPE_E_LIBNOTREGISTERED: HRESULT = 0x8002801Du32 as HRESULT; +pub const TYPE_E_UNDEFINEDTYPE: HRESULT = 0x80028027u32 as HRESULT; +pub const TYPE_E_QUALIFIEDNAMEDISALLOWED: HRESULT = 0x80028028u32 as HRESULT; +pub const TYPE_E_INVALIDSTATE: HRESULT = 0x80028029u32 as HRESULT; +pub const TYPE_E_WRONGTYPEKIND: HRESULT = 0x8002802Au32 as HRESULT; +pub const TYPE_E_ELEMENTNOTFOUND: HRESULT = 0x8002802Bu32 as HRESULT; +pub const TYPE_E_AMBIGUOUSNAME: HRESULT = 0x8002802Cu32 as HRESULT; +pub const TYPE_E_NAMECONFLICT: HRESULT = 0x8002802Du32 as HRESULT; +pub const TYPE_E_UNKNOWNLCID: HRESULT = 0x8002802Eu32 as HRESULT; +pub const TYPE_E_DLLFUNCTIONNOTFOUND: HRESULT = 0x8002802Fu32 as HRESULT; +pub const TYPE_E_BADMODULEKIND: HRESULT = 0x800288BDu32 as HRESULT; +pub const TYPE_E_SIZETOOBIG: HRESULT = 0x800288C5u32 as HRESULT; +pub const TYPE_E_DUPLICATEID: HRESULT = 0x800288C6u32 as HRESULT; +pub const TYPE_E_INVALIDID: HRESULT = 0x800288CFu32 as HRESULT; +pub const TYPE_E_TYPEMISMATCH: HRESULT = 0x80028CA0u32 as HRESULT; +pub const TYPE_E_OUTOFBOUNDS: HRESULT = 0x80028CA1u32 as HRESULT; +pub const TYPE_E_IOERROR: HRESULT = 0x80028CA2u32 as HRESULT; +pub const TYPE_E_CANTCREATETMPFILE: HRESULT = 0x80028CA3u32 as HRESULT; +pub const TYPE_E_CANTLOADLIBRARY: HRESULT = 0x80029C4Au32 as HRESULT; +pub const TYPE_E_INCONSISTENTPROPFUNCS: HRESULT = 0x80029C83u32 as HRESULT; +pub const TYPE_E_CIRCULARTYPE: HRESULT = 0x80029C84u32 as HRESULT; +pub const STG_E_INVALIDFUNCTION: HRESULT = 0x80030001u32 as HRESULT; +pub const STG_E_FILENOTFOUND: HRESULT = 0x80030002u32 as HRESULT; +pub const STG_E_PATHNOTFOUND: HRESULT = 0x80030003u32 as HRESULT; +pub const STG_E_TOOMANYOPENFILES: HRESULT = 0x80030004u32 as HRESULT; +pub const STG_E_ACCESSDENIED: HRESULT = 0x80030005u32 as HRESULT; +pub const STG_E_INVALIDHANDLE: HRESULT = 0x80030006u32 as HRESULT; +pub const STG_E_INSUFFICIENTMEMORY: HRESULT = 0x80030008u32 as HRESULT; +pub const STG_E_INVALIDPOINTER: HRESULT = 0x80030009u32 as HRESULT; +pub const STG_E_NOMOREFILES: HRESULT = 0x80030012u32 as HRESULT; +pub const STG_E_DISKISWRITEPROTECTED: HRESULT = 0x80030013u32 as HRESULT; +pub const STG_E_SEEKERROR: HRESULT = 0x80030019u32 as HRESULT; +pub const STG_E_WRITEFAULT: HRESULT = 0x8003001Du32 as HRESULT; +pub const STG_E_READFAULT: HRESULT = 0x8003001Eu32 as HRESULT; +pub const STG_E_SHAREVIOLATION: HRESULT = 0x80030020u32 as HRESULT; +pub const STG_E_LOCKVIOLATION: HRESULT = 0x80030021u32 as HRESULT; +pub const STG_E_FILEALREADYEXISTS: HRESULT = 0x80030050u32 as HRESULT; +pub const STG_E_INVALIDPARAMETER: HRESULT = 0x80030057u32 as HRESULT; +pub const STG_E_MEDIUMFULL: HRESULT = 0x80030070u32 as HRESULT; +pub const STG_E_PROPSETMISMATCHED: HRESULT = 0x800300F0u32 as HRESULT; +pub const STG_E_ABNORMALAPIEXIT: HRESULT = 0x800300FAu32 as HRESULT; +pub const STG_E_INVALIDHEADER: HRESULT = 0x800300FBu32 as HRESULT; +pub const STG_E_INVALIDNAME: HRESULT = 0x800300FCu32 as HRESULT; +pub const STG_E_UNKNOWN: HRESULT = 0x800300FDu32 as HRESULT; +pub const STG_E_UNIMPLEMENTEDFUNCTION: HRESULT = 0x800300FEu32 as HRESULT; +pub const STG_E_INVALIDFLAG: HRESULT = 0x800300FFu32 as HRESULT; +pub const STG_E_INUSE: HRESULT = 0x80030100u32 as HRESULT; +pub const STG_E_NOTCURRENT: HRESULT = 0x80030101u32 as HRESULT; +pub const STG_E_REVERTED: HRESULT = 0x80030102u32 as HRESULT; +pub const STG_E_CANTSAVE: HRESULT = 0x80030103u32 as HRESULT; +pub const STG_E_OLDFORMAT: HRESULT = 0x80030104u32 as HRESULT; +pub const STG_E_OLDDLL: HRESULT = 0x80030105u32 as HRESULT; +pub const STG_E_SHAREREQUIRED: HRESULT = 0x80030106u32 as HRESULT; +pub const STG_E_NOTFILEBASEDSTORAGE: HRESULT = 0x80030107u32 as HRESULT; +pub const STG_E_EXTANTMARSHALLINGS: HRESULT = 0x80030108u32 as HRESULT; +pub const STG_E_DOCFILECORRUPT: HRESULT = 0x80030109u32 as HRESULT; +pub const STG_E_BADBASEADDRESS: HRESULT = 0x80030110u32 as HRESULT; +pub const STG_E_DOCFILETOOLARGE: HRESULT = 0x80030111u32 as HRESULT; +pub const STG_E_NOTSIMPLEFORMAT: HRESULT = 0x80030112u32 as HRESULT; +pub const STG_E_INCOMPLETE: HRESULT = 0x80030201u32 as HRESULT; +pub const STG_E_TERMINATED: HRESULT = 0x80030202u32 as HRESULT; +pub const STG_S_CONVERTED: HRESULT = 0x00030200; +pub const STG_S_BLOCK: HRESULT = 0x00030201; +pub const STG_S_RETRYNOW: HRESULT = 0x00030202; +pub const STG_S_MONITORING: HRESULT = 0x00030203; +pub const STG_S_MULTIPLEOPENS: HRESULT = 0x00030204; +pub const STG_S_CONSOLIDATIONFAILED: HRESULT = 0x00030205; +pub const STG_S_CANNOTCONSOLIDATE: HRESULT = 0x00030206; +pub const STG_E_STATUS_COPY_PROTECTION_FAILURE: HRESULT = 0x80030305u32 as HRESULT; +pub const STG_E_CSS_AUTHENTICATION_FAILURE: HRESULT = 0x80030306u32 as HRESULT; +pub const STG_E_CSS_KEY_NOT_PRESENT: HRESULT = 0x80030307u32 as HRESULT; +pub const STG_E_CSS_KEY_NOT_ESTABLISHED: HRESULT = 0x80030308u32 as HRESULT; +pub const STG_E_CSS_SCRAMBLED_SECTOR: HRESULT = 0x80030309u32 as HRESULT; +pub const STG_E_CSS_REGION_MISMATCH: HRESULT = 0x8003030Au32 as HRESULT; +pub const STG_E_RESETS_EXHAUSTED: HRESULT = 0x8003030Bu32 as HRESULT; +pub const RPC_E_CALL_REJECTED: HRESULT = 0x80010001u32 as HRESULT; +pub const RPC_E_CALL_CANCELED: HRESULT = 0x80010002u32 as HRESULT; +pub const RPC_E_CANTPOST_INSENDCALL: HRESULT = 0x80010003u32 as HRESULT; +pub const RPC_E_CANTCALLOUT_INASYNCCALL: HRESULT = 0x80010004u32 as HRESULT; +pub const RPC_E_CANTCALLOUT_INEXTERNALCALL: HRESULT = 0x80010005u32 as HRESULT; +pub const RPC_E_CONNECTION_TERMINATED: HRESULT = 0x80010006u32 as HRESULT; +pub const RPC_E_SERVER_DIED: HRESULT = 0x80010007u32 as HRESULT; +pub const RPC_E_CLIENT_DIED: HRESULT = 0x80010008u32 as HRESULT; +pub const RPC_E_INVALID_DATAPACKET: HRESULT = 0x80010009u32 as HRESULT; +pub const RPC_E_CANTTRANSMIT_CALL: HRESULT = 0x8001000Au32 as HRESULT; +pub const RPC_E_CLIENT_CANTMARSHAL_DATA: HRESULT = 0x8001000Bu32 as HRESULT; +pub const RPC_E_CLIENT_CANTUNMARSHAL_DATA: HRESULT = 0x8001000Cu32 as HRESULT; +pub const RPC_E_SERVER_CANTMARSHAL_DATA: HRESULT = 0x8001000Du32 as HRESULT; +pub const RPC_E_SERVER_CANTUNMARSHAL_DATA: HRESULT = 0x8001000Eu32 as HRESULT; +pub const RPC_E_INVALID_DATA: HRESULT = 0x8001000Fu32 as HRESULT; +pub const RPC_E_INVALID_PARAMETER: HRESULT = 0x80010010u32 as HRESULT; +pub const RPC_E_CANTCALLOUT_AGAIN: HRESULT = 0x80010011u32 as HRESULT; +pub const RPC_E_SERVER_DIED_DNE: HRESULT = 0x80010012u32 as HRESULT; +pub const RPC_E_SYS_CALL_FAILED: HRESULT = 0x80010100u32 as HRESULT; +pub const RPC_E_OUT_OF_RESOURCES: HRESULT = 0x80010101u32 as HRESULT; +pub const RPC_E_ATTEMPTED_MULTITHREAD: HRESULT = 0x80010102u32 as HRESULT; +pub const RPC_E_NOT_REGISTERED: HRESULT = 0x80010103u32 as HRESULT; +pub const RPC_E_FAULT: HRESULT = 0x80010104u32 as HRESULT; +pub const RPC_E_SERVERFAULT: HRESULT = 0x80010105u32 as HRESULT; +pub const RPC_E_CHANGED_MODE: HRESULT = 0x80010106u32 as HRESULT; +pub const RPC_E_INVALIDMETHOD: HRESULT = 0x80010107u32 as HRESULT; +pub const RPC_E_DISCONNECTED: HRESULT = 0x80010108u32 as HRESULT; +pub const RPC_E_RETRY: HRESULT = 0x80010109u32 as HRESULT; +pub const RPC_E_SERVERCALL_RETRYLATER: HRESULT = 0x8001010Au32 as HRESULT; +pub const RPC_E_SERVERCALL_REJECTED: HRESULT = 0x8001010Bu32 as HRESULT; +pub const RPC_E_INVALID_CALLDATA: HRESULT = 0x8001010Cu32 as HRESULT; +pub const RPC_E_CANTCALLOUT_ININPUTSYNCCALL: HRESULT = 0x8001010Du32 as HRESULT; +pub const RPC_E_WRONG_THREAD: HRESULT = 0x8001010Eu32 as HRESULT; +pub const RPC_E_THREAD_NOT_INIT: HRESULT = 0x8001010Fu32 as HRESULT; +pub const RPC_E_VERSION_MISMATCH: HRESULT = 0x80010110u32 as HRESULT; +pub const RPC_E_INVALID_HEADER: HRESULT = 0x80010111u32 as HRESULT; +pub const RPC_E_INVALID_EXTENSION: HRESULT = 0x80010112u32 as HRESULT; +pub const RPC_E_INVALID_IPID: HRESULT = 0x80010113u32 as HRESULT; +pub const RPC_E_INVALID_OBJECT: HRESULT = 0x80010114u32 as HRESULT; +pub const RPC_S_CALLPENDING: HRESULT = 0x80010115u32 as HRESULT; +pub const RPC_S_WAITONTIMER: HRESULT = 0x80010116u32 as HRESULT; +pub const RPC_E_CALL_COMPLETE: HRESULT = 0x80010117u32 as HRESULT; +pub const RPC_E_UNSECURE_CALL: HRESULT = 0x80010118u32 as HRESULT; +pub const RPC_E_TOO_LATE: HRESULT = 0x80010119u32 as HRESULT; +pub const RPC_E_NO_GOOD_SECURITY_PACKAGES: HRESULT = 0x8001011Au32 as HRESULT; +pub const RPC_E_ACCESS_DENIED: HRESULT = 0x8001011Bu32 as HRESULT; +pub const RPC_E_REMOTE_DISABLED: HRESULT = 0x8001011Cu32 as HRESULT; +pub const RPC_E_INVALID_OBJREF: HRESULT = 0x8001011Du32 as HRESULT; +pub const RPC_E_NO_CONTEXT: HRESULT = 0x8001011Eu32 as HRESULT; +pub const RPC_E_TIMEOUT: HRESULT = 0x8001011Fu32 as HRESULT; +pub const RPC_E_NO_SYNC: HRESULT = 0x80010120u32 as HRESULT; +pub const RPC_E_FULLSIC_REQUIRED: HRESULT = 0x80010121u32 as HRESULT; +pub const RPC_E_INVALID_STD_NAME: HRESULT = 0x80010122u32 as HRESULT; +pub const CO_E_FAILEDTOIMPERSONATE: HRESULT = 0x80010123u32 as HRESULT; +pub const CO_E_FAILEDTOGETSECCTX: HRESULT = 0x80010124u32 as HRESULT; +pub const CO_E_FAILEDTOOPENTHREADTOKEN: HRESULT = 0x80010125u32 as HRESULT; +pub const CO_E_FAILEDTOGETTOKENINFO: HRESULT = 0x80010126u32 as HRESULT; +pub const CO_E_TRUSTEEDOESNTMATCHCLIENT: HRESULT = 0x80010127u32 as HRESULT; +pub const CO_E_FAILEDTOQUERYCLIENTBLANKET: HRESULT = 0x80010128u32 as HRESULT; +pub const CO_E_FAILEDTOSETDACL: HRESULT = 0x80010129u32 as HRESULT; +pub const CO_E_ACCESSCHECKFAILED: HRESULT = 0x8001012Au32 as HRESULT; +pub const CO_E_NETACCESSAPIFAILED: HRESULT = 0x8001012Bu32 as HRESULT; +pub const CO_E_WRONGTRUSTEENAMESYNTAX: HRESULT = 0x8001012Cu32 as HRESULT; +pub const CO_E_INVALIDSID: HRESULT = 0x8001012Du32 as HRESULT; +pub const CO_E_CONVERSIONFAILED: HRESULT = 0x8001012Eu32 as HRESULT; +pub const CO_E_NOMATCHINGSIDFOUND: HRESULT = 0x8001012Fu32 as HRESULT; +pub const CO_E_LOOKUPACCSIDFAILED: HRESULT = 0x80010130u32 as HRESULT; +pub const CO_E_NOMATCHINGNAMEFOUND: HRESULT = 0x80010131u32 as HRESULT; +pub const CO_E_LOOKUPACCNAMEFAILED: HRESULT = 0x80010132u32 as HRESULT; +pub const CO_E_SETSERLHNDLFAILED: HRESULT = 0x80010133u32 as HRESULT; +pub const CO_E_FAILEDTOGETWINDIR: HRESULT = 0x80010134u32 as HRESULT; +pub const CO_E_PATHTOOLONG: HRESULT = 0x80010135u32 as HRESULT; +pub const CO_E_FAILEDTOGENUUID: HRESULT = 0x80010136u32 as HRESULT; +pub const CO_E_FAILEDTOCREATEFILE: HRESULT = 0x80010137u32 as HRESULT; +pub const CO_E_FAILEDTOCLOSEHANDLE: HRESULT = 0x80010138u32 as HRESULT; +pub const CO_E_EXCEEDSYSACLLIMIT: HRESULT = 0x80010139u32 as HRESULT; +pub const CO_E_ACESINWRONGORDER: HRESULT = 0x8001013Au32 as HRESULT; +pub const CO_E_INCOMPATIBLESTREAMVERSION: HRESULT = 0x8001013Bu32 as HRESULT; +pub const CO_E_FAILEDTOOPENPROCESSTOKEN: HRESULT = 0x8001013Cu32 as HRESULT; +pub const CO_E_DECODEFAILED: HRESULT = 0x8001013Du32 as HRESULT; +pub const CO_E_ACNOTINITIALIZED: HRESULT = 0x8001013Fu32 as HRESULT; +pub const CO_E_CANCEL_DISABLED: HRESULT = 0x80010140u32 as HRESULT; +pub const RPC_E_UNEXPECTED: HRESULT = 0x8001FFFFu32 as HRESULT; +pub const ERROR_AUDITING_DISABLED: HRESULT = 0xC0090001u32 as HRESULT; +pub const ERROR_ALL_SIDS_FILTERED: HRESULT = 0xC0090002u32 as HRESULT; +pub const ERROR_BIZRULES_NOT_ENABLED: HRESULT = 0xC0090003u32 as HRESULT; +pub const NTE_BAD_UID: HRESULT = 0x80090001u32 as HRESULT; +pub const NTE_BAD_HASH: HRESULT = 0x80090002u32 as HRESULT; +pub const NTE_BAD_KEY: HRESULT = 0x80090003u32 as HRESULT; +pub const NTE_BAD_LEN: HRESULT = 0x80090004u32 as HRESULT; +pub const NTE_BAD_DATA: HRESULT = 0x80090005u32 as HRESULT; +pub const NTE_BAD_SIGNATURE: HRESULT = 0x80090006u32 as HRESULT; +pub const NTE_BAD_VER: HRESULT = 0x80090007u32 as HRESULT; +pub const NTE_BAD_ALGID: HRESULT = 0x80090008u32 as HRESULT; +pub const NTE_BAD_FLAGS: HRESULT = 0x80090009u32 as HRESULT; +pub const NTE_BAD_TYPE: HRESULT = 0x8009000Au32 as HRESULT; +pub const NTE_BAD_KEY_STATE: HRESULT = 0x8009000Bu32 as HRESULT; +pub const NTE_BAD_HASH_STATE: HRESULT = 0x8009000Cu32 as HRESULT; +pub const NTE_NO_KEY: HRESULT = 0x8009000Du32 as HRESULT; +pub const NTE_NO_MEMORY: HRESULT = 0x8009000Eu32 as HRESULT; +pub const NTE_EXISTS: HRESULT = 0x8009000Fu32 as HRESULT; +pub const NTE_PERM: HRESULT = 0x80090010u32 as HRESULT; +pub const NTE_NOT_FOUND: HRESULT = 0x80090011u32 as HRESULT; +pub const NTE_DOUBLE_ENCRYPT: HRESULT = 0x80090012u32 as HRESULT; +pub const NTE_BAD_PROVIDER: HRESULT = 0x80090013u32 as HRESULT; +pub const NTE_BAD_PROV_TYPE: HRESULT = 0x80090014u32 as HRESULT; +pub const NTE_BAD_PUBLIC_KEY: HRESULT = 0x80090015u32 as HRESULT; +pub const NTE_BAD_KEYSET: HRESULT = 0x80090016u32 as HRESULT; +pub const NTE_PROV_TYPE_NOT_DEF: HRESULT = 0x80090017u32 as HRESULT; +pub const NTE_PROV_TYPE_ENTRY_BAD: HRESULT = 0x80090018u32 as HRESULT; +pub const NTE_KEYSET_NOT_DEF: HRESULT = 0x80090019u32 as HRESULT; +pub const NTE_KEYSET_ENTRY_BAD: HRESULT = 0x8009001Au32 as HRESULT; +pub const NTE_PROV_TYPE_NO_MATCH: HRESULT = 0x8009001Bu32 as HRESULT; +pub const NTE_SIGNATURE_FILE_BAD: HRESULT = 0x8009001Cu32 as HRESULT; +pub const NTE_PROVIDER_DLL_FAIL: HRESULT = 0x8009001Du32 as HRESULT; +pub const NTE_PROV_DLL_NOT_FOUND: HRESULT = 0x8009001Eu32 as HRESULT; +pub const NTE_BAD_KEYSET_PARAM: HRESULT = 0x8009001Fu32 as HRESULT; +pub const NTE_FAIL: HRESULT = 0x80090020u32 as HRESULT; +pub const NTE_SYS_ERR: HRESULT = 0x80090021u32 as HRESULT; +pub const NTE_SILENT_CONTEXT: HRESULT = 0x80090022u32 as HRESULT; +pub const NTE_TOKEN_KEYSET_STORAGE_FULL: HRESULT = 0x80090023u32 as HRESULT; +pub const NTE_TEMPORARY_PROFILE: HRESULT = 0x80090024u32 as HRESULT; +pub const NTE_FIXEDPARAMETER: HRESULT = 0x80090025u32 as HRESULT; +pub const NTE_INVALID_HANDLE: HRESULT = 0x80090026u32 as HRESULT; +pub const NTE_INVALID_PARAMETER: HRESULT = 0x80090027u32 as HRESULT; +pub const NTE_BUFFER_TOO_SMALL: HRESULT = 0x80090028u32 as HRESULT; +pub const NTE_NOT_SUPPORTED: HRESULT = 0x80090029u32 as HRESULT; +pub const NTE_NO_MORE_ITEMS: HRESULT = 0x8009002Au32 as HRESULT; +pub const NTE_BUFFERS_OVERLAP: HRESULT = 0x8009002Bu32 as HRESULT; +pub const NTE_DECRYPTION_FAILURE: HRESULT = 0x8009002Cu32 as HRESULT; +pub const NTE_INTERNAL_ERROR: HRESULT = 0x8009002Du32 as HRESULT; +pub const NTE_UI_REQUIRED: HRESULT = 0x8009002Eu32 as HRESULT; +pub const NTE_HMAC_NOT_SUPPORTED: HRESULT = 0x8009002Fu32 as HRESULT; +pub const NTE_DEVICE_NOT_READY: HRESULT = 0x80090030u32 as HRESULT; +pub const NTE_AUTHENTICATION_IGNORED: HRESULT = 0x80090031u32 as HRESULT; +pub const NTE_VALIDATION_FAILED: HRESULT = 0x80090032u32 as HRESULT; +pub const NTE_INCORRECT_PASSWORD: HRESULT = 0x80090033u32 as HRESULT; +pub const NTE_ENCRYPTION_FAILURE: HRESULT = 0x80090034u32 as HRESULT; +pub const NTE_DEVICE_NOT_FOUND: HRESULT = 0x80090035u32 as HRESULT; +pub const SEC_E_INSUFFICIENT_MEMORY: HRESULT = 0x80090300u32 as HRESULT; +pub const SEC_E_INVALID_HANDLE: HRESULT = 0x80090301u32 as HRESULT; +pub const SEC_E_UNSUPPORTED_FUNCTION: HRESULT = 0x80090302u32 as HRESULT; +pub const SEC_E_TARGET_UNKNOWN: HRESULT = 0x80090303u32 as HRESULT; +pub const SEC_E_INTERNAL_ERROR: HRESULT = 0x80090304u32 as HRESULT; +pub const SEC_E_SECPKG_NOT_FOUND: HRESULT = 0x80090305u32 as HRESULT; +pub const SEC_E_NOT_OWNER: HRESULT = 0x80090306u32 as HRESULT; +pub const SEC_E_CANNOT_INSTALL: HRESULT = 0x80090307u32 as HRESULT; +pub const SEC_E_INVALID_TOKEN: HRESULT = 0x80090308u32 as HRESULT; +pub const SEC_E_CANNOT_PACK: HRESULT = 0x80090309u32 as HRESULT; +pub const SEC_E_QOP_NOT_SUPPORTED: HRESULT = 0x8009030Au32 as HRESULT; +pub const SEC_E_NO_IMPERSONATION: HRESULT = 0x8009030Bu32 as HRESULT; +pub const SEC_E_LOGON_DENIED: HRESULT = 0x8009030Cu32 as HRESULT; +pub const SEC_E_UNKNOWN_CREDENTIALS: HRESULT = 0x8009030Du32 as HRESULT; +pub const SEC_E_NO_CREDENTIALS: HRESULT = 0x8009030Eu32 as HRESULT; +pub const SEC_E_MESSAGE_ALTERED: HRESULT = 0x8009030Fu32 as HRESULT; +pub const SEC_E_OUT_OF_SEQUENCE: HRESULT = 0x80090310u32 as HRESULT; +pub const SEC_E_NO_AUTHENTICATING_AUTHORITY: HRESULT = 0x80090311u32 as HRESULT; +pub const SEC_I_CONTINUE_NEEDED: HRESULT = 0x00090312; +pub const SEC_I_COMPLETE_NEEDED: HRESULT = 0x00090313; +pub const SEC_I_COMPLETE_AND_CONTINUE: HRESULT = 0x00090314; +pub const SEC_I_LOCAL_LOGON: HRESULT = 0x00090315; +pub const SEC_E_BAD_PKGID: HRESULT = 0x80090316u32 as HRESULT; +pub const SEC_E_CONTEXT_EXPIRED: HRESULT = 0x80090317u32 as HRESULT; +pub const SEC_I_CONTEXT_EXPIRED: HRESULT = 0x00090317; +pub const SEC_E_INCOMPLETE_MESSAGE: HRESULT = 0x80090318u32 as HRESULT; +pub const SEC_E_INCOMPLETE_CREDENTIALS: HRESULT = 0x80090320u32 as HRESULT; +pub const SEC_E_BUFFER_TOO_SMALL: HRESULT = 0x80090321u32 as HRESULT; +pub const SEC_I_INCOMPLETE_CREDENTIALS: HRESULT = 0x00090320; +pub const SEC_I_RENEGOTIATE: HRESULT = 0x00090321; +pub const SEC_E_WRONG_PRINCIPAL: HRESULT = 0x80090322u32 as HRESULT; +pub const SEC_I_NO_LSA_CONTEXT: HRESULT = 0x00090323; +pub const SEC_E_TIME_SKEW: HRESULT = 0x80090324u32 as HRESULT; +pub const SEC_E_UNTRUSTED_ROOT: HRESULT = 0x80090325u32 as HRESULT; +pub const SEC_E_ILLEGAL_MESSAGE: HRESULT = 0x80090326u32 as HRESULT; +pub const SEC_E_CERT_UNKNOWN: HRESULT = 0x80090327u32 as HRESULT; +pub const SEC_E_CERT_EXPIRED: HRESULT = 0x80090328u32 as HRESULT; +pub const SEC_E_ENCRYPT_FAILURE: HRESULT = 0x80090329u32 as HRESULT; +pub const SEC_E_DECRYPT_FAILURE: HRESULT = 0x80090330u32 as HRESULT; +pub const SEC_E_ALGORITHM_MISMATCH: HRESULT = 0x80090331u32 as HRESULT; +pub const SEC_E_SECURITY_QOS_FAILED: HRESULT = 0x80090332u32 as HRESULT; +pub const SEC_E_UNFINISHED_CONTEXT_DELETED: HRESULT = 0x80090333u32 as HRESULT; +pub const SEC_E_NO_TGT_REPLY: HRESULT = 0x80090334u32 as HRESULT; +pub const SEC_E_NO_IP_ADDRESSES: HRESULT = 0x80090335u32 as HRESULT; +pub const SEC_E_WRONG_CREDENTIAL_HANDLE: HRESULT = 0x80090336u32 as HRESULT; +pub const SEC_E_CRYPTO_SYSTEM_INVALID: HRESULT = 0x80090337u32 as HRESULT; +pub const SEC_E_MAX_REFERRALS_EXCEEDED: HRESULT = 0x80090338u32 as HRESULT; +pub const SEC_E_MUST_BE_KDC: HRESULT = 0x80090339u32 as HRESULT; +pub const SEC_E_STRONG_CRYPTO_NOT_SUPPORTED: HRESULT = 0x8009033Au32 as HRESULT; +pub const SEC_E_TOO_MANY_PRINCIPALS: HRESULT = 0x8009033Bu32 as HRESULT; +pub const SEC_E_NO_PA_DATA: HRESULT = 0x8009033Cu32 as HRESULT; +pub const SEC_E_PKINIT_NAME_MISMATCH: HRESULT = 0x8009033Du32 as HRESULT; +pub const SEC_E_SMARTCARD_LOGON_REQUIRED: HRESULT = 0x8009033Eu32 as HRESULT; +pub const SEC_E_SHUTDOWN_IN_PROGRESS: HRESULT = 0x8009033Fu32 as HRESULT; +pub const SEC_E_KDC_INVALID_REQUEST: HRESULT = 0x80090340u32 as HRESULT; +pub const SEC_E_KDC_UNABLE_TO_REFER: HRESULT = 0x80090341u32 as HRESULT; +pub const SEC_E_KDC_UNKNOWN_ETYPE: HRESULT = 0x80090342u32 as HRESULT; +pub const SEC_E_UNSUPPORTED_PREAUTH: HRESULT = 0x80090343u32 as HRESULT; +pub const SEC_E_DELEGATION_REQUIRED: HRESULT = 0x80090345u32 as HRESULT; +pub const SEC_E_BAD_BINDINGS: HRESULT = 0x80090346u32 as HRESULT; +pub const SEC_E_MULTIPLE_ACCOUNTS: HRESULT = 0x80090347u32 as HRESULT; +pub const SEC_E_NO_KERB_KEY: HRESULT = 0x80090348u32 as HRESULT; +pub const SEC_E_CERT_WRONG_USAGE: HRESULT = 0x80090349u32 as HRESULT; +pub const SEC_E_DOWNGRADE_DETECTED: HRESULT = 0x80090350u32 as HRESULT; +pub const SEC_E_SMARTCARD_CERT_REVOKED: HRESULT = 0x80090351u32 as HRESULT; +pub const SEC_E_ISSUING_CA_UNTRUSTED: HRESULT = 0x80090352u32 as HRESULT; +pub const SEC_E_REVOCATION_OFFLINE_C: HRESULT = 0x80090353u32 as HRESULT; +pub const SEC_E_PKINIT_CLIENT_FAILURE: HRESULT = 0x80090354u32 as HRESULT; +pub const SEC_E_SMARTCARD_CERT_EXPIRED: HRESULT = 0x80090355u32 as HRESULT; +pub const SEC_E_NO_S4U_PROT_SUPPORT: HRESULT = 0x80090356u32 as HRESULT; +pub const SEC_E_CROSSREALM_DELEGATION_FAILURE: HRESULT = 0x80090357u32 as HRESULT; +pub const SEC_E_REVOCATION_OFFLINE_KDC: HRESULT = 0x80090358u32 as HRESULT; +pub const SEC_E_ISSUING_CA_UNTRUSTED_KDC: HRESULT = 0x80090359u32 as HRESULT; +pub const SEC_E_KDC_CERT_EXPIRED: HRESULT = 0x8009035Au32 as HRESULT; +pub const SEC_E_KDC_CERT_REVOKED: HRESULT = 0x8009035Bu32 as HRESULT; +pub const SEC_I_SIGNATURE_NEEDED: HRESULT = 0x0009035C; +pub const SEC_E_INVALID_PARAMETER: HRESULT = 0x8009035Du32 as HRESULT; +pub const SEC_E_DELEGATION_POLICY: HRESULT = 0x8009035Eu32 as HRESULT; +pub const SEC_E_POLICY_NLTM_ONLY: HRESULT = 0x8009035Fu32 as HRESULT; +pub const SEC_I_NO_RENEGOTIATION: HRESULT = 0x00090360; +pub const SEC_E_NO_CONTEXT: HRESULT = 0x80090361u32 as HRESULT; +pub const SEC_E_PKU2U_CERT_FAILURE: HRESULT = 0x80090362u32 as HRESULT; +pub const SEC_E_MUTUAL_AUTH_FAILED: HRESULT = 0x80090363u32 as HRESULT; +pub const SEC_I_MESSAGE_FRAGMENT: HRESULT = 0x00090364; +pub const SEC_E_ONLY_HTTPS_ALLOWED: HRESULT = 0x80090365u32 as HRESULT; +pub const SEC_I_CONTINUE_NEEDED_MESSAGE_OK: HRESULT = 0x00090366; +pub const SEC_E_APPLICATION_PROTOCOL_MISMATCH: HRESULT = 0x80090367u32 as HRESULT; +pub const SEC_E_NO_SPM: HRESULT = SEC_E_INTERNAL_ERROR; +pub const SEC_E_NOT_SUPPORTED: HRESULT = SEC_E_UNSUPPORTED_FUNCTION; +pub const CRYPT_E_MSG_ERROR: HRESULT = 0x80091001u32 as HRESULT; +pub const CRYPT_E_UNKNOWN_ALGO: HRESULT = 0x80091002u32 as HRESULT; +pub const CRYPT_E_OID_FORMAT: HRESULT = 0x80091003u32 as HRESULT; +pub const CRYPT_E_INVALID_MSG_TYPE: HRESULT = 0x80091004u32 as HRESULT; +pub const CRYPT_E_UNEXPECTED_ENCODING: HRESULT = 0x80091005u32 as HRESULT; +pub const CRYPT_E_AUTH_ATTR_MISSING: HRESULT = 0x80091006u32 as HRESULT; +pub const CRYPT_E_HASH_VALUE: HRESULT = 0x80091007u32 as HRESULT; +pub const CRYPT_E_INVALID_INDEX: HRESULT = 0x80091008u32 as HRESULT; +pub const CRYPT_E_ALREADY_DECRYPTED: HRESULT = 0x80091009u32 as HRESULT; +pub const CRYPT_E_NOT_DECRYPTED: HRESULT = 0x8009100Au32 as HRESULT; +pub const CRYPT_E_RECIPIENT_NOT_FOUND: HRESULT = 0x8009100Bu32 as HRESULT; +pub const CRYPT_E_CONTROL_TYPE: HRESULT = 0x8009100Cu32 as HRESULT; +pub const CRYPT_E_ISSUER_SERIALNUMBER: HRESULT = 0x8009100Du32 as HRESULT; +pub const CRYPT_E_SIGNER_NOT_FOUND: HRESULT = 0x8009100Eu32 as HRESULT; +pub const CRYPT_E_ATTRIBUTES_MISSING: HRESULT = 0x8009100Fu32 as HRESULT; +pub const CRYPT_E_STREAM_MSG_NOT_READY: HRESULT = 0x80091010u32 as HRESULT; +pub const CRYPT_E_STREAM_INSUFFICIENT_DATA: HRESULT = 0x80091011u32 as HRESULT; +pub const CRYPT_I_NEW_PROTECTION_REQUIRED: HRESULT = 0x00091012; +pub const CRYPT_E_BAD_LEN: HRESULT = 0x80092001u32 as HRESULT; +pub const CRYPT_E_BAD_ENCODE: HRESULT = 0x80092002u32 as HRESULT; +pub const CRYPT_E_FILE_ERROR: HRESULT = 0x80092003u32 as HRESULT; +pub const CRYPT_E_NOT_FOUND: HRESULT = 0x80092004u32 as HRESULT; +pub const CRYPT_E_EXISTS: HRESULT = 0x80092005u32 as HRESULT; +pub const CRYPT_E_NO_PROVIDER: HRESULT = 0x80092006u32 as HRESULT; +pub const CRYPT_E_SELF_SIGNED: HRESULT = 0x80092007u32 as HRESULT; +pub const CRYPT_E_DELETED_PREV: HRESULT = 0x80092008u32 as HRESULT; +pub const CRYPT_E_NO_MATCH: HRESULT = 0x80092009u32 as HRESULT; +pub const CRYPT_E_UNEXPECTED_MSG_TYPE: HRESULT = 0x8009200Au32 as HRESULT; +pub const CRYPT_E_NO_KEY_PROPERTY: HRESULT = 0x8009200Bu32 as HRESULT; +pub const CRYPT_E_NO_DECRYPT_CERT: HRESULT = 0x8009200Cu32 as HRESULT; +pub const CRYPT_E_BAD_MSG: HRESULT = 0x8009200Du32 as HRESULT; +pub const CRYPT_E_NO_SIGNER: HRESULT = 0x8009200Eu32 as HRESULT; +pub const CRYPT_E_PENDING_CLOSE: HRESULT = 0x8009200Fu32 as HRESULT; +pub const CRYPT_E_REVOKED: HRESULT = 0x80092010u32 as HRESULT; +pub const CRYPT_E_NO_REVOCATION_DLL: HRESULT = 0x80092011u32 as HRESULT; +pub const CRYPT_E_NO_REVOCATION_CHECK: HRESULT = 0x80092012u32 as HRESULT; +pub const CRYPT_E_REVOCATION_OFFLINE: HRESULT = 0x80092013u32 as HRESULT; +pub const CRYPT_E_NOT_IN_REVOCATION_DATABASE: HRESULT = 0x80092014u32 as HRESULT; +pub const CRYPT_E_INVALID_NUMERIC_STRING: HRESULT = 0x80092020u32 as HRESULT; +pub const CRYPT_E_INVALID_PRINTABLE_STRING: HRESULT = 0x80092021u32 as HRESULT; +pub const CRYPT_E_INVALID_IA5_STRING: HRESULT = 0x80092022u32 as HRESULT; +pub const CRYPT_E_INVALID_X500_STRING: HRESULT = 0x80092023u32 as HRESULT; +pub const CRYPT_E_NOT_CHAR_STRING: HRESULT = 0x80092024u32 as HRESULT; +pub const CRYPT_E_FILERESIZED: HRESULT = 0x80092025u32 as HRESULT; +pub const CRYPT_E_SECURITY_SETTINGS: HRESULT = 0x80092026u32 as HRESULT; +pub const CRYPT_E_NO_VERIFY_USAGE_DLL: HRESULT = 0x80092027u32 as HRESULT; +pub const CRYPT_E_NO_VERIFY_USAGE_CHECK: HRESULT = 0x80092028u32 as HRESULT; +pub const CRYPT_E_VERIFY_USAGE_OFFLINE: HRESULT = 0x80092029u32 as HRESULT; +pub const CRYPT_E_NOT_IN_CTL: HRESULT = 0x8009202Au32 as HRESULT; +pub const CRYPT_E_NO_TRUSTED_SIGNER: HRESULT = 0x8009202Bu32 as HRESULT; +pub const CRYPT_E_MISSING_PUBKEY_PARA: HRESULT = 0x8009202Cu32 as HRESULT; +pub const CRYPT_E_OBJECT_LOCATOR_OBJECT_NOT_FOUND: HRESULT = 0x8009202Du32 as HRESULT; +pub const CRYPT_E_OSS_ERROR: HRESULT = 0x80093000u32 as HRESULT; +pub const OSS_MORE_BUF: HRESULT = 0x80093001u32 as HRESULT; +pub const OSS_NEGATIVE_UINTEGER: HRESULT = 0x80093002u32 as HRESULT; +pub const OSS_PDU_RANGE: HRESULT = 0x80093003u32 as HRESULT; +pub const OSS_MORE_INPUT: HRESULT = 0x80093004u32 as HRESULT; +pub const OSS_DATA_ERROR: HRESULT = 0x80093005u32 as HRESULT; +pub const OSS_BAD_ARG: HRESULT = 0x80093006u32 as HRESULT; +pub const OSS_BAD_VERSION: HRESULT = 0x80093007u32 as HRESULT; +pub const OSS_OUT_MEMORY: HRESULT = 0x80093008u32 as HRESULT; +pub const OSS_PDU_MISMATCH: HRESULT = 0x80093009u32 as HRESULT; +pub const OSS_LIMITED: HRESULT = 0x8009300Au32 as HRESULT; +pub const OSS_BAD_PTR: HRESULT = 0x8009300Bu32 as HRESULT; +pub const OSS_BAD_TIME: HRESULT = 0x8009300Cu32 as HRESULT; +pub const OSS_INDEFINITE_NOT_SUPPORTED: HRESULT = 0x8009300Du32 as HRESULT; +pub const OSS_MEM_ERROR: HRESULT = 0x8009300Eu32 as HRESULT; +pub const OSS_BAD_TABLE: HRESULT = 0x8009300Fu32 as HRESULT; +pub const OSS_TOO_LONG: HRESULT = 0x80093010u32 as HRESULT; +pub const OSS_CONSTRAINT_VIOLATED: HRESULT = 0x80093011u32 as HRESULT; +pub const OSS_FATAL_ERROR: HRESULT = 0x80093012u32 as HRESULT; +pub const OSS_ACCESS_SERIALIZATION_ERROR: HRESULT = 0x80093013u32 as HRESULT; +pub const OSS_NULL_TBL: HRESULT = 0x80093014u32 as HRESULT; +pub const OSS_NULL_FCN: HRESULT = 0x80093015u32 as HRESULT; +pub const OSS_BAD_ENCRULES: HRESULT = 0x80093016u32 as HRESULT; +pub const OSS_UNAVAIL_ENCRULES: HRESULT = 0x80093017u32 as HRESULT; +pub const OSS_CANT_OPEN_TRACE_WINDOW: HRESULT = 0x80093018u32 as HRESULT; +pub const OSS_UNIMPLEMENTED: HRESULT = 0x80093019u32 as HRESULT; +pub const OSS_OID_DLL_NOT_LINKED: HRESULT = 0x8009301Au32 as HRESULT; +pub const OSS_CANT_OPEN_TRACE_FILE: HRESULT = 0x8009301Bu32 as HRESULT; +pub const OSS_TRACE_FILE_ALREADY_OPEN: HRESULT = 0x8009301Cu32 as HRESULT; +pub const OSS_TABLE_MISMATCH: HRESULT = 0x8009301Du32 as HRESULT; +pub const OSS_TYPE_NOT_SUPPORTED: HRESULT = 0x8009301Eu32 as HRESULT; +pub const OSS_REAL_DLL_NOT_LINKED: HRESULT = 0x8009301Fu32 as HRESULT; +pub const OSS_REAL_CODE_NOT_LINKED: HRESULT = 0x80093020u32 as HRESULT; +pub const OSS_OUT_OF_RANGE: HRESULT = 0x80093021u32 as HRESULT; +pub const OSS_COPIER_DLL_NOT_LINKED: HRESULT = 0x80093022u32 as HRESULT; +pub const OSS_CONSTRAINT_DLL_NOT_LINKED: HRESULT = 0x80093023u32 as HRESULT; +pub const OSS_COMPARATOR_DLL_NOT_LINKED: HRESULT = 0x80093024u32 as HRESULT; +pub const OSS_COMPARATOR_CODE_NOT_LINKED: HRESULT = 0x80093025u32 as HRESULT; +pub const OSS_MEM_MGR_DLL_NOT_LINKED: HRESULT = 0x80093026u32 as HRESULT; +pub const OSS_PDV_DLL_NOT_LINKED: HRESULT = 0x80093027u32 as HRESULT; +pub const OSS_PDV_CODE_NOT_LINKED: HRESULT = 0x80093028u32 as HRESULT; +pub const OSS_API_DLL_NOT_LINKED: HRESULT = 0x80093029u32 as HRESULT; +pub const OSS_BERDER_DLL_NOT_LINKED: HRESULT = 0x8009302Au32 as HRESULT; +pub const OSS_PER_DLL_NOT_LINKED: HRESULT = 0x8009302Bu32 as HRESULT; +pub const OSS_OPEN_TYPE_ERROR: HRESULT = 0x8009302Cu32 as HRESULT; +pub const OSS_MUTEX_NOT_CREATED: HRESULT = 0x8009302Du32 as HRESULT; +pub const OSS_CANT_CLOSE_TRACE_FILE: HRESULT = 0x8009302Eu32 as HRESULT; +pub const CRYPT_E_ASN1_ERROR: HRESULT = 0x80093100u32 as HRESULT; +pub const CRYPT_E_ASN1_INTERNAL: HRESULT = 0x80093101u32 as HRESULT; +pub const CRYPT_E_ASN1_EOD: HRESULT = 0x80093102u32 as HRESULT; +pub const CRYPT_E_ASN1_CORRUPT: HRESULT = 0x80093103u32 as HRESULT; +pub const CRYPT_E_ASN1_LARGE: HRESULT = 0x80093104u32 as HRESULT; +pub const CRYPT_E_ASN1_CONSTRAINT: HRESULT = 0x80093105u32 as HRESULT; +pub const CRYPT_E_ASN1_MEMORY: HRESULT = 0x80093106u32 as HRESULT; +pub const CRYPT_E_ASN1_OVERFLOW: HRESULT = 0x80093107u32 as HRESULT; +pub const CRYPT_E_ASN1_BADPDU: HRESULT = 0x80093108u32 as HRESULT; +pub const CRYPT_E_ASN1_BADARGS: HRESULT = 0x80093109u32 as HRESULT; +pub const CRYPT_E_ASN1_BADREAL: HRESULT = 0x8009310Au32 as HRESULT; +pub const CRYPT_E_ASN1_BADTAG: HRESULT = 0x8009310Bu32 as HRESULT; +pub const CRYPT_E_ASN1_CHOICE: HRESULT = 0x8009310Cu32 as HRESULT; +pub const CRYPT_E_ASN1_RULE: HRESULT = 0x8009310Du32 as HRESULT; +pub const CRYPT_E_ASN1_UTF8: HRESULT = 0x8009310Eu32 as HRESULT; +pub const CRYPT_E_ASN1_PDU_TYPE: HRESULT = 0x80093133u32 as HRESULT; +pub const CRYPT_E_ASN1_NYI: HRESULT = 0x80093134u32 as HRESULT; +pub const CRYPT_E_ASN1_EXTENDED: HRESULT = 0x80093201u32 as HRESULT; +pub const CRYPT_E_ASN1_NOEOD: HRESULT = 0x80093202u32 as HRESULT; +pub const CERTSRV_E_BAD_REQUESTSUBJECT: HRESULT = 0x80094001u32 as HRESULT; +pub const CERTSRV_E_NO_REQUEST: HRESULT = 0x80094002u32 as HRESULT; +pub const CERTSRV_E_BAD_REQUESTSTATUS: HRESULT = 0x80094003u32 as HRESULT; +pub const CERTSRV_E_PROPERTY_EMPTY: HRESULT = 0x80094004u32 as HRESULT; +pub const CERTSRV_E_INVALID_CA_CERTIFICATE: HRESULT = 0x80094005u32 as HRESULT; +pub const CERTSRV_E_SERVER_SUSPENDED: HRESULT = 0x80094006u32 as HRESULT; +pub const CERTSRV_E_ENCODING_LENGTH: HRESULT = 0x80094007u32 as HRESULT; +pub const CERTSRV_E_ROLECONFLICT: HRESULT = 0x80094008u32 as HRESULT; +pub const CERTSRV_E_RESTRICTEDOFFICER: HRESULT = 0x80094009u32 as HRESULT; +pub const CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED: HRESULT = 0x8009400Au32 as HRESULT; +pub const CERTSRV_E_NO_VALID_KRA: HRESULT = 0x8009400Bu32 as HRESULT; +pub const CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL: HRESULT = 0x8009400Cu32 as HRESULT; +pub const CERTSRV_E_NO_CAADMIN_DEFINED: HRESULT = 0x8009400Du32 as HRESULT; +pub const CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE: HRESULT = 0x8009400Eu32 as HRESULT; +pub const CERTSRV_E_NO_DB_SESSIONS: HRESULT = 0x8009400Fu32 as HRESULT; +pub const CERTSRV_E_ALIGNMENT_FAULT: HRESULT = 0x80094010u32 as HRESULT; +pub const CERTSRV_E_ENROLL_DENIED: HRESULT = 0x80094011u32 as HRESULT; +pub const CERTSRV_E_TEMPLATE_DENIED: HRESULT = 0x80094012u32 as HRESULT; +pub const CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE: HRESULT = 0x80094013u32 as HRESULT; +pub const CERTSRV_E_ADMIN_DENIED_REQUEST: HRESULT = 0x80094014u32 as HRESULT; +pub const CERTSRV_E_NO_POLICY_SERVER: HRESULT = 0x80094015u32 as HRESULT; +pub const CERTSRV_E_WEAK_SIGNATURE_OR_KEY: HRESULT = 0x80094016u32 as HRESULT; +pub const CERTSRV_E_KEY_ATTESTATION_NOT_SUPPORTED: HRESULT = 0x80094017u32 as HRESULT; +pub const CERTSRV_E_ENCRYPTION_CERT_REQUIRED: HRESULT = 0x80094018u32 as HRESULT; +pub const CERTSRV_E_UNSUPPORTED_CERT_TYPE: HRESULT = 0x80094800u32 as HRESULT; +pub const CERTSRV_E_NO_CERT_TYPE: HRESULT = 0x80094801u32 as HRESULT; +pub const CERTSRV_E_TEMPLATE_CONFLICT: HRESULT = 0x80094802u32 as HRESULT; +pub const CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED: HRESULT = 0x80094803u32 as HRESULT; +pub const CERTSRV_E_ARCHIVED_KEY_REQUIRED: HRESULT = 0x80094804u32 as HRESULT; +pub const CERTSRV_E_SMIME_REQUIRED: HRESULT = 0x80094805u32 as HRESULT; +pub const CERTSRV_E_BAD_RENEWAL_SUBJECT: HRESULT = 0x80094806u32 as HRESULT; +pub const CERTSRV_E_BAD_TEMPLATE_VERSION: HRESULT = 0x80094807u32 as HRESULT; +pub const CERTSRV_E_TEMPLATE_POLICY_REQUIRED: HRESULT = 0x80094808u32 as HRESULT; +pub const CERTSRV_E_SIGNATURE_POLICY_REQUIRED: HRESULT = 0x80094809u32 as HRESULT; +pub const CERTSRV_E_SIGNATURE_COUNT: HRESULT = 0x8009480Au32 as HRESULT; +pub const CERTSRV_E_SIGNATURE_REJECTED: HRESULT = 0x8009480Bu32 as HRESULT; +pub const CERTSRV_E_ISSUANCE_POLICY_REQUIRED: HRESULT = 0x8009480Cu32 as HRESULT; +pub const CERTSRV_E_SUBJECT_UPN_REQUIRED: HRESULT = 0x8009480Du32 as HRESULT; +pub const CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED: HRESULT = 0x8009480Eu32 as HRESULT; +pub const CERTSRV_E_SUBJECT_DNS_REQUIRED: HRESULT = 0x8009480Fu32 as HRESULT; +pub const CERTSRV_E_ARCHIVED_KEY_UNEXPECTED: HRESULT = 0x80094810u32 as HRESULT; +pub const CERTSRV_E_KEY_LENGTH: HRESULT = 0x80094811u32 as HRESULT; +pub const CERTSRV_E_SUBJECT_EMAIL_REQUIRED: HRESULT = 0x80094812u32 as HRESULT; +pub const CERTSRV_E_UNKNOWN_CERT_TYPE: HRESULT = 0x80094813u32 as HRESULT; +pub const CERTSRV_E_CERT_TYPE_OVERLAP: HRESULT = 0x80094814u32 as HRESULT; +pub const CERTSRV_E_TOO_MANY_SIGNATURES: HRESULT = 0x80094815u32 as HRESULT; +pub const CERTSRV_E_RENEWAL_BAD_PUBLIC_KEY: HRESULT = 0x80094816u32 as HRESULT; +pub const CERTSRV_E_INVALID_EK: HRESULT = 0x80094817u32 as HRESULT; +pub const CERTSRV_E_INVALID_IDBINDING: HRESULT = 0x80094818u32 as HRESULT; +pub const CERTSRV_E_INVALID_ATTESTATION: HRESULT = 0x80094819u32 as HRESULT; +pub const CERTSRV_E_KEY_ATTESTATION: HRESULT = 0x8009481Au32 as HRESULT; +pub const CERTSRV_E_CORRUPT_KEY_ATTESTATION: HRESULT = 0x8009481Bu32 as HRESULT; +pub const CERTSRV_E_EXPIRED_CHALLENGE: HRESULT = 0x8009481Cu32 as HRESULT; +pub const CERTSRV_E_INVALID_RESPONSE: HRESULT = 0x8009481Du32 as HRESULT; +pub const CERTSRV_E_INVALID_REQUESTID: HRESULT = 0x8009481Eu32 as HRESULT; +pub const XENROLL_E_KEY_NOT_EXPORTABLE: HRESULT = 0x80095000u32 as HRESULT; +pub const XENROLL_E_CANNOT_ADD_ROOT_CERT: HRESULT = 0x80095001u32 as HRESULT; +pub const XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND: HRESULT = 0x80095002u32 as HRESULT; +pub const XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH: HRESULT = 0x80095003u32 as HRESULT; +pub const XENROLL_E_RESPONSE_KA_HASH_MISMATCH: HRESULT = 0x80095004u32 as HRESULT; +pub const XENROLL_E_KEYSPEC_SMIME_MISMATCH: HRESULT = 0x80095005u32 as HRESULT; +pub const TRUST_E_SYSTEM_ERROR: HRESULT = 0x80096001u32 as HRESULT; +pub const TRUST_E_NO_SIGNER_CERT: HRESULT = 0x80096002u32 as HRESULT; +pub const TRUST_E_COUNTER_SIGNER: HRESULT = 0x80096003u32 as HRESULT; +pub const TRUST_E_CERT_SIGNATURE: HRESULT = 0x80096004u32 as HRESULT; +pub const TRUST_E_TIME_STAMP: HRESULT = 0x80096005u32 as HRESULT; +pub const TRUST_E_BAD_DIGEST: HRESULT = 0x80096010u32 as HRESULT; +pub const TRUST_E_BASIC_CONSTRAINTS: HRESULT = 0x80096019u32 as HRESULT; +pub const TRUST_E_FINANCIAL_CRITERIA: HRESULT = 0x8009601Eu32 as HRESULT; +pub const MSSIPOTF_E_OUTOFMEMRANGE: HRESULT = 0x80097001u32 as HRESULT; +pub const MSSIPOTF_E_CANTGETOBJECT: HRESULT = 0x80097002u32 as HRESULT; +pub const MSSIPOTF_E_NOHEADTABLE: HRESULT = 0x80097003u32 as HRESULT; +pub const MSSIPOTF_E_BAD_MAGICNUMBER: HRESULT = 0x80097004u32 as HRESULT; +pub const MSSIPOTF_E_BAD_OFFSET_TABLE: HRESULT = 0x80097005u32 as HRESULT; +pub const MSSIPOTF_E_TABLE_TAGORDER: HRESULT = 0x80097006u32 as HRESULT; +pub const MSSIPOTF_E_TABLE_LONGWORD: HRESULT = 0x80097007u32 as HRESULT; +pub const MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT: HRESULT = 0x80097008u32 as HRESULT; +pub const MSSIPOTF_E_TABLES_OVERLAP: HRESULT = 0x80097009u32 as HRESULT; +pub const MSSIPOTF_E_TABLE_PADBYTES: HRESULT = 0x8009700Au32 as HRESULT; +pub const MSSIPOTF_E_FILETOOSMALL: HRESULT = 0x8009700Bu32 as HRESULT; +pub const MSSIPOTF_E_TABLE_CHECKSUM: HRESULT = 0x8009700Cu32 as HRESULT; +pub const MSSIPOTF_E_FILE_CHECKSUM: HRESULT = 0x8009700Du32 as HRESULT; +pub const MSSIPOTF_E_FAILED_POLICY: HRESULT = 0x80097010u32 as HRESULT; +pub const MSSIPOTF_E_FAILED_HINTS_CHECK: HRESULT = 0x80097011u32 as HRESULT; +pub const MSSIPOTF_E_NOT_OPENTYPE: HRESULT = 0x80097012u32 as HRESULT; +pub const MSSIPOTF_E_FILE: HRESULT = 0x80097013u32 as HRESULT; +pub const MSSIPOTF_E_CRYPT: HRESULT = 0x80097014u32 as HRESULT; +pub const MSSIPOTF_E_BADVERSION: HRESULT = 0x80097015u32 as HRESULT; +pub const MSSIPOTF_E_DSIG_STRUCTURE: HRESULT = 0x80097016u32 as HRESULT; +pub const MSSIPOTF_E_PCONST_CHECK: HRESULT = 0x80097017u32 as HRESULT; +pub const MSSIPOTF_E_STRUCTURE: HRESULT = 0x80097018u32 as HRESULT; +pub const ERROR_CRED_REQUIRES_CONFIRMATION: HRESULT = 0x80097019u32 as HRESULT; +pub const NTE_OP_OK: HRESULT = 0; +pub const TRUST_E_PROVIDER_UNKNOWN: HRESULT = 0x800B0001u32 as HRESULT; +pub const TRUST_E_ACTION_UNKNOWN: HRESULT = 0x800B0002u32 as HRESULT; +pub const TRUST_E_SUBJECT_FORM_UNKNOWN: HRESULT = 0x800B0003u32 as HRESULT; +pub const TRUST_E_SUBJECT_NOT_TRUSTED: HRESULT = 0x800B0004u32 as HRESULT; +pub const DIGSIG_E_ENCODE: HRESULT = 0x800B0005u32 as HRESULT; +pub const DIGSIG_E_DECODE: HRESULT = 0x800B0006u32 as HRESULT; +pub const DIGSIG_E_EXTENSIBILITY: HRESULT = 0x800B0007u32 as HRESULT; +pub const DIGSIG_E_CRYPTO: HRESULT = 0x800B0008u32 as HRESULT; +pub const PERSIST_E_SIZEDEFINITE: HRESULT = 0x800B0009u32 as HRESULT; +pub const PERSIST_E_SIZEINDEFINITE: HRESULT = 0x800B000Au32 as HRESULT; +pub const PERSIST_E_NOTSELFSIZING: HRESULT = 0x800B000Bu32 as HRESULT; +pub const TRUST_E_NOSIGNATURE: HRESULT = 0x800B0100u32 as HRESULT; +pub const CERT_E_EXPIRED: HRESULT = 0x800B0101u32 as HRESULT; +pub const CERT_E_VALIDITYPERIODNESTING: HRESULT = 0x800B0102u32 as HRESULT; +pub const CERT_E_ROLE: HRESULT = 0x800B0103u32 as HRESULT; +pub const CERT_E_PATHLENCONST: HRESULT = 0x800B0104u32 as HRESULT; +pub const CERT_E_CRITICAL: HRESULT = 0x800B0105u32 as HRESULT; +pub const CERT_E_PURPOSE: HRESULT = 0x800B0106u32 as HRESULT; +pub const CERT_E_ISSUERCHAINING: HRESULT = 0x800B0107u32 as HRESULT; +pub const CERT_E_MALFORMED: HRESULT = 0x800B0108u32 as HRESULT; +pub const CERT_E_UNTRUSTEDROOT: HRESULT = 0x800B0109u32 as HRESULT; +pub const CERT_E_CHAINING: HRESULT = 0x800B010Au32 as HRESULT; +pub const TRUST_E_FAIL: HRESULT = 0x800B010Bu32 as HRESULT; +pub const CERT_E_REVOKED: HRESULT = 0x800B010Cu32 as HRESULT; +pub const CERT_E_UNTRUSTEDTESTROOT: HRESULT = 0x800B010Du32 as HRESULT; +pub const CERT_E_REVOCATION_FAILURE: HRESULT = 0x800B010Eu32 as HRESULT; +pub const CERT_E_CN_NO_MATCH: HRESULT = 0x800B010Fu32 as HRESULT; +pub const CERT_E_WRONG_USAGE: HRESULT = 0x800B0110u32 as HRESULT; +pub const TRUST_E_EXPLICIT_DISTRUST: HRESULT = 0x800B0111u32 as HRESULT; +pub const CERT_E_UNTRUSTEDCA: HRESULT = 0x800B0112u32 as HRESULT; +pub const CERT_E_INVALID_POLICY: HRESULT = 0x800B0113u32 as HRESULT; +pub const CERT_E_INVALID_NAME: HRESULT = 0x800B0114u32 as HRESULT; +pub const SPAPI_E_EXPECTED_SECTION_NAME: HRESULT = 0x800F0000u32 as HRESULT; +pub const SPAPI_E_BAD_SECTION_NAME_LINE: HRESULT = 0x800F0001u32 as HRESULT; +pub const SPAPI_E_SECTION_NAME_TOO_LONG: HRESULT = 0x800F0002u32 as HRESULT; +pub const SPAPI_E_GENERAL_SYNTAX: HRESULT = 0x800F0003u32 as HRESULT; +pub const SPAPI_E_WRONG_INF_STYLE: HRESULT = 0x800F0100u32 as HRESULT; +pub const SPAPI_E_SECTION_NOT_FOUND: HRESULT = 0x800F0101u32 as HRESULT; +pub const SPAPI_E_LINE_NOT_FOUND: HRESULT = 0x800F0102u32 as HRESULT; +pub const SPAPI_E_NO_BACKUP: HRESULT = 0x800F0103u32 as HRESULT; +pub const SPAPI_E_NO_ASSOCIATED_CLASS: HRESULT = 0x800F0200u32 as HRESULT; +pub const SPAPI_E_CLASS_MISMATCH: HRESULT = 0x800F0201u32 as HRESULT; +pub const SPAPI_E_DUPLICATE_FOUND: HRESULT = 0x800F0202u32 as HRESULT; +pub const SPAPI_E_NO_DRIVER_SELECTED: HRESULT = 0x800F0203u32 as HRESULT; +pub const SPAPI_E_KEY_DOES_NOT_EXIST: HRESULT = 0x800F0204u32 as HRESULT; +pub const SPAPI_E_INVALID_DEVINST_NAME: HRESULT = 0x800F0205u32 as HRESULT; +pub const SPAPI_E_INVALID_CLASS: HRESULT = 0x800F0206u32 as HRESULT; +pub const SPAPI_E_DEVINST_ALREADY_EXISTS: HRESULT = 0x800F0207u32 as HRESULT; +pub const SPAPI_E_DEVINFO_NOT_REGISTERED: HRESULT = 0x800F0208u32 as HRESULT; +pub const SPAPI_E_INVALID_REG_PROPERTY: HRESULT = 0x800F0209u32 as HRESULT; +pub const SPAPI_E_NO_INF: HRESULT = 0x800F020Au32 as HRESULT; +pub const SPAPI_E_NO_SUCH_DEVINST: HRESULT = 0x800F020Bu32 as HRESULT; +pub const SPAPI_E_CANT_LOAD_CLASS_ICON: HRESULT = 0x800F020Cu32 as HRESULT; +pub const SPAPI_E_INVALID_CLASS_INSTALLER: HRESULT = 0x800F020Du32 as HRESULT; +pub const SPAPI_E_DI_DO_DEFAULT: HRESULT = 0x800F020Eu32 as HRESULT; +pub const SPAPI_E_DI_NOFILECOPY: HRESULT = 0x800F020Fu32 as HRESULT; +pub const SPAPI_E_INVALID_HWPROFILE: HRESULT = 0x800F0210u32 as HRESULT; +pub const SPAPI_E_NO_DEVICE_SELECTED: HRESULT = 0x800F0211u32 as HRESULT; +pub const SPAPI_E_DEVINFO_LIST_LOCKED: HRESULT = 0x800F0212u32 as HRESULT; +pub const SPAPI_E_DEVINFO_DATA_LOCKED: HRESULT = 0x800F0213u32 as HRESULT; +pub const SPAPI_E_DI_BAD_PATH: HRESULT = 0x800F0214u32 as HRESULT; +pub const SPAPI_E_NO_CLASSINSTALL_PARAMS: HRESULT = 0x800F0215u32 as HRESULT; +pub const SPAPI_E_FILEQUEUE_LOCKED: HRESULT = 0x800F0216u32 as HRESULT; +pub const SPAPI_E_BAD_SERVICE_INSTALLSECT: HRESULT = 0x800F0217u32 as HRESULT; +pub const SPAPI_E_NO_CLASS_DRIVER_LIST: HRESULT = 0x800F0218u32 as HRESULT; +pub const SPAPI_E_NO_ASSOCIATED_SERVICE: HRESULT = 0x800F0219u32 as HRESULT; +pub const SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE: HRESULT = 0x800F021Au32 as HRESULT; +pub const SPAPI_E_DEVICE_INTERFACE_ACTIVE: HRESULT = 0x800F021Bu32 as HRESULT; +pub const SPAPI_E_DEVICE_INTERFACE_REMOVED: HRESULT = 0x800F021Cu32 as HRESULT; +pub const SPAPI_E_BAD_INTERFACE_INSTALLSECT: HRESULT = 0x800F021Du32 as HRESULT; +pub const SPAPI_E_NO_SUCH_INTERFACE_CLASS: HRESULT = 0x800F021Eu32 as HRESULT; +pub const SPAPI_E_INVALID_REFERENCE_STRING: HRESULT = 0x800F021Fu32 as HRESULT; +pub const SPAPI_E_INVALID_MACHINENAME: HRESULT = 0x800F0220u32 as HRESULT; +pub const SPAPI_E_REMOTE_COMM_FAILURE: HRESULT = 0x800F0221u32 as HRESULT; +pub const SPAPI_E_MACHINE_UNAVAILABLE: HRESULT = 0x800F0222u32 as HRESULT; +pub const SPAPI_E_NO_CONFIGMGR_SERVICES: HRESULT = 0x800F0223u32 as HRESULT; +pub const SPAPI_E_INVALID_PROPPAGE_PROVIDER: HRESULT = 0x800F0224u32 as HRESULT; +pub const SPAPI_E_NO_SUCH_DEVICE_INTERFACE: HRESULT = 0x800F0225u32 as HRESULT; +pub const SPAPI_E_DI_POSTPROCESSING_REQUIRED: HRESULT = 0x800F0226u32 as HRESULT; +pub const SPAPI_E_INVALID_COINSTALLER: HRESULT = 0x800F0227u32 as HRESULT; +pub const SPAPI_E_NO_COMPAT_DRIVERS: HRESULT = 0x800F0228u32 as HRESULT; +pub const SPAPI_E_NO_DEVICE_ICON: HRESULT = 0x800F0229u32 as HRESULT; +pub const SPAPI_E_INVALID_INF_LOGCONFIG: HRESULT = 0x800F022Au32 as HRESULT; +pub const SPAPI_E_DI_DONT_INSTALL: HRESULT = 0x800F022Bu32 as HRESULT; +pub const SPAPI_E_INVALID_FILTER_DRIVER: HRESULT = 0x800F022Cu32 as HRESULT; +pub const SPAPI_E_NON_WINDOWS_NT_DRIVER: HRESULT = 0x800F022Du32 as HRESULT; +pub const SPAPI_E_NON_WINDOWS_DRIVER: HRESULT = 0x800F022Eu32 as HRESULT; +pub const SPAPI_E_NO_CATALOG_FOR_OEM_INF: HRESULT = 0x800F022Fu32 as HRESULT; +pub const SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE: HRESULT = 0x800F0230u32 as HRESULT; +pub const SPAPI_E_NOT_DISABLEABLE: HRESULT = 0x800F0231u32 as HRESULT; +pub const SPAPI_E_CANT_REMOVE_DEVINST: HRESULT = 0x800F0232u32 as HRESULT; +pub const SPAPI_E_INVALID_TARGET: HRESULT = 0x800F0233u32 as HRESULT; +pub const SPAPI_E_DRIVER_NONNATIVE: HRESULT = 0x800F0234u32 as HRESULT; +pub const SPAPI_E_IN_WOW64: HRESULT = 0x800F0235u32 as HRESULT; +pub const SPAPI_E_SET_SYSTEM_RESTORE_POINT: HRESULT = 0x800F0236u32 as HRESULT; +pub const SPAPI_E_INCORRECTLY_COPIED_INF: HRESULT = 0x800F0237u32 as HRESULT; +pub const SPAPI_E_SCE_DISABLED: HRESULT = 0x800F0238u32 as HRESULT; +pub const SPAPI_E_UNKNOWN_EXCEPTION: HRESULT = 0x800F0239u32 as HRESULT; +pub const SPAPI_E_PNP_REGISTRY_ERROR: HRESULT = 0x800F023Au32 as HRESULT; +pub const SPAPI_E_REMOTE_REQUEST_UNSUPPORTED: HRESULT = 0x800F023Bu32 as HRESULT; +pub const SPAPI_E_NOT_AN_INSTALLED_OEM_INF: HRESULT = 0x800F023Cu32 as HRESULT; +pub const SPAPI_E_INF_IN_USE_BY_DEVICES: HRESULT = 0x800F023Du32 as HRESULT; +pub const SPAPI_E_DI_FUNCTION_OBSOLETE: HRESULT = 0x800F023Eu32 as HRESULT; +pub const SPAPI_E_NO_AUTHENTICODE_CATALOG: HRESULT = 0x800F023Fu32 as HRESULT; +pub const SPAPI_E_AUTHENTICODE_DISALLOWED: HRESULT = 0x800F0240u32 as HRESULT; +pub const SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER: HRESULT = 0x800F0241u32 as HRESULT; +pub const SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED: HRESULT = 0x800F0242u32 as HRESULT; +pub const SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED: HRESULT = 0x800F0243u32 as HRESULT; +pub const SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH: HRESULT = 0x800F0244u32 as HRESULT; +pub const SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE: HRESULT = 0x800F0245u32 as HRESULT; +pub const SPAPI_E_DEVICE_INSTALLER_NOT_READY: HRESULT = 0x800F0246u32 as HRESULT; +pub const SPAPI_E_DRIVER_STORE_ADD_FAILED: HRESULT = 0x800F0247u32 as HRESULT; +pub const SPAPI_E_DEVICE_INSTALL_BLOCKED: HRESULT = 0x800F0248u32 as HRESULT; +pub const SPAPI_E_DRIVER_INSTALL_BLOCKED: HRESULT = 0x800F0249u32 as HRESULT; +pub const SPAPI_E_WRONG_INF_TYPE: HRESULT = 0x800F024Au32 as HRESULT; +pub const SPAPI_E_FILE_HASH_NOT_IN_CATALOG: HRESULT = 0x800F024Bu32 as HRESULT; +pub const SPAPI_E_DRIVER_STORE_DELETE_FAILED: HRESULT = 0x800F024Cu32 as HRESULT; +pub const SPAPI_E_UNRECOVERABLE_STACK_OVERFLOW: HRESULT = 0x800F0300u32 as HRESULT; +pub const SPAPI_E_ERROR_NOT_INSTALLED: HRESULT = 0x800F1000u32 as HRESULT; +pub const SCARD_S_SUCCESS: HRESULT = NO_ERROR as HRESULT; +pub const SCARD_F_INTERNAL_ERROR: HRESULT = 0x80100001u32 as HRESULT; +pub const SCARD_E_CANCELLED: HRESULT = 0x80100002u32 as HRESULT; +pub const SCARD_E_INVALID_HANDLE: HRESULT = 0x80100003u32 as HRESULT; +pub const SCARD_E_INVALID_PARAMETER: HRESULT = 0x80100004u32 as HRESULT; +pub const SCARD_E_INVALID_TARGET: HRESULT = 0x80100005u32 as HRESULT; +pub const SCARD_E_NO_MEMORY: HRESULT = 0x80100006u32 as HRESULT; +pub const SCARD_F_WAITED_TOO_LONG: HRESULT = 0x80100007u32 as HRESULT; +pub const SCARD_E_INSUFFICIENT_BUFFER: HRESULT = 0x80100008u32 as HRESULT; +pub const SCARD_E_UNKNOWN_READER: HRESULT = 0x80100009u32 as HRESULT; +pub const SCARD_E_TIMEOUT: HRESULT = 0x8010000Au32 as HRESULT; +pub const SCARD_E_SHARING_VIOLATION: HRESULT = 0x8010000Bu32 as HRESULT; +pub const SCARD_E_NO_SMARTCARD: HRESULT = 0x8010000Cu32 as HRESULT; +pub const SCARD_E_UNKNOWN_CARD: HRESULT = 0x8010000Du32 as HRESULT; +pub const SCARD_E_CANT_DISPOSE: HRESULT = 0x8010000Eu32 as HRESULT; +pub const SCARD_E_PROTO_MISMATCH: HRESULT = 0x8010000Fu32 as HRESULT; +pub const SCARD_E_NOT_READY: HRESULT = 0x80100010u32 as HRESULT; +pub const SCARD_E_INVALID_VALUE: HRESULT = 0x80100011u32 as HRESULT; +pub const SCARD_E_SYSTEM_CANCELLED: HRESULT = 0x80100012u32 as HRESULT; +pub const SCARD_F_COMM_ERROR: HRESULT = 0x80100013u32 as HRESULT; +pub const SCARD_F_UNKNOWN_ERROR: HRESULT = 0x80100014u32 as HRESULT; +pub const SCARD_E_INVALID_ATR: HRESULT = 0x80100015u32 as HRESULT; +pub const SCARD_E_NOT_TRANSACTED: HRESULT = 0x80100016u32 as HRESULT; +pub const SCARD_E_READER_UNAVAILABLE: HRESULT = 0x80100017u32 as HRESULT; +pub const SCARD_P_SHUTDOWN: HRESULT = 0x80100018u32 as HRESULT; +pub const SCARD_E_PCI_TOO_SMALL: HRESULT = 0x80100019u32 as HRESULT; +pub const SCARD_E_READER_UNSUPPORTED: HRESULT = 0x8010001Au32 as HRESULT; +pub const SCARD_E_DUPLICATE_READER: HRESULT = 0x8010001Bu32 as HRESULT; +pub const SCARD_E_CARD_UNSUPPORTED: HRESULT = 0x8010001Cu32 as HRESULT; +pub const SCARD_E_NO_SERVICE: HRESULT = 0x8010001Du32 as HRESULT; +pub const SCARD_E_SERVICE_STOPPED: HRESULT = 0x8010001Eu32 as HRESULT; +pub const SCARD_E_UNEXPECTED: HRESULT = 0x8010001Fu32 as HRESULT; +pub const SCARD_E_ICC_INSTALLATION: HRESULT = 0x80100020u32 as HRESULT; +pub const SCARD_E_ICC_CREATEORDER: HRESULT = 0x80100021u32 as HRESULT; +pub const SCARD_E_UNSUPPORTED_FEATURE: HRESULT = 0x80100022u32 as HRESULT; +pub const SCARD_E_DIR_NOT_FOUND: HRESULT = 0x80100023u32 as HRESULT; +pub const SCARD_E_FILE_NOT_FOUND: HRESULT = 0x80100024u32 as HRESULT; +pub const SCARD_E_NO_DIR: HRESULT = 0x80100025u32 as HRESULT; +pub const SCARD_E_NO_FILE: HRESULT = 0x80100026u32 as HRESULT; +pub const SCARD_E_NO_ACCESS: HRESULT = 0x80100027u32 as HRESULT; +pub const SCARD_E_WRITE_TOO_MANY: HRESULT = 0x80100028u32 as HRESULT; +pub const SCARD_E_BAD_SEEK: HRESULT = 0x80100029u32 as HRESULT; +pub const SCARD_E_INVALID_CHV: HRESULT = 0x8010002Au32 as HRESULT; +pub const SCARD_E_UNKNOWN_RES_MNG: HRESULT = 0x8010002Bu32 as HRESULT; +pub const SCARD_E_NO_SUCH_CERTIFICATE: HRESULT = 0x8010002Cu32 as HRESULT; +pub const SCARD_E_CERTIFICATE_UNAVAILABLE: HRESULT = 0x8010002Du32 as HRESULT; +pub const SCARD_E_NO_READERS_AVAILABLE: HRESULT = 0x8010002Eu32 as HRESULT; +pub const SCARD_E_COMM_DATA_LOST: HRESULT = 0x8010002Fu32 as HRESULT; +pub const SCARD_E_NO_KEY_CONTAINER: HRESULT = 0x80100030u32 as HRESULT; +pub const SCARD_E_SERVER_TOO_BUSY: HRESULT = 0x80100031u32 as HRESULT; +pub const SCARD_E_PIN_CACHE_EXPIRED: HRESULT = 0x80100032u32 as HRESULT; +pub const SCARD_E_NO_PIN_CACHE: HRESULT = 0x80100033u32 as HRESULT; +pub const SCARD_E_READ_ONLY_CARD: HRESULT = 0x80100034u32 as HRESULT; +pub const SCARD_W_UNSUPPORTED_CARD: HRESULT = 0x80100065u32 as HRESULT; +pub const SCARD_W_UNRESPONSIVE_CARD: HRESULT = 0x80100066u32 as HRESULT; +pub const SCARD_W_UNPOWERED_CARD: HRESULT = 0x80100067u32 as HRESULT; +pub const SCARD_W_RESET_CARD: HRESULT = 0x80100068u32 as HRESULT; +pub const SCARD_W_REMOVED_CARD: HRESULT = 0x80100069u32 as HRESULT; +pub const SCARD_W_SECURITY_VIOLATION: HRESULT = 0x8010006Au32 as HRESULT; +pub const SCARD_W_WRONG_CHV: HRESULT = 0x8010006Bu32 as HRESULT; +pub const SCARD_W_CHV_BLOCKED: HRESULT = 0x8010006Cu32 as HRESULT; +pub const SCARD_W_EOF: HRESULT = 0x8010006Du32 as HRESULT; +pub const SCARD_W_CANCELLED_BY_USER: HRESULT = 0x8010006Eu32 as HRESULT; +pub const SCARD_W_CARD_NOT_AUTHENTICATED: HRESULT = 0x8010006Fu32 as HRESULT; +pub const SCARD_W_CACHE_ITEM_NOT_FOUND: HRESULT = 0x80100070u32 as HRESULT; +pub const SCARD_W_CACHE_ITEM_STALE: HRESULT = 0x80100071u32 as HRESULT; +pub const SCARD_W_CACHE_ITEM_TOO_BIG: HRESULT = 0x80100072u32 as HRESULT; +pub const COMADMIN_E_OBJECTERRORS: HRESULT = 0x80110401u32 as HRESULT; +pub const COMADMIN_E_OBJECTINVALID: HRESULT = 0x80110402u32 as HRESULT; +pub const COMADMIN_E_KEYMISSING: HRESULT = 0x80110403u32 as HRESULT; +pub const COMADMIN_E_ALREADYINSTALLED: HRESULT = 0x80110404u32 as HRESULT; +pub const COMADMIN_E_APP_FILE_WRITEFAIL: HRESULT = 0x80110407u32 as HRESULT; +pub const COMADMIN_E_APP_FILE_READFAIL: HRESULT = 0x80110408u32 as HRESULT; +pub const COMADMIN_E_APP_FILE_VERSION: HRESULT = 0x80110409u32 as HRESULT; +pub const COMADMIN_E_BADPATH: HRESULT = 0x8011040Au32 as HRESULT; +pub const COMADMIN_E_APPLICATIONEXISTS: HRESULT = 0x8011040Bu32 as HRESULT; +pub const COMADMIN_E_ROLEEXISTS: HRESULT = 0x8011040Cu32 as HRESULT; +pub const COMADMIN_E_CANTCOPYFILE: HRESULT = 0x8011040Du32 as HRESULT; +pub const COMADMIN_E_NOUSER: HRESULT = 0x8011040Fu32 as HRESULT; +pub const COMADMIN_E_INVALIDUSERIDS: HRESULT = 0x80110410u32 as HRESULT; +pub const COMADMIN_E_NOREGISTRYCLSID: HRESULT = 0x80110411u32 as HRESULT; +pub const COMADMIN_E_BADREGISTRYPROGID: HRESULT = 0x80110412u32 as HRESULT; +pub const COMADMIN_E_AUTHENTICATIONLEVEL: HRESULT = 0x80110413u32 as HRESULT; +pub const COMADMIN_E_USERPASSWDNOTVALID: HRESULT = 0x80110414u32 as HRESULT; +pub const COMADMIN_E_CLSIDORIIDMISMATCH: HRESULT = 0x80110418u32 as HRESULT; +pub const COMADMIN_E_REMOTEINTERFACE: HRESULT = 0x80110419u32 as HRESULT; +pub const COMADMIN_E_DLLREGISTERSERVER: HRESULT = 0x8011041Au32 as HRESULT; +pub const COMADMIN_E_NOSERVERSHARE: HRESULT = 0x8011041Bu32 as HRESULT; +pub const COMADMIN_E_DLLLOADFAILED: HRESULT = 0x8011041Du32 as HRESULT; +pub const COMADMIN_E_BADREGISTRYLIBID: HRESULT = 0x8011041Eu32 as HRESULT; +pub const COMADMIN_E_APPDIRNOTFOUND: HRESULT = 0x8011041Fu32 as HRESULT; +pub const COMADMIN_E_REGISTRARFAILED: HRESULT = 0x80110423u32 as HRESULT; +pub const COMADMIN_E_COMPFILE_DOESNOTEXIST: HRESULT = 0x80110424u32 as HRESULT; +pub const COMADMIN_E_COMPFILE_LOADDLLFAIL: HRESULT = 0x80110425u32 as HRESULT; +pub const COMADMIN_E_COMPFILE_GETCLASSOBJ: HRESULT = 0x80110426u32 as HRESULT; +pub const COMADMIN_E_COMPFILE_CLASSNOTAVAIL: HRESULT = 0x80110427u32 as HRESULT; +pub const COMADMIN_E_COMPFILE_BADTLB: HRESULT = 0x80110428u32 as HRESULT; +pub const COMADMIN_E_COMPFILE_NOTINSTALLABLE: HRESULT = 0x80110429u32 as HRESULT; +pub const COMADMIN_E_NOTCHANGEABLE: HRESULT = 0x8011042Au32 as HRESULT; +pub const COMADMIN_E_NOTDELETEABLE: HRESULT = 0x8011042Bu32 as HRESULT; +pub const COMADMIN_E_SESSION: HRESULT = 0x8011042Cu32 as HRESULT; +pub const COMADMIN_E_COMP_MOVE_LOCKED: HRESULT = 0x8011042Du32 as HRESULT; +pub const COMADMIN_E_COMP_MOVE_BAD_DEST: HRESULT = 0x8011042Eu32 as HRESULT; +pub const COMADMIN_E_REGISTERTLB: HRESULT = 0x80110430u32 as HRESULT; +pub const COMADMIN_E_SYSTEMAPP: HRESULT = 0x80110433u32 as HRESULT; +pub const COMADMIN_E_COMPFILE_NOREGISTRAR: HRESULT = 0x80110434u32 as HRESULT; +pub const COMADMIN_E_COREQCOMPINSTALLED: HRESULT = 0x80110435u32 as HRESULT; +pub const COMADMIN_E_SERVICENOTINSTALLED: HRESULT = 0x80110436u32 as HRESULT; +pub const COMADMIN_E_PROPERTYSAVEFAILED: HRESULT = 0x80110437u32 as HRESULT; +pub const COMADMIN_E_OBJECTEXISTS: HRESULT = 0x80110438u32 as HRESULT; +pub const COMADMIN_E_COMPONENTEXISTS: HRESULT = 0x80110439u32 as HRESULT; +pub const COMADMIN_E_REGFILE_CORRUPT: HRESULT = 0x8011043Bu32 as HRESULT; +pub const COMADMIN_E_PROPERTY_OVERFLOW: HRESULT = 0x8011043Cu32 as HRESULT; +pub const COMADMIN_E_NOTINREGISTRY: HRESULT = 0x8011043Eu32 as HRESULT; +pub const COMADMIN_E_OBJECTNOTPOOLABLE: HRESULT = 0x8011043Fu32 as HRESULT; +pub const COMADMIN_E_APPLID_MATCHES_CLSID: HRESULT = 0x80110446u32 as HRESULT; +pub const COMADMIN_E_ROLE_DOES_NOT_EXIST: HRESULT = 0x80110447u32 as HRESULT; +pub const COMADMIN_E_START_APP_NEEDS_COMPONENTS: HRESULT = 0x80110448u32 as HRESULT; +pub const COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM: HRESULT = 0x80110449u32 as HRESULT; +pub const COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY: HRESULT = 0x8011044Au32 as HRESULT; +pub const COMADMIN_E_CAN_NOT_START_APP: HRESULT = 0x8011044Bu32 as HRESULT; +pub const COMADMIN_E_CAN_NOT_EXPORT_SYS_APP: HRESULT = 0x8011044Cu32 as HRESULT; +pub const COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT: HRESULT = 0x8011044Du32 as HRESULT; +pub const COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER: HRESULT = 0x8011044Eu32 as HRESULT; +pub const COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE: HRESULT = 0x8011044Fu32 as HRESULT; +pub const COMADMIN_E_BASE_PARTITION_ONLY: HRESULT = 0x80110450u32 as HRESULT; +pub const COMADMIN_E_START_APP_DISABLED: HRESULT = 0x80110451u32 as HRESULT; +pub const COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME: HRESULT = 0x80110457u32 as HRESULT; +pub const COMADMIN_E_CAT_INVALID_PARTITION_NAME: HRESULT = 0x80110458u32 as HRESULT; +pub const COMADMIN_E_CAT_PARTITION_IN_USE: HRESULT = 0x80110459u32 as HRESULT; +pub const COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES: HRESULT = 0x8011045Au32 as HRESULT; +pub const COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED: HRESULT = 0x8011045Bu32 as HRESULT; +pub const COMADMIN_E_AMBIGUOUS_APPLICATION_NAME: HRESULT = 0x8011045Cu32 as HRESULT; +pub const COMADMIN_E_AMBIGUOUS_PARTITION_NAME: HRESULT = 0x8011045Du32 as HRESULT; +pub const COMADMIN_E_REGDB_NOTINITIALIZED: HRESULT = 0x80110472u32 as HRESULT; +pub const COMADMIN_E_REGDB_NOTOPEN: HRESULT = 0x80110473u32 as HRESULT; +pub const COMADMIN_E_REGDB_SYSTEMERR: HRESULT = 0x80110474u32 as HRESULT; +pub const COMADMIN_E_REGDB_ALREADYRUNNING: HRESULT = 0x80110475u32 as HRESULT; +pub const COMADMIN_E_MIG_VERSIONNOTSUPPORTED: HRESULT = 0x80110480u32 as HRESULT; +pub const COMADMIN_E_MIG_SCHEMANOTFOUND: HRESULT = 0x80110481u32 as HRESULT; +pub const COMADMIN_E_CAT_BITNESSMISMATCH: HRESULT = 0x80110482u32 as HRESULT; +pub const COMADMIN_E_CAT_UNACCEPTABLEBITNESS: HRESULT = 0x80110483u32 as HRESULT; +pub const COMADMIN_E_CAT_WRONGAPPBITNESS: HRESULT = 0x80110484u32 as HRESULT; +pub const COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED: HRESULT = 0x80110485u32 as HRESULT; +pub const COMADMIN_E_CAT_SERVERFAULT: HRESULT = 0x80110486u32 as HRESULT; +pub const COMQC_E_APPLICATION_NOT_QUEUED: HRESULT = 0x80110600u32 as HRESULT; +pub const COMQC_E_NO_QUEUEABLE_INTERFACES: HRESULT = 0x80110601u32 as HRESULT; +pub const COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE: HRESULT = 0x80110602u32 as HRESULT; +pub const COMQC_E_NO_IPERSISTSTREAM: HRESULT = 0x80110603u32 as HRESULT; +pub const COMQC_E_BAD_MESSAGE: HRESULT = 0x80110604u32 as HRESULT; +pub const COMQC_E_UNAUTHENTICATED: HRESULT = 0x80110605u32 as HRESULT; +pub const COMQC_E_UNTRUSTED_ENQUEUER: HRESULT = 0x80110606u32 as HRESULT; +pub const MSDTC_E_DUPLICATE_RESOURCE: HRESULT = 0x80110701u32 as HRESULT; +pub const COMADMIN_E_OBJECT_PARENT_MISSING: HRESULT = 0x80110808u32 as HRESULT; +pub const COMADMIN_E_OBJECT_DOES_NOT_EXIST: HRESULT = 0x80110809u32 as HRESULT; +pub const COMADMIN_E_APP_NOT_RUNNING: HRESULT = 0x8011080Au32 as HRESULT; +pub const COMADMIN_E_INVALID_PARTITION: HRESULT = 0x8011080Bu32 as HRESULT; +pub const COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE: HRESULT = 0x8011080Du32 as HRESULT; +pub const COMADMIN_E_USER_IN_SET: HRESULT = 0x8011080Eu32 as HRESULT; +pub const COMADMIN_E_CANTRECYCLELIBRARYAPPS: HRESULT = 0x8011080Fu32 as HRESULT; +pub const COMADMIN_E_CANTRECYCLESERVICEAPPS: HRESULT = 0x80110811u32 as HRESULT; +pub const COMADMIN_E_PROCESSALREADYRECYCLED: HRESULT = 0x80110812u32 as HRESULT; +pub const COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED: HRESULT = 0x80110813u32 as HRESULT; +pub const COMADMIN_E_CANTMAKEINPROCSERVICE: HRESULT = 0x80110814u32 as HRESULT; +pub const COMADMIN_E_PROGIDINUSEBYCLSID: HRESULT = 0x80110815u32 as HRESULT; +pub const COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET: HRESULT = 0x80110816u32 as HRESULT; +pub const COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED: HRESULT = 0x80110817u32 as HRESULT; +pub const COMADMIN_E_PARTITION_ACCESSDENIED: HRESULT = 0x80110818u32 as HRESULT; +pub const COMADMIN_E_PARTITION_MSI_ONLY: HRESULT = 0x80110819u32 as HRESULT; +pub const COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT: HRESULT = 0x8011081Au32 as HRESULT; +pub const COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS: HRESULT = 0x8011081Bu32 as HRESULT; +pub const COMADMIN_E_COMP_MOVE_SOURCE: HRESULT = 0x8011081Cu32 as HRESULT; +pub const COMADMIN_E_COMP_MOVE_DEST: HRESULT = 0x8011081Du32 as HRESULT; +pub const COMADMIN_E_COMP_MOVE_PRIVATE: HRESULT = 0x8011081Eu32 as HRESULT; +pub const COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET: HRESULT = 0x8011081Fu32 as HRESULT; +pub const COMADMIN_E_CANNOT_ALIAS_EVENTCLASS: HRESULT = 0x80110820u32 as HRESULT; +pub const COMADMIN_E_PRIVATE_ACCESSDENIED: HRESULT = 0x80110821u32 as HRESULT; +pub const COMADMIN_E_SAFERINVALID: HRESULT = 0x80110822u32 as HRESULT; +pub const COMADMIN_E_REGISTRY_ACCESSDENIED: HRESULT = 0x80110823u32 as HRESULT; +pub const COMADMIN_E_PARTITIONS_DISABLED: HRESULT = 0x80110824u32 as HRESULT; +pub const WER_S_REPORT_DEBUG: HRESULT = 0x001B0000; +pub const WER_S_REPORT_UPLOADED: HRESULT = 0x001B0001; +pub const WER_S_REPORT_QUEUED: HRESULT = 0x001B0002; +pub const WER_S_DISABLED: HRESULT = 0x001B0003; +pub const WER_S_SUSPENDED_UPLOAD: HRESULT = 0x001B0004; +pub const WER_S_DISABLED_QUEUE: HRESULT = 0x001B0005; +pub const WER_S_DISABLED_ARCHIVE: HRESULT = 0x001B0006; +pub const WER_S_REPORT_ASYNC: HRESULT = 0x001B0007; +pub const WER_S_IGNORE_ASSERT_INSTANCE: HRESULT = 0x001B0008; +pub const WER_S_IGNORE_ALL_ASSERTS: HRESULT = 0x001B0009; +pub const WER_S_ASSERT_CONTINUE: HRESULT = 0x001B000A; +pub const WER_S_THROTTLED: HRESULT = 0x001B000B; +pub const WER_E_CRASH_FAILURE: HRESULT = 0x801B8000u32 as HRESULT; +pub const WER_E_CANCELED: HRESULT = 0x801B8001u32 as HRESULT; +pub const WER_E_NETWORK_FAILURE: HRESULT = 0x801B8002u32 as HRESULT; +pub const WER_E_NOT_INITIALIZED: HRESULT = 0x801B8003u32 as HRESULT; +pub const WER_E_ALREADY_REPORTING: HRESULT = 0x801B8004u32 as HRESULT; +pub const WER_E_DUMP_THROTTLED: HRESULT = 0x801B8005u32 as HRESULT; +pub const ERROR_FLT_IO_COMPLETE: HRESULT = 0x001F0001; +pub const ERROR_FLT_NO_HANDLER_DEFINED: HRESULT = 0x801F0001u32 as HRESULT; +pub const ERROR_FLT_CONTEXT_ALREADY_DEFINED: HRESULT = 0x801F0002u32 as HRESULT; +pub const ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST: HRESULT = 0x801F0003u32 as HRESULT; +pub const ERROR_FLT_DISALLOW_FAST_IO: HRESULT = 0x801F0004u32 as HRESULT; +pub const ERROR_FLT_INVALID_NAME_REQUEST: HRESULT = 0x801F0005u32 as HRESULT; +pub const ERROR_FLT_NOT_SAFE_TO_POST_OPERATION: HRESULT = 0x801F0006u32 as HRESULT; +pub const ERROR_FLT_NOT_INITIALIZED: HRESULT = 0x801F0007u32 as HRESULT; +pub const ERROR_FLT_FILTER_NOT_READY: HRESULT = 0x801F0008u32 as HRESULT; +pub const ERROR_FLT_POST_OPERATION_CLEANUP: HRESULT = 0x801F0009u32 as HRESULT; +pub const ERROR_FLT_INTERNAL_ERROR: HRESULT = 0x801F000Au32 as HRESULT; +pub const ERROR_FLT_DELETING_OBJECT: HRESULT = 0x801F000Bu32 as HRESULT; +pub const ERROR_FLT_MUST_BE_NONPAGED_POOL: HRESULT = 0x801F000Cu32 as HRESULT; +pub const ERROR_FLT_DUPLICATE_ENTRY: HRESULT = 0x801F000Du32 as HRESULT; +pub const ERROR_FLT_CBDQ_DISABLED: HRESULT = 0x801F000Eu32 as HRESULT; +pub const ERROR_FLT_DO_NOT_ATTACH: HRESULT = 0x801F000Fu32 as HRESULT; +pub const ERROR_FLT_DO_NOT_DETACH: HRESULT = 0x801F0010u32 as HRESULT; +pub const ERROR_FLT_INSTANCE_ALTITUDE_COLLISION: HRESULT = 0x801F0011u32 as HRESULT; +pub const ERROR_FLT_INSTANCE_NAME_COLLISION: HRESULT = 0x801F0012u32 as HRESULT; +pub const ERROR_FLT_FILTER_NOT_FOUND: HRESULT = 0x801F0013u32 as HRESULT; +pub const ERROR_FLT_VOLUME_NOT_FOUND: HRESULT = 0x801F0014u32 as HRESULT; +pub const ERROR_FLT_INSTANCE_NOT_FOUND: HRESULT = 0x801F0015u32 as HRESULT; +pub const ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND: HRESULT = 0x801F0016u32 as HRESULT; +pub const ERROR_FLT_INVALID_CONTEXT_REGISTRATION: HRESULT = 0x801F0017u32 as HRESULT; +pub const ERROR_FLT_NAME_CACHE_MISS: HRESULT = 0x801F0018u32 as HRESULT; +pub const ERROR_FLT_NO_DEVICE_OBJECT: HRESULT = 0x801F0019u32 as HRESULT; +pub const ERROR_FLT_VOLUME_ALREADY_MOUNTED: HRESULT = 0x801F001Au32 as HRESULT; +pub const ERROR_FLT_ALREADY_ENLISTED: HRESULT = 0x801F001Bu32 as HRESULT; +pub const ERROR_FLT_CONTEXT_ALREADY_LINKED: HRESULT = 0x801F001Cu32 as HRESULT; +pub const ERROR_FLT_NO_WAITER_FOR_REPLY: HRESULT = 0x801F0020u32 as HRESULT; +pub const ERROR_FLT_REGISTRATION_BUSY: HRESULT = 0x801F0023u32 as HRESULT; +pub const ERROR_HUNG_DISPLAY_DRIVER_THREAD: HRESULT = 0x80260001u32 as HRESULT; +pub const DWM_E_COMPOSITIONDISABLED: HRESULT = 0x80263001u32 as HRESULT; +pub const DWM_E_REMOTING_NOT_SUPPORTED: HRESULT = 0x80263002u32 as HRESULT; +pub const DWM_E_NO_REDIRECTION_SURFACE_AVAILABLE: HRESULT = 0x80263003u32 as HRESULT; +pub const DWM_E_NOT_QUEUING_PRESENTS: HRESULT = 0x80263004u32 as HRESULT; +pub const DWM_E_ADAPTER_NOT_FOUND: HRESULT = 0x80263005u32 as HRESULT; +pub const DWM_S_GDI_REDIRECTION_SURFACE: HRESULT = 0x00263005; +pub const DWM_E_TEXTURE_TOO_LARGE: HRESULT = 0x80263007u32 as HRESULT; +pub const ERROR_MONITOR_NO_DESCRIPTOR: HRESULT = 0x80261001u32 as HRESULT; +pub const ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT: HRESULT = 0x80261002u32 as HRESULT; +pub const ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM: HRESULT = 0xC0261003u32 as HRESULT; +pub const ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK: HRESULT = 0xC0261004u32 as HRESULT; +pub const ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED: HRESULT = 0xC0261005u32 as HRESULT; +pub const ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK: HRESULT = 0xC0261006u32 as HRESULT; +pub const ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK: HRESULT = 0xC0261007u32 as HRESULT; +pub const ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA: HRESULT = 0xC0261008u32 as HRESULT; +pub const ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK: HRESULT = 0xC0261009u32 as HRESULT; +pub const ERROR_MONITOR_INVALID_MANUFACTURE_DATE: HRESULT = 0xC026100Au32 as HRESULT; +pub const ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER: HRESULT = 0xC0262000u32 as HRESULT; +pub const ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER: HRESULT = 0xC0262001u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER: HRESULT = 0xC0262002u32 as HRESULT; +pub const ERROR_GRAPHICS_ADAPTER_WAS_RESET: HRESULT = 0xC0262003u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_DRIVER_MODEL: HRESULT = 0xC0262004u32 as HRESULT; +pub const ERROR_GRAPHICS_PRESENT_MODE_CHANGED: HRESULT = 0xC0262005u32 as HRESULT; +pub const ERROR_GRAPHICS_PRESENT_OCCLUDED: HRESULT = 0xC0262006u32 as HRESULT; +pub const ERROR_GRAPHICS_PRESENT_DENIED: HRESULT = 0xC0262007u32 as HRESULT; +pub const ERROR_GRAPHICS_CANNOTCOLORCONVERT: HRESULT = 0xC0262008u32 as HRESULT; +pub const ERROR_GRAPHICS_DRIVER_MISMATCH: HRESULT = 0xC0262009u32 as HRESULT; +pub const ERROR_GRAPHICS_PARTIAL_DATA_POPULATED: HRESULT = 0x4026200A; +pub const ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED: HRESULT = 0xC026200Bu32 as HRESULT; +pub const ERROR_GRAPHICS_PRESENT_UNOCCLUDED: HRESULT = 0xC026200Cu32 as HRESULT; +pub const ERROR_GRAPHICS_WINDOWDC_NOT_AVAILABLE: HRESULT = 0xC026200Du32 as HRESULT; +pub const ERROR_GRAPHICS_WINDOWLESS_PRESENT_DISABLED: HRESULT = 0xC026200Eu32 as HRESULT; +pub const ERROR_GRAPHICS_NO_VIDEO_MEMORY: HRESULT = 0xC0262100u32 as HRESULT; +pub const ERROR_GRAPHICS_CANT_LOCK_MEMORY: HRESULT = 0xC0262101u32 as HRESULT; +pub const ERROR_GRAPHICS_ALLOCATION_BUSY: HRESULT = 0xC0262102u32 as HRESULT; +pub const ERROR_GRAPHICS_TOO_MANY_REFERENCES: HRESULT = 0xC0262103u32 as HRESULT; +pub const ERROR_GRAPHICS_TRY_AGAIN_LATER: HRESULT = 0xC0262104u32 as HRESULT; +pub const ERROR_GRAPHICS_TRY_AGAIN_NOW: HRESULT = 0xC0262105u32 as HRESULT; +pub const ERROR_GRAPHICS_ALLOCATION_INVALID: HRESULT = 0xC0262106u32 as HRESULT; +pub const ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE: HRESULT = 0xC0262107u32 as HRESULT; +pub const ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED: HRESULT = 0xC0262108u32 as HRESULT; +pub const ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION: HRESULT = 0xC0262109u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE: HRESULT = 0xC0262110u32 as HRESULT; +pub const ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION: HRESULT = 0xC0262111u32 as HRESULT; +pub const ERROR_GRAPHICS_ALLOCATION_CLOSED: HRESULT = 0xC0262112u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE: HRESULT = 0xC0262113u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE: HRESULT = 0xC0262114u32 as HRESULT; +pub const ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE: HRESULT = 0xC0262115u32 as HRESULT; +pub const ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST: HRESULT = 0xC0262116u32 as HRESULT; +pub const ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE: HRESULT = 0xC0262200u32 as HRESULT; +pub const ERROR_GRAPHICS_SKIP_ALLOCATION_PREPARATION: HRESULT = 0x40262201; +pub const ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY: HRESULT = 0xC0262300u32 as HRESULT; +pub const ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED: HRESULT = 0xC0262301u32 as HRESULT; +pub const ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED: HRESULT = 0xC0262302u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_VIDPN: HRESULT = 0xC0262303u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE: HRESULT = 0xC0262304u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET: HRESULT = 0xC0262305u32 as HRESULT; +pub const ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED: HRESULT = 0xC0262306u32 as HRESULT; +pub const ERROR_GRAPHICS_MODE_NOT_PINNED: HRESULT = 0x00262307; +pub const ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET: HRESULT = 0xC0262308u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET: HRESULT = 0xC0262309u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_FREQUENCY: HRESULT = 0xC026230Au32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_ACTIVE_REGION: HRESULT = 0xC026230Bu32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_TOTAL_REGION: HRESULT = 0xC026230Cu32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE: HRESULT = 0xC0262310u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE: HRESULT = 0xC0262311u32 as HRESULT; +pub const ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET: HRESULT = 0xC0262312u32 as HRESULT; +pub const ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY: HRESULT = 0xC0262313u32 as HRESULT; +pub const ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET: HRESULT = 0xC0262314u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET: HRESULT = 0xC0262315u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET: HRESULT = 0xC0262316u32 as HRESULT; +pub const ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET: HRESULT = 0xC0262317u32 as HRESULT; +pub const ERROR_GRAPHICS_TARGET_ALREADY_IN_SET: HRESULT = 0xC0262318u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH: HRESULT = 0xC0262319u32 as HRESULT; +pub const ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY: HRESULT = 0xC026231Au32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET: HRESULT = 0xC026231Bu32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE: HRESULT = 0xC026231Cu32 as HRESULT; +pub const ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET: HRESULT = 0xC026231Du32 as HRESULT; +pub const ERROR_GRAPHICS_NO_PREFERRED_MODE: HRESULT = 0x0026231E; +pub const ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET: HRESULT = 0xC026231Fu32 as HRESULT; +pub const ERROR_GRAPHICS_STALE_MODESET: HRESULT = 0xC0262320u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET: HRESULT = 0xC0262321u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE: HRESULT = 0xC0262322u32 as HRESULT; +pub const ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN: HRESULT = 0xC0262323u32 as HRESULT; +pub const ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE: HRESULT = 0xC0262324u32 as HRESULT; +pub const ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION: HRESULT = 0xC0262325u32 as HRESULT; +pub const ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES: HRESULT = 0xC0262326u32 as HRESULT; +pub const ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY: HRESULT = 0xC0262327u32 as HRESULT; +pub const ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE: HRESULT = 0xC0262328u32 as HRESULT; +pub const ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET: HRESULT = 0xC0262329u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET: HRESULT = 0xC026232Au32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR: HRESULT = 0xC026232Bu32 as HRESULT; +pub const ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET: HRESULT = 0xC026232Cu32 as HRESULT; +pub const ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET: HRESULT = 0xC026232Du32 as HRESULT; +pub const ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE: HRESULT = 0xC026232Eu32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE: HRESULT = 0xC026232Fu32 as HRESULT; +pub const ERROR_GRAPHICS_RESOURCES_NOT_RELATED: HRESULT = 0xC0262330u32 as HRESULT; +pub const ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE: HRESULT = 0xC0262331u32 as HRESULT; +pub const ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE: HRESULT = 0xC0262332u32 as HRESULT; +pub const ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET: HRESULT = 0xC0262333u32 as HRESULT; +pub const ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER: HRESULT = 0xC0262334u32 as HRESULT; +pub const ERROR_GRAPHICS_NO_VIDPNMGR: HRESULT = 0xC0262335u32 as HRESULT; +pub const ERROR_GRAPHICS_NO_ACTIVE_VIDPN: HRESULT = 0xC0262336u32 as HRESULT; +pub const ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY: HRESULT = 0xC0262337u32 as HRESULT; +pub const ERROR_GRAPHICS_MONITOR_NOT_CONNECTED: HRESULT = 0xC0262338u32 as HRESULT; +pub const ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY: HRESULT = 0xC0262339u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE: HRESULT = 0xC026233Au32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE: HRESULT = 0xC026233Bu32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_STRIDE: HRESULT = 0xC026233Cu32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_PIXELFORMAT: HRESULT = 0xC026233Du32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_COLORBASIS: HRESULT = 0xC026233Eu32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE: HRESULT = 0xC026233Fu32 as HRESULT; +pub const ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY: HRESULT = 0xC0262340u32 as HRESULT; +pub const ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT: HRESULT = 0xC0262341u32 as HRESULT; +pub const ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE: HRESULT = 0xC0262342u32 as HRESULT; +pub const ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN: HRESULT = 0xC0262343u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL: HRESULT = 0xC0262344u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION: HRESULT = 0xC0262345u32 as HRESULT; +pub const ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED: HRESULT = 0xC0262346u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_GAMMA_RAMP: HRESULT = 0xC0262347u32 as HRESULT; +pub const ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED: HRESULT = 0xC0262348u32 as HRESULT; +pub const ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED: HRESULT = 0xC0262349u32 as HRESULT; +pub const ERROR_GRAPHICS_MODE_NOT_IN_MODESET: HRESULT = 0xC026234Au32 as HRESULT; +pub const ERROR_GRAPHICS_DATASET_IS_EMPTY: HRESULT = 0x0026234B; +pub const ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET: HRESULT = 0x0026234C; +pub const ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON: HRESULT = 0xC026234Du32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE: HRESULT = 0xC026234Eu32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE: HRESULT = 0xC026234Fu32 as HRESULT; +pub const ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS: HRESULT = 0xC0262350u32 as HRESULT; +pub const ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED: HRESULT = 0x00262351; +pub const ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING: HRESULT = 0xC0262352u32 as HRESULT; +pub const ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED: HRESULT = 0xC0262353u32 as HRESULT; +pub const ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS: HRESULT = 0xC0262354u32 as HRESULT; +pub const ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT: HRESULT = 0xC0262355u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM: HRESULT = 0xC0262356u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN: HRESULT = 0xC0262357u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT: HRESULT = 0xC0262358u32 as HRESULT; +pub const ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED: HRESULT = 0xC0262359u32 as HRESULT; +pub const ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION: HRESULT = 0xC026235Au32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_CLIENT_TYPE: HRESULT = 0xC026235Bu32 as HRESULT; +pub const ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET: HRESULT = 0xC026235Cu32 as HRESULT; +pub const ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED: HRESULT = 0xC0262400u32 as HRESULT; +pub const ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED: HRESULT = 0xC0262401u32 as HRESULT; +pub const ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS: HRESULT = 0x4026242F; +pub const ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER: HRESULT = 0xC0262430u32 as HRESULT; +pub const ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED: HRESULT = 0xC0262431u32 as HRESULT; +pub const ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED: HRESULT = 0xC0262432u32 as HRESULT; +pub const ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY: HRESULT = 0xC0262433u32 as HRESULT; +pub const ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED: HRESULT = 0xC0262434u32 as HRESULT; +pub const ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON: HRESULT = 0xC0262435u32 as HRESULT; +pub const ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE: HRESULT = 0xC0262436u32 as HRESULT; +pub const ERROR_GRAPHICS_LEADLINK_START_DEFERRED: HRESULT = 0x40262437; +pub const ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER: HRESULT = 0xC0262438u32 as HRESULT; +pub const ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY: HRESULT = 0x40262439; +pub const ERROR_GRAPHICS_START_DEFERRED: HRESULT = 0x4026243A; +pub const ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED: HRESULT = 0xC026243Bu32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_NOT_SUPPORTED: HRESULT = 0xC0262500u32 as HRESULT; +pub const ERROR_GRAPHICS_COPP_NOT_SUPPORTED: HRESULT = 0xC0262501u32 as HRESULT; +pub const ERROR_GRAPHICS_UAB_NOT_SUPPORTED: HRESULT = 0xC0262502u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS: HRESULT = 0xC0262503u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST: HRESULT = 0xC0262505u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_INTERNAL_ERROR: HRESULT = 0xC026250Bu32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_INVALID_HANDLE: HRESULT = 0xC026250Cu32 as HRESULT; +pub const ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH: HRESULT = 0xC026250Eu32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED: HRESULT = 0xC026250Fu32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED: HRESULT = 0xC0262510u32 as HRESULT; +pub const ERROR_GRAPHICS_PVP_HFS_FAILED: HRESULT = 0xC0262511u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_INVALID_SRM: HRESULT = 0xC0262512u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP: HRESULT = 0xC0262513u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP: HRESULT = 0xC0262514u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA: HRESULT = 0xC0262515u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET: HRESULT = 0xC0262516u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH: HRESULT = 0xC0262517u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE: HRESULT = 0xC0262518u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS: HRESULT = 0xC026251Au32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS: HRESULT = 0xC026251Bu32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS: HRESULT = 0xC026251Cu32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST: HRESULT = 0xC026251Du32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR: HRESULT = 0xC026251Eu32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS: HRESULT = 0xC026251Fu32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED: HRESULT = 0xC0262520u32 as HRESULT; +pub const ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST: HRESULT = 0xC0262521u32 as HRESULT; +pub const ERROR_GRAPHICS_I2C_NOT_SUPPORTED: HRESULT = 0xC0262580u32 as HRESULT; +pub const ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST: HRESULT = 0xC0262581u32 as HRESULT; +pub const ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA: HRESULT = 0xC0262582u32 as HRESULT; +pub const ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA: HRESULT = 0xC0262583u32 as HRESULT; +pub const ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED: HRESULT = 0xC0262584u32 as HRESULT; +pub const ERROR_GRAPHICS_DDCCI_INVALID_DATA: HRESULT = 0xC0262585u32 as HRESULT; +pub const ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE: HRESULT = 0xC0262586u32 as HRESULT; +pub const ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING: HRESULT = 0xC0262587u32 as HRESULT; +pub const ERROR_GRAPHICS_MCA_INTERNAL_ERROR: HRESULT = 0xC0262588u32 as HRESULT; +pub const ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND: HRESULT = 0xC0262589u32 as HRESULT; +pub const ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH: HRESULT = 0xC026258Au32 as HRESULT; +pub const ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM: HRESULT = 0xC026258Bu32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE: HRESULT = 0xC026258Cu32 as HRESULT; +pub const ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS: HRESULT = 0xC026258Du32 as HRESULT; +pub const ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE: HRESULT = 0xC02625D8u32 as HRESULT; +pub const ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION: HRESULT = 0xC02625D9u32 as HRESULT; +pub const ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION: HRESULT = 0xC02625DAu32 as HRESULT; +pub const ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH: HRESULT = 0xC02625DBu32 as HRESULT; +pub const ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION: HRESULT = 0xC02625DCu32 as HRESULT; +pub const ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED: HRESULT = 0xC02625DEu32 as HRESULT; +pub const ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE: HRESULT = 0xC02625DFu32 as HRESULT; +pub const ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED: HRESULT = 0xC02625E0u32 as HRESULT; +pub const ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME: HRESULT = 0xC02625E1u32 as HRESULT; +pub const ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP: HRESULT = 0xC02625E2u32 as HRESULT; +pub const ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED: HRESULT = 0xC02625E3u32 as HRESULT; +pub const ERROR_GRAPHICS_INVALID_POINTER: HRESULT = 0xC02625E4u32 as HRESULT; +pub const ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE: HRESULT = 0xC02625E5u32 as HRESULT; +pub const ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL: HRESULT = 0xC02625E6u32 as HRESULT; +pub const ERROR_GRAPHICS_INTERNAL_ERROR: HRESULT = 0xC02625E7u32 as HRESULT; +pub const ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS: HRESULT = 0xC02605E8u32 as HRESULT; +pub const NAP_E_INVALID_PACKET: HRESULT = 0x80270001u32 as HRESULT; +pub const NAP_E_MISSING_SOH: HRESULT = 0x80270002u32 as HRESULT; +pub const NAP_E_CONFLICTING_ID: HRESULT = 0x80270003u32 as HRESULT; +pub const NAP_E_NO_CACHED_SOH: HRESULT = 0x80270004u32 as HRESULT; +pub const NAP_E_STILL_BOUND: HRESULT = 0x80270005u32 as HRESULT; +pub const NAP_E_NOT_REGISTERED: HRESULT = 0x80270006u32 as HRESULT; +pub const NAP_E_NOT_INITIALIZED: HRESULT = 0x80270007u32 as HRESULT; +pub const NAP_E_MISMATCHED_ID: HRESULT = 0x80270008u32 as HRESULT; +pub const NAP_E_NOT_PENDING: HRESULT = 0x80270009u32 as HRESULT; +pub const NAP_E_ID_NOT_FOUND: HRESULT = 0x8027000Au32 as HRESULT; +pub const NAP_E_MAXSIZE_TOO_SMALL: HRESULT = 0x8027000Bu32 as HRESULT; +pub const NAP_E_SERVICE_NOT_RUNNING: HRESULT = 0x8027000Cu32 as HRESULT; +pub const NAP_S_CERT_ALREADY_PRESENT: HRESULT = 0x0027000D; +pub const NAP_E_ENTITY_DISABLED: HRESULT = 0x8027000Eu32 as HRESULT; +pub const NAP_E_NETSH_GROUPPOLICY_ERROR: HRESULT = 0x8027000Fu32 as HRESULT; +pub const NAP_E_TOO_MANY_CALLS: HRESULT = 0x80270010u32 as HRESULT; +pub const NAP_E_SHV_CONFIG_EXISTED: HRESULT = 0x80270011u32 as HRESULT; +pub const NAP_E_SHV_CONFIG_NOT_FOUND: HRESULT = 0x80270012u32 as HRESULT; +pub const NAP_E_SHV_TIMEOUT: HRESULT = 0x80270013u32 as HRESULT; +pub const TPM_E_ERROR_MASK: HRESULT = 0x80280000u32 as HRESULT; +pub const TPM_E_AUTHFAIL: HRESULT = 0x80280001u32 as HRESULT; +pub const TPM_E_BADINDEX: HRESULT = 0x80280002u32 as HRESULT; +pub const TPM_E_BAD_PARAMETER: HRESULT = 0x80280003u32 as HRESULT; +pub const TPM_E_AUDITFAILURE: HRESULT = 0x80280004u32 as HRESULT; +pub const TPM_E_CLEAR_DISABLED: HRESULT = 0x80280005u32 as HRESULT; +pub const TPM_E_DEACTIVATED: HRESULT = 0x80280006u32 as HRESULT; +pub const TPM_E_DISABLED: HRESULT = 0x80280007u32 as HRESULT; +pub const TPM_E_DISABLED_CMD: HRESULT = 0x80280008u32 as HRESULT; +pub const TPM_E_FAIL: HRESULT = 0x80280009u32 as HRESULT; +pub const TPM_E_BAD_ORDINAL: HRESULT = 0x8028000Au32 as HRESULT; +pub const TPM_E_INSTALL_DISABLED: HRESULT = 0x8028000Bu32 as HRESULT; +pub const TPM_E_INVALID_KEYHANDLE: HRESULT = 0x8028000Cu32 as HRESULT; +pub const TPM_E_KEYNOTFOUND: HRESULT = 0x8028000Du32 as HRESULT; +pub const TPM_E_INAPPROPRIATE_ENC: HRESULT = 0x8028000Eu32 as HRESULT; +pub const TPM_E_MIGRATEFAIL: HRESULT = 0x8028000Fu32 as HRESULT; +pub const TPM_E_INVALID_PCR_INFO: HRESULT = 0x80280010u32 as HRESULT; +pub const TPM_E_NOSPACE: HRESULT = 0x80280011u32 as HRESULT; +pub const TPM_E_NOSRK: HRESULT = 0x80280012u32 as HRESULT; +pub const TPM_E_NOTSEALED_BLOB: HRESULT = 0x80280013u32 as HRESULT; +pub const TPM_E_OWNER_SET: HRESULT = 0x80280014u32 as HRESULT; +pub const TPM_E_RESOURCES: HRESULT = 0x80280015u32 as HRESULT; +pub const TPM_E_SHORTRANDOM: HRESULT = 0x80280016u32 as HRESULT; +pub const TPM_E_SIZE: HRESULT = 0x80280017u32 as HRESULT; +pub const TPM_E_WRONGPCRVAL: HRESULT = 0x80280018u32 as HRESULT; +pub const TPM_E_BAD_PARAM_SIZE: HRESULT = 0x80280019u32 as HRESULT; +pub const TPM_E_SHA_THREAD: HRESULT = 0x8028001Au32 as HRESULT; +pub const TPM_E_SHA_ERROR: HRESULT = 0x8028001Bu32 as HRESULT; +pub const TPM_E_FAILEDSELFTEST: HRESULT = 0x8028001Cu32 as HRESULT; +pub const TPM_E_AUTH2FAIL: HRESULT = 0x8028001Du32 as HRESULT; +pub const TPM_E_BADTAG: HRESULT = 0x8028001Eu32 as HRESULT; +pub const TPM_E_IOERROR: HRESULT = 0x8028001Fu32 as HRESULT; +pub const TPM_E_ENCRYPT_ERROR: HRESULT = 0x80280020u32 as HRESULT; +pub const TPM_E_DECRYPT_ERROR: HRESULT = 0x80280021u32 as HRESULT; +pub const TPM_E_INVALID_AUTHHANDLE: HRESULT = 0x80280022u32 as HRESULT; +pub const TPM_E_NO_ENDORSEMENT: HRESULT = 0x80280023u32 as HRESULT; +pub const TPM_E_INVALID_KEYUSAGE: HRESULT = 0x80280024u32 as HRESULT; +pub const TPM_E_WRONG_ENTITYTYPE: HRESULT = 0x80280025u32 as HRESULT; +pub const TPM_E_INVALID_POSTINIT: HRESULT = 0x80280026u32 as HRESULT; +pub const TPM_E_INAPPROPRIATE_SIG: HRESULT = 0x80280027u32 as HRESULT; +pub const TPM_E_BAD_KEY_PROPERTY: HRESULT = 0x80280028u32 as HRESULT; +pub const TPM_E_BAD_MIGRATION: HRESULT = 0x80280029u32 as HRESULT; +pub const TPM_E_BAD_SCHEME: HRESULT = 0x8028002Au32 as HRESULT; +pub const TPM_E_BAD_DATASIZE: HRESULT = 0x8028002Bu32 as HRESULT; +pub const TPM_E_BAD_MODE: HRESULT = 0x8028002Cu32 as HRESULT; +pub const TPM_E_BAD_PRESENCE: HRESULT = 0x8028002Du32 as HRESULT; +pub const TPM_E_BAD_VERSION: HRESULT = 0x8028002Eu32 as HRESULT; +pub const TPM_E_NO_WRAP_TRANSPORT: HRESULT = 0x8028002Fu32 as HRESULT; +pub const TPM_E_AUDITFAIL_UNSUCCESSFUL: HRESULT = 0x80280030u32 as HRESULT; +pub const TPM_E_AUDITFAIL_SUCCESSFUL: HRESULT = 0x80280031u32 as HRESULT; +pub const TPM_E_NOTRESETABLE: HRESULT = 0x80280032u32 as HRESULT; +pub const TPM_E_NOTLOCAL: HRESULT = 0x80280033u32 as HRESULT; +pub const TPM_E_BAD_TYPE: HRESULT = 0x80280034u32 as HRESULT; +pub const TPM_E_INVALID_RESOURCE: HRESULT = 0x80280035u32 as HRESULT; +pub const TPM_E_NOTFIPS: HRESULT = 0x80280036u32 as HRESULT; +pub const TPM_E_INVALID_FAMILY: HRESULT = 0x80280037u32 as HRESULT; +pub const TPM_E_NO_NV_PERMISSION: HRESULT = 0x80280038u32 as HRESULT; +pub const TPM_E_REQUIRES_SIGN: HRESULT = 0x80280039u32 as HRESULT; +pub const TPM_E_KEY_NOTSUPPORTED: HRESULT = 0x8028003Au32 as HRESULT; +pub const TPM_E_AUTH_CONFLICT: HRESULT = 0x8028003Bu32 as HRESULT; +pub const TPM_E_AREA_LOCKED: HRESULT = 0x8028003Cu32 as HRESULT; +pub const TPM_E_BAD_LOCALITY: HRESULT = 0x8028003Du32 as HRESULT; +pub const TPM_E_READ_ONLY: HRESULT = 0x8028003Eu32 as HRESULT; +pub const TPM_E_PER_NOWRITE: HRESULT = 0x8028003Fu32 as HRESULT; +pub const TPM_E_FAMILYCOUNT: HRESULT = 0x80280040u32 as HRESULT; +pub const TPM_E_WRITE_LOCKED: HRESULT = 0x80280041u32 as HRESULT; +pub const TPM_E_BAD_ATTRIBUTES: HRESULT = 0x80280042u32 as HRESULT; +pub const TPM_E_INVALID_STRUCTURE: HRESULT = 0x80280043u32 as HRESULT; +pub const TPM_E_KEY_OWNER_CONTROL: HRESULT = 0x80280044u32 as HRESULT; +pub const TPM_E_BAD_COUNTER: HRESULT = 0x80280045u32 as HRESULT; +pub const TPM_E_NOT_FULLWRITE: HRESULT = 0x80280046u32 as HRESULT; +pub const TPM_E_CONTEXT_GAP: HRESULT = 0x80280047u32 as HRESULT; +pub const TPM_E_MAXNVWRITES: HRESULT = 0x80280048u32 as HRESULT; +pub const TPM_E_NOOPERATOR: HRESULT = 0x80280049u32 as HRESULT; +pub const TPM_E_RESOURCEMISSING: HRESULT = 0x8028004Au32 as HRESULT; +pub const TPM_E_DELEGATE_LOCK: HRESULT = 0x8028004Bu32 as HRESULT; +pub const TPM_E_DELEGATE_FAMILY: HRESULT = 0x8028004Cu32 as HRESULT; +pub const TPM_E_DELEGATE_ADMIN: HRESULT = 0x8028004Du32 as HRESULT; +pub const TPM_E_TRANSPORT_NOTEXCLUSIVE: HRESULT = 0x8028004Eu32 as HRESULT; +pub const TPM_E_OWNER_CONTROL: HRESULT = 0x8028004Fu32 as HRESULT; +pub const TPM_E_DAA_RESOURCES: HRESULT = 0x80280050u32 as HRESULT; +pub const TPM_E_DAA_INPUT_DATA0: HRESULT = 0x80280051u32 as HRESULT; +pub const TPM_E_DAA_INPUT_DATA1: HRESULT = 0x80280052u32 as HRESULT; +pub const TPM_E_DAA_ISSUER_SETTINGS: HRESULT = 0x80280053u32 as HRESULT; +pub const TPM_E_DAA_TPM_SETTINGS: HRESULT = 0x80280054u32 as HRESULT; +pub const TPM_E_DAA_STAGE: HRESULT = 0x80280055u32 as HRESULT; +pub const TPM_E_DAA_ISSUER_VALIDITY: HRESULT = 0x80280056u32 as HRESULT; +pub const TPM_E_DAA_WRONG_W: HRESULT = 0x80280057u32 as HRESULT; +pub const TPM_E_BAD_HANDLE: HRESULT = 0x80280058u32 as HRESULT; +pub const TPM_E_BAD_DELEGATE: HRESULT = 0x80280059u32 as HRESULT; +pub const TPM_E_BADCONTEXT: HRESULT = 0x8028005Au32 as HRESULT; +pub const TPM_E_TOOMANYCONTEXTS: HRESULT = 0x8028005Bu32 as HRESULT; +pub const TPM_E_MA_TICKET_SIGNATURE: HRESULT = 0x8028005Cu32 as HRESULT; +pub const TPM_E_MA_DESTINATION: HRESULT = 0x8028005Du32 as HRESULT; +pub const TPM_E_MA_SOURCE: HRESULT = 0x8028005Eu32 as HRESULT; +pub const TPM_E_MA_AUTHORITY: HRESULT = 0x8028005Fu32 as HRESULT; +pub const TPM_E_PERMANENTEK: HRESULT = 0x80280061u32 as HRESULT; +pub const TPM_E_BAD_SIGNATURE: HRESULT = 0x80280062u32 as HRESULT; +pub const TPM_E_NOCONTEXTSPACE: HRESULT = 0x80280063u32 as HRESULT; +pub const TPM_E_COMMAND_BLOCKED: HRESULT = 0x80280400u32 as HRESULT; +pub const TPM_E_INVALID_HANDLE: HRESULT = 0x80280401u32 as HRESULT; +pub const TPM_E_DUPLICATE_VHANDLE: HRESULT = 0x80280402u32 as HRESULT; +pub const TPM_E_EMBEDDED_COMMAND_BLOCKED: HRESULT = 0x80280403u32 as HRESULT; +pub const TPM_E_EMBEDDED_COMMAND_UNSUPPORTED: HRESULT = 0x80280404u32 as HRESULT; +pub const TPM_E_RETRY: HRESULT = 0x80280800u32 as HRESULT; +pub const TPM_E_NEEDS_SELFTEST: HRESULT = 0x80280801u32 as HRESULT; +pub const TPM_E_DOING_SELFTEST: HRESULT = 0x80280802u32 as HRESULT; +pub const TPM_E_DEFEND_LOCK_RUNNING: HRESULT = 0x80280803u32 as HRESULT; +pub const TBS_E_INTERNAL_ERROR: HRESULT = 0x80284001u32 as HRESULT; +pub const TBS_E_BAD_PARAMETER: HRESULT = 0x80284002u32 as HRESULT; +pub const TBS_E_INVALID_OUTPUT_POINTER: HRESULT = 0x80284003u32 as HRESULT; +pub const TBS_E_INVALID_CONTEXT: HRESULT = 0x80284004u32 as HRESULT; +pub const TBS_E_INSUFFICIENT_BUFFER: HRESULT = 0x80284005u32 as HRESULT; +pub const TBS_E_IOERROR: HRESULT = 0x80284006u32 as HRESULT; +pub const TBS_E_INVALID_CONTEXT_PARAM: HRESULT = 0x80284007u32 as HRESULT; +pub const TBS_E_SERVICE_NOT_RUNNING: HRESULT = 0x80284008u32 as HRESULT; +pub const TBS_E_TOO_MANY_TBS_CONTEXTS: HRESULT = 0x80284009u32 as HRESULT; +pub const TBS_E_TOO_MANY_RESOURCES: HRESULT = 0x8028400Au32 as HRESULT; +pub const TBS_E_SERVICE_START_PENDING: HRESULT = 0x8028400Bu32 as HRESULT; +pub const TBS_E_PPI_NOT_SUPPORTED: HRESULT = 0x8028400Cu32 as HRESULT; +pub const TBS_E_COMMAND_CANCELED: HRESULT = 0x8028400Du32 as HRESULT; +pub const TBS_E_BUFFER_TOO_LARGE: HRESULT = 0x8028400Eu32 as HRESULT; +pub const TBS_E_TPM_NOT_FOUND: HRESULT = 0x8028400Fu32 as HRESULT; +pub const TBS_E_SERVICE_DISABLED: HRESULT = 0x80284010u32 as HRESULT; +pub const TBS_E_NO_EVENT_LOG: HRESULT = 0x80284011u32 as HRESULT; +pub const TBS_E_ACCESS_DENIED: HRESULT = 0x80284012u32 as HRESULT; +pub const TBS_E_PROVISIONING_NOT_ALLOWED: HRESULT = 0x80284013u32 as HRESULT; +pub const TBS_E_PPI_FUNCTION_UNSUPPORTED: HRESULT = 0x80284014u32 as HRESULT; +pub const TBS_E_OWNERAUTH_NOT_FOUND: HRESULT = 0x80284015u32 as HRESULT; +pub const TBS_E_PROVISIONING_INCOMPLETE: HRESULT = 0x80284016u32 as HRESULT; +pub const TPMAPI_E_INVALID_STATE: HRESULT = 0x80290100u32 as HRESULT; +pub const TPMAPI_E_NOT_ENOUGH_DATA: HRESULT = 0x80290101u32 as HRESULT; +pub const TPMAPI_E_TOO_MUCH_DATA: HRESULT = 0x80290102u32 as HRESULT; +pub const TPMAPI_E_INVALID_OUTPUT_POINTER: HRESULT = 0x80290103u32 as HRESULT; +pub const TPMAPI_E_INVALID_PARAMETER: HRESULT = 0x80290104u32 as HRESULT; +pub const TPMAPI_E_OUT_OF_MEMORY: HRESULT = 0x80290105u32 as HRESULT; +pub const TPMAPI_E_BUFFER_TOO_SMALL: HRESULT = 0x80290106u32 as HRESULT; +pub const TPMAPI_E_INTERNAL_ERROR: HRESULT = 0x80290107u32 as HRESULT; +pub const TPMAPI_E_ACCESS_DENIED: HRESULT = 0x80290108u32 as HRESULT; +pub const TPMAPI_E_AUTHORIZATION_FAILED: HRESULT = 0x80290109u32 as HRESULT; +pub const TPMAPI_E_INVALID_CONTEXT_HANDLE: HRESULT = 0x8029010Au32 as HRESULT; +pub const TPMAPI_E_TBS_COMMUNICATION_ERROR: HRESULT = 0x8029010Bu32 as HRESULT; +pub const TPMAPI_E_TPM_COMMAND_ERROR: HRESULT = 0x8029010Cu32 as HRESULT; +pub const TPMAPI_E_MESSAGE_TOO_LARGE: HRESULT = 0x8029010Du32 as HRESULT; +pub const TPMAPI_E_INVALID_ENCODING: HRESULT = 0x8029010Eu32 as HRESULT; +pub const TPMAPI_E_INVALID_KEY_SIZE: HRESULT = 0x8029010Fu32 as HRESULT; +pub const TPMAPI_E_ENCRYPTION_FAILED: HRESULT = 0x80290110u32 as HRESULT; +pub const TPMAPI_E_INVALID_KEY_PARAMS: HRESULT = 0x80290111u32 as HRESULT; +pub const TPMAPI_E_INVALID_MIGRATION_AUTHORIZATION_BLOB: HRESULT = 0x80290112u32 as HRESULT; +pub const TPMAPI_E_INVALID_PCR_INDEX: HRESULT = 0x80290113u32 as HRESULT; +pub const TPMAPI_E_INVALID_DELEGATE_BLOB: HRESULT = 0x80290114u32 as HRESULT; +pub const TPMAPI_E_INVALID_CONTEXT_PARAMS: HRESULT = 0x80290115u32 as HRESULT; +pub const TPMAPI_E_INVALID_KEY_BLOB: HRESULT = 0x80290116u32 as HRESULT; +pub const TPMAPI_E_INVALID_PCR_DATA: HRESULT = 0x80290117u32 as HRESULT; +pub const TPMAPI_E_INVALID_OWNER_AUTH: HRESULT = 0x80290118u32 as HRESULT; +pub const TPMAPI_E_FIPS_RNG_CHECK_FAILED: HRESULT = 0x80290119u32 as HRESULT; +pub const TPMAPI_E_EMPTY_TCG_LOG: HRESULT = 0x8029011Au32 as HRESULT; +pub const TPMAPI_E_INVALID_TCG_LOG_ENTRY: HRESULT = 0x8029011Bu32 as HRESULT; +pub const TPMAPI_E_TCG_SEPARATOR_ABSENT: HRESULT = 0x8029011Cu32 as HRESULT; +pub const TPMAPI_E_TCG_INVALID_DIGEST_ENTRY: HRESULT = 0x8029011Du32 as HRESULT; +pub const TPMAPI_E_POLICY_DENIES_OPERATION: HRESULT = 0x8029011Eu32 as HRESULT; +pub const TBSIMP_E_BUFFER_TOO_SMALL: HRESULT = 0x80290200u32 as HRESULT; +pub const TBSIMP_E_CLEANUP_FAILED: HRESULT = 0x80290201u32 as HRESULT; +pub const TBSIMP_E_INVALID_CONTEXT_HANDLE: HRESULT = 0x80290202u32 as HRESULT; +pub const TBSIMP_E_INVALID_CONTEXT_PARAM: HRESULT = 0x80290203u32 as HRESULT; +pub const TBSIMP_E_TPM_ERROR: HRESULT = 0x80290204u32 as HRESULT; +pub const TBSIMP_E_HASH_BAD_KEY: HRESULT = 0x80290205u32 as HRESULT; +pub const TBSIMP_E_DUPLICATE_VHANDLE: HRESULT = 0x80290206u32 as HRESULT; +pub const TBSIMP_E_INVALID_OUTPUT_POINTER: HRESULT = 0x80290207u32 as HRESULT; +pub const TBSIMP_E_INVALID_PARAMETER: HRESULT = 0x80290208u32 as HRESULT; +pub const TBSIMP_E_RPC_INIT_FAILED: HRESULT = 0x80290209u32 as HRESULT; +pub const TBSIMP_E_SCHEDULER_NOT_RUNNING: HRESULT = 0x8029020Au32 as HRESULT; +pub const TBSIMP_E_COMMAND_CANCELED: HRESULT = 0x8029020Bu32 as HRESULT; +pub const TBSIMP_E_OUT_OF_MEMORY: HRESULT = 0x8029020Cu32 as HRESULT; +pub const TBSIMP_E_LIST_NO_MORE_ITEMS: HRESULT = 0x8029020Du32 as HRESULT; +pub const TBSIMP_E_LIST_NOT_FOUND: HRESULT = 0x8029020Eu32 as HRESULT; +pub const TBSIMP_E_NOT_ENOUGH_SPACE: HRESULT = 0x8029020Fu32 as HRESULT; +pub const TBSIMP_E_NOT_ENOUGH_TPM_CONTEXTS: HRESULT = 0x80290210u32 as HRESULT; +pub const TBSIMP_E_COMMAND_FAILED: HRESULT = 0x80290211u32 as HRESULT; +pub const TBSIMP_E_UNKNOWN_ORDINAL: HRESULT = 0x80290212u32 as HRESULT; +pub const TBSIMP_E_RESOURCE_EXPIRED: HRESULT = 0x80290213u32 as HRESULT; +pub const TBSIMP_E_INVALID_RESOURCE: HRESULT = 0x80290214u32 as HRESULT; +pub const TBSIMP_E_NOTHING_TO_UNLOAD: HRESULT = 0x80290215u32 as HRESULT; +pub const TBSIMP_E_HASH_TABLE_FULL: HRESULT = 0x80290216u32 as HRESULT; +pub const TBSIMP_E_TOO_MANY_TBS_CONTEXTS: HRESULT = 0x80290217u32 as HRESULT; +pub const TBSIMP_E_TOO_MANY_RESOURCES: HRESULT = 0x80290218u32 as HRESULT; +pub const TBSIMP_E_PPI_NOT_SUPPORTED: HRESULT = 0x80290219u32 as HRESULT; +pub const TBSIMP_E_TPM_INCOMPATIBLE: HRESULT = 0x8029021Au32 as HRESULT; +pub const TBSIMP_E_NO_EVENT_LOG: HRESULT = 0x8029021Bu32 as HRESULT; +pub const TPM_E_PPI_ACPI_FAILURE: HRESULT = 0x80290300u32 as HRESULT; +pub const TPM_E_PPI_USER_ABORT: HRESULT = 0x80290301u32 as HRESULT; +pub const TPM_E_PPI_BIOS_FAILURE: HRESULT = 0x80290302u32 as HRESULT; +pub const TPM_E_PPI_NOT_SUPPORTED: HRESULT = 0x80290303u32 as HRESULT; +pub const TPM_E_PPI_BLOCKED_IN_BIOS: HRESULT = 0x80290304u32 as HRESULT; +pub const TPM_E_PCP_ERROR_MASK: HRESULT = 0x80290400u32 as HRESULT; +pub const TPM_E_PCP_DEVICE_NOT_READY: HRESULT = 0x80290401u32 as HRESULT; +pub const TPM_E_PCP_INVALID_HANDLE: HRESULT = 0x80290402u32 as HRESULT; +pub const TPM_E_PCP_INVALID_PARAMETER: HRESULT = 0x80290403u32 as HRESULT; +pub const TPM_E_PCP_FLAG_NOT_SUPPORTED: HRESULT = 0x80290404u32 as HRESULT; +pub const TPM_E_PCP_NOT_SUPPORTED: HRESULT = 0x80290405u32 as HRESULT; +pub const TPM_E_PCP_BUFFER_TOO_SMALL: HRESULT = 0x80290406u32 as HRESULT; +pub const TPM_E_PCP_INTERNAL_ERROR: HRESULT = 0x80290407u32 as HRESULT; +pub const TPM_E_PCP_AUTHENTICATION_FAILED: HRESULT = 0x80290408u32 as HRESULT; +pub const TPM_E_PCP_AUTHENTICATION_IGNORED: HRESULT = 0x80290409u32 as HRESULT; +pub const TPM_E_PCP_POLICY_NOT_FOUND: HRESULT = 0x8029040Au32 as HRESULT; +pub const TPM_E_PCP_PROFILE_NOT_FOUND: HRESULT = 0x8029040Bu32 as HRESULT; +pub const TPM_E_PCP_VALIDATION_FAILED: HRESULT = 0x8029040Cu32 as HRESULT; +pub const PLA_E_DCS_NOT_FOUND: HRESULT = 0x80300002u32 as HRESULT; +pub const PLA_E_DCS_IN_USE: HRESULT = 0x803000AAu32 as HRESULT; +pub const PLA_E_TOO_MANY_FOLDERS: HRESULT = 0x80300045u32 as HRESULT; +pub const PLA_E_NO_MIN_DISK: HRESULT = 0x80300070u32 as HRESULT; +pub const PLA_E_DCS_ALREADY_EXISTS: HRESULT = 0x803000B7u32 as HRESULT; +pub const PLA_S_PROPERTY_IGNORED: HRESULT = 0x00300100; +pub const PLA_E_PROPERTY_CONFLICT: HRESULT = 0x80300101u32 as HRESULT; +pub const PLA_E_DCS_SINGLETON_REQUIRED: HRESULT = 0x80300102u32 as HRESULT; +pub const PLA_E_CREDENTIALS_REQUIRED: HRESULT = 0x80300103u32 as HRESULT; +pub const PLA_E_DCS_NOT_RUNNING: HRESULT = 0x80300104u32 as HRESULT; +pub const PLA_E_CONFLICT_INCL_EXCL_API: HRESULT = 0x80300105u32 as HRESULT; +pub const PLA_E_NETWORK_EXE_NOT_VALID: HRESULT = 0x80300106u32 as HRESULT; +pub const PLA_E_EXE_ALREADY_CONFIGURED: HRESULT = 0x80300107u32 as HRESULT; +pub const PLA_E_EXE_PATH_NOT_VALID: HRESULT = 0x80300108u32 as HRESULT; +pub const PLA_E_DC_ALREADY_EXISTS: HRESULT = 0x80300109u32 as HRESULT; +pub const PLA_E_DCS_START_WAIT_TIMEOUT: HRESULT = 0x8030010Au32 as HRESULT; +pub const PLA_E_DC_START_WAIT_TIMEOUT: HRESULT = 0x8030010Bu32 as HRESULT; +pub const PLA_E_REPORT_WAIT_TIMEOUT: HRESULT = 0x8030010Cu32 as HRESULT; +pub const PLA_E_NO_DUPLICATES: HRESULT = 0x8030010Du32 as HRESULT; +pub const PLA_E_EXE_FULL_PATH_REQUIRED: HRESULT = 0x8030010Eu32 as HRESULT; +pub const PLA_E_INVALID_SESSION_NAME: HRESULT = 0x8030010Fu32 as HRESULT; +pub const PLA_E_PLA_CHANNEL_NOT_ENABLED: HRESULT = 0x80300110u32 as HRESULT; +pub const PLA_E_TASKSCHED_CHANNEL_NOT_ENABLED: HRESULT = 0x80300111u32 as HRESULT; +pub const PLA_E_RULES_MANAGER_FAILED: HRESULT = 0x80300112u32 as HRESULT; +pub const PLA_E_CABAPI_FAILURE: HRESULT = 0x80300113u32 as HRESULT; +pub const FVE_E_LOCKED_VOLUME: HRESULT = 0x80310000u32 as HRESULT; +pub const FVE_E_NOT_ENCRYPTED: HRESULT = 0x80310001u32 as HRESULT; +pub const FVE_E_NO_TPM_BIOS: HRESULT = 0x80310002u32 as HRESULT; +pub const FVE_E_NO_MBR_METRIC: HRESULT = 0x80310003u32 as HRESULT; +pub const FVE_E_NO_BOOTSECTOR_METRIC: HRESULT = 0x80310004u32 as HRESULT; +pub const FVE_E_NO_BOOTMGR_METRIC: HRESULT = 0x80310005u32 as HRESULT; +pub const FVE_E_WRONG_BOOTMGR: HRESULT = 0x80310006u32 as HRESULT; +pub const FVE_E_SECURE_KEY_REQUIRED: HRESULT = 0x80310007u32 as HRESULT; +pub const FVE_E_NOT_ACTIVATED: HRESULT = 0x80310008u32 as HRESULT; +pub const FVE_E_ACTION_NOT_ALLOWED: HRESULT = 0x80310009u32 as HRESULT; +pub const FVE_E_AD_SCHEMA_NOT_INSTALLED: HRESULT = 0x8031000Au32 as HRESULT; +pub const FVE_E_AD_INVALID_DATATYPE: HRESULT = 0x8031000Bu32 as HRESULT; +pub const FVE_E_AD_INVALID_DATASIZE: HRESULT = 0x8031000Cu32 as HRESULT; +pub const FVE_E_AD_NO_VALUES: HRESULT = 0x8031000Du32 as HRESULT; +pub const FVE_E_AD_ATTR_NOT_SET: HRESULT = 0x8031000Eu32 as HRESULT; +pub const FVE_E_AD_GUID_NOT_FOUND: HRESULT = 0x8031000Fu32 as HRESULT; +pub const FVE_E_BAD_INFORMATION: HRESULT = 0x80310010u32 as HRESULT; +pub const FVE_E_TOO_SMALL: HRESULT = 0x80310011u32 as HRESULT; +pub const FVE_E_SYSTEM_VOLUME: HRESULT = 0x80310012u32 as HRESULT; +pub const FVE_E_FAILED_WRONG_FS: HRESULT = 0x80310013u32 as HRESULT; +pub const FVE_E_BAD_PARTITION_SIZE: HRESULT = 0x80310014u32 as HRESULT; +pub const FVE_E_NOT_SUPPORTED: HRESULT = 0x80310015u32 as HRESULT; +pub const FVE_E_BAD_DATA: HRESULT = 0x80310016u32 as HRESULT; +pub const FVE_E_VOLUME_NOT_BOUND: HRESULT = 0x80310017u32 as HRESULT; +pub const FVE_E_TPM_NOT_OWNED: HRESULT = 0x80310018u32 as HRESULT; +pub const FVE_E_NOT_DATA_VOLUME: HRESULT = 0x80310019u32 as HRESULT; +pub const FVE_E_AD_INSUFFICIENT_BUFFER: HRESULT = 0x8031001Au32 as HRESULT; +pub const FVE_E_CONV_READ: HRESULT = 0x8031001Bu32 as HRESULT; +pub const FVE_E_CONV_WRITE: HRESULT = 0x8031001Cu32 as HRESULT; +pub const FVE_E_KEY_REQUIRED: HRESULT = 0x8031001Du32 as HRESULT; +pub const FVE_E_CLUSTERING_NOT_SUPPORTED: HRESULT = 0x8031001Eu32 as HRESULT; +pub const FVE_E_VOLUME_BOUND_ALREADY: HRESULT = 0x8031001Fu32 as HRESULT; +pub const FVE_E_OS_NOT_PROTECTED: HRESULT = 0x80310020u32 as HRESULT; +pub const FVE_E_PROTECTION_DISABLED: HRESULT = 0x80310021u32 as HRESULT; +pub const FVE_E_RECOVERY_KEY_REQUIRED: HRESULT = 0x80310022u32 as HRESULT; +pub const FVE_E_FOREIGN_VOLUME: HRESULT = 0x80310023u32 as HRESULT; +pub const FVE_E_OVERLAPPED_UPDATE: HRESULT = 0x80310024u32 as HRESULT; +pub const FVE_E_TPM_SRK_AUTH_NOT_ZERO: HRESULT = 0x80310025u32 as HRESULT; +pub const FVE_E_FAILED_SECTOR_SIZE: HRESULT = 0x80310026u32 as HRESULT; +pub const FVE_E_FAILED_AUTHENTICATION: HRESULT = 0x80310027u32 as HRESULT; +pub const FVE_E_NOT_OS_VOLUME: HRESULT = 0x80310028u32 as HRESULT; +pub const FVE_E_AUTOUNLOCK_ENABLED: HRESULT = 0x80310029u32 as HRESULT; +pub const FVE_E_WRONG_BOOTSECTOR: HRESULT = 0x8031002Au32 as HRESULT; +pub const FVE_E_WRONG_SYSTEM_FS: HRESULT = 0x8031002Bu32 as HRESULT; +pub const FVE_E_POLICY_PASSWORD_REQUIRED: HRESULT = 0x8031002Cu32 as HRESULT; +pub const FVE_E_CANNOT_SET_FVEK_ENCRYPTED: HRESULT = 0x8031002Du32 as HRESULT; +pub const FVE_E_CANNOT_ENCRYPT_NO_KEY: HRESULT = 0x8031002Eu32 as HRESULT; +pub const FVE_E_BOOTABLE_CDDVD: HRESULT = 0x80310030u32 as HRESULT; +pub const FVE_E_PROTECTOR_EXISTS: HRESULT = 0x80310031u32 as HRESULT; +pub const FVE_E_RELATIVE_PATH: HRESULT = 0x80310032u32 as HRESULT; +pub const FVE_E_PROTECTOR_NOT_FOUND: HRESULT = 0x80310033u32 as HRESULT; +pub const FVE_E_INVALID_KEY_FORMAT: HRESULT = 0x80310034u32 as HRESULT; +pub const FVE_E_INVALID_PASSWORD_FORMAT: HRESULT = 0x80310035u32 as HRESULT; +pub const FVE_E_FIPS_RNG_CHECK_FAILED: HRESULT = 0x80310036u32 as HRESULT; +pub const FVE_E_FIPS_PREVENTS_RECOVERY_PASSWORD: HRESULT = 0x80310037u32 as HRESULT; +pub const FVE_E_FIPS_PREVENTS_EXTERNAL_KEY_EXPORT: HRESULT = 0x80310038u32 as HRESULT; +pub const FVE_E_NOT_DECRYPTED: HRESULT = 0x80310039u32 as HRESULT; +pub const FVE_E_INVALID_PROTECTOR_TYPE: HRESULT = 0x8031003Au32 as HRESULT; +pub const FVE_E_NO_PROTECTORS_TO_TEST: HRESULT = 0x8031003Bu32 as HRESULT; +pub const FVE_E_KEYFILE_NOT_FOUND: HRESULT = 0x8031003Cu32 as HRESULT; +pub const FVE_E_KEYFILE_INVALID: HRESULT = 0x8031003Du32 as HRESULT; +pub const FVE_E_KEYFILE_NO_VMK: HRESULT = 0x8031003Eu32 as HRESULT; +pub const FVE_E_TPM_DISABLED: HRESULT = 0x8031003Fu32 as HRESULT; +pub const FVE_E_NOT_ALLOWED_IN_SAFE_MODE: HRESULT = 0x80310040u32 as HRESULT; +pub const FVE_E_TPM_INVALID_PCR: HRESULT = 0x80310041u32 as HRESULT; +pub const FVE_E_TPM_NO_VMK: HRESULT = 0x80310042u32 as HRESULT; +pub const FVE_E_PIN_INVALID: HRESULT = 0x80310043u32 as HRESULT; +pub const FVE_E_AUTH_INVALID_APPLICATION: HRESULT = 0x80310044u32 as HRESULT; +pub const FVE_E_AUTH_INVALID_CONFIG: HRESULT = 0x80310045u32 as HRESULT; +pub const FVE_E_FIPS_DISABLE_PROTECTION_NOT_ALLOWED: HRESULT = 0x80310046u32 as HRESULT; +pub const FVE_E_FS_NOT_EXTENDED: HRESULT = 0x80310047u32 as HRESULT; +pub const FVE_E_FIRMWARE_TYPE_NOT_SUPPORTED: HRESULT = 0x80310048u32 as HRESULT; +pub const FVE_E_NO_LICENSE: HRESULT = 0x80310049u32 as HRESULT; +pub const FVE_E_NOT_ON_STACK: HRESULT = 0x8031004Au32 as HRESULT; +pub const FVE_E_FS_MOUNTED: HRESULT = 0x8031004Bu32 as HRESULT; +pub const FVE_E_TOKEN_NOT_IMPERSONATED: HRESULT = 0x8031004Cu32 as HRESULT; +pub const FVE_E_DRY_RUN_FAILED: HRESULT = 0x8031004Du32 as HRESULT; +pub const FVE_E_REBOOT_REQUIRED: HRESULT = 0x8031004Eu32 as HRESULT; +pub const FVE_E_DEBUGGER_ENABLED: HRESULT = 0x8031004Fu32 as HRESULT; +pub const FVE_E_RAW_ACCESS: HRESULT = 0x80310050u32 as HRESULT; +pub const FVE_E_RAW_BLOCKED: HRESULT = 0x80310051u32 as HRESULT; +pub const FVE_E_BCD_APPLICATIONS_PATH_INCORRECT: HRESULT = 0x80310052u32 as HRESULT; +pub const FVE_E_NOT_ALLOWED_IN_VERSION: HRESULT = 0x80310053u32 as HRESULT; +pub const FVE_E_NO_AUTOUNLOCK_MASTER_KEY: HRESULT = 0x80310054u32 as HRESULT; +pub const FVE_E_MOR_FAILED: HRESULT = 0x80310055u32 as HRESULT; +pub const FVE_E_HIDDEN_VOLUME: HRESULT = 0x80310056u32 as HRESULT; +pub const FVE_E_TRANSIENT_STATE: HRESULT = 0x80310057u32 as HRESULT; +pub const FVE_E_PUBKEY_NOT_ALLOWED: HRESULT = 0x80310058u32 as HRESULT; +pub const FVE_E_VOLUME_HANDLE_OPEN: HRESULT = 0x80310059u32 as HRESULT; +pub const FVE_E_NO_FEATURE_LICENSE: HRESULT = 0x8031005Au32 as HRESULT; +pub const FVE_E_INVALID_STARTUP_OPTIONS: HRESULT = 0x8031005Bu32 as HRESULT; +pub const FVE_E_POLICY_RECOVERY_PASSWORD_NOT_ALLOWED: HRESULT = 0x8031005Cu32 as HRESULT; +pub const FVE_E_POLICY_RECOVERY_PASSWORD_REQUIRED: HRESULT = 0x8031005Du32 as HRESULT; +pub const FVE_E_POLICY_RECOVERY_KEY_NOT_ALLOWED: HRESULT = 0x8031005Eu32 as HRESULT; +pub const FVE_E_POLICY_RECOVERY_KEY_REQUIRED: HRESULT = 0x8031005Fu32 as HRESULT; +pub const FVE_E_POLICY_STARTUP_PIN_NOT_ALLOWED: HRESULT = 0x80310060u32 as HRESULT; +pub const FVE_E_POLICY_STARTUP_PIN_REQUIRED: HRESULT = 0x80310061u32 as HRESULT; +pub const FVE_E_POLICY_STARTUP_KEY_NOT_ALLOWED: HRESULT = 0x80310062u32 as HRESULT; +pub const FVE_E_POLICY_STARTUP_KEY_REQUIRED: HRESULT = 0x80310063u32 as HRESULT; +pub const FVE_E_POLICY_STARTUP_PIN_KEY_NOT_ALLOWED: HRESULT = 0x80310064u32 as HRESULT; +pub const FVE_E_POLICY_STARTUP_PIN_KEY_REQUIRED: HRESULT = 0x80310065u32 as HRESULT; +pub const FVE_E_POLICY_STARTUP_TPM_NOT_ALLOWED: HRESULT = 0x80310066u32 as HRESULT; +pub const FVE_E_POLICY_STARTUP_TPM_REQUIRED: HRESULT = 0x80310067u32 as HRESULT; +pub const FVE_E_POLICY_INVALID_PIN_LENGTH: HRESULT = 0x80310068u32 as HRESULT; +pub const FVE_E_KEY_PROTECTOR_NOT_SUPPORTED: HRESULT = 0x80310069u32 as HRESULT; +pub const FVE_E_POLICY_PASSPHRASE_NOT_ALLOWED: HRESULT = 0x8031006Au32 as HRESULT; +pub const FVE_E_POLICY_PASSPHRASE_REQUIRED: HRESULT = 0x8031006Bu32 as HRESULT; +pub const FVE_E_FIPS_PREVENTS_PASSPHRASE: HRESULT = 0x8031006Cu32 as HRESULT; +pub const FVE_E_OS_VOLUME_PASSPHRASE_NOT_ALLOWED: HRESULT = 0x8031006Du32 as HRESULT; +pub const FVE_E_INVALID_BITLOCKER_OID: HRESULT = 0x8031006Eu32 as HRESULT; +pub const FVE_E_VOLUME_TOO_SMALL: HRESULT = 0x8031006Fu32 as HRESULT; +pub const FVE_E_DV_NOT_SUPPORTED_ON_FS: HRESULT = 0x80310070u32 as HRESULT; +pub const FVE_E_DV_NOT_ALLOWED_BY_GP: HRESULT = 0x80310071u32 as HRESULT; +pub const FVE_E_POLICY_USER_CERTIFICATE_NOT_ALLOWED: HRESULT = 0x80310072u32 as HRESULT; +pub const FVE_E_POLICY_USER_CERTIFICATE_REQUIRED: HRESULT = 0x80310073u32 as HRESULT; +pub const FVE_E_POLICY_USER_CERT_MUST_BE_HW: HRESULT = 0x80310074u32 as HRESULT; +pub const FVE_E_POLICY_USER_CONFIGURE_FDV_AUTOUNLOCK_NOT_ALLOWED: HRESULT = 0x80310075u32 as HRESULT; +pub const FVE_E_POLICY_USER_CONFIGURE_RDV_AUTOUNLOCK_NOT_ALLOWED: HRESULT = 0x80310076u32 as HRESULT; +pub const FVE_E_POLICY_USER_CONFIGURE_RDV_NOT_ALLOWED: HRESULT = 0x80310077u32 as HRESULT; +pub const FVE_E_POLICY_USER_ENABLE_RDV_NOT_ALLOWED: HRESULT = 0x80310078u32 as HRESULT; +pub const FVE_E_POLICY_USER_DISABLE_RDV_NOT_ALLOWED: HRESULT = 0x80310079u32 as HRESULT; +pub const FVE_E_POLICY_INVALID_PASSPHRASE_LENGTH: HRESULT = 0x80310080u32 as HRESULT; +pub const FVE_E_POLICY_PASSPHRASE_TOO_SIMPLE: HRESULT = 0x80310081u32 as HRESULT; +pub const FVE_E_RECOVERY_PARTITION: HRESULT = 0x80310082u32 as HRESULT; +pub const FVE_E_POLICY_CONFLICT_FDV_RK_OFF_AUK_ON: HRESULT = 0x80310083u32 as HRESULT; +pub const FVE_E_POLICY_CONFLICT_RDV_RK_OFF_AUK_ON: HRESULT = 0x80310084u32 as HRESULT; +pub const FVE_E_NON_BITLOCKER_OID: HRESULT = 0x80310085u32 as HRESULT; +pub const FVE_E_POLICY_PROHIBITS_SELFSIGNED: HRESULT = 0x80310086u32 as HRESULT; +pub const FVE_E_POLICY_CONFLICT_RO_AND_STARTUP_KEY_REQUIRED: HRESULT = 0x80310087u32 as HRESULT; +pub const FVE_E_CONV_RECOVERY_FAILED: HRESULT = 0x80310088u32 as HRESULT; +pub const FVE_E_VIRTUALIZED_SPACE_TOO_BIG: HRESULT = 0x80310089u32 as HRESULT; +pub const FVE_E_POLICY_CONFLICT_OSV_RP_OFF_ADB_ON: HRESULT = 0x80310090u32 as HRESULT; +pub const FVE_E_POLICY_CONFLICT_FDV_RP_OFF_ADB_ON: HRESULT = 0x80310091u32 as HRESULT; +pub const FVE_E_POLICY_CONFLICT_RDV_RP_OFF_ADB_ON: HRESULT = 0x80310092u32 as HRESULT; +pub const FVE_E_NON_BITLOCKER_KU: HRESULT = 0x80310093u32 as HRESULT; +pub const FVE_E_PRIVATEKEY_AUTH_FAILED: HRESULT = 0x80310094u32 as HRESULT; +pub const FVE_E_REMOVAL_OF_DRA_FAILED: HRESULT = 0x80310095u32 as HRESULT; +pub const FVE_E_OPERATION_NOT_SUPPORTED_ON_VISTA_VOLUME: HRESULT = 0x80310096u32 as HRESULT; +pub const FVE_E_CANT_LOCK_AUTOUNLOCK_ENABLED_VOLUME: HRESULT = 0x80310097u32 as HRESULT; +pub const FVE_E_FIPS_HASH_KDF_NOT_ALLOWED: HRESULT = 0x80310098u32 as HRESULT; +pub const FVE_E_ENH_PIN_INVALID: HRESULT = 0x80310099u32 as HRESULT; +pub const FVE_E_INVALID_PIN_CHARS: HRESULT = 0x8031009Au32 as HRESULT; +pub const FVE_E_INVALID_DATUM_TYPE: HRESULT = 0x8031009Bu32 as HRESULT; +pub const FVE_E_EFI_ONLY: HRESULT = 0x8031009Cu32 as HRESULT; +pub const FVE_E_MULTIPLE_NKP_CERTS: HRESULT = 0x8031009Du32 as HRESULT; +pub const FVE_E_REMOVAL_OF_NKP_FAILED: HRESULT = 0x8031009Eu32 as HRESULT; +pub const FVE_E_INVALID_NKP_CERT: HRESULT = 0x8031009Fu32 as HRESULT; +pub const FVE_E_NO_EXISTING_PIN: HRESULT = 0x803100A0u32 as HRESULT; +pub const FVE_E_PROTECTOR_CHANGE_PIN_MISMATCH: HRESULT = 0x803100A1u32 as HRESULT; +pub const FVE_E_PIN_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED: HRESULT = 0x803100A2u32 as HRESULT; +pub const FVE_E_PROTECTOR_CHANGE_MAX_PIN_CHANGE_ATTEMPTS_REACHED: HRESULT = 0x803100A3u32 as HRESULT; +pub const FVE_E_POLICY_PASSPHRASE_REQUIRES_ASCII: HRESULT = 0x803100A4u32 as HRESULT; +pub const FVE_E_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE: HRESULT = 0x803100A5u32 as HRESULT; +pub const FVE_E_WIPE_NOT_ALLOWED_ON_TP_STORAGE: HRESULT = 0x803100A6u32 as HRESULT; +pub const FVE_E_KEY_LENGTH_NOT_SUPPORTED_BY_EDRIVE: HRESULT = 0x803100A7u32 as HRESULT; +pub const FVE_E_NO_EXISTING_PASSPHRASE: HRESULT = 0x803100A8u32 as HRESULT; +pub const FVE_E_PROTECTOR_CHANGE_PASSPHRASE_MISMATCH: HRESULT = 0x803100A9u32 as HRESULT; +pub const FVE_E_PASSPHRASE_TOO_LONG: HRESULT = 0x803100AAu32 as HRESULT; +pub const FVE_E_NO_PASSPHRASE_WITH_TPM: HRESULT = 0x803100ABu32 as HRESULT; +pub const FVE_E_NO_TPM_WITH_PASSPHRASE: HRESULT = 0x803100ACu32 as HRESULT; +pub const FVE_E_NOT_ALLOWED_ON_CSV_STACK: HRESULT = 0x803100ADu32 as HRESULT; +pub const FVE_E_NOT_ALLOWED_ON_CLUSTER: HRESULT = 0x803100AEu32 as HRESULT; +pub const FVE_E_EDRIVE_NO_FAILOVER_TO_SW: HRESULT = 0x803100AFu32 as HRESULT; +pub const FVE_E_EDRIVE_BAND_IN_USE: HRESULT = 0x803100B0u32 as HRESULT; +pub const FVE_E_EDRIVE_DISALLOWED_BY_GP: HRESULT = 0x803100B1u32 as HRESULT; +pub const FVE_E_EDRIVE_INCOMPATIBLE_VOLUME: HRESULT = 0x803100B2u32 as HRESULT; +pub const FVE_E_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING: HRESULT = 0x803100B3u32 as HRESULT; +pub const FVE_E_EDRIVE_DV_NOT_SUPPORTED: HRESULT = 0x803100B4u32 as HRESULT; +pub const FVE_E_NO_PREBOOT_KEYBOARD_DETECTED: HRESULT = 0x803100B5u32 as HRESULT; +pub const FVE_E_NO_PREBOOT_KEYBOARD_OR_WINRE_DETECTED: HRESULT = 0x803100B6u32 as HRESULT; +pub const FVE_E_POLICY_REQUIRES_STARTUP_PIN_ON_TOUCH_DEVICE: HRESULT = 0x803100B7u32 as HRESULT; +pub const FVE_E_POLICY_REQUIRES_RECOVERY_PASSWORD_ON_TOUCH_DEVICE: HRESULT = 0x803100B8u32 as HRESULT; +pub const FVE_E_WIPE_CANCEL_NOT_APPLICABLE: HRESULT = 0x803100B9u32 as HRESULT; +pub const FVE_E_SECUREBOOT_DISABLED: HRESULT = 0x803100BAu32 as HRESULT; +pub const FVE_E_SECUREBOOT_CONFIGURATION_INVALID: HRESULT = 0x803100BBu32 as HRESULT; +pub const FVE_E_EDRIVE_DRY_RUN_FAILED: HRESULT = 0x803100BCu32 as HRESULT; +pub const FVE_E_SHADOW_COPY_PRESENT: HRESULT = 0x803100BDu32 as HRESULT; +pub const FVE_E_POLICY_INVALID_ENHANCED_BCD_SETTINGS: HRESULT = 0x803100BEu32 as HRESULT; +pub const FVE_E_EDRIVE_INCOMPATIBLE_FIRMWARE: HRESULT = 0x803100BFu32 as HRESULT; +pub const FVE_E_PROTECTOR_CHANGE_MAX_PASSPHRASE_CHANGE_ATTEMPTS_REACHED: HRESULT = 0x803100C0u32 as HRESULT; +pub const FVE_E_PASSPHRASE_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED: HRESULT = 0x803100C1u32 as HRESULT; +pub const FVE_E_LIVEID_ACCOUNT_SUSPENDED: HRESULT = 0x803100C2u32 as HRESULT; +pub const FVE_E_LIVEID_ACCOUNT_BLOCKED: HRESULT = 0x803100C3u32 as HRESULT; +pub const FVE_E_NOT_PROVISIONED_ON_ALL_VOLUMES: HRESULT = 0x803100C4u32 as HRESULT; +pub const FVE_E_DE_FIXED_DATA_NOT_SUPPORTED: HRESULT = 0x803100C5u32 as HRESULT; +pub const FVE_E_DE_HARDWARE_NOT_COMPLIANT: HRESULT = 0x803100C6u32 as HRESULT; +pub const FVE_E_DE_WINRE_NOT_CONFIGURED: HRESULT = 0x803100C7u32 as HRESULT; +pub const FVE_E_DE_PROTECTION_SUSPENDED: HRESULT = 0x803100C8u32 as HRESULT; +pub const FVE_E_DE_OS_VOLUME_NOT_PROTECTED: HRESULT = 0x803100C9u32 as HRESULT; +pub const FVE_E_DE_DEVICE_LOCKEDOUT: HRESULT = 0x803100CAu32 as HRESULT; +pub const FVE_E_DE_PROTECTION_NOT_YET_ENABLED: HRESULT = 0x803100CBu32 as HRESULT; +pub const FVE_E_INVALID_PIN_CHARS_DETAILED: HRESULT = 0x803100CCu32 as HRESULT; +pub const FVE_E_DEVICE_LOCKOUT_COUNTER_UNAVAILABLE: HRESULT = 0x803100CDu32 as HRESULT; +pub const FVE_E_DEVICELOCKOUT_COUNTER_MISMATCH: HRESULT = 0x803100CEu32 as HRESULT; +pub const FVE_E_BUFFER_TOO_LARGE: HRESULT = 0x803100CFu32 as HRESULT; +pub const FVE_E_NO_SUCH_CAPABILITY_ON_TARGET: HRESULT = 0x803100D0u32 as HRESULT; +pub const FVE_E_DE_PREVENTED_FOR_OS: HRESULT = 0x803100D1u32 as HRESULT; +pub const FVE_E_DE_VOLUME_OPTED_OUT: HRESULT = 0x803100D2u32 as HRESULT; +pub const FVE_E_DE_VOLUME_NOT_SUPPORTED: HRESULT = 0x803100D3u32 as HRESULT; +pub const FVE_E_EOW_NOT_SUPPORTED_IN_VERSION: HRESULT = 0x803100D4u32 as HRESULT; +pub const FVE_E_ADBACKUP_NOT_ENABLED: HRESULT = 0x803100D5u32 as HRESULT; +pub const FVE_E_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT: HRESULT = 0x803100D6u32 as HRESULT; +pub const FVE_E_NOT_DE_VOLUME: HRESULT = 0x803100D7u32 as HRESULT; +pub const FVE_E_PROTECTION_CANNOT_BE_DISABLED: HRESULT = 0x803100D8u32 as HRESULT; +pub const FWP_E_CALLOUT_NOT_FOUND: HRESULT = 0x80320001u32 as HRESULT; +pub const FWP_E_CONDITION_NOT_FOUND: HRESULT = 0x80320002u32 as HRESULT; +pub const FWP_E_FILTER_NOT_FOUND: HRESULT = 0x80320003u32 as HRESULT; +pub const FWP_E_LAYER_NOT_FOUND: HRESULT = 0x80320004u32 as HRESULT; +pub const FWP_E_PROVIDER_NOT_FOUND: HRESULT = 0x80320005u32 as HRESULT; +pub const FWP_E_PROVIDER_CONTEXT_NOT_FOUND: HRESULT = 0x80320006u32 as HRESULT; +pub const FWP_E_SUBLAYER_NOT_FOUND: HRESULT = 0x80320007u32 as HRESULT; +pub const FWP_E_NOT_FOUND: HRESULT = 0x80320008u32 as HRESULT; +pub const FWP_E_ALREADY_EXISTS: HRESULT = 0x80320009u32 as HRESULT; +pub const FWP_E_IN_USE: HRESULT = 0x8032000Au32 as HRESULT; +pub const FWP_E_DYNAMIC_SESSION_IN_PROGRESS: HRESULT = 0x8032000Bu32 as HRESULT; +pub const FWP_E_WRONG_SESSION: HRESULT = 0x8032000Cu32 as HRESULT; +pub const FWP_E_NO_TXN_IN_PROGRESS: HRESULT = 0x8032000Du32 as HRESULT; +pub const FWP_E_TXN_IN_PROGRESS: HRESULT = 0x8032000Eu32 as HRESULT; +pub const FWP_E_TXN_ABORTED: HRESULT = 0x8032000Fu32 as HRESULT; +pub const FWP_E_SESSION_ABORTED: HRESULT = 0x80320010u32 as HRESULT; +pub const FWP_E_INCOMPATIBLE_TXN: HRESULT = 0x80320011u32 as HRESULT; +pub const FWP_E_TIMEOUT: HRESULT = 0x80320012u32 as HRESULT; +pub const FWP_E_NET_EVENTS_DISABLED: HRESULT = 0x80320013u32 as HRESULT; +pub const FWP_E_INCOMPATIBLE_LAYER: HRESULT = 0x80320014u32 as HRESULT; +pub const FWP_E_KM_CLIENTS_ONLY: HRESULT = 0x80320015u32 as HRESULT; +pub const FWP_E_LIFETIME_MISMATCH: HRESULT = 0x80320016u32 as HRESULT; +pub const FWP_E_BUILTIN_OBJECT: HRESULT = 0x80320017u32 as HRESULT; +pub const FWP_E_TOO_MANY_CALLOUTS: HRESULT = 0x80320018u32 as HRESULT; +pub const FWP_E_NOTIFICATION_DROPPED: HRESULT = 0x80320019u32 as HRESULT; +pub const FWP_E_TRAFFIC_MISMATCH: HRESULT = 0x8032001Au32 as HRESULT; +pub const FWP_E_INCOMPATIBLE_SA_STATE: HRESULT = 0x8032001Bu32 as HRESULT; +pub const FWP_E_NULL_POINTER: HRESULT = 0x8032001Cu32 as HRESULT; +pub const FWP_E_INVALID_ENUMERATOR: HRESULT = 0x8032001Du32 as HRESULT; +pub const FWP_E_INVALID_FLAGS: HRESULT = 0x8032001Eu32 as HRESULT; +pub const FWP_E_INVALID_NET_MASK: HRESULT = 0x8032001Fu32 as HRESULT; +pub const FWP_E_INVALID_RANGE: HRESULT = 0x80320020u32 as HRESULT; +pub const FWP_E_INVALID_INTERVAL: HRESULT = 0x80320021u32 as HRESULT; +pub const FWP_E_ZERO_LENGTH_ARRAY: HRESULT = 0x80320022u32 as HRESULT; +pub const FWP_E_NULL_DISPLAY_NAME: HRESULT = 0x80320023u32 as HRESULT; +pub const FWP_E_INVALID_ACTION_TYPE: HRESULT = 0x80320024u32 as HRESULT; +pub const FWP_E_INVALID_WEIGHT: HRESULT = 0x80320025u32 as HRESULT; +pub const FWP_E_MATCH_TYPE_MISMATCH: HRESULT = 0x80320026u32 as HRESULT; +pub const FWP_E_TYPE_MISMATCH: HRESULT = 0x80320027u32 as HRESULT; +pub const FWP_E_OUT_OF_BOUNDS: HRESULT = 0x80320028u32 as HRESULT; +pub const FWP_E_RESERVED: HRESULT = 0x80320029u32 as HRESULT; +pub const FWP_E_DUPLICATE_CONDITION: HRESULT = 0x8032002Au32 as HRESULT; +pub const FWP_E_DUPLICATE_KEYMOD: HRESULT = 0x8032002Bu32 as HRESULT; +pub const FWP_E_ACTION_INCOMPATIBLE_WITH_LAYER: HRESULT = 0x8032002Cu32 as HRESULT; +pub const FWP_E_ACTION_INCOMPATIBLE_WITH_SUBLAYER: HRESULT = 0x8032002Du32 as HRESULT; +pub const FWP_E_CONTEXT_INCOMPATIBLE_WITH_LAYER: HRESULT = 0x8032002Eu32 as HRESULT; +pub const FWP_E_CONTEXT_INCOMPATIBLE_WITH_CALLOUT: HRESULT = 0x8032002Fu32 as HRESULT; +pub const FWP_E_INCOMPATIBLE_AUTH_METHOD: HRESULT = 0x80320030u32 as HRESULT; +pub const FWP_E_INCOMPATIBLE_DH_GROUP: HRESULT = 0x80320031u32 as HRESULT; +pub const FWP_E_EM_NOT_SUPPORTED: HRESULT = 0x80320032u32 as HRESULT; +pub const FWP_E_NEVER_MATCH: HRESULT = 0x80320033u32 as HRESULT; +pub const FWP_E_PROVIDER_CONTEXT_MISMATCH: HRESULT = 0x80320034u32 as HRESULT; +pub const FWP_E_INVALID_PARAMETER: HRESULT = 0x80320035u32 as HRESULT; +pub const FWP_E_TOO_MANY_SUBLAYERS: HRESULT = 0x80320036u32 as HRESULT; +pub const FWP_E_CALLOUT_NOTIFICATION_FAILED: HRESULT = 0x80320037u32 as HRESULT; +pub const FWP_E_INVALID_AUTH_TRANSFORM: HRESULT = 0x80320038u32 as HRESULT; +pub const FWP_E_INVALID_CIPHER_TRANSFORM: HRESULT = 0x80320039u32 as HRESULT; +pub const FWP_E_INCOMPATIBLE_CIPHER_TRANSFORM: HRESULT = 0x8032003Au32 as HRESULT; +pub const FWP_E_INVALID_TRANSFORM_COMBINATION: HRESULT = 0x8032003Bu32 as HRESULT; +pub const FWP_E_DUPLICATE_AUTH_METHOD: HRESULT = 0x8032003Cu32 as HRESULT; +pub const FWP_E_INVALID_TUNNEL_ENDPOINT: HRESULT = 0x8032003Du32 as HRESULT; +pub const FWP_E_L2_DRIVER_NOT_READY: HRESULT = 0x8032003Eu32 as HRESULT; +pub const FWP_E_KEY_DICTATOR_ALREADY_REGISTERED: HRESULT = 0x8032003Fu32 as HRESULT; +pub const FWP_E_KEY_DICTATION_INVALID_KEYING_MATERIAL: HRESULT = 0x80320040u32 as HRESULT; +pub const FWP_E_CONNECTIONS_DISABLED: HRESULT = 0x80320041u32 as HRESULT; +pub const FWP_E_INVALID_DNS_NAME: HRESULT = 0x80320042u32 as HRESULT; +pub const FWP_E_STILL_ON: HRESULT = 0x80320043u32 as HRESULT; +pub const FWP_E_IKEEXT_NOT_RUNNING: HRESULT = 0x80320044u32 as HRESULT; +pub const FWP_E_DROP_NOICMP: HRESULT = 0x80320104u32 as HRESULT; +pub const WS_S_ASYNC: HRESULT = 0x003D0000; +pub const WS_S_END: HRESULT = 0x003D0001; +pub const WS_E_INVALID_FORMAT: HRESULT = 0x803D0000u32 as HRESULT; +pub const WS_E_OBJECT_FAULTED: HRESULT = 0x803D0001u32 as HRESULT; +pub const WS_E_NUMERIC_OVERFLOW: HRESULT = 0x803D0002u32 as HRESULT; +pub const WS_E_INVALID_OPERATION: HRESULT = 0x803D0003u32 as HRESULT; +pub const WS_E_OPERATION_ABORTED: HRESULT = 0x803D0004u32 as HRESULT; +pub const WS_E_ENDPOINT_ACCESS_DENIED: HRESULT = 0x803D0005u32 as HRESULT; +pub const WS_E_OPERATION_TIMED_OUT: HRESULT = 0x803D0006u32 as HRESULT; +pub const WS_E_OPERATION_ABANDONED: HRESULT = 0x803D0007u32 as HRESULT; +pub const WS_E_QUOTA_EXCEEDED: HRESULT = 0x803D0008u32 as HRESULT; +pub const WS_E_NO_TRANSLATION_AVAILABLE: HRESULT = 0x803D0009u32 as HRESULT; +pub const WS_E_SECURITY_VERIFICATION_FAILURE: HRESULT = 0x803D000Au32 as HRESULT; +pub const WS_E_ADDRESS_IN_USE: HRESULT = 0x803D000Bu32 as HRESULT; +pub const WS_E_ADDRESS_NOT_AVAILABLE: HRESULT = 0x803D000Cu32 as HRESULT; +pub const WS_E_ENDPOINT_NOT_FOUND: HRESULT = 0x803D000Du32 as HRESULT; +pub const WS_E_ENDPOINT_NOT_AVAILABLE: HRESULT = 0x803D000Eu32 as HRESULT; +pub const WS_E_ENDPOINT_FAILURE: HRESULT = 0x803D000Fu32 as HRESULT; +pub const WS_E_ENDPOINT_UNREACHABLE: HRESULT = 0x803D0010u32 as HRESULT; +pub const WS_E_ENDPOINT_ACTION_NOT_SUPPORTED: HRESULT = 0x803D0011u32 as HRESULT; +pub const WS_E_ENDPOINT_TOO_BUSY: HRESULT = 0x803D0012u32 as HRESULT; +pub const WS_E_ENDPOINT_FAULT_RECEIVED: HRESULT = 0x803D0013u32 as HRESULT; +pub const WS_E_ENDPOINT_DISCONNECTED: HRESULT = 0x803D0014u32 as HRESULT; +pub const WS_E_PROXY_FAILURE: HRESULT = 0x803D0015u32 as HRESULT; +pub const WS_E_PROXY_ACCESS_DENIED: HRESULT = 0x803D0016u32 as HRESULT; +pub const WS_E_NOT_SUPPORTED: HRESULT = 0x803D0017u32 as HRESULT; +pub const WS_E_PROXY_REQUIRES_BASIC_AUTH: HRESULT = 0x803D0018u32 as HRESULT; +pub const WS_E_PROXY_REQUIRES_DIGEST_AUTH: HRESULT = 0x803D0019u32 as HRESULT; +pub const WS_E_PROXY_REQUIRES_NTLM_AUTH: HRESULT = 0x803D001Au32 as HRESULT; +pub const WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH: HRESULT = 0x803D001Bu32 as HRESULT; +pub const WS_E_SERVER_REQUIRES_BASIC_AUTH: HRESULT = 0x803D001Cu32 as HRESULT; +pub const WS_E_SERVER_REQUIRES_DIGEST_AUTH: HRESULT = 0x803D001Du32 as HRESULT; +pub const WS_E_SERVER_REQUIRES_NTLM_AUTH: HRESULT = 0x803D001Eu32 as HRESULT; +pub const WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH: HRESULT = 0x803D001Fu32 as HRESULT; +pub const WS_E_INVALID_ENDPOINT_URL: HRESULT = 0x803D0020u32 as HRESULT; +pub const WS_E_OTHER: HRESULT = 0x803D0021u32 as HRESULT; +pub const WS_E_SECURITY_TOKEN_EXPIRED: HRESULT = 0x803D0022u32 as HRESULT; +pub const WS_E_SECURITY_SYSTEM_FAILURE: HRESULT = 0x803D0023u32 as HRESULT; +pub const ERROR_NDIS_INTERFACE_CLOSING: HRESULT = 0x80340002u32 as HRESULT; +pub const ERROR_NDIS_BAD_VERSION: HRESULT = 0x80340004u32 as HRESULT; +pub const ERROR_NDIS_BAD_CHARACTERISTICS: HRESULT = 0x80340005u32 as HRESULT; +pub const ERROR_NDIS_ADAPTER_NOT_FOUND: HRESULT = 0x80340006u32 as HRESULT; +pub const ERROR_NDIS_OPEN_FAILED: HRESULT = 0x80340007u32 as HRESULT; +pub const ERROR_NDIS_DEVICE_FAILED: HRESULT = 0x80340008u32 as HRESULT; +pub const ERROR_NDIS_MULTICAST_FULL: HRESULT = 0x80340009u32 as HRESULT; +pub const ERROR_NDIS_MULTICAST_EXISTS: HRESULT = 0x8034000Au32 as HRESULT; +pub const ERROR_NDIS_MULTICAST_NOT_FOUND: HRESULT = 0x8034000Bu32 as HRESULT; +pub const ERROR_NDIS_REQUEST_ABORTED: HRESULT = 0x8034000Cu32 as HRESULT; +pub const ERROR_NDIS_RESET_IN_PROGRESS: HRESULT = 0x8034000Du32 as HRESULT; +pub const ERROR_NDIS_NOT_SUPPORTED: HRESULT = 0x803400BBu32 as HRESULT; +pub const ERROR_NDIS_INVALID_PACKET: HRESULT = 0x8034000Fu32 as HRESULT; +pub const ERROR_NDIS_ADAPTER_NOT_READY: HRESULT = 0x80340011u32 as HRESULT; +pub const ERROR_NDIS_INVALID_LENGTH: HRESULT = 0x80340014u32 as HRESULT; +pub const ERROR_NDIS_INVALID_DATA: HRESULT = 0x80340015u32 as HRESULT; +pub const ERROR_NDIS_BUFFER_TOO_SHORT: HRESULT = 0x80340016u32 as HRESULT; +pub const ERROR_NDIS_INVALID_OID: HRESULT = 0x80340017u32 as HRESULT; +pub const ERROR_NDIS_ADAPTER_REMOVED: HRESULT = 0x80340018u32 as HRESULT; +pub const ERROR_NDIS_UNSUPPORTED_MEDIA: HRESULT = 0x80340019u32 as HRESULT; +pub const ERROR_NDIS_GROUP_ADDRESS_IN_USE: HRESULT = 0x8034001Au32 as HRESULT; +pub const ERROR_NDIS_FILE_NOT_FOUND: HRESULT = 0x8034001Bu32 as HRESULT; +pub const ERROR_NDIS_ERROR_READING_FILE: HRESULT = 0x8034001Cu32 as HRESULT; +pub const ERROR_NDIS_ALREADY_MAPPED: HRESULT = 0x8034001Du32 as HRESULT; +pub const ERROR_NDIS_RESOURCE_CONFLICT: HRESULT = 0x8034001Eu32 as HRESULT; +pub const ERROR_NDIS_MEDIA_DISCONNECTED: HRESULT = 0x8034001Fu32 as HRESULT; +pub const ERROR_NDIS_INVALID_ADDRESS: HRESULT = 0x80340022u32 as HRESULT; +pub const ERROR_NDIS_INVALID_DEVICE_REQUEST: HRESULT = 0x80340010u32 as HRESULT; +pub const ERROR_NDIS_PAUSED: HRESULT = 0x8034002Au32 as HRESULT; +pub const ERROR_NDIS_INTERFACE_NOT_FOUND: HRESULT = 0x8034002Bu32 as HRESULT; +pub const ERROR_NDIS_UNSUPPORTED_REVISION: HRESULT = 0x8034002Cu32 as HRESULT; +pub const ERROR_NDIS_INVALID_PORT: HRESULT = 0x8034002Du32 as HRESULT; +pub const ERROR_NDIS_INVALID_PORT_STATE: HRESULT = 0x8034002Eu32 as HRESULT; +pub const ERROR_NDIS_LOW_POWER_STATE: HRESULT = 0x8034002Fu32 as HRESULT; +pub const ERROR_NDIS_REINIT_REQUIRED: HRESULT = 0x80340030u32 as HRESULT; +pub const ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED: HRESULT = 0x80342000u32 as HRESULT; +pub const ERROR_NDIS_DOT11_MEDIA_IN_USE: HRESULT = 0x80342001u32 as HRESULT; +pub const ERROR_NDIS_DOT11_POWER_STATE_INVALID: HRESULT = 0x80342002u32 as HRESULT; +pub const ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL: HRESULT = 0x80342003u32 as HRESULT; +pub const ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL: HRESULT = 0x80342004u32 as HRESULT; +pub const ERROR_NDIS_INDICATION_REQUIRED: HRESULT = 0x00340001; +pub const ERROR_NDIS_OFFLOAD_POLICY: HRESULT = 0xC034100Fu32 as HRESULT; +pub const ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED: HRESULT = 0xC0341012u32 as HRESULT; +pub const ERROR_NDIS_OFFLOAD_PATH_REJECTED: HRESULT = 0xC0341013u32 as HRESULT; +pub const ERROR_HV_INVALID_HYPERCALL_CODE: HRESULT = 0xC0350002u32 as HRESULT; +pub const ERROR_HV_INVALID_HYPERCALL_INPUT: HRESULT = 0xC0350003u32 as HRESULT; +pub const ERROR_HV_INVALID_ALIGNMENT: HRESULT = 0xC0350004u32 as HRESULT; +pub const ERROR_HV_INVALID_PARAMETER: HRESULT = 0xC0350005u32 as HRESULT; +pub const ERROR_HV_ACCESS_DENIED: HRESULT = 0xC0350006u32 as HRESULT; +pub const ERROR_HV_INVALID_PARTITION_STATE: HRESULT = 0xC0350007u32 as HRESULT; +pub const ERROR_HV_OPERATION_DENIED: HRESULT = 0xC0350008u32 as HRESULT; +pub const ERROR_HV_UNKNOWN_PROPERTY: HRESULT = 0xC0350009u32 as HRESULT; +pub const ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE: HRESULT = 0xC035000Au32 as HRESULT; +pub const ERROR_HV_INSUFFICIENT_MEMORY: HRESULT = 0xC035000Bu32 as HRESULT; +pub const ERROR_HV_PARTITION_TOO_DEEP: HRESULT = 0xC035000Cu32 as HRESULT; +pub const ERROR_HV_INVALID_PARTITION_ID: HRESULT = 0xC035000Du32 as HRESULT; +pub const ERROR_HV_INVALID_VP_INDEX: HRESULT = 0xC035000Eu32 as HRESULT; +pub const ERROR_HV_INVALID_PORT_ID: HRESULT = 0xC0350011u32 as HRESULT; +pub const ERROR_HV_INVALID_CONNECTION_ID: HRESULT = 0xC0350012u32 as HRESULT; +pub const ERROR_HV_INSUFFICIENT_BUFFERS: HRESULT = 0xC0350013u32 as HRESULT; +pub const ERROR_HV_NOT_ACKNOWLEDGED: HRESULT = 0xC0350014u32 as HRESULT; +pub const ERROR_HV_ACKNOWLEDGED: HRESULT = 0xC0350016u32 as HRESULT; +pub const ERROR_HV_INVALID_SAVE_RESTORE_STATE: HRESULT = 0xC0350017u32 as HRESULT; +pub const ERROR_HV_INVALID_SYNIC_STATE: HRESULT = 0xC0350018u32 as HRESULT; +pub const ERROR_HV_OBJECT_IN_USE: HRESULT = 0xC0350019u32 as HRESULT; +pub const ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO: HRESULT = 0xC035001Au32 as HRESULT; +pub const ERROR_HV_NO_DATA: HRESULT = 0xC035001Bu32 as HRESULT; +pub const ERROR_HV_INACTIVE: HRESULT = 0xC035001Cu32 as HRESULT; +pub const ERROR_HV_NO_RESOURCES: HRESULT = 0xC035001Du32 as HRESULT; +pub const ERROR_HV_FEATURE_UNAVAILABLE: HRESULT = 0xC035001Eu32 as HRESULT; +pub const ERROR_HV_INSUFFICIENT_BUFFER: HRESULT = 0xC0350033u32 as HRESULT; +pub const ERROR_HV_INSUFFICIENT_DEVICE_DOMAINS: HRESULT = 0xC0350038u32 as HRESULT; +pub const ERROR_HV_INVALID_LP_INDEX: HRESULT = 0xC0350041u32 as HRESULT; +pub const ERROR_HV_NOT_PRESENT: HRESULT = 0xC0351000u32 as HRESULT; +pub const ERROR_VID_DUPLICATE_HANDLER: HRESULT = 0xC0370001u32 as HRESULT; +pub const ERROR_VID_TOO_MANY_HANDLERS: HRESULT = 0xC0370002u32 as HRESULT; +pub const ERROR_VID_QUEUE_FULL: HRESULT = 0xC0370003u32 as HRESULT; +pub const ERROR_VID_HANDLER_NOT_PRESENT: HRESULT = 0xC0370004u32 as HRESULT; +pub const ERROR_VID_INVALID_OBJECT_NAME: HRESULT = 0xC0370005u32 as HRESULT; +pub const ERROR_VID_PARTITION_NAME_TOO_LONG: HRESULT = 0xC0370006u32 as HRESULT; +pub const ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG: HRESULT = 0xC0370007u32 as HRESULT; +pub const ERROR_VID_PARTITION_ALREADY_EXISTS: HRESULT = 0xC0370008u32 as HRESULT; +pub const ERROR_VID_PARTITION_DOES_NOT_EXIST: HRESULT = 0xC0370009u32 as HRESULT; +pub const ERROR_VID_PARTITION_NAME_NOT_FOUND: HRESULT = 0xC037000Au32 as HRESULT; +pub const ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS: HRESULT = 0xC037000Bu32 as HRESULT; +pub const ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT: HRESULT = 0xC037000Cu32 as HRESULT; +pub const ERROR_VID_MB_STILL_REFERENCED: HRESULT = 0xC037000Du32 as HRESULT; +pub const ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED: HRESULT = 0xC037000Eu32 as HRESULT; +pub const ERROR_VID_INVALID_NUMA_SETTINGS: HRESULT = 0xC037000Fu32 as HRESULT; +pub const ERROR_VID_INVALID_NUMA_NODE_INDEX: HRESULT = 0xC0370010u32 as HRESULT; +pub const ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED: HRESULT = 0xC0370011u32 as HRESULT; +pub const ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE: HRESULT = 0xC0370012u32 as HRESULT; +pub const ERROR_VID_PAGE_RANGE_OVERFLOW: HRESULT = 0xC0370013u32 as HRESULT; +pub const ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE: HRESULT = 0xC0370014u32 as HRESULT; +pub const ERROR_VID_INVALID_GPA_RANGE_HANDLE: HRESULT = 0xC0370015u32 as HRESULT; +pub const ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE: HRESULT = 0xC0370016u32 as HRESULT; +pub const ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED: HRESULT = 0xC0370017u32 as HRESULT; +pub const ERROR_VID_INVALID_PPM_HANDLE: HRESULT = 0xC0370018u32 as HRESULT; +pub const ERROR_VID_MBPS_ARE_LOCKED: HRESULT = 0xC0370019u32 as HRESULT; +pub const ERROR_VID_MESSAGE_QUEUE_CLOSED: HRESULT = 0xC037001Au32 as HRESULT; +pub const ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED: HRESULT = 0xC037001Bu32 as HRESULT; +pub const ERROR_VID_STOP_PENDING: HRESULT = 0xC037001Cu32 as HRESULT; +pub const ERROR_VID_INVALID_PROCESSOR_STATE: HRESULT = 0xC037001Du32 as HRESULT; +pub const ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT: HRESULT = 0xC037001Eu32 as HRESULT; +pub const ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED: HRESULT = 0xC037001Fu32 as HRESULT; +pub const ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET: HRESULT = 0xC0370020u32 as HRESULT; +pub const ERROR_VID_MMIO_RANGE_DESTROYED: HRESULT = 0xC0370021u32 as HRESULT; +pub const ERROR_VID_INVALID_CHILD_GPA_PAGE_SET: HRESULT = 0xC0370022u32 as HRESULT; +pub const ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED: HRESULT = 0xC0370023u32 as HRESULT; +pub const ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL: HRESULT = 0xC0370024u32 as HRESULT; +pub const ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE: HRESULT = 0xC0370025u32 as HRESULT; +pub const ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT: HRESULT = 0xC0370026u32 as HRESULT; +pub const ERROR_VID_SAVED_STATE_CORRUPT: HRESULT = 0xC0370027u32 as HRESULT; +pub const ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM: HRESULT = 0xC0370028u32 as HRESULT; +pub const ERROR_VID_SAVED_STATE_INCOMPATIBLE: HRESULT = 0xC0370029u32 as HRESULT; +pub const ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED: HRESULT = 0x80370001u32 as HRESULT; +pub const ERROR_VOLMGR_INCOMPLETE_REGENERATION: HRESULT = 0x80380001u32 as HRESULT; +pub const ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION: HRESULT = 0x80380002u32 as HRESULT; +pub const ERROR_VOLMGR_DATABASE_FULL: HRESULT = 0xC0380001u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED: HRESULT = 0xC0380002u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC: HRESULT = 0xC0380003u32 as HRESULT; +pub const ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED: HRESULT = 0xC0380004u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME: HRESULT = 0xC0380005u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_DUPLICATE: HRESULT = 0xC0380006u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_DYNAMIC: HRESULT = 0xC0380007u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_ID_INVALID: HRESULT = 0xC0380008u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_INVALID: HRESULT = 0xC0380009u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_LAST_VOTER: HRESULT = 0xC038000Au32 as HRESULT; +pub const ERROR_VOLMGR_DISK_LAYOUT_INVALID: HRESULT = 0xC038000Bu32 as HRESULT; +pub const ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS: HRESULT = 0xC038000Cu32 as HRESULT; +pub const ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED: HRESULT = 0xC038000Du32 as HRESULT; +pub const ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL: HRESULT = 0xC038000Eu32 as HRESULT; +pub const ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS: HRESULT = 0xC038000Fu32 as HRESULT; +pub const ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS: HRESULT = 0xC0380010u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_MISSING: HRESULT = 0xC0380011u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_NOT_EMPTY: HRESULT = 0xC0380012u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE: HRESULT = 0xC0380013u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_REVECTORING_FAILED: HRESULT = 0xC0380014u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID: HRESULT = 0xC0380015u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_SET_NOT_CONTAINED: HRESULT = 0xC0380016u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS: HRESULT = 0xC0380017u32 as HRESULT; +pub const ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES: HRESULT = 0xC0380018u32 as HRESULT; +pub const ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED: HRESULT = 0xC0380019u32 as HRESULT; +pub const ERROR_VOLMGR_EXTENT_ALREADY_USED: HRESULT = 0xC038001Au32 as HRESULT; +pub const ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS: HRESULT = 0xC038001Bu32 as HRESULT; +pub const ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION: HRESULT = 0xC038001Cu32 as HRESULT; +pub const ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED: HRESULT = 0xC038001Du32 as HRESULT; +pub const ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION: HRESULT = 0xC038001Eu32 as HRESULT; +pub const ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH: HRESULT = 0xC038001Fu32 as HRESULT; +pub const ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED: HRESULT = 0xC0380020u32 as HRESULT; +pub const ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID: HRESULT = 0xC0380021u32 as HRESULT; +pub const ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS: HRESULT = 0xC0380022u32 as HRESULT; +pub const ERROR_VOLMGR_MEMBER_IN_SYNC: HRESULT = 0xC0380023u32 as HRESULT; +pub const ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE: HRESULT = 0xC0380024u32 as HRESULT; +pub const ERROR_VOLMGR_MEMBER_INDEX_INVALID: HRESULT = 0xC0380025u32 as HRESULT; +pub const ERROR_VOLMGR_MEMBER_MISSING: HRESULT = 0xC0380026u32 as HRESULT; +pub const ERROR_VOLMGR_MEMBER_NOT_DETACHED: HRESULT = 0xC0380027u32 as HRESULT; +pub const ERROR_VOLMGR_MEMBER_REGENERATING: HRESULT = 0xC0380028u32 as HRESULT; +pub const ERROR_VOLMGR_ALL_DISKS_FAILED: HRESULT = 0xC0380029u32 as HRESULT; +pub const ERROR_VOLMGR_NO_REGISTERED_USERS: HRESULT = 0xC038002Au32 as HRESULT; +pub const ERROR_VOLMGR_NO_SUCH_USER: HRESULT = 0xC038002Bu32 as HRESULT; +pub const ERROR_VOLMGR_NOTIFICATION_RESET: HRESULT = 0xC038002Cu32 as HRESULT; +pub const ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID: HRESULT = 0xC038002Du32 as HRESULT; +pub const ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID: HRESULT = 0xC038002Eu32 as HRESULT; +pub const ERROR_VOLMGR_PACK_DUPLICATE: HRESULT = 0xC038002Fu32 as HRESULT; +pub const ERROR_VOLMGR_PACK_ID_INVALID: HRESULT = 0xC0380030u32 as HRESULT; +pub const ERROR_VOLMGR_PACK_INVALID: HRESULT = 0xC0380031u32 as HRESULT; +pub const ERROR_VOLMGR_PACK_NAME_INVALID: HRESULT = 0xC0380032u32 as HRESULT; +pub const ERROR_VOLMGR_PACK_OFFLINE: HRESULT = 0xC0380033u32 as HRESULT; +pub const ERROR_VOLMGR_PACK_HAS_QUORUM: HRESULT = 0xC0380034u32 as HRESULT; +pub const ERROR_VOLMGR_PACK_WITHOUT_QUORUM: HRESULT = 0xC0380035u32 as HRESULT; +pub const ERROR_VOLMGR_PARTITION_STYLE_INVALID: HRESULT = 0xC0380036u32 as HRESULT; +pub const ERROR_VOLMGR_PARTITION_UPDATE_FAILED: HRESULT = 0xC0380037u32 as HRESULT; +pub const ERROR_VOLMGR_PLEX_IN_SYNC: HRESULT = 0xC0380038u32 as HRESULT; +pub const ERROR_VOLMGR_PLEX_INDEX_DUPLICATE: HRESULT = 0xC0380039u32 as HRESULT; +pub const ERROR_VOLMGR_PLEX_INDEX_INVALID: HRESULT = 0xC038003Au32 as HRESULT; +pub const ERROR_VOLMGR_PLEX_LAST_ACTIVE: HRESULT = 0xC038003Bu32 as HRESULT; +pub const ERROR_VOLMGR_PLEX_MISSING: HRESULT = 0xC038003Cu32 as HRESULT; +pub const ERROR_VOLMGR_PLEX_REGENERATING: HRESULT = 0xC038003Du32 as HRESULT; +pub const ERROR_VOLMGR_PLEX_TYPE_INVALID: HRESULT = 0xC038003Eu32 as HRESULT; +pub const ERROR_VOLMGR_PLEX_NOT_RAID5: HRESULT = 0xC038003Fu32 as HRESULT; +pub const ERROR_VOLMGR_PLEX_NOT_SIMPLE: HRESULT = 0xC0380040u32 as HRESULT; +pub const ERROR_VOLMGR_STRUCTURE_SIZE_INVALID: HRESULT = 0xC0380041u32 as HRESULT; +pub const ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS: HRESULT = 0xC0380042u32 as HRESULT; +pub const ERROR_VOLMGR_TRANSACTION_IN_PROGRESS: HRESULT = 0xC0380043u32 as HRESULT; +pub const ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE: HRESULT = 0xC0380044u32 as HRESULT; +pub const ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK: HRESULT = 0xC0380045u32 as HRESULT; +pub const ERROR_VOLMGR_VOLUME_ID_INVALID: HRESULT = 0xC0380046u32 as HRESULT; +pub const ERROR_VOLMGR_VOLUME_LENGTH_INVALID: HRESULT = 0xC0380047u32 as HRESULT; +pub const ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE: HRESULT = 0xC0380048u32 as HRESULT; +pub const ERROR_VOLMGR_VOLUME_NOT_MIRRORED: HRESULT = 0xC0380049u32 as HRESULT; +pub const ERROR_VOLMGR_VOLUME_NOT_RETAINED: HRESULT = 0xC038004Au32 as HRESULT; +pub const ERROR_VOLMGR_VOLUME_OFFLINE: HRESULT = 0xC038004Bu32 as HRESULT; +pub const ERROR_VOLMGR_VOLUME_RETAINED: HRESULT = 0xC038004Cu32 as HRESULT; +pub const ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID: HRESULT = 0xC038004Du32 as HRESULT; +pub const ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE: HRESULT = 0xC038004Eu32 as HRESULT; +pub const ERROR_VOLMGR_BAD_BOOT_DISK: HRESULT = 0xC038004Fu32 as HRESULT; +pub const ERROR_VOLMGR_PACK_CONFIG_OFFLINE: HRESULT = 0xC0380050u32 as HRESULT; +pub const ERROR_VOLMGR_PACK_CONFIG_ONLINE: HRESULT = 0xC0380051u32 as HRESULT; +pub const ERROR_VOLMGR_NOT_PRIMARY_PACK: HRESULT = 0xC0380052u32 as HRESULT; +pub const ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED: HRESULT = 0xC0380053u32 as HRESULT; +pub const ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID: HRESULT = 0xC0380054u32 as HRESULT; +pub const ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID: HRESULT = 0xC0380055u32 as HRESULT; +pub const ERROR_VOLMGR_VOLUME_MIRRORED: HRESULT = 0xC0380056u32 as HRESULT; +pub const ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED: HRESULT = 0xC0380057u32 as HRESULT; +pub const ERROR_VOLMGR_NO_VALID_LOG_COPIES: HRESULT = 0xC0380058u32 as HRESULT; +pub const ERROR_VOLMGR_PRIMARY_PACK_PRESENT: HRESULT = 0xC0380059u32 as HRESULT; +pub const ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID: HRESULT = 0xC038005Au32 as HRESULT; +pub const ERROR_VOLMGR_MIRROR_NOT_SUPPORTED: HRESULT = 0xC038005Bu32 as HRESULT; +pub const ERROR_VOLMGR_RAID5_NOT_SUPPORTED: HRESULT = 0xC038005Cu32 as HRESULT; +pub const ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED: HRESULT = 0x80390001u32 as HRESULT; +pub const ERROR_BCD_TOO_MANY_ELEMENTS: HRESULT = 0xC0390002u32 as HRESULT; +pub const ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED: HRESULT = 0x80390003u32 as HRESULT; +pub const ERROR_VHD_DRIVE_FOOTER_MISSING: HRESULT = 0xC03A0001u32 as HRESULT; +pub const ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH: HRESULT = 0xC03A0002u32 as HRESULT; +pub const ERROR_VHD_DRIVE_FOOTER_CORRUPT: HRESULT = 0xC03A0003u32 as HRESULT; +pub const ERROR_VHD_FORMAT_UNKNOWN: HRESULT = 0xC03A0004u32 as HRESULT; +pub const ERROR_VHD_FORMAT_UNSUPPORTED_VERSION: HRESULT = 0xC03A0005u32 as HRESULT; +pub const ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH: HRESULT = 0xC03A0006u32 as HRESULT; +pub const ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION: HRESULT = 0xC03A0007u32 as HRESULT; +pub const ERROR_VHD_SPARSE_HEADER_CORRUPT: HRESULT = 0xC03A0008u32 as HRESULT; +pub const ERROR_VHD_BLOCK_ALLOCATION_FAILURE: HRESULT = 0xC03A0009u32 as HRESULT; +pub const ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT: HRESULT = 0xC03A000Au32 as HRESULT; +pub const ERROR_VHD_INVALID_BLOCK_SIZE: HRESULT = 0xC03A000Bu32 as HRESULT; +pub const ERROR_VHD_BITMAP_MISMATCH: HRESULT = 0xC03A000Cu32 as HRESULT; +pub const ERROR_VHD_PARENT_VHD_NOT_FOUND: HRESULT = 0xC03A000Du32 as HRESULT; +pub const ERROR_VHD_CHILD_PARENT_ID_MISMATCH: HRESULT = 0xC03A000Eu32 as HRESULT; +pub const ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH: HRESULT = 0xC03A000Fu32 as HRESULT; +pub const ERROR_VHD_METADATA_READ_FAILURE: HRESULT = 0xC03A0010u32 as HRESULT; +pub const ERROR_VHD_METADATA_WRITE_FAILURE: HRESULT = 0xC03A0011u32 as HRESULT; +pub const ERROR_VHD_INVALID_SIZE: HRESULT = 0xC03A0012u32 as HRESULT; +pub const ERROR_VHD_INVALID_FILE_SIZE: HRESULT = 0xC03A0013u32 as HRESULT; +pub const ERROR_VIRTDISK_PROVIDER_NOT_FOUND: HRESULT = 0xC03A0014u32 as HRESULT; +pub const ERROR_VIRTDISK_NOT_VIRTUAL_DISK: HRESULT = 0xC03A0015u32 as HRESULT; +pub const ERROR_VHD_PARENT_VHD_ACCESS_DENIED: HRESULT = 0xC03A0016u32 as HRESULT; +pub const ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH: HRESULT = 0xC03A0017u32 as HRESULT; +pub const ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED: HRESULT = 0xC03A0018u32 as HRESULT; +pub const ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT: HRESULT = 0xC03A0019u32 as HRESULT; +pub const ERROR_VIRTUAL_DISK_LIMITATION: HRESULT = 0xC03A001Au32 as HRESULT; +pub const ERROR_VHD_INVALID_TYPE: HRESULT = 0xC03A001Bu32 as HRESULT; +pub const ERROR_VHD_INVALID_STATE: HRESULT = 0xC03A001Cu32 as HRESULT; +pub const ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE: HRESULT = 0xC03A001Du32 as HRESULT; +pub const ERROR_VIRTDISK_DISK_ALREADY_OWNED: HRESULT = 0xC03A001Eu32 as HRESULT; +pub const ERROR_VIRTDISK_DISK_ONLINE_AND_WRITABLE: HRESULT = 0xC03A001Fu32 as HRESULT; +pub const ERROR_CTLOG_TRACKING_NOT_INITIALIZED: HRESULT = 0xC03A0020u32 as HRESULT; +pub const ERROR_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE: HRESULT = 0xC03A0021u32 as HRESULT; +pub const ERROR_CTLOG_VHD_CHANGED_OFFLINE: HRESULT = 0xC03A0022u32 as HRESULT; +pub const ERROR_CTLOG_INVALID_TRACKING_STATE: HRESULT = 0xC03A0023u32 as HRESULT; +pub const ERROR_CTLOG_INCONSISTENT_TRACKING_FILE: HRESULT = 0xC03A0024u32 as HRESULT; +pub const ERROR_VHD_RESIZE_WOULD_TRUNCATE_DATA: HRESULT = 0xC03A0025u32 as HRESULT; +pub const ERROR_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE: HRESULT = 0xC03A0026u32 as HRESULT; +pub const ERROR_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE: HRESULT = 0xC03A0027u32 as HRESULT; +pub const ERROR_VHD_METADATA_FULL: HRESULT = 0xC03A0028u32 as HRESULT; +pub const ERROR_QUERY_STORAGE_ERROR: HRESULT = 0x803A0001u32 as HRESULT; +pub const SDIAG_E_CANCELLED: HRESULT = 0x803C0100u32 as HRESULT; +pub const SDIAG_E_SCRIPT: HRESULT = 0x803C0101u32 as HRESULT; +pub const SDIAG_E_POWERSHELL: HRESULT = 0x803C0102u32 as HRESULT; +pub const SDIAG_E_MANAGEDHOST: HRESULT = 0x803C0103u32 as HRESULT; +pub const SDIAG_E_NOVERIFIER: HRESULT = 0x803C0104u32 as HRESULT; +pub const SDIAG_S_CANNOTRUN: HRESULT = 0x003C0105; +pub const SDIAG_E_DISABLED: HRESULT = 0x803C0106u32 as HRESULT; +pub const SDIAG_E_TRUST: HRESULT = 0x803C0107u32 as HRESULT; +pub const SDIAG_E_CANNOTRUN: HRESULT = 0x803C0108u32 as HRESULT; +pub const SDIAG_E_VERSION: HRESULT = 0x803C0109u32 as HRESULT; +pub const SDIAG_E_RESOURCE: HRESULT = 0x803C010Au32 as HRESULT; +pub const SDIAG_E_ROOTCAUSE: HRESULT = 0x803C010Bu32 as HRESULT; +pub const WPN_E_CHANNEL_CLOSED: HRESULT = 0x803E0100u32 as HRESULT; +pub const WPN_E_CHANNEL_REQUEST_NOT_COMPLETE: HRESULT = 0x803E0101u32 as HRESULT; +pub const WPN_E_INVALID_APP: HRESULT = 0x803E0102u32 as HRESULT; +pub const WPN_E_OUTSTANDING_CHANNEL_REQUEST: HRESULT = 0x803E0103u32 as HRESULT; +pub const WPN_E_DUPLICATE_CHANNEL: HRESULT = 0x803E0104u32 as HRESULT; +pub const WPN_E_PLATFORM_UNAVAILABLE: HRESULT = 0x803E0105u32 as HRESULT; +pub const WPN_E_NOTIFICATION_POSTED: HRESULT = 0x803E0106u32 as HRESULT; +pub const WPN_E_NOTIFICATION_HIDDEN: HRESULT = 0x803E0107u32 as HRESULT; +pub const WPN_E_NOTIFICATION_NOT_POSTED: HRESULT = 0x803E0108u32 as HRESULT; +pub const WPN_E_CLOUD_DISABLED: HRESULT = 0x803E0109u32 as HRESULT; +pub const WPN_E_CLOUD_INCAPABLE: HRESULT = 0x803E0110u32 as HRESULT; +pub const WPN_E_CLOUD_AUTH_UNAVAILABLE: HRESULT = 0x803E011Au32 as HRESULT; +pub const WPN_E_CLOUD_SERVICE_UNAVAILABLE: HRESULT = 0x803E011Bu32 as HRESULT; +pub const WPN_E_FAILED_LOCK_SCREEN_UPDATE_INTIALIZATION: HRESULT = 0x803E011Cu32 as HRESULT; +pub const WPN_E_NOTIFICATION_DISABLED: HRESULT = 0x803E0111u32 as HRESULT; +pub const WPN_E_NOTIFICATION_INCAPABLE: HRESULT = 0x803E0112u32 as HRESULT; +pub const WPN_E_INTERNET_INCAPABLE: HRESULT = 0x803E0113u32 as HRESULT; +pub const WPN_E_NOTIFICATION_TYPE_DISABLED: HRESULT = 0x803E0114u32 as HRESULT; +pub const WPN_E_NOTIFICATION_SIZE: HRESULT = 0x803E0115u32 as HRESULT; +pub const WPN_E_TAG_SIZE: HRESULT = 0x803E0116u32 as HRESULT; +pub const WPN_E_ACCESS_DENIED: HRESULT = 0x803E0117u32 as HRESULT; +pub const WPN_E_DUPLICATE_REGISTRATION: HRESULT = 0x803E0118u32 as HRESULT; +pub const WPN_E_PUSH_NOTIFICATION_INCAPABLE: HRESULT = 0x803E0119u32 as HRESULT; +pub const WPN_E_DEV_ID_SIZE: HRESULT = 0x803E0120u32 as HRESULT; +pub const WPN_E_TAG_ALPHANUMERIC: HRESULT = 0x803E012Au32 as HRESULT; +pub const WPN_E_INVALID_HTTP_STATUS_CODE: HRESULT = 0x803E012Bu32 as HRESULT; +pub const WPN_E_OUT_OF_SESSION: HRESULT = 0x803E0200u32 as HRESULT; +pub const WPN_E_POWER_SAVE: HRESULT = 0x803E0201u32 as HRESULT; +pub const WPN_E_IMAGE_NOT_FOUND_IN_CACHE: HRESULT = 0x803E0202u32 as HRESULT; +pub const WPN_E_ALL_URL_NOT_COMPLETED: HRESULT = 0x803E0203u32 as HRESULT; +pub const WPN_E_INVALID_CLOUD_IMAGE: HRESULT = 0x803E0204u32 as HRESULT; +pub const WPN_E_NOTIFICATION_ID_MATCHED: HRESULT = 0x803E0205u32 as HRESULT; +pub const WPN_E_CALLBACK_ALREADY_REGISTERED: HRESULT = 0x803E0206u32 as HRESULT; +pub const WPN_E_TOAST_NOTIFICATION_DROPPED: HRESULT = 0x803E0207u32 as HRESULT; +pub const WPN_E_STORAGE_LOCKED: HRESULT = 0x803E0208u32 as HRESULT; +pub const E_MBN_CONTEXT_NOT_ACTIVATED: HRESULT = 0x80548201u32 as HRESULT; +pub const E_MBN_BAD_SIM: HRESULT = 0x80548202u32 as HRESULT; +pub const E_MBN_DATA_CLASS_NOT_AVAILABLE: HRESULT = 0x80548203u32 as HRESULT; +pub const E_MBN_INVALID_ACCESS_STRING: HRESULT = 0x80548204u32 as HRESULT; +pub const E_MBN_MAX_ACTIVATED_CONTEXTS: HRESULT = 0x80548205u32 as HRESULT; +pub const E_MBN_PACKET_SVC_DETACHED: HRESULT = 0x80548206u32 as HRESULT; +pub const E_MBN_PROVIDER_NOT_VISIBLE: HRESULT = 0x80548207u32 as HRESULT; +pub const E_MBN_RADIO_POWER_OFF: HRESULT = 0x80548208u32 as HRESULT; +pub const E_MBN_SERVICE_NOT_ACTIVATED: HRESULT = 0x80548209u32 as HRESULT; +pub const E_MBN_SIM_NOT_INSERTED: HRESULT = 0x8054820Au32 as HRESULT; +pub const E_MBN_VOICE_CALL_IN_PROGRESS: HRESULT = 0x8054820Bu32 as HRESULT; +pub const E_MBN_INVALID_CACHE: HRESULT = 0x8054820Cu32 as HRESULT; +pub const E_MBN_NOT_REGISTERED: HRESULT = 0x8054820Du32 as HRESULT; +pub const E_MBN_PROVIDERS_NOT_FOUND: HRESULT = 0x8054820Eu32 as HRESULT; +pub const E_MBN_PIN_NOT_SUPPORTED: HRESULT = 0x8054820Fu32 as HRESULT; +pub const E_MBN_PIN_REQUIRED: HRESULT = 0x80548210u32 as HRESULT; +pub const E_MBN_PIN_DISABLED: HRESULT = 0x80548211u32 as HRESULT; +pub const E_MBN_FAILURE: HRESULT = 0x80548212u32 as HRESULT; +pub const E_MBN_INVALID_PROFILE: HRESULT = 0x80548218u32 as HRESULT; +pub const E_MBN_DEFAULT_PROFILE_EXIST: HRESULT = 0x80548219u32 as HRESULT; +pub const E_MBN_SMS_ENCODING_NOT_SUPPORTED: HRESULT = 0x80548220u32 as HRESULT; +pub const E_MBN_SMS_FILTER_NOT_SUPPORTED: HRESULT = 0x80548221u32 as HRESULT; +pub const E_MBN_SMS_INVALID_MEMORY_INDEX: HRESULT = 0x80548222u32 as HRESULT; +pub const E_MBN_SMS_LANG_NOT_SUPPORTED: HRESULT = 0x80548223u32 as HRESULT; +pub const E_MBN_SMS_MEMORY_FAILURE: HRESULT = 0x80548224u32 as HRESULT; +pub const E_MBN_SMS_NETWORK_TIMEOUT: HRESULT = 0x80548225u32 as HRESULT; +pub const E_MBN_SMS_UNKNOWN_SMSC_ADDRESS: HRESULT = 0x80548226u32 as HRESULT; +pub const E_MBN_SMS_FORMAT_NOT_SUPPORTED: HRESULT = 0x80548227u32 as HRESULT; +pub const E_MBN_SMS_OPERATION_NOT_ALLOWED: HRESULT = 0x80548228u32 as HRESULT; +pub const E_MBN_SMS_MEMORY_FULL: HRESULT = 0x80548229u32 as HRESULT; +pub const PEER_E_IPV6_NOT_INSTALLED: HRESULT = 0x80630001u32 as HRESULT; +pub const PEER_E_NOT_INITIALIZED: HRESULT = 0x80630002u32 as HRESULT; +pub const PEER_E_CANNOT_START_SERVICE: HRESULT = 0x80630003u32 as HRESULT; +pub const PEER_E_NOT_LICENSED: HRESULT = 0x80630004u32 as HRESULT; +pub const PEER_E_INVALID_GRAPH: HRESULT = 0x80630010u32 as HRESULT; +pub const PEER_E_DBNAME_CHANGED: HRESULT = 0x80630011u32 as HRESULT; +pub const PEER_E_DUPLICATE_GRAPH: HRESULT = 0x80630012u32 as HRESULT; +pub const PEER_E_GRAPH_NOT_READY: HRESULT = 0x80630013u32 as HRESULT; +pub const PEER_E_GRAPH_SHUTTING_DOWN: HRESULT = 0x80630014u32 as HRESULT; +pub const PEER_E_GRAPH_IN_USE: HRESULT = 0x80630015u32 as HRESULT; +pub const PEER_E_INVALID_DATABASE: HRESULT = 0x80630016u32 as HRESULT; +pub const PEER_E_TOO_MANY_ATTRIBUTES: HRESULT = 0x80630017u32 as HRESULT; +pub const PEER_E_CONNECTION_NOT_FOUND: HRESULT = 0x80630103u32 as HRESULT; +pub const PEER_E_CONNECT_SELF: HRESULT = 0x80630106u32 as HRESULT; +pub const PEER_E_ALREADY_LISTENING: HRESULT = 0x80630107u32 as HRESULT; +pub const PEER_E_NODE_NOT_FOUND: HRESULT = 0x80630108u32 as HRESULT; +pub const PEER_E_CONNECTION_FAILED: HRESULT = 0x80630109u32 as HRESULT; +pub const PEER_E_CONNECTION_NOT_AUTHENTICATED: HRESULT = 0x8063010Au32 as HRESULT; +pub const PEER_E_CONNECTION_REFUSED: HRESULT = 0x8063010Bu32 as HRESULT; +pub const PEER_E_CLASSIFIER_TOO_LONG: HRESULT = 0x80630201u32 as HRESULT; +pub const PEER_E_TOO_MANY_IDENTITIES: HRESULT = 0x80630202u32 as HRESULT; +pub const PEER_E_NO_KEY_ACCESS: HRESULT = 0x80630203u32 as HRESULT; +pub const PEER_E_GROUPS_EXIST: HRESULT = 0x80630204u32 as HRESULT; +pub const PEER_E_RECORD_NOT_FOUND: HRESULT = 0x80630301u32 as HRESULT; +pub const PEER_E_DATABASE_ACCESSDENIED: HRESULT = 0x80630302u32 as HRESULT; +pub const PEER_E_DBINITIALIZATION_FAILED: HRESULT = 0x80630303u32 as HRESULT; +pub const PEER_E_MAX_RECORD_SIZE_EXCEEDED: HRESULT = 0x80630304u32 as HRESULT; +pub const PEER_E_DATABASE_ALREADY_PRESENT: HRESULT = 0x80630305u32 as HRESULT; +pub const PEER_E_DATABASE_NOT_PRESENT: HRESULT = 0x80630306u32 as HRESULT; +pub const PEER_E_IDENTITY_NOT_FOUND: HRESULT = 0x80630401u32 as HRESULT; +pub const PEER_E_EVENT_HANDLE_NOT_FOUND: HRESULT = 0x80630501u32 as HRESULT; +pub const PEER_E_INVALID_SEARCH: HRESULT = 0x80630601u32 as HRESULT; +pub const PEER_E_INVALID_ATTRIBUTES: HRESULT = 0x80630602u32 as HRESULT; +pub const PEER_E_INVITATION_NOT_TRUSTED: HRESULT = 0x80630701u32 as HRESULT; +pub const PEER_E_CHAIN_TOO_LONG: HRESULT = 0x80630703u32 as HRESULT; +pub const PEER_E_INVALID_TIME_PERIOD: HRESULT = 0x80630705u32 as HRESULT; +pub const PEER_E_CIRCULAR_CHAIN_DETECTED: HRESULT = 0x80630706u32 as HRESULT; +pub const PEER_E_CERT_STORE_CORRUPTED: HRESULT = 0x80630801u32 as HRESULT; +pub const PEER_E_NO_CLOUD: HRESULT = 0x80631001u32 as HRESULT; +pub const PEER_E_CLOUD_NAME_AMBIGUOUS: HRESULT = 0x80631005u32 as HRESULT; +pub const PEER_E_INVALID_RECORD: HRESULT = 0x80632010u32 as HRESULT; +pub const PEER_E_NOT_AUTHORIZED: HRESULT = 0x80632020u32 as HRESULT; +pub const PEER_E_PASSWORD_DOES_NOT_MEET_POLICY: HRESULT = 0x80632021u32 as HRESULT; +pub const PEER_E_DEFERRED_VALIDATION: HRESULT = 0x80632030u32 as HRESULT; +pub const PEER_E_INVALID_GROUP_PROPERTIES: HRESULT = 0x80632040u32 as HRESULT; +pub const PEER_E_INVALID_PEER_NAME: HRESULT = 0x80632050u32 as HRESULT; +pub const PEER_E_INVALID_CLASSIFIER: HRESULT = 0x80632060u32 as HRESULT; +pub const PEER_E_INVALID_FRIENDLY_NAME: HRESULT = 0x80632070u32 as HRESULT; +pub const PEER_E_INVALID_ROLE_PROPERTY: HRESULT = 0x80632071u32 as HRESULT; +pub const PEER_E_INVALID_CLASSIFIER_PROPERTY: HRESULT = 0x80632072u32 as HRESULT; +pub const PEER_E_INVALID_RECORD_EXPIRATION: HRESULT = 0x80632080u32 as HRESULT; +pub const PEER_E_INVALID_CREDENTIAL_INFO: HRESULT = 0x80632081u32 as HRESULT; +pub const PEER_E_INVALID_CREDENTIAL: HRESULT = 0x80632082u32 as HRESULT; +pub const PEER_E_INVALID_RECORD_SIZE: HRESULT = 0x80632083u32 as HRESULT; +pub const PEER_E_UNSUPPORTED_VERSION: HRESULT = 0x80632090u32 as HRESULT; +pub const PEER_E_GROUP_NOT_READY: HRESULT = 0x80632091u32 as HRESULT; +pub const PEER_E_GROUP_IN_USE: HRESULT = 0x80632092u32 as HRESULT; +pub const PEER_E_INVALID_GROUP: HRESULT = 0x80632093u32 as HRESULT; +pub const PEER_E_NO_MEMBERS_FOUND: HRESULT = 0x80632094u32 as HRESULT; +pub const PEER_E_NO_MEMBER_CONNECTIONS: HRESULT = 0x80632095u32 as HRESULT; +pub const PEER_E_UNABLE_TO_LISTEN: HRESULT = 0x80632096u32 as HRESULT; +pub const PEER_E_IDENTITY_DELETED: HRESULT = 0x806320A0u32 as HRESULT; +pub const PEER_E_SERVICE_NOT_AVAILABLE: HRESULT = 0x806320A1u32 as HRESULT; +pub const PEER_E_CONTACT_NOT_FOUND: HRESULT = 0x80636001u32 as HRESULT; +pub const PEER_S_GRAPH_DATA_CREATED: HRESULT = 0x00630001; +pub const PEER_S_NO_EVENT_DATA: HRESULT = 0x00630002; +pub const PEER_S_ALREADY_CONNECTED: HRESULT = 0x00632000; +pub const PEER_S_SUBSCRIPTION_EXISTS: HRESULT = 0x00636000; +pub const PEER_S_NO_CONNECTIVITY: HRESULT = 0x00630005; +pub const PEER_S_ALREADY_A_MEMBER: HRESULT = 0x00630006; +pub const PEER_E_CANNOT_CONVERT_PEER_NAME: HRESULT = 0x80634001u32 as HRESULT; +pub const PEER_E_INVALID_PEER_HOST_NAME: HRESULT = 0x80634002u32 as HRESULT; +pub const PEER_E_NO_MORE: HRESULT = 0x80634003u32 as HRESULT; +pub const PEER_E_PNRP_DUPLICATE_PEER_NAME: HRESULT = 0x80634005u32 as HRESULT; +pub const PEER_E_INVITE_CANCELLED: HRESULT = 0x80637000u32 as HRESULT; +pub const PEER_E_INVITE_RESPONSE_NOT_AVAILABLE: HRESULT = 0x80637001u32 as HRESULT; +pub const PEER_E_NOT_SIGNED_IN: HRESULT = 0x80637003u32 as HRESULT; +pub const PEER_E_PRIVACY_DECLINED: HRESULT = 0x80637004u32 as HRESULT; +pub const PEER_E_TIMEOUT: HRESULT = 0x80637005u32 as HRESULT; +pub const PEER_E_INVALID_ADDRESS: HRESULT = 0x80637007u32 as HRESULT; +pub const PEER_E_FW_EXCEPTION_DISABLED: HRESULT = 0x80637008u32 as HRESULT; +pub const PEER_E_FW_BLOCKED_BY_POLICY: HRESULT = 0x80637009u32 as HRESULT; +pub const PEER_E_FW_BLOCKED_BY_SHIELDS_UP: HRESULT = 0x8063700Au32 as HRESULT; +pub const PEER_E_FW_DECLINED: HRESULT = 0x8063700Bu32 as HRESULT; +pub const UI_E_CREATE_FAILED: HRESULT = 0x802A0001u32 as HRESULT; +pub const UI_E_SHUTDOWN_CALLED: HRESULT = 0x802A0002u32 as HRESULT; +pub const UI_E_ILLEGAL_REENTRANCY: HRESULT = 0x802A0003u32 as HRESULT; +pub const UI_E_OBJECT_SEALED: HRESULT = 0x802A0004u32 as HRESULT; +pub const UI_E_VALUE_NOT_SET: HRESULT = 0x802A0005u32 as HRESULT; +pub const UI_E_VALUE_NOT_DETERMINED: HRESULT = 0x802A0006u32 as HRESULT; +pub const UI_E_INVALID_OUTPUT: HRESULT = 0x802A0007u32 as HRESULT; +pub const UI_E_BOOLEAN_EXPECTED: HRESULT = 0x802A0008u32 as HRESULT; +pub const UI_E_DIFFERENT_OWNER: HRESULT = 0x802A0009u32 as HRESULT; +pub const UI_E_AMBIGUOUS_MATCH: HRESULT = 0x802A000Au32 as HRESULT; +pub const UI_E_FP_OVERFLOW: HRESULT = 0x802A000Bu32 as HRESULT; +pub const UI_E_WRONG_THREAD: HRESULT = 0x802A000Cu32 as HRESULT; +pub const UI_E_STORYBOARD_ACTIVE: HRESULT = 0x802A0101u32 as HRESULT; +pub const UI_E_STORYBOARD_NOT_PLAYING: HRESULT = 0x802A0102u32 as HRESULT; +pub const UI_E_START_KEYFRAME_AFTER_END: HRESULT = 0x802A0103u32 as HRESULT; +pub const UI_E_END_KEYFRAME_NOT_DETERMINED: HRESULT = 0x802A0104u32 as HRESULT; +pub const UI_E_LOOPS_OVERLAP: HRESULT = 0x802A0105u32 as HRESULT; +pub const UI_E_TRANSITION_ALREADY_USED: HRESULT = 0x802A0106u32 as HRESULT; +pub const UI_E_TRANSITION_NOT_IN_STORYBOARD: HRESULT = 0x802A0107u32 as HRESULT; +pub const UI_E_TRANSITION_ECLIPSED: HRESULT = 0x802A0108u32 as HRESULT; +pub const UI_E_TIME_BEFORE_LAST_UPDATE: HRESULT = 0x802A0109u32 as HRESULT; +pub const UI_E_TIMER_CLIENT_ALREADY_CONNECTED: HRESULT = 0x802A010Au32 as HRESULT; +pub const UI_E_INVALID_DIMENSION: HRESULT = 0x802A010Bu32 as HRESULT; +pub const UI_E_PRIMITIVE_OUT_OF_BOUNDS: HRESULT = 0x802A010Cu32 as HRESULT; +pub const UI_E_WINDOW_CLOSED: HRESULT = 0x802A0201u32 as HRESULT; +pub const E_BLUETOOTH_ATT_INVALID_HANDLE: HRESULT = 0x80650001u32 as HRESULT; +pub const E_BLUETOOTH_ATT_READ_NOT_PERMITTED: HRESULT = 0x80650002u32 as HRESULT; +pub const E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED: HRESULT = 0x80650003u32 as HRESULT; +pub const E_BLUETOOTH_ATT_INVALID_PDU: HRESULT = 0x80650004u32 as HRESULT; +pub const E_BLUETOOTH_ATT_INSUFFICIENT_AUTHENTICATION: HRESULT = 0x80650005u32 as HRESULT; +pub const E_BLUETOOTH_ATT_REQUEST_NOT_SUPPORTED: HRESULT = 0x80650006u32 as HRESULT; +pub const E_BLUETOOTH_ATT_INVALID_OFFSET: HRESULT = 0x80650007u32 as HRESULT; +pub const E_BLUETOOTH_ATT_INSUFFICIENT_AUTHORIZATION: HRESULT = 0x80650008u32 as HRESULT; +pub const E_BLUETOOTH_ATT_PREPARE_QUEUE_FULL: HRESULT = 0x80650009u32 as HRESULT; +pub const E_BLUETOOTH_ATT_ATTRIBUTE_NOT_FOUND: HRESULT = 0x8065000Au32 as HRESULT; +pub const E_BLUETOOTH_ATT_ATTRIBUTE_NOT_LONG: HRESULT = 0x8065000Bu32 as HRESULT; +pub const E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE: HRESULT = 0x8065000Cu32 as HRESULT; +pub const E_BLUETOOTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH: HRESULT = 0x8065000Du32 as HRESULT; +pub const E_BLUETOOTH_ATT_UNLIKELY: HRESULT = 0x8065000Eu32 as HRESULT; +pub const E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION: HRESULT = 0x8065000Fu32 as HRESULT; +pub const E_BLUETOOTH_ATT_UNSUPPORTED_GROUP_TYPE: HRESULT = 0x80650010u32 as HRESULT; +pub const E_BLUETOOTH_ATT_INSUFFICIENT_RESOURCES: HRESULT = 0x80650011u32 as HRESULT; +pub const E_BLUETOOTH_ATT_UNKNOWN_ERROR: HRESULT = 0x80651000u32 as HRESULT; +pub const E_AUDIO_ENGINE_NODE_NOT_FOUND: HRESULT = 0x80660001u32 as HRESULT; +pub const E_HDAUDIO_EMPTY_CONNECTION_LIST: HRESULT = 0x80660002u32 as HRESULT; +pub const E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED: HRESULT = 0x80660003u32 as HRESULT; +pub const E_HDAUDIO_NO_LOGICAL_DEVICES_CREATED: HRESULT = 0x80660004u32 as HRESULT; +pub const E_HDAUDIO_NULL_LINKED_LIST_ENTRY: HRESULT = 0x80660005u32 as HRESULT; +pub const ERROR_SPACES_POOL_WAS_DELETED: HRESULT = 0x00E70001; +pub const ERROR_SPACES_RESILIENCY_TYPE_INVALID: HRESULT = 0x80E70003u32 as HRESULT; +pub const ERROR_SPACES_DRIVE_SECTOR_SIZE_INVALID: HRESULT = 0x80E70004u32 as HRESULT; +pub const ERROR_SPACES_DRIVE_REDUNDANCY_INVALID: HRESULT = 0x80E70006u32 as HRESULT; +pub const ERROR_SPACES_NUMBER_OF_DATA_COPIES_INVALID: HRESULT = 0x80E70007u32 as HRESULT; +pub const ERROR_SPACES_PARITY_LAYOUT_INVALID: HRESULT = 0x80E70008u32 as HRESULT; +pub const ERROR_SPACES_INTERLEAVE_LENGTH_INVALID: HRESULT = 0x80E70009u32 as HRESULT; +pub const ERROR_SPACES_NUMBER_OF_COLUMNS_INVALID: HRESULT = 0x80E7000Au32 as HRESULT; +pub const ERROR_SPACES_NOT_ENOUGH_DRIVES: HRESULT = 0x80E7000Bu32 as HRESULT; +pub const ERROR_VOLSNAP_BOOTFILE_NOT_VALID: HRESULT = 0x80820001u32 as HRESULT; +pub const ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME: HRESULT = 0x80830001u32 as HRESULT; +pub const ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS: HRESULT = 0x80830002u32 as HRESULT; +pub const ERROR_TIERING_STORAGE_TIER_NOT_FOUND: HRESULT = 0x80830003u32 as HRESULT; +pub const ERROR_TIERING_INVALID_FILE_ID: HRESULT = 0x80830004u32 as HRESULT; +pub const ERROR_TIERING_WRONG_CLUSTER_NODE: HRESULT = 0x80830005u32 as HRESULT; +pub const ERROR_TIERING_ALREADY_PROCESSING: HRESULT = 0x80830006u32 as HRESULT; +pub const ERROR_TIERING_CANNOT_PIN_OBJECT: HRESULT = 0x80830007u32 as HRESULT; +pub const DXGI_STATUS_OCCLUDED: HRESULT = 0x087A0001; +pub const DXGI_STATUS_CLIPPED: HRESULT = 0x087A0002; +pub const DXGI_STATUS_NO_REDIRECTION: HRESULT = 0x087A0004; +pub const DXGI_STATUS_NO_DESKTOP_ACCESS: HRESULT = 0x087A0005; +pub const DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE: HRESULT = 0x087A0006; +pub const DXGI_STATUS_MODE_CHANGED: HRESULT = 0x087A0007; +pub const DXGI_STATUS_MODE_CHANGE_IN_PROGRESS: HRESULT = 0x087A0008; +pub const DXGI_ERROR_INVALID_CALL: HRESULT = 0x887A0001u32 as HRESULT; +pub const DXGI_ERROR_NOT_FOUND: HRESULT = 0x887A0002u32 as HRESULT; +pub const DXGI_ERROR_MORE_DATA: HRESULT = 0x887A0003u32 as HRESULT; +pub const DXGI_ERROR_UNSUPPORTED: HRESULT = 0x887A0004u32 as HRESULT; +pub const DXGI_ERROR_DEVICE_REMOVED: HRESULT = 0x887A0005u32 as HRESULT; +pub const DXGI_ERROR_DEVICE_HUNG: HRESULT = 0x887A0006u32 as HRESULT; +pub const DXGI_ERROR_DEVICE_RESET: HRESULT = 0x887A0007u32 as HRESULT; +pub const DXGI_ERROR_WAS_STILL_DRAWING: HRESULT = 0x887A000Au32 as HRESULT; +pub const DXGI_ERROR_FRAME_STATISTICS_DISJOINT: HRESULT = 0x887A000Bu32 as HRESULT; +pub const DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE: HRESULT = 0x887A000Cu32 as HRESULT; +pub const DXGI_ERROR_DRIVER_INTERNAL_ERROR: HRESULT = 0x887A0020u32 as HRESULT; +pub const DXGI_ERROR_NONEXCLUSIVE: HRESULT = 0x887A0021u32 as HRESULT; +pub const DXGI_ERROR_NOT_CURRENTLY_AVAILABLE: HRESULT = 0x887A0022u32 as HRESULT; +pub const DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED: HRESULT = 0x887A0023u32 as HRESULT; +pub const DXGI_ERROR_REMOTE_OUTOFMEMORY: HRESULT = 0x887A0024u32 as HRESULT; +pub const DXGI_ERROR_ACCESS_LOST: HRESULT = 0x887A0026u32 as HRESULT; +pub const DXGI_ERROR_WAIT_TIMEOUT: HRESULT = 0x887A0027u32 as HRESULT; +pub const DXGI_ERROR_SESSION_DISCONNECTED: HRESULT = 0x887A0028u32 as HRESULT; +pub const DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE: HRESULT = 0x887A0029u32 as HRESULT; +pub const DXGI_ERROR_CANNOT_PROTECT_CONTENT: HRESULT = 0x887A002Au32 as HRESULT; +pub const DXGI_ERROR_ACCESS_DENIED: HRESULT = 0x887A002Bu32 as HRESULT; +pub const DXGI_ERROR_NAME_ALREADY_EXISTS: HRESULT = 0x887A002Cu32 as HRESULT; +pub const DXGI_ERROR_SDK_COMPONENT_MISSING: HRESULT = 0x887A002Du32 as HRESULT; +pub const DXGI_STATUS_UNOCCLUDED: HRESULT = 0x087A0009; +pub const DXGI_STATUS_DDA_WAS_STILL_DRAWING: HRESULT = 0x087A000A; +pub const DXGI_ERROR_MODE_CHANGE_IN_PROGRESS: HRESULT = 0x887A0025u32 as HRESULT; +pub const DXGI_DDI_ERR_WASSTILLDRAWING: HRESULT = 0x887B0001u32 as HRESULT; +pub const DXGI_DDI_ERR_UNSUPPORTED: HRESULT = 0x887B0002u32 as HRESULT; +pub const DXGI_DDI_ERR_NONEXCLUSIVE: HRESULT = 0x887B0003u32 as HRESULT; +pub const D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS: HRESULT = 0x88790001u32 as HRESULT; +pub const D3D10_ERROR_FILE_NOT_FOUND: HRESULT = 0x88790002u32 as HRESULT; +pub const D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS: HRESULT = 0x887C0001u32 as HRESULT; +pub const D3D11_ERROR_FILE_NOT_FOUND: HRESULT = 0x887C0002u32 as HRESULT; +pub const D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS: HRESULT = 0x887C0003u32 as HRESULT; +pub const D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD: HRESULT = 0x887C0004u32 as HRESULT; +pub const D2DERR_WRONG_STATE: HRESULT = 0x88990001u32 as HRESULT; +pub const D2DERR_NOT_INITIALIZED: HRESULT = 0x88990002u32 as HRESULT; +pub const D2DERR_UNSUPPORTED_OPERATION: HRESULT = 0x88990003u32 as HRESULT; +pub const D2DERR_SCANNER_FAILED: HRESULT = 0x88990004u32 as HRESULT; +pub const D2DERR_SCREEN_ACCESS_DENIED: HRESULT = 0x88990005u32 as HRESULT; +pub const D2DERR_DISPLAY_STATE_INVALID: HRESULT = 0x88990006u32 as HRESULT; +pub const D2DERR_ZERO_VECTOR: HRESULT = 0x88990007u32 as HRESULT; +pub const D2DERR_INTERNAL_ERROR: HRESULT = 0x88990008u32 as HRESULT; +pub const D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED: HRESULT = 0x88990009u32 as HRESULT; +pub const D2DERR_INVALID_CALL: HRESULT = 0x8899000Au32 as HRESULT; +pub const D2DERR_NO_HARDWARE_DEVICE: HRESULT = 0x8899000Bu32 as HRESULT; +pub const D2DERR_RECREATE_TARGET: HRESULT = 0x8899000Cu32 as HRESULT; +pub const D2DERR_TOO_MANY_SHADER_ELEMENTS: HRESULT = 0x8899000Du32 as HRESULT; +pub const D2DERR_SHADER_COMPILE_FAILED: HRESULT = 0x8899000Eu32 as HRESULT; +pub const D2DERR_MAX_TEXTURE_SIZE_EXCEEDED: HRESULT = 0x8899000Fu32 as HRESULT; +pub const D2DERR_UNSUPPORTED_VERSION: HRESULT = 0x88990010u32 as HRESULT; +pub const D2DERR_BAD_NUMBER: HRESULT = 0x88990011u32 as HRESULT; +pub const D2DERR_WRONG_FACTORY: HRESULT = 0x88990012u32 as HRESULT; +pub const D2DERR_LAYER_ALREADY_IN_USE: HRESULT = 0x88990013u32 as HRESULT; +pub const D2DERR_POP_CALL_DID_NOT_MATCH_PUSH: HRESULT = 0x88990014u32 as HRESULT; +pub const D2DERR_WRONG_RESOURCE_DOMAIN: HRESULT = 0x88990015u32 as HRESULT; +pub const D2DERR_PUSH_POP_UNBALANCED: HRESULT = 0x88990016u32 as HRESULT; +pub const D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT: HRESULT = 0x88990017u32 as HRESULT; +pub const D2DERR_INCOMPATIBLE_BRUSH_TYPES: HRESULT = 0x88990018u32 as HRESULT; +pub const D2DERR_WIN32_ERROR: HRESULT = 0x88990019u32 as HRESULT; +pub const D2DERR_TARGET_NOT_GDI_COMPATIBLE: HRESULT = 0x8899001Au32 as HRESULT; +pub const D2DERR_TEXT_EFFECT_IS_WRONG_TYPE: HRESULT = 0x8899001Bu32 as HRESULT; +pub const D2DERR_TEXT_RENDERER_NOT_RELEASED: HRESULT = 0x8899001Cu32 as HRESULT; +pub const D2DERR_EXCEEDS_MAX_BITMAP_SIZE: HRESULT = 0x8899001Du32 as HRESULT; +pub const D2DERR_INVALID_GRAPH_CONFIGURATION: HRESULT = 0x8899001Eu32 as HRESULT; +pub const D2DERR_INVALID_INTERNAL_GRAPH_CONFIGURATION: HRESULT = 0x8899001Fu32 as HRESULT; +pub const D2DERR_CYCLIC_GRAPH: HRESULT = 0x88990020u32 as HRESULT; +pub const D2DERR_BITMAP_CANNOT_DRAW: HRESULT = 0x88990021u32 as HRESULT; +pub const D2DERR_OUTSTANDING_BITMAP_REFERENCES: HRESULT = 0x88990022u32 as HRESULT; +pub const D2DERR_ORIGINAL_TARGET_NOT_BOUND: HRESULT = 0x88990023u32 as HRESULT; +pub const D2DERR_INVALID_TARGET: HRESULT = 0x88990024u32 as HRESULT; +pub const D2DERR_BITMAP_BOUND_AS_TARGET: HRESULT = 0x88990025u32 as HRESULT; +pub const D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES: HRESULT = 0x88990026u32 as HRESULT; +pub const D2DERR_INTERMEDIATE_TOO_LARGE: HRESULT = 0x88990027u32 as HRESULT; +pub const D2DERR_EFFECT_IS_NOT_REGISTERED: HRESULT = 0x88990028u32 as HRESULT; +pub const D2DERR_INVALID_PROPERTY: HRESULT = 0x88990029u32 as HRESULT; +pub const D2DERR_NO_SUBPROPERTIES: HRESULT = 0x8899002Au32 as HRESULT; +pub const D2DERR_PRINT_JOB_CLOSED: HRESULT = 0x8899002Bu32 as HRESULT; +pub const D2DERR_PRINT_FORMAT_NOT_SUPPORTED: HRESULT = 0x8899002Cu32 as HRESULT; +pub const D2DERR_TOO_MANY_TRANSFORM_INPUTS: HRESULT = 0x8899002Du32 as HRESULT; +pub const DWRITE_E_FILEFORMAT: HRESULT = 0x88985000u32 as HRESULT; +pub const DWRITE_E_UNEXPECTED: HRESULT = 0x88985001u32 as HRESULT; +pub const DWRITE_E_NOFONT: HRESULT = 0x88985002u32 as HRESULT; +pub const DWRITE_E_FILENOTFOUND: HRESULT = 0x88985003u32 as HRESULT; +pub const DWRITE_E_FILEACCESS: HRESULT = 0x88985004u32 as HRESULT; +pub const DWRITE_E_FONTCOLLECTIONOBSOLETE: HRESULT = 0x88985005u32 as HRESULT; +pub const DWRITE_E_ALREADYREGISTERED: HRESULT = 0x88985006u32 as HRESULT; +pub const DWRITE_E_CACHEFORMAT: HRESULT = 0x88985007u32 as HRESULT; +pub const DWRITE_E_CACHEVERSION: HRESULT = 0x88985008u32 as HRESULT; +pub const DWRITE_E_UNSUPPORTEDOPERATION: HRESULT = 0x88985009u32 as HRESULT; +pub const DWRITE_E_TEXTRENDERERINCOMPATIBLE: HRESULT = 0x8898500Au32 as HRESULT; +pub const DWRITE_E_FLOWDIRECTIONCONFLICTS: HRESULT = 0x8898500Bu32 as HRESULT; +pub const DWRITE_E_NOCOLOR: HRESULT = 0x8898500Cu32 as HRESULT; +pub const WINCODEC_ERR_WRONGSTATE: HRESULT = 0x88982F04u32 as HRESULT; +pub const WINCODEC_ERR_VALUEOUTOFRANGE: HRESULT = 0x88982F05u32 as HRESULT; +pub const WINCODEC_ERR_UNKNOWNIMAGEFORMAT: HRESULT = 0x88982F07u32 as HRESULT; +pub const WINCODEC_ERR_UNSUPPORTEDVERSION: HRESULT = 0x88982F0Bu32 as HRESULT; +pub const WINCODEC_ERR_NOTINITIALIZED: HRESULT = 0x88982F0Cu32 as HRESULT; +pub const WINCODEC_ERR_ALREADYLOCKED: HRESULT = 0x88982F0Du32 as HRESULT; +pub const WINCODEC_ERR_PROPERTYNOTFOUND: HRESULT = 0x88982F40u32 as HRESULT; +pub const WINCODEC_ERR_PROPERTYNOTSUPPORTED: HRESULT = 0x88982F41u32 as HRESULT; +pub const WINCODEC_ERR_PROPERTYSIZE: HRESULT = 0x88982F42u32 as HRESULT; +pub const WINCODEC_ERR_CODECPRESENT: HRESULT = 0x88982F43u32 as HRESULT; +pub const WINCODEC_ERR_CODECNOTHUMBNAIL: HRESULT = 0x88982F44u32 as HRESULT; +pub const WINCODEC_ERR_PALETTEUNAVAILABLE: HRESULT = 0x88982F45u32 as HRESULT; +pub const WINCODEC_ERR_CODECTOOMANYSCANLINES: HRESULT = 0x88982F46u32 as HRESULT; +pub const WINCODEC_ERR_INTERNALERROR: HRESULT = 0x88982F48u32 as HRESULT; +pub const WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS: HRESULT = 0x88982F49u32 as HRESULT; +pub const WINCODEC_ERR_COMPONENTNOTFOUND: HRESULT = 0x88982F50u32 as HRESULT; +pub const WINCODEC_ERR_IMAGESIZEOUTOFRANGE: HRESULT = 0x88982F51u32 as HRESULT; +pub const WINCODEC_ERR_TOOMUCHMETADATA: HRESULT = 0x88982F52u32 as HRESULT; +pub const WINCODEC_ERR_BADIMAGE: HRESULT = 0x88982F60u32 as HRESULT; +pub const WINCODEC_ERR_BADHEADER: HRESULT = 0x88982F61u32 as HRESULT; +pub const WINCODEC_ERR_FRAMEMISSING: HRESULT = 0x88982F62u32 as HRESULT; +pub const WINCODEC_ERR_BADMETADATAHEADER: HRESULT = 0x88982F63u32 as HRESULT; +pub const WINCODEC_ERR_BADSTREAMDATA: HRESULT = 0x88982F70u32 as HRESULT; +pub const WINCODEC_ERR_STREAMWRITE: HRESULT = 0x88982F71u32 as HRESULT; +pub const WINCODEC_ERR_STREAMREAD: HRESULT = 0x88982F72u32 as HRESULT; +pub const WINCODEC_ERR_STREAMNOTAVAILABLE: HRESULT = 0x88982F73u32 as HRESULT; +pub const WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT: HRESULT = 0x88982F80u32 as HRESULT; +pub const WINCODEC_ERR_UNSUPPORTEDOPERATION: HRESULT = 0x88982F81u32 as HRESULT; +pub const WINCODEC_ERR_INVALIDREGISTRATION: HRESULT = 0x88982F8Au32 as HRESULT; +pub const WINCODEC_ERR_COMPONENTINITIALIZEFAILURE: HRESULT = 0x88982F8Bu32 as HRESULT; +pub const WINCODEC_ERR_INSUFFICIENTBUFFER: HRESULT = 0x88982F8Cu32 as HRESULT; +pub const WINCODEC_ERR_DUPLICATEMETADATAPRESENT: HRESULT = 0x88982F8Du32 as HRESULT; +pub const WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE: HRESULT = 0x88982F8Eu32 as HRESULT; +pub const WINCODEC_ERR_UNEXPECTEDSIZE: HRESULT = 0x88982F8Fu32 as HRESULT; +pub const WINCODEC_ERR_INVALIDQUERYREQUEST: HRESULT = 0x88982F90u32 as HRESULT; +pub const WINCODEC_ERR_UNEXPECTEDMETADATATYPE: HRESULT = 0x88982F91u32 as HRESULT; +pub const WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT: HRESULT = 0x88982F92u32 as HRESULT; +pub const WINCODEC_ERR_INVALIDQUERYCHARACTER: HRESULT = 0x88982F93u32 as HRESULT; +pub const WINCODEC_ERR_WIN32ERROR: HRESULT = 0x88982F94u32 as HRESULT; +pub const WINCODEC_ERR_INVALIDPROGRESSIVELEVEL: HRESULT = 0x88982F95u32 as HRESULT; +pub const MILERR_OBJECTBUSY: HRESULT = 0x88980001u32 as HRESULT; +pub const MILERR_INSUFFICIENTBUFFER: HRESULT = 0x88980002u32 as HRESULT; +pub const MILERR_WIN32ERROR: HRESULT = 0x88980003u32 as HRESULT; +pub const MILERR_SCANNER_FAILED: HRESULT = 0x88980004u32 as HRESULT; +pub const MILERR_SCREENACCESSDENIED: HRESULT = 0x88980005u32 as HRESULT; +pub const MILERR_DISPLAYSTATEINVALID: HRESULT = 0x88980006u32 as HRESULT; +pub const MILERR_NONINVERTIBLEMATRIX: HRESULT = 0x88980007u32 as HRESULT; +pub const MILERR_ZEROVECTOR: HRESULT = 0x88980008u32 as HRESULT; +pub const MILERR_TERMINATED: HRESULT = 0x88980009u32 as HRESULT; +pub const MILERR_BADNUMBER: HRESULT = 0x8898000Au32 as HRESULT; +pub const MILERR_INTERNALERROR: HRESULT = 0x88980080u32 as HRESULT; +pub const MILERR_DISPLAYFORMATNOTSUPPORTED: HRESULT = 0x88980084u32 as HRESULT; +pub const MILERR_INVALIDCALL: HRESULT = 0x88980085u32 as HRESULT; +pub const MILERR_ALREADYLOCKED: HRESULT = 0x88980086u32 as HRESULT; +pub const MILERR_NOTLOCKED: HRESULT = 0x88980087u32 as HRESULT; +pub const MILERR_DEVICECANNOTRENDERTEXT: HRESULT = 0x88980088u32 as HRESULT; +pub const MILERR_GLYPHBITMAPMISSED: HRESULT = 0x88980089u32 as HRESULT; +pub const MILERR_MALFORMEDGLYPHCACHE: HRESULT = 0x8898008Au32 as HRESULT; +pub const MILERR_GENERIC_IGNORE: HRESULT = 0x8898008Bu32 as HRESULT; +pub const MILERR_MALFORMED_GUIDELINE_DATA: HRESULT = 0x8898008Cu32 as HRESULT; +pub const MILERR_NO_HARDWARE_DEVICE: HRESULT = 0x8898008Du32 as HRESULT; +pub const MILERR_NEED_RECREATE_AND_PRESENT: HRESULT = 0x8898008Eu32 as HRESULT; +pub const MILERR_ALREADY_INITIALIZED: HRESULT = 0x8898008Fu32 as HRESULT; +pub const MILERR_MISMATCHED_SIZE: HRESULT = 0x88980090u32 as HRESULT; +pub const MILERR_NO_REDIRECTION_SURFACE_AVAILABLE: HRESULT = 0x88980091u32 as HRESULT; +pub const MILERR_REMOTING_NOT_SUPPORTED: HRESULT = 0x88980092u32 as HRESULT; +pub const MILERR_QUEUED_PRESENT_NOT_SUPPORTED: HRESULT = 0x88980093u32 as HRESULT; +pub const MILERR_NOT_QUEUING_PRESENTS: HRESULT = 0x88980094u32 as HRESULT; +pub const MILERR_NO_REDIRECTION_SURFACE_RETRY_LATER: HRESULT = 0x88980095u32 as HRESULT; +pub const MILERR_TOOMANYSHADERELEMNTS: HRESULT = 0x88980096u32 as HRESULT; +pub const MILERR_MROW_READLOCK_FAILED: HRESULT = 0x88980097u32 as HRESULT; +pub const MILERR_MROW_UPDATE_FAILED: HRESULT = 0x88980098u32 as HRESULT; +pub const MILERR_SHADER_COMPILE_FAILED: HRESULT = 0x88980099u32 as HRESULT; +pub const MILERR_MAX_TEXTURE_SIZE_EXCEEDED: HRESULT = 0x8898009Au32 as HRESULT; +pub const MILERR_QPC_TIME_WENT_BACKWARD: HRESULT = 0x8898009Bu32 as HRESULT; +pub const MILERR_DXGI_ENUMERATION_OUT_OF_SYNC: HRESULT = 0x8898009Du32 as HRESULT; +pub const MILERR_ADAPTER_NOT_FOUND: HRESULT = 0x8898009Eu32 as HRESULT; +pub const MILERR_COLORSPACE_NOT_SUPPORTED: HRESULT = 0x8898009Fu32 as HRESULT; +pub const MILERR_PREFILTER_NOT_SUPPORTED: HRESULT = 0x889800A0u32 as HRESULT; +pub const MILERR_DISPLAYID_ACCESS_DENIED: HRESULT = 0x889800A1u32 as HRESULT; +pub const UCEERR_INVALIDPACKETHEADER: HRESULT = 0x88980400u32 as HRESULT; +pub const UCEERR_UNKNOWNPACKET: HRESULT = 0x88980401u32 as HRESULT; +pub const UCEERR_ILLEGALPACKET: HRESULT = 0x88980402u32 as HRESULT; +pub const UCEERR_MALFORMEDPACKET: HRESULT = 0x88980403u32 as HRESULT; +pub const UCEERR_ILLEGALHANDLE: HRESULT = 0x88980404u32 as HRESULT; +pub const UCEERR_HANDLELOOKUPFAILED: HRESULT = 0x88980405u32 as HRESULT; +pub const UCEERR_RENDERTHREADFAILURE: HRESULT = 0x88980406u32 as HRESULT; +pub const UCEERR_CTXSTACKFRSTTARGETNULL: HRESULT = 0x88980407u32 as HRESULT; +pub const UCEERR_CONNECTIONIDLOOKUPFAILED: HRESULT = 0x88980408u32 as HRESULT; +pub const UCEERR_BLOCKSFULL: HRESULT = 0x88980409u32 as HRESULT; +pub const UCEERR_MEMORYFAILURE: HRESULT = 0x8898040Au32 as HRESULT; +pub const UCEERR_PACKETRECORDOUTOFRANGE: HRESULT = 0x8898040Bu32 as HRESULT; +pub const UCEERR_ILLEGALRECORDTYPE: HRESULT = 0x8898040Cu32 as HRESULT; +pub const UCEERR_OUTOFHANDLES: HRESULT = 0x8898040Du32 as HRESULT; +pub const UCEERR_UNCHANGABLE_UPDATE_ATTEMPTED: HRESULT = 0x8898040Eu32 as HRESULT; +pub const UCEERR_NO_MULTIPLE_WORKER_THREADS: HRESULT = 0x8898040Fu32 as HRESULT; +pub const UCEERR_REMOTINGNOTSUPPORTED: HRESULT = 0x88980410u32 as HRESULT; +pub const UCEERR_MISSINGENDCOMMAND: HRESULT = 0x88980411u32 as HRESULT; +pub const UCEERR_MISSINGBEGINCOMMAND: HRESULT = 0x88980412u32 as HRESULT; +pub const UCEERR_CHANNELSYNCTIMEDOUT: HRESULT = 0x88980413u32 as HRESULT; +pub const UCEERR_CHANNELSYNCABANDONED: HRESULT = 0x88980414u32 as HRESULT; +pub const UCEERR_UNSUPPORTEDTRANSPORTVERSION: HRESULT = 0x88980415u32 as HRESULT; +pub const UCEERR_TRANSPORTUNAVAILABLE: HRESULT = 0x88980416u32 as HRESULT; +pub const UCEERR_FEEDBACK_UNSUPPORTED: HRESULT = 0x88980417u32 as HRESULT; +pub const UCEERR_COMMANDTRANSPORTDENIED: HRESULT = 0x88980418u32 as HRESULT; +pub const UCEERR_GRAPHICSSTREAMUNAVAILABLE: HRESULT = 0x88980419u32 as HRESULT; +pub const UCEERR_GRAPHICSSTREAMALREADYOPEN: HRESULT = 0x88980420u32 as HRESULT; +pub const UCEERR_TRANSPORTDISCONNECTED: HRESULT = 0x88980421u32 as HRESULT; +pub const UCEERR_TRANSPORTOVERLOADED: HRESULT = 0x88980422u32 as HRESULT; +pub const UCEERR_PARTITION_ZOMBIED: HRESULT = 0x88980423u32 as HRESULT; +pub const MILAVERR_NOCLOCK: HRESULT = 0x88980500u32 as HRESULT; +pub const MILAVERR_NOMEDIATYPE: HRESULT = 0x88980501u32 as HRESULT; +pub const MILAVERR_NOVIDEOMIXER: HRESULT = 0x88980502u32 as HRESULT; +pub const MILAVERR_NOVIDEOPRESENTER: HRESULT = 0x88980503u32 as HRESULT; +pub const MILAVERR_NOREADYFRAMES: HRESULT = 0x88980504u32 as HRESULT; +pub const MILAVERR_MODULENOTLOADED: HRESULT = 0x88980505u32 as HRESULT; +pub const MILAVERR_WMPFACTORYNOTREGISTERED: HRESULT = 0x88980506u32 as HRESULT; +pub const MILAVERR_INVALIDWMPVERSION: HRESULT = 0x88980507u32 as HRESULT; +pub const MILAVERR_INSUFFICIENTVIDEORESOURCES: HRESULT = 0x88980508u32 as HRESULT; +pub const MILAVERR_VIDEOACCELERATIONNOTAVAILABLE: HRESULT = 0x88980509u32 as HRESULT; +pub const MILAVERR_REQUESTEDTEXTURETOOBIG: HRESULT = 0x8898050Au32 as HRESULT; +pub const MILAVERR_SEEKFAILED: HRESULT = 0x8898050Bu32 as HRESULT; +pub const MILAVERR_UNEXPECTEDWMPFAILURE: HRESULT = 0x8898050Cu32 as HRESULT; +pub const MILAVERR_MEDIAPLAYERCLOSED: HRESULT = 0x8898050Du32 as HRESULT; +pub const MILAVERR_UNKNOWNHARDWAREERROR: HRESULT = 0x8898050Eu32 as HRESULT; +pub const MILEFFECTSERR_UNKNOWNPROPERTY: HRESULT = 0x8898060Eu32 as HRESULT; +pub const MILEFFECTSERR_EFFECTNOTPARTOFGROUP: HRESULT = 0x8898060Fu32 as HRESULT; +pub const MILEFFECTSERR_NOINPUTSOURCEATTACHED: HRESULT = 0x88980610u32 as HRESULT; +pub const MILEFFECTSERR_CONNECTORNOTCONNECTED: HRESULT = 0x88980611u32 as HRESULT; +pub const MILEFFECTSERR_CONNECTORNOTASSOCIATEDWITHEFFECT: HRESULT = 0x88980612u32 as HRESULT; +pub const MILEFFECTSERR_RESERVED: HRESULT = 0x88980613u32 as HRESULT; +pub const MILEFFECTSERR_CYCLEDETECTED: HRESULT = 0x88980614u32 as HRESULT; +pub const MILEFFECTSERR_EFFECTINMORETHANONEGRAPH: HRESULT = 0x88980615u32 as HRESULT; +pub const MILEFFECTSERR_EFFECTALREADYINAGRAPH: HRESULT = 0x88980616u32 as HRESULT; +pub const MILEFFECTSERR_EFFECTHASNOCHILDREN: HRESULT = 0x88980617u32 as HRESULT; +pub const MILEFFECTSERR_ALREADYATTACHEDTOLISTENER: HRESULT = 0x88980618u32 as HRESULT; +pub const MILEFFECTSERR_NOTAFFINETRANSFORM: HRESULT = 0x88980619u32 as HRESULT; +pub const MILEFFECTSERR_EMPTYBOUNDS: HRESULT = 0x8898061Au32 as HRESULT; +pub const MILEFFECTSERR_OUTPUTSIZETOOLARGE: HRESULT = 0x8898061Bu32 as HRESULT; +pub const DWMERR_STATE_TRANSITION_FAILED: HRESULT = 0x88980700u32 as HRESULT; +pub const DWMERR_THEME_FAILED: HRESULT = 0x88980701u32 as HRESULT; +pub const DWMERR_CATASTROPHIC_FAILURE: HRESULT = 0x88980702u32 as HRESULT; +pub const DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED: HRESULT = 0x88980800u32 as HRESULT; +pub const DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED: HRESULT = 0x88980801u32 as HRESULT; +pub const DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED: HRESULT = 0x88980802u32 as HRESULT; +pub const ONL_E_INVALID_AUTHENTICATION_TARGET: HRESULT = 0x80860001u32 as HRESULT; +pub const ONL_E_ACCESS_DENIED_BY_TOU: HRESULT = 0x80860002u32 as HRESULT; +pub const ONL_E_INVALID_APPLICATION: HRESULT = 0x80860003u32 as HRESULT; +pub const ONL_E_PASSWORD_UPDATE_REQUIRED: HRESULT = 0x80860004u32 as HRESULT; +pub const ONL_E_ACCOUNT_UPDATE_REQUIRED: HRESULT = 0x80860005u32 as HRESULT; +pub const ONL_E_FORCESIGNIN: HRESULT = 0x80860006u32 as HRESULT; +pub const ONL_E_ACCOUNT_LOCKED: HRESULT = 0x80860007u32 as HRESULT; +pub const ONL_E_PARENTAL_CONSENT_REQUIRED: HRESULT = 0x80860008u32 as HRESULT; +pub const ONL_E_EMAIL_VERIFICATION_REQUIRED: HRESULT = 0x80860009u32 as HRESULT; +pub const ONL_E_ACCOUNT_SUSPENDED_COMPROIMISE: HRESULT = 0x8086000Au32 as HRESULT; +pub const ONL_E_ACCOUNT_SUSPENDED_ABUSE: HRESULT = 0x8086000Bu32 as HRESULT; +pub const ONL_E_ACTION_REQUIRED: HRESULT = 0x8086000Cu32 as HRESULT; +pub const ONL_CONNECTION_COUNT_LIMIT: HRESULT = 0x8086000Du32 as HRESULT; +pub const ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT: HRESULT = 0x8086000Eu32 as HRESULT; +pub const ONL_E_USER_AUTHENTICATION_REQUIRED: HRESULT = 0x8086000Fu32 as HRESULT; +pub const ONL_E_REQUEST_THROTTLED: HRESULT = 0x80860010u32 as HRESULT; +pub const FA_E_MAX_PERSISTED_ITEMS_REACHED: HRESULT = 0x80270220u32 as HRESULT; +pub const FA_E_HOMEGROUP_NOT_AVAILABLE: HRESULT = 0x80270222u32 as HRESULT; +pub const E_MONITOR_RESOLUTION_TOO_LOW: HRESULT = 0x80270250u32 as HRESULT; +pub const E_ELEVATED_ACTIVATION_NOT_SUPPORTED: HRESULT = 0x80270251u32 as HRESULT; +pub const E_UAC_DISABLED: HRESULT = 0x80270252u32 as HRESULT; +pub const E_FULL_ADMIN_NOT_SUPPORTED: HRESULT = 0x80270253u32 as HRESULT; +pub const E_APPLICATION_NOT_REGISTERED: HRESULT = 0x80270254u32 as HRESULT; +pub const E_MULTIPLE_EXTENSIONS_FOR_APPLICATION: HRESULT = 0x80270255u32 as HRESULT; +pub const E_MULTIPLE_PACKAGES_FOR_FAMILY: HRESULT = 0x80270256u32 as HRESULT; +pub const E_APPLICATION_MANAGER_NOT_RUNNING: HRESULT = 0x80270257u32 as HRESULT; +pub const S_STORE_LAUNCHED_FOR_REMEDIATION: HRESULT = 0x00270258; +pub const S_APPLICATION_ACTIVATION_ERROR_HANDLED_BY_DIALOG: HRESULT = 0x00270259; +pub const E_APPLICATION_ACTIVATION_TIMED_OUT: HRESULT = 0x8027025Au32 as HRESULT; +pub const E_APPLICATION_ACTIVATION_EXEC_FAILURE: HRESULT = 0x8027025Bu32 as HRESULT; +pub const E_APPLICATION_TEMPORARY_LICENSE_ERROR: HRESULT = 0x8027025Cu32 as HRESULT; +pub const E_APPLICATION_TRIAL_LICENSE_EXPIRED: HRESULT = 0x8027025Du32 as HRESULT; +pub const E_SKYDRIVE_ROOT_TARGET_FILE_SYSTEM_NOT_SUPPORTED: HRESULT = 0x80270260u32 as HRESULT; +pub const E_SKYDRIVE_ROOT_TARGET_OVERLAP: HRESULT = 0x80270261u32 as HRESULT; +pub const E_SKYDRIVE_ROOT_TARGET_CANNOT_INDEX: HRESULT = 0x80270262u32 as HRESULT; +pub const E_SKYDRIVE_FILE_NOT_UPLOADED: HRESULT = 0x80270263u32 as HRESULT; +pub const E_SKYDRIVE_UPDATE_AVAILABILITY_FAIL: HRESULT = 0x80270264u32 as HRESULT; +pub const E_SKYDRIVE_ROOT_TARGET_VOLUME_ROOT_NOT_SUPPORTED: HRESULT = 0x80270265u32 as HRESULT; +pub const E_SYNCENGINE_FILE_SIZE_OVER_LIMIT: HRESULT = 0x8802B001u32 as HRESULT; +pub const E_SYNCENGINE_FILE_SIZE_EXCEEDS_REMAINING_QUOTA: HRESULT = 0x8802B002u32 as HRESULT; +pub const E_SYNCENGINE_UNSUPPORTED_FILE_NAME: HRESULT = 0x8802B003u32 as HRESULT; +pub const E_SYNCENGINE_FOLDER_ITEM_COUNT_LIMIT_EXCEEDED: HRESULT = 0x8802B004u32 as HRESULT; +pub const E_SYNCENGINE_FILE_SYNC_PARTNER_ERROR: HRESULT = 0x8802B005u32 as HRESULT; +pub const E_SYNCENGINE_SYNC_PAUSED_BY_SERVICE: HRESULT = 0x8802B006u32 as HRESULT; +pub const E_SYNCENGINE_FILE_IDENTIFIER_UNKNOWN: HRESULT = 0x8802C002u32 as HRESULT; +pub const E_SYNCENGINE_SERVICE_AUTHENTICATION_FAILED: HRESULT = 0x8802C003u32 as HRESULT; +pub const E_SYNCENGINE_UNKNOWN_SERVICE_ERROR: HRESULT = 0x8802C004u32 as HRESULT; +pub const E_SYNCENGINE_SERVICE_RETURNED_UNEXPECTED_SIZE: HRESULT = 0x8802C005u32 as HRESULT; +pub const E_SYNCENGINE_REQUEST_BLOCKED_BY_SERVICE: HRESULT = 0x8802C006u32 as HRESULT; +pub const E_SYNCENGINE_REQUEST_BLOCKED_DUE_TO_CLIENT_ERROR: HRESULT = 0x8802C007u32 as HRESULT; +pub const E_SYNCENGINE_FOLDER_INACCESSIBLE: HRESULT = 0x8802D001u32 as HRESULT; +pub const E_SYNCENGINE_UNSUPPORTED_FOLDER_NAME: HRESULT = 0x8802D002u32 as HRESULT; +pub const E_SYNCENGINE_UNSUPPORTED_MARKET: HRESULT = 0x8802D003u32 as HRESULT; +pub const E_SYNCENGINE_PATH_LENGTH_LIMIT_EXCEEDED: HRESULT = 0x8802D004u32 as HRESULT; +pub const E_SYNCENGINE_REMOTE_PATH_LENGTH_LIMIT_EXCEEDED: HRESULT = 0x8802D005u32 as HRESULT; +pub const E_SYNCENGINE_CLIENT_UPDATE_NEEDED: HRESULT = 0x8802D006u32 as HRESULT; +pub const E_SYNCENGINE_PROXY_AUTHENTICATION_REQUIRED: HRESULT = 0x8802D007u32 as HRESULT; +pub const E_SYNCENGINE_STORAGE_SERVICE_PROVISIONING_FAILED: HRESULT = 0x8802D008u32 as HRESULT; +pub const E_SYNCENGINE_UNSUPPORTED_REPARSE_POINT: HRESULT = 0x8802D009u32 as HRESULT; +pub const E_SYNCENGINE_STORAGE_SERVICE_BLOCKED: HRESULT = 0x8802D00Au32 as HRESULT; +pub const E_SYNCENGINE_FOLDER_IN_REDIRECTION: HRESULT = 0x8802D00Bu32 as HRESULT; +pub const EAS_E_POLICY_NOT_MANAGED_BY_OS: HRESULT = 0x80550001u32 as HRESULT; +pub const EAS_E_POLICY_COMPLIANT_WITH_ACTIONS: HRESULT = 0x80550002u32 as HRESULT; +pub const EAS_E_REQUESTED_POLICY_NOT_ENFORCEABLE: HRESULT = 0x80550003u32 as HRESULT; +pub const EAS_E_CURRENT_USER_HAS_BLANK_PASSWORD: HRESULT = 0x80550004u32 as HRESULT; +pub const EAS_E_REQUESTED_POLICY_PASSWORD_EXPIRATION_INCOMPATIBLE: HRESULT = 0x80550005u32 as HRESULT; +pub const EAS_E_USER_CANNOT_CHANGE_PASSWORD: HRESULT = 0x80550006u32 as HRESULT; +pub const EAS_E_ADMINS_HAVE_BLANK_PASSWORD: HRESULT = 0x80550007u32 as HRESULT; +pub const EAS_E_ADMINS_CANNOT_CHANGE_PASSWORD: HRESULT = 0x80550008u32 as HRESULT; +pub const EAS_E_LOCAL_CONTROLLED_USERS_CANNOT_CHANGE_PASSWORD: HRESULT = 0x80550009u32 as HRESULT; +pub const EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CONNECTED_ADMINS: HRESULT = 0x8055000Au32 as HRESULT; +pub const EAS_E_CONNECTED_ADMINS_NEED_TO_CHANGE_PASSWORD: HRESULT = 0x8055000Bu32 as HRESULT; +pub const EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CURRENT_CONNECTED_USER: HRESULT = 0x8055000Cu32 as HRESULT; +pub const EAS_E_CURRENT_CONNECTED_USER_NEED_TO_CHANGE_PASSWORD: HRESULT = 0x8055000Du32 as HRESULT; +pub const WEB_E_UNSUPPORTED_FORMAT: HRESULT = 0x83750001u32 as HRESULT; +pub const WEB_E_INVALID_XML: HRESULT = 0x83750002u32 as HRESULT; +pub const WEB_E_MISSING_REQUIRED_ELEMENT: HRESULT = 0x83750003u32 as HRESULT; +pub const WEB_E_MISSING_REQUIRED_ATTRIBUTE: HRESULT = 0x83750004u32 as HRESULT; +pub const WEB_E_UNEXPECTED_CONTENT: HRESULT = 0x83750005u32 as HRESULT; +pub const WEB_E_RESOURCE_TOO_LARGE: HRESULT = 0x83750006u32 as HRESULT; +pub const WEB_E_INVALID_JSON_STRING: HRESULT = 0x83750007u32 as HRESULT; +pub const WEB_E_INVALID_JSON_NUMBER: HRESULT = 0x83750008u32 as HRESULT; +pub const WEB_E_JSON_VALUE_NOT_FOUND: HRESULT = 0x83750009u32 as HRESULT; +pub const HTTP_E_STATUS_UNEXPECTED: HRESULT = 0x80190001u32 as HRESULT; +pub const HTTP_E_STATUS_UNEXPECTED_REDIRECTION: HRESULT = 0x80190003u32 as HRESULT; +pub const HTTP_E_STATUS_UNEXPECTED_CLIENT_ERROR: HRESULT = 0x80190004u32 as HRESULT; +pub const HTTP_E_STATUS_UNEXPECTED_SERVER_ERROR: HRESULT = 0x80190005u32 as HRESULT; +pub const HTTP_E_STATUS_AMBIGUOUS: HRESULT = 0x8019012Cu32 as HRESULT; +pub const HTTP_E_STATUS_MOVED: HRESULT = 0x8019012Du32 as HRESULT; +pub const HTTP_E_STATUS_REDIRECT: HRESULT = 0x8019012Eu32 as HRESULT; +pub const HTTP_E_STATUS_REDIRECT_METHOD: HRESULT = 0x8019012Fu32 as HRESULT; +pub const HTTP_E_STATUS_NOT_MODIFIED: HRESULT = 0x80190130u32 as HRESULT; +pub const HTTP_E_STATUS_USE_PROXY: HRESULT = 0x80190131u32 as HRESULT; +pub const HTTP_E_STATUS_REDIRECT_KEEP_VERB: HRESULT = 0x80190133u32 as HRESULT; +pub const HTTP_E_STATUS_BAD_REQUEST: HRESULT = 0x80190190u32 as HRESULT; +pub const HTTP_E_STATUS_DENIED: HRESULT = 0x80190191u32 as HRESULT; +pub const HTTP_E_STATUS_PAYMENT_REQ: HRESULT = 0x80190192u32 as HRESULT; +pub const HTTP_E_STATUS_FORBIDDEN: HRESULT = 0x80190193u32 as HRESULT; +pub const HTTP_E_STATUS_NOT_FOUND: HRESULT = 0x80190194u32 as HRESULT; +pub const HTTP_E_STATUS_BAD_METHOD: HRESULT = 0x80190195u32 as HRESULT; +pub const HTTP_E_STATUS_NONE_ACCEPTABLE: HRESULT = 0x80190196u32 as HRESULT; +pub const HTTP_E_STATUS_PROXY_AUTH_REQ: HRESULT = 0x80190197u32 as HRESULT; +pub const HTTP_E_STATUS_REQUEST_TIMEOUT: HRESULT = 0x80190198u32 as HRESULT; +pub const HTTP_E_STATUS_CONFLICT: HRESULT = 0x80190199u32 as HRESULT; +pub const HTTP_E_STATUS_GONE: HRESULT = 0x8019019Au32 as HRESULT; +pub const HTTP_E_STATUS_LENGTH_REQUIRED: HRESULT = 0x8019019Bu32 as HRESULT; +pub const HTTP_E_STATUS_PRECOND_FAILED: HRESULT = 0x8019019Cu32 as HRESULT; +pub const HTTP_E_STATUS_REQUEST_TOO_LARGE: HRESULT = 0x8019019Du32 as HRESULT; +pub const HTTP_E_STATUS_URI_TOO_LONG: HRESULT = 0x8019019Eu32 as HRESULT; +pub const HTTP_E_STATUS_UNSUPPORTED_MEDIA: HRESULT = 0x8019019Fu32 as HRESULT; +pub const HTTP_E_STATUS_RANGE_NOT_SATISFIABLE: HRESULT = 0x801901A0u32 as HRESULT; +pub const HTTP_E_STATUS_EXPECTATION_FAILED: HRESULT = 0x801901A1u32 as HRESULT; +pub const HTTP_E_STATUS_SERVER_ERROR: HRESULT = 0x801901F4u32 as HRESULT; +pub const HTTP_E_STATUS_NOT_SUPPORTED: HRESULT = 0x801901F5u32 as HRESULT; +pub const HTTP_E_STATUS_BAD_GATEWAY: HRESULT = 0x801901F6u32 as HRESULT; +pub const HTTP_E_STATUS_SERVICE_UNAVAIL: HRESULT = 0x801901F7u32 as HRESULT; +pub const HTTP_E_STATUS_GATEWAY_TIMEOUT: HRESULT = 0x801901F8u32 as HRESULT; +pub const HTTP_E_STATUS_VERSION_NOT_SUP: HRESULT = 0x801901F9u32 as HRESULT; +pub const E_INVALID_PROTOCOL_OPERATION: HRESULT = 0x83760001u32 as HRESULT; +pub const E_INVALID_PROTOCOL_FORMAT: HRESULT = 0x83760002u32 as HRESULT; +pub const E_PROTOCOL_EXTENSIONS_NOT_SUPPORTED: HRESULT = 0x83760003u32 as HRESULT; +pub const E_SUBPROTOCOL_NOT_SUPPORTED: HRESULT = 0x83760004u32 as HRESULT; +pub const E_PROTOCOL_VERSION_NOT_SUPPORTED: HRESULT = 0x83760005u32 as HRESULT; +pub const INPUT_E_OUT_OF_ORDER: HRESULT = 0x80400000u32 as HRESULT; +pub const INPUT_E_REENTRANCY: HRESULT = 0x80400001u32 as HRESULT; +pub const INPUT_E_MULTIMODAL: HRESULT = 0x80400002u32 as HRESULT; +pub const INPUT_E_PACKET: HRESULT = 0x80400003u32 as HRESULT; +pub const INPUT_E_FRAME: HRESULT = 0x80400004u32 as HRESULT; +pub const INPUT_E_HISTORY: HRESULT = 0x80400005u32 as HRESULT; +pub const INPUT_E_DEVICE_INFO: HRESULT = 0x80400006u32 as HRESULT; +pub const INPUT_E_TRANSFORM: HRESULT = 0x80400007u32 as HRESULT; +pub const INPUT_E_DEVICE_PROPERTY: HRESULT = 0x80400008u32 as HRESULT; +pub const INET_E_INVALID_URL: HRESULT = 0x800C0002u32 as HRESULT; +pub const INET_E_NO_SESSION: HRESULT = 0x800C0003u32 as HRESULT; +pub const INET_E_CANNOT_CONNECT: HRESULT = 0x800C0004u32 as HRESULT; +pub const INET_E_RESOURCE_NOT_FOUND: HRESULT = 0x800C0005u32 as HRESULT; +pub const INET_E_OBJECT_NOT_FOUND: HRESULT = 0x800C0006u32 as HRESULT; +pub const INET_E_DATA_NOT_AVAILABLE: HRESULT = 0x800C0007u32 as HRESULT; +pub const INET_E_DOWNLOAD_FAILURE: HRESULT = 0x800C0008u32 as HRESULT; +pub const INET_E_AUTHENTICATION_REQUIRED: HRESULT = 0x800C0009u32 as HRESULT; +pub const INET_E_NO_VALID_MEDIA: HRESULT = 0x800C000Au32 as HRESULT; +pub const INET_E_CONNECTION_TIMEOUT: HRESULT = 0x800C000Bu32 as HRESULT; +pub const INET_E_INVALID_REQUEST: HRESULT = 0x800C000Cu32 as HRESULT; +pub const INET_E_UNKNOWN_PROTOCOL: HRESULT = 0x800C000Du32 as HRESULT; +pub const INET_E_SECURITY_PROBLEM: HRESULT = 0x800C000Eu32 as HRESULT; +pub const INET_E_CANNOT_LOAD_DATA: HRESULT = 0x800C000Fu32 as HRESULT; +pub const INET_E_CANNOT_INSTANTIATE_OBJECT: HRESULT = 0x800C0010u32 as HRESULT; +pub const INET_E_INVALID_CERTIFICATE: HRESULT = 0x800C0019u32 as HRESULT; +pub const INET_E_REDIRECT_FAILED: HRESULT = 0x800C0014u32 as HRESULT; +pub const INET_E_REDIRECT_TO_DIR: HRESULT = 0x800C0015u32 as HRESULT; +pub const ERROR_DBG_CREATE_PROCESS_FAILURE_LOCKDOWN: HRESULT = 0x80B00001u32 as HRESULT; +pub const ERROR_DBG_ATTACH_PROCESS_FAILURE_LOCKDOWN: HRESULT = 0x80B00002u32 as HRESULT; +pub const ERROR_DBG_CONNECT_SERVER_FAILURE_LOCKDOWN: HRESULT = 0x80B00003u32 as HRESULT; +pub const ERROR_DBG_START_SERVER_FAILURE_LOCKDOWN: HRESULT = 0x80B00004u32 as HRESULT; +pub const ERROR_IO_PREEMPTED: HRESULT = 0x89010001u32 as HRESULT; +pub const JSCRIPT_E_CANTEXECUTE: HRESULT = 0x89020001u32 as HRESULT; +pub const WEP_E_NOT_PROVISIONED_ON_ALL_VOLUMES: HRESULT = 0x88010001u32 as HRESULT; +pub const WEP_E_FIXED_DATA_NOT_SUPPORTED: HRESULT = 0x88010002u32 as HRESULT; +pub const WEP_E_HARDWARE_NOT_COMPLIANT: HRESULT = 0x88010003u32 as HRESULT; +pub const WEP_E_LOCK_NOT_CONFIGURED: HRESULT = 0x88010004u32 as HRESULT; +pub const WEP_E_PROTECTION_SUSPENDED: HRESULT = 0x88010005u32 as HRESULT; +pub const WEP_E_NO_LICENSE: HRESULT = 0x88010006u32 as HRESULT; +pub const WEP_E_OS_NOT_PROTECTED: HRESULT = 0x88010007u32 as HRESULT; +pub const WEP_E_UNEXPECTED_FAIL: HRESULT = 0x88010008u32 as HRESULT; +pub const WEP_E_BUFFER_TOO_LARGE: HRESULT = 0x88010009u32 as HRESULT; +pub const ERROR_SVHDX_ERROR_STORED: HRESULT = 0xC05C0000u32 as HRESULT; +pub const ERROR_SVHDX_ERROR_NOT_AVAILABLE: HRESULT = 0xC05CFF00u32 as HRESULT; +pub const ERROR_SVHDX_UNIT_ATTENTION_AVAILABLE: HRESULT = 0xC05CFF01u32 as HRESULT; +pub const ERROR_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED: HRESULT = 0xC05CFF02u32 as HRESULT; +pub const ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED: HRESULT = 0xC05CFF03u32 as HRESULT; +pub const ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED: HRESULT = 0xC05CFF04u32 as HRESULT; +pub const ERROR_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED: HRESULT = 0xC05CFF05u32 as HRESULT; +pub const ERROR_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED: HRESULT = 0xC05CFF06u32 as HRESULT; +pub const ERROR_SVHDX_RESERVATION_CONFLICT: HRESULT = 0xC05CFF07u32 as HRESULT; +pub const ERROR_SVHDX_WRONG_FILE_TYPE: HRESULT = 0xC05CFF08u32 as HRESULT; +pub const ERROR_SVHDX_VERSION_MISMATCH: HRESULT = 0xC05CFF09u32 as HRESULT; +pub const ERROR_VHD_SHARED: HRESULT = 0xC05CFF0Au32 as HRESULT; +pub const WININET_E_OUT_OF_HANDLES: HRESULT = 0x80072EE1u32 as HRESULT; +pub const WININET_E_TIMEOUT: HRESULT = 0x80072EE2u32 as HRESULT; +pub const WININET_E_EXTENDED_ERROR: HRESULT = 0x80072EE3u32 as HRESULT; +pub const WININET_E_INTERNAL_ERROR: HRESULT = 0x80072EE4u32 as HRESULT; +pub const WININET_E_INVALID_URL: HRESULT = 0x80072EE5u32 as HRESULT; +pub const WININET_E_UNRECOGNIZED_SCHEME: HRESULT = 0x80072EE6u32 as HRESULT; +pub const WININET_E_NAME_NOT_RESOLVED: HRESULT = 0x80072EE7u32 as HRESULT; +pub const WININET_E_PROTOCOL_NOT_FOUND: HRESULT = 0x80072EE8u32 as HRESULT; +pub const WININET_E_INVALID_OPTION: HRESULT = 0x80072EE9u32 as HRESULT; +pub const WININET_E_BAD_OPTION_LENGTH: HRESULT = 0x80072EEAu32 as HRESULT; +pub const WININET_E_OPTION_NOT_SETTABLE: HRESULT = 0x80072EEBu32 as HRESULT; +pub const WININET_E_SHUTDOWN: HRESULT = 0x80072EECu32 as HRESULT; +pub const WININET_E_INCORRECT_USER_NAME: HRESULT = 0x80072EEDu32 as HRESULT; +pub const WININET_E_INCORRECT_PASSWORD: HRESULT = 0x80072EEEu32 as HRESULT; +pub const WININET_E_LOGIN_FAILURE: HRESULT = 0x80072EEFu32 as HRESULT; +pub const WININET_E_INVALID_OPERATION: HRESULT = 0x80072EF0u32 as HRESULT; +pub const WININET_E_OPERATION_CANCELLED: HRESULT = 0x80072EF1u32 as HRESULT; +pub const WININET_E_INCORRECT_HANDLE_TYPE: HRESULT = 0x80072EF2u32 as HRESULT; +pub const WININET_E_INCORRECT_HANDLE_STATE: HRESULT = 0x80072EF3u32 as HRESULT; +pub const WININET_E_NOT_PROXY_REQUEST: HRESULT = 0x80072EF4u32 as HRESULT; +pub const WININET_E_REGISTRY_VALUE_NOT_FOUND: HRESULT = 0x80072EF5u32 as HRESULT; +pub const WININET_E_BAD_REGISTRY_PARAMETER: HRESULT = 0x80072EF6u32 as HRESULT; +pub const WININET_E_NO_DIRECT_ACCESS: HRESULT = 0x80072EF7u32 as HRESULT; +pub const WININET_E_NO_CONTEXT: HRESULT = 0x80072EF8u32 as HRESULT; +pub const WININET_E_NO_CALLBACK: HRESULT = 0x80072EF9u32 as HRESULT; +pub const WININET_E_REQUEST_PENDING: HRESULT = 0x80072EFAu32 as HRESULT; +pub const WININET_E_INCORRECT_FORMAT: HRESULT = 0x80072EFBu32 as HRESULT; +pub const WININET_E_ITEM_NOT_FOUND: HRESULT = 0x80072EFCu32 as HRESULT; +pub const WININET_E_CANNOT_CONNECT: HRESULT = 0x80072EFDu32 as HRESULT; +pub const WININET_E_CONNECTION_ABORTED: HRESULT = 0x80072EFEu32 as HRESULT; +pub const WININET_E_CONNECTION_RESET: HRESULT = 0x80072EFFu32 as HRESULT; +pub const WININET_E_FORCE_RETRY: HRESULT = 0x80072F00u32 as HRESULT; +pub const WININET_E_INVALID_PROXY_REQUEST: HRESULT = 0x80072F01u32 as HRESULT; +pub const WININET_E_NEED_UI: HRESULT = 0x80072F02u32 as HRESULT; +pub const WININET_E_HANDLE_EXISTS: HRESULT = 0x80072F04u32 as HRESULT; +pub const WININET_E_SEC_CERT_DATE_INVALID: HRESULT = 0x80072F05u32 as HRESULT; +pub const WININET_E_SEC_CERT_CN_INVALID: HRESULT = 0x80072F06u32 as HRESULT; +pub const WININET_E_HTTP_TO_HTTPS_ON_REDIR: HRESULT = 0x80072F07u32 as HRESULT; +pub const WININET_E_HTTPS_TO_HTTP_ON_REDIR: HRESULT = 0x80072F08u32 as HRESULT; +pub const WININET_E_MIXED_SECURITY: HRESULT = 0x80072F09u32 as HRESULT; +pub const WININET_E_CHG_POST_IS_NON_SECURE: HRESULT = 0x80072F0Au32 as HRESULT; +pub const WININET_E_POST_IS_NON_SECURE: HRESULT = 0x80072F0Bu32 as HRESULT; +pub const WININET_E_CLIENT_AUTH_CERT_NEEDED: HRESULT = 0x80072F0Cu32 as HRESULT; +pub const WININET_E_INVALID_CA: HRESULT = 0x80072F0Du32 as HRESULT; +pub const WININET_E_CLIENT_AUTH_NOT_SETUP: HRESULT = 0x80072F0Eu32 as HRESULT; +pub const WININET_E_ASYNC_THREAD_FAILED: HRESULT = 0x80072F0Fu32 as HRESULT; +pub const WININET_E_REDIRECT_SCHEME_CHANGE: HRESULT = 0x80072F10u32 as HRESULT; +pub const WININET_E_DIALOG_PENDING: HRESULT = 0x80072F11u32 as HRESULT; +pub const WININET_E_RETRY_DIALOG: HRESULT = 0x80072F12u32 as HRESULT; +pub const WININET_E_NO_NEW_CONTAINERS: HRESULT = 0x80072F13u32 as HRESULT; +pub const WININET_E_HTTPS_HTTP_SUBMIT_REDIR: HRESULT = 0x80072F14u32 as HRESULT; +pub const WININET_E_SEC_CERT_ERRORS: HRESULT = 0x80072F17u32 as HRESULT; +pub const WININET_E_SEC_CERT_REV_FAILED: HRESULT = 0x80072F19u32 as HRESULT; +pub const WININET_E_HEADER_NOT_FOUND: HRESULT = 0x80072F76u32 as HRESULT; +pub const WININET_E_DOWNLEVEL_SERVER: HRESULT = 0x80072F77u32 as HRESULT; +pub const WININET_E_INVALID_SERVER_RESPONSE: HRESULT = 0x80072F78u32 as HRESULT; +pub const WININET_E_INVALID_HEADER: HRESULT = 0x80072F79u32 as HRESULT; +pub const WININET_E_INVALID_QUERY_REQUEST: HRESULT = 0x80072F7Au32 as HRESULT; +pub const WININET_E_HEADER_ALREADY_EXISTS: HRESULT = 0x80072F7Bu32 as HRESULT; +pub const WININET_E_REDIRECT_FAILED: HRESULT = 0x80072F7Cu32 as HRESULT; +pub const WININET_E_SECURITY_CHANNEL_ERROR: HRESULT = 0x80072F7Du32 as HRESULT; +pub const WININET_E_UNABLE_TO_CACHE_FILE: HRESULT = 0x80072F7Eu32 as HRESULT; +pub const WININET_E_TCPIP_NOT_INSTALLED: HRESULT = 0x80072F7Fu32 as HRESULT; +pub const WININET_E_DISCONNECTED: HRESULT = 0x80072F83u32 as HRESULT; +pub const WININET_E_SERVER_UNREACHABLE: HRESULT = 0x80072F84u32 as HRESULT; +pub const WININET_E_PROXY_SERVER_UNREACHABLE: HRESULT = 0x80072F85u32 as HRESULT; +pub const WININET_E_BAD_AUTO_PROXY_SCRIPT: HRESULT = 0x80072F86u32 as HRESULT; +pub const WININET_E_UNABLE_TO_DOWNLOAD_SCRIPT: HRESULT = 0x80072F87u32 as HRESULT; +pub const WININET_E_SEC_INVALID_CERT: HRESULT = 0x80072F89u32 as HRESULT; +pub const WININET_E_SEC_CERT_REVOKED: HRESULT = 0x80072F8Au32 as HRESULT; +pub const WININET_E_FAILED_DUETOSECURITYCHECK: HRESULT = 0x80072F8Bu32 as HRESULT; +pub const WININET_E_NOT_INITIALIZED: HRESULT = 0x80072F8Cu32 as HRESULT; +pub const WININET_E_LOGIN_FAILURE_DISPLAY_ENTITY_BODY: HRESULT = 0x80072F8Eu32 as HRESULT; +pub const WININET_E_DECODING_FAILED: HRESULT = 0x80072F8Fu32 as HRESULT; +pub const WININET_E_NOT_REDIRECTED: HRESULT = 0x80072F80u32 as HRESULT; +pub const WININET_E_COOKIE_NEEDS_CONFIRMATION: HRESULT = 0x80072F81u32 as HRESULT; +pub const WININET_E_COOKIE_DECLINED: HRESULT = 0x80072F82u32 as HRESULT; +pub const WININET_E_REDIRECT_NEEDS_CONFIRMATION: HRESULT = 0x80072F88u32 as HRESULT; diff --git a/third_party/rust/winapi-0.2.8/src/winevt.rs b/third_party/rust/winapi-0.2.8/src/winevt.rs new file mode 100644 index 0000000000..3f2d6a03a7 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winevt.rs @@ -0,0 +1,40 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Windows Events API +pub type EVT_HANDLE = ::HANDLE; +pub type PEVT_HANDLE = *mut ::HANDLE; +ENUM!{enum EVT_VARIANT_TYPE { + EvtVarTypeNull = 0, + EvtVarTypeString = 1, + EvtVarTypeAnsiString = 2, + EvtVarTypeSByte = 3, + EvtVarTypeByte = 4, + EvtVarTypeInt16 = 5, + EvtVarTypeUInt16 = 6, + EvtVarTypeInt32 = 7, + EvtVarTypeUInt32 = 8, + EvtVarTypeInt64 = 9, + EvtVarTypeUInt64 = 10, + EvtVarTypeSingle = 11, + EvtVarTypeDouble = 12, + EvtVarTypeBoolean = 13, + EvtVarTypeBinary = 14, + EvtVarTypeGuid = 15, + EvtVarTypeSizeT = 16, + EvtVarTypeFileTime = 17, + EvtVarTypeSysTime = 18, + EvtVarTypeSid = 19, + EvtVarTypeHexInt32 = 20, + EvtVarTypeHexInt64 = 21, + EvtVarTypeEvtHandle = 32, + EvtVarTypeEvtXml = 35, +}} +pub const EVT_VARIANT_TYPE_MASK: ::DWORD = 0x7f; +pub const EVT_VARIANT_TYPE_ARRAY: ::DWORD = 128; +STRUCT!{struct EVT_VARIANT { + u: u64, + Count: ::DWORD, + Type: ::DWORD, +}} +// TODO - All the UNION! for each variant +// TODO - The rest of this header diff --git a/third_party/rust/winapi-0.2.8/src/wingdi.rs b/third_party/rust/winapi-0.2.8/src/wingdi.rs new file mode 100644 index 0000000000..edc5850ed5 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/wingdi.rs @@ -0,0 +1,1238 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! GDI procedure declarations, constant definitions and macros +pub const DISPLAY_DEVICE_ATTACHED_TO_DESKTOP: ::DWORD = 0x00000001; +pub const DISPLAY_DEVICE_MULTI_DRIVER: ::DWORD = 0x00000002; +pub const DISPLAY_DEVICE_PRIMARY_DEVICE: ::DWORD = 0x00000004; +pub const DISPLAY_DEVICE_MIRRORING_DRIVER: ::DWORD = 0x00000008; +pub const DISPLAY_DEVICE_VGA_COMPATIBLE: ::DWORD = 0x00000010; +pub const DISPLAY_DEVICE_REMOVABLE: ::DWORD = 0x00000020; +pub const DISPLAY_DEVICE_ACC_DRIVER: ::DWORD = 0x00000040; +pub const DISPLAY_DEVICE_MODESPRUNED: ::DWORD = 0x08000000; +pub const DISPLAY_DEVICE_REMOTE: ::DWORD = 0x04000000; +pub const DISPLAY_DEVICE_DISCONNECT: ::DWORD = 0x02000000; +pub const DISPLAY_DEVICE_TS_COMPATIBLE: ::DWORD = 0x00200000; +pub const DISPLAY_DEVICE_UNSAFE_MODES_ON: ::DWORD = 0x00080000; +pub const DISPLAY_DEVICE_ACTIVE: ::DWORD = 0x00000001; +pub const DISPLAY_DEVICE_ATTACHED: ::DWORD = 0x00000002; +pub const DM_ORIENTATION: ::DWORD = 0x00000001; +pub const DM_PAPERSIZE: ::DWORD = 0x00000002; +pub const DM_PAPERLENGTH: ::DWORD = 0x00000004; +pub const DM_PAPERWIDTH: ::DWORD = 0x00000008; +pub const DM_SCALE: ::DWORD = 0x00000010; +pub const DM_POSITION: ::DWORD = 0x00000020; +pub const DM_NUP: ::DWORD = 0x00000040; +pub const DM_DISPLAYORIENTATION: ::DWORD = 0x00000080; +pub const DM_COPIES: ::DWORD = 0x00000100; +pub const DM_DEFAULTSOURCE: ::DWORD = 0x00000200; +pub const DM_PRINTQUALITY: ::DWORD = 0x00000400; +pub const DM_COLOR: ::DWORD = 0x00000800; +pub const DM_DUPLEX: ::DWORD = 0x00001000; +pub const DM_YRESOLUTION: ::DWORD = 0x00002000; +pub const DM_TTOPTION: ::DWORD = 0x00004000; +pub const DM_COLLATE: ::DWORD = 0x00008000; +pub const DM_FORMNAME: ::DWORD = 0x00010000; +pub const DM_LOGPIXELS: ::DWORD = 0x00020000; +pub const DM_BITSPERPEL: ::DWORD = 0x00040000; +pub const DM_PELSWIDTH: ::DWORD = 0x00080000; +pub const DM_PELSHEIGHT: ::DWORD = 0x00100000; +pub const DM_DISPLAYFLAGS: ::DWORD = 0x00200000; +pub const DM_DISPLAYFREQUENCY: ::DWORD = 0x00400000; +pub const DM_ICMMETHOD: ::DWORD = 0x00800000; +pub const DM_ICMINTENT: ::DWORD = 0x01000000; +pub const DM_MEDIATYPE: ::DWORD = 0x02000000; +pub const DM_DITHERTYPE: ::DWORD = 0x04000000; +pub const DM_PANNINGWIDTH: ::DWORD = 0x08000000; +pub const DM_PANNINGHEIGHT: ::DWORD = 0x10000000; +pub const DM_DISPLAYFIXEDOUTPUT: ::DWORD = 0x20000000; +pub const PFD_TYPE_RGBA: ::BYTE = 0; +pub const PFD_TYPE_COLORINDEX: ::BYTE = 1; +pub const PFD_MAIN_PLANE: ::BYTE = 0; +pub const PFD_OVERLAY_PLANE: ::BYTE = 1; +pub const PFD_UNDERLAY_PLANE: ::BYTE = 0xFF; +pub const PFD_DOUBLEBUFFER: ::DWORD = 0x00000001; +pub const PFD_STEREO: ::DWORD = 0x00000002; +pub const PFD_DRAW_TO_WINDOW: ::DWORD = 0x00000004; +pub const PFD_DRAW_TO_BITMAP: ::DWORD = 0x00000008; +pub const PFD_SUPPORT_GDI: ::DWORD = 0x00000010; +pub const PFD_SUPPORT_OPENGL: ::DWORD = 0x00000020; +pub const PFD_GENERIC_FORMAT: ::DWORD = 0x00000040; +pub const PFD_NEED_PALETTE: ::DWORD = 0x00000080; +pub const PFD_NEED_SYSTEM_PALETTE: ::DWORD = 0x00000100; +pub const PFD_SWAP_EXCHANGE: ::DWORD = 0x00000200; +pub const PFD_SWAP_COPY: ::DWORD = 0x00000400; +pub const PFD_SWAP_LAYER_BUFFERS: ::DWORD = 0x00000800; +pub const PFD_GENERIC_ACCELERATED: ::DWORD = 0x00001000; +pub const PFD_SUPPORT_DIRECTDRAW: ::DWORD = 0x00002000; +pub const PFD_DIRECT3D_ACCELERATED: ::DWORD = 0x00004000; +pub const PFD_SUPPORT_COMPOSITION: ::DWORD = 0x00008000; +pub const PFD_DEPTH_DONTCARE: ::DWORD = 0x20000000; +pub const PFD_DOUBLEBUFFER_DONTCARE: ::DWORD = 0x40000000; +pub const PFD_STEREO_DONTCARE: ::DWORD = 0x80000000; +pub const CCHFORMNAME: usize = 32; +STRUCT!{struct DEVMODEA { + dmDeviceName: [::CHAR; ::CCHDEVICENAME], + dmSpecVersion: ::WORD, + dmDriverVersion: ::WORD, + dmSize: ::WORD, + dmDriverExtra: ::WORD, + dmFields: ::DWORD, + union1: [u8; 16], + dmColor: ::c_short, + dmDuplex: ::c_short, + dmYResolution: ::c_short, + dmTTOption: ::c_short, + dmCollate: ::c_short, + dmFormName: [::CHAR; CCHFORMNAME], + dmLogPixels: ::WORD, + dmBitsPerPel: ::DWORD, + dmPelsWidth: ::DWORD, + dmPelsHeight: ::DWORD, + dmDisplayFlags: ::DWORD, + dmDisplayFrequency: ::DWORD, + dmICMMethod: ::DWORD, + dmICMIntent: ::DWORD, + dmMediaType: ::DWORD, + dmDitherType: ::DWORD, + dmReserved1: ::DWORD, + dmReserved2: ::DWORD, + dmPanningWidth: ::DWORD, + dmPanningHeight: ::DWORD, +}} +pub type PDEVMODEA = *mut DEVMODEA; +pub type NPDEVMODEA = *mut DEVMODEA; +pub type LPDEVMODEA = *mut DEVMODEA; +STRUCT!{struct DEVMODEW { + dmDeviceName: [::WCHAR; ::CCHDEVICENAME], + dmSpecVersion: ::WORD, + dmDriverVersion: ::WORD, + dmSize: ::WORD, + dmDriverExtra: ::WORD, + dmFields: ::DWORD, + union1: [u8; 16], + dmColor: ::c_short, + dmDuplex: ::c_short, + dmYResolution: ::c_short, + dmTTOption: ::c_short, + dmCollate: ::c_short, + dmFormName: [::WCHAR; CCHFORMNAME], + dmLogPixels: ::WORD, + dmBitsPerPel: ::DWORD, + dmPelsWidth: ::DWORD, + dmPelsHeight: ::DWORD, + dmDisplayFlags: ::DWORD, + dmDisplayFrequency: ::DWORD, + dmICMMethod: ::DWORD, + dmICMIntent: ::DWORD, + dmMediaType: ::DWORD, + dmDitherType: ::DWORD, + dmReserved1: ::DWORD, + dmReserved2: ::DWORD, + dmPanningWidth: ::DWORD, + dmPanningHeight: ::DWORD, +}} +pub type PDEVMODEW = *mut DEVMODEW; +pub type NPDEVMODEW = *mut DEVMODEW; +pub type LPDEVMODEW = *mut DEVMODEW; +STRUCT!{nodebug struct DISPLAY_DEVICEW { + cb: ::DWORD, + DeviceName: [::WCHAR; 32], + DeviceString: [::WCHAR; 128], + StateFlags: ::DWORD, + DeviceID: [::WCHAR; 128], + DeviceKey: [::WCHAR; 128], +}} +pub type PDISPLAY_DEVICEW = *mut DISPLAY_DEVICEW; +pub type LPDISPLAY_DEVICEW = *mut DISPLAY_DEVICEW; +STRUCT!{nodebug struct DISPLAY_DEVICEA { + cb: ::DWORD, + DeviceName: [::CHAR; 32], + DeviceString: [::CHAR; 128], + StateFlags: ::DWORD, + DeviceID: [::CHAR; 128], + DeviceKey: [::CHAR; 128], +}} +pub type PDISPLAY_DEVICEA = *mut DISPLAY_DEVICEA; +pub type LPDISPLAY_DEVICEA = *mut DISPLAY_DEVICEA; +STRUCT!{struct PIXELFORMATDESCRIPTOR { + nSize: ::WORD, + nVersion: ::WORD, + dwFlags: ::DWORD, + iPixelType: ::BYTE, + cColorBits: ::BYTE, + cRedBits: ::BYTE, + cRedShift: ::BYTE, + cGreenBits: ::BYTE, + cGreenShift: ::BYTE, + cBlueBits: ::BYTE, + cBlueShift: ::BYTE, + cAlphaBits: ::BYTE, + cAlphaShift: ::BYTE, + cAccumBits: ::BYTE, + cAccumRedBits: ::BYTE, + cAccumGreenBits: ::BYTE, + cAccumBlueBits: ::BYTE, + cAccumAlphaBits: ::BYTE, + cDepthBits: ::BYTE, + cStencilBits: ::BYTE, + cAuxBuffers: ::BYTE, + iLayerType: ::BYTE, + bReserved: ::BYTE, + dwLayerMask: ::DWORD, + dwVisibleMask: ::DWORD, + dwDamageMask: ::DWORD, +}} +pub type PPIXELFORMATDESCRIPTOR = *mut PIXELFORMATDESCRIPTOR; +pub type LPPIXELFORMATDESCRIPTOR = *mut PIXELFORMATDESCRIPTOR; +pub const R2_BLACK: ::c_int = 1; +pub const R2_NOTMERGEPEN: ::c_int = 2; +pub const R2_MASKNOTPEN: ::c_int = 3; +pub const R2_NOTCOPYPEN: ::c_int = 4; +pub const R2_MASKPENNOT: ::c_int = 5; +pub const R2_NOT: ::c_int = 6; +pub const R2_XORPEN: ::c_int = 7; +pub const R2_NOTMASKPEN: ::c_int = 8; +pub const R2_MASKPEN: ::c_int = 9; +pub const R2_NOTXORPEN: ::c_int = 10; +pub const R2_NOP: ::c_int = 11; +pub const R2_MERGENOTPEN: ::c_int = 12; +pub const R2_COPYPEN: ::c_int = 13; +pub const R2_MERGEPENNOT: ::c_int = 14; +pub const R2_MERGEPEN: ::c_int = 15; +pub const R2_WHITE: ::c_int = 16; +pub const R2_LAST: ::c_int = 16; +//83 +pub const SRCCOPY: ::DWORD = 0x00CC0020; +pub const SRCPAINT: ::DWORD = 0x00EE0086; +pub const SRCAND: ::DWORD = 0x008800C6; +pub const SRCINVERT: ::DWORD = 0x00660046; +pub const SRCERASE: ::DWORD = 0x00440328; +pub const NOTSRCCOPY: ::DWORD = 0x00330008; +pub const NOTSRCERASE: ::DWORD = 0x001100A6; +pub const MERGECOPY: ::DWORD = 0x00C000CA; +pub const MERGEPAINT: ::DWORD = 0x00BB0226; +pub const PATCOPY: ::DWORD = 0x00F00021; +pub const PATPAINT: ::DWORD = 0x00FB0A09; +pub const PATINVERT: ::DWORD = 0x005A0049; +pub const DSTINVERT: ::DWORD = 0x00550009; +pub const BLACKNESS: ::DWORD = 0x00000042; +pub const WHITENESS: ::DWORD = 0x00FF0062; +//121 +// fnCombineMode values for CombineRgn +pub const RGN_AND: ::c_int = 1; +pub const RGN_OR: ::c_int = 2; +pub const RGN_XOR: ::c_int = 3; +pub const RGN_DIFF: ::c_int = 4; +pub const RGN_COPY: ::c_int = 5; +pub const RGN_MIN: ::c_int = RGN_AND; +pub const RGN_MAX: ::c_int = RGN_COPY; +//572 (Win 7 SDK) +STRUCT!{struct BITMAP { + bmType: ::LONG, + bmWidth: ::LONG, + bmHeight: ::LONG, + bmWidthBytes: ::LONG, + bmPlanes: ::WORD, + bmBitsPixel: ::WORD, + bmBits: ::LPVOID, +}} +pub type PBITMAP = *mut BITMAP; +pub type NPBITMAP = *mut BITMAP; +pub type LPBITMAP = *mut BITMAP; +STRUCT!{struct RGBQUAD { + rgbBlue: ::BYTE, + rgbGreen: ::BYTE, + rgbRed: ::BYTE, + rgbReserved: ::BYTE, +}} +pub type LPRGBQUAD = *mut RGBQUAD; +pub const CS_ENABLE: ::DWORD = 0x00000001; +pub const CS_DISABLE: ::DWORD = 0x00000002; +pub const CS_DELETE_TRANSFORM: ::DWORD = 0x00000003; +pub const LCS_SIGNATURE: ::DWORD = 0x5053_4F43; // 'PSOC' +pub const LCS_sRGB: LCSCSTYPE = 0x7352_4742; // 'sRGB' +pub const LCS_WINDOWS_COLOR_SPACE: LCSCSTYPE = 0x5769_6E20; // 'Win ' +pub type LCSCSTYPE = ::LONG; +pub const LCS_CALIBRATED_RGB: LCSCSTYPE = 0x00000000; +pub type LCSGAMUTMATCH = ::LONG; +pub const LCS_GM_BUSINESS: LCSGAMUTMATCH = 0x00000001; +pub const LCS_GM_GRAPHICS: LCSGAMUTMATCH = 0x00000002; +pub const LCS_GM_IMAGES: LCSGAMUTMATCH = 0x00000004; +pub const LCS_GM_ABS_COLORIMETRIC: LCSGAMUTMATCH = 0x00000008; +pub const CM_OUT_OF_GAMUT: ::BYTE = 255; +pub const CM_IN_GAMUT: ::BYTE = 0; +pub const ICM_ADDPROFILE: ::UINT = 1; +pub const ICM_DELETEPROFILE: ::UINT = 2; +pub const ICM_QUERYPROFILE: ::UINT = 3; +pub const ICM_SETDEFAULTPROFILE: ::UINT = 4; +pub const ICM_REGISTERICMATCHER: ::UINT = 5; +pub const ICM_UNREGISTERICMATCHER: ::UINT = 6; +pub const ICM_QUERYMATCH: ::UINT = 7; +pub type FXPT16DOT16 = ::c_long; +pub type LPFXPT16DOT16 = *mut ::c_long; +pub type FXPT2DOT30 = ::c_long; +pub type LPFXPT2DOT30 = *mut ::c_long; +STRUCT!{struct CIEXYZ { + ciexyzX: FXPT2DOT30, + ciexyzY: FXPT2DOT30, + ciexyzZ: FXPT2DOT30, +}} +pub type LPCIEXYZ = *mut CIEXYZ; +STRUCT!{struct CIEXYZTRIPLE { + ciexyzRed: CIEXYZ, + ciexyzGreen: CIEXYZ, + ciexyzBlue: CIEXYZ, +}} +pub type LPCIEXYZTRIPLE = *mut CIEXYZTRIPLE; +//716 (Win 7 SDK) +STRUCT!{struct BITMAPINFOHEADER { + biSize: ::DWORD, + biWidth: ::LONG, + biHeight: ::LONG, + biPlanes: ::WORD, + biBitCount: ::WORD, + biCompression: ::DWORD, + biSizeImage: ::DWORD, + biXPelsPerMeter: ::LONG, + biYPelsPerMeter: ::LONG, + biClrUsed: ::DWORD, + biClrImportant: ::DWORD, +}} +pub type LPBITMAPINFOHEADER = *mut BITMAPINFOHEADER; +pub type PBITMAPINFOHEADER = *mut BITMAPINFOHEADER; +STRUCT!{struct BITMAPV5HEADER { + bV5Size: ::DWORD, + bV5Width: ::LONG, + bV5Height: ::LONG, + bV5Planes: ::WORD, + bV5BitCount: ::WORD, + bV5Compression: ::DWORD, + bV5SizeImage: ::DWORD, + bV5XPelsPerMeter: ::LONG, + bV5YPelsPerMeter: ::LONG, + bV5ClrUsed: ::DWORD, + bV5ClrImportant: ::DWORD, + bV5RedMask: ::DWORD, + bV5GreenMask: ::DWORD, + bV5BlueMask: ::DWORD, + bV5AlphaMask: ::DWORD, + bV5CSType: ::LONG, // LONG to match LOGCOLORSPACE + bV5Endpoints: CIEXYZTRIPLE, + bV5GammaRed: ::DWORD, + bV5GammaGreen: ::DWORD, + bV5GammaBlue: ::DWORD, + bV5Intent: ::LONG, // LONG to match LOGCOLORSPACE + bV5ProfileData: ::DWORD, + bV5ProfileSize: ::DWORD, + bV5Reserved: ::DWORD, +}} +pub type LPBITMAPV5HEADER = *mut BITMAPV5HEADER; +pub type PBITMAPV5HEADER = *mut BITMAPV5HEADER; +pub const PROFILE_LINKED: ::LONG = 0x4C49_4E4B; // 'LINK' +pub const PROFILE_EMBEDDED: ::LONG = 0x4D42_4544; // 'MBED' +pub const BI_RGB: ::DWORD = 0; +pub const BI_RLE8: ::DWORD = 1; +pub const BI_RLE4: ::DWORD = 2; +pub const BI_BITFIELDS: ::DWORD = 3; +pub const BI_JPEG: ::DWORD = 4; +pub const BI_PNG: ::DWORD = 5; +STRUCT!{struct BITMAPINFO { + bmiHeader: BITMAPINFOHEADER, + bmiColors: [RGBQUAD; 0], +}} +pub type LPBITMAPINFO = *mut BITMAPINFO; +pub type PBITMAPINFO = *mut BITMAPINFO; +//1438 +pub const LF_FACESIZE: usize = 32; +STRUCT!{nodebug struct LOGFONTA { + lfHeight: ::LONG, + lfWidth: ::LONG, + lfEscapement: ::LONG, + lfOrientation: ::LONG, + lfWeight: ::LONG, + lfItalic: ::BYTE, + lfUnderline: ::BYTE, + lfStrikeOut: ::BYTE, + lfCharSet: ::BYTE, + lfOutPrecision: ::BYTE, + lfClipPrecision: ::BYTE, + lfQuality: ::BYTE, + lfPitchAndFamily: ::BYTE, + lfFaceName: [::CHAR; LF_FACESIZE], +}} +pub type LPLOGFONTA = *mut LOGFONTA; +STRUCT!{nodebug struct LOGFONTW { + lfHeight: ::LONG, + lfWidth: ::LONG, + lfEscapement: ::LONG, + lfOrientation: ::LONG, + lfWeight: ::LONG, + lfItalic: ::BYTE, + lfUnderline: ::BYTE, + lfStrikeOut: ::BYTE, + lfCharSet: ::BYTE, + lfOutPrecision: ::BYTE, + lfClipPrecision: ::BYTE, + lfQuality: ::BYTE, + lfPitchAndFamily: ::BYTE, + lfFaceName: [::WCHAR; LF_FACESIZE], +}} +pub type LPLOGFONTW = *mut LOGFONTW; +//1595 +#[inline] +pub fn RGB (r: ::BYTE, g: ::BYTE, b: ::BYTE) -> ::COLORREF { + r as ::COLORREF | ((g as ::COLORREF) << 8) | ((b as ::COLORREF) << 16) +} +// +pub const DRIVERVERSION: ::c_int = 0; +pub const TECHNOLOGY: ::c_int = 2; +pub const HORZSIZE: ::c_int = 4; +pub const VERTSIZE: ::c_int = 6; +pub const HORZRES: ::c_int = 8; +pub const VERTRES: ::c_int = 10; +pub const BITSPIXEL: ::c_int = 12; +pub const PLANES: ::c_int = 14; +pub const NUMBRUSHES: ::c_int = 16; +pub const NUMPENS: ::c_int = 18; +pub const NUMMARKERS: ::c_int = 20; +pub const NUMFONTS: ::c_int = 22; +pub const NUMCOLORS: ::c_int = 24; +pub const PDEVICESIZE: ::c_int = 26; +pub const CURVECAPS: ::c_int = 28; +pub const LINECAPS: ::c_int = 30; +pub const POLYGONALCAPS: ::c_int = 32; +pub const TEXTCAPS: ::c_int = 34; +pub const CLIPCAPS: ::c_int = 36; +pub const RASTERCAPS: ::c_int = 38; +pub const ASPECTX: ::c_int = 40; +pub const ASPECTY: ::c_int = 42; +pub const ASPECTXY: ::c_int = 44; +pub const LOGPIXELSX: ::c_int = 88; +pub const LOGPIXELSY: ::c_int = 90; +pub const SIZEPALETTE: ::c_int = 104; +pub const NUMRESERVED: ::c_int = 106; +pub const COLORRES: ::c_int = 108; +pub const PHYSICALWIDTH: ::c_int = 110; +pub const PHYSICALHEIGHT: ::c_int = 111; +pub const PHYSICALOFFSETX: ::c_int = 112; +pub const PHYSICALOFFSETY: ::c_int = 113; +pub const SCALINGFACTORX: ::c_int = 114; +pub const SCALINGFACTORY: ::c_int = 115; +pub const VREFRESH: ::c_int = 116; +pub const DESKTOPVERTRES: ::c_int = 117; +pub const DESKTOPHORZRES: ::c_int = 118; +pub const BLTALIGNMENT: ::c_int = 119; +pub const SHADEBLENDCAPS: ::c_int = 120; +pub const COLORMGMTCAPS: ::c_int = 121; +//1906 +pub const DIB_RGB_COLORS: ::UINT = 0; +pub const DIB_PAL_COLORS: ::UINT = 1; +pub const CBM_INIT: ::DWORD = 4; +STRUCT!{struct RGNDATAHEADER { + dwSize: ::DWORD, + iType: ::DWORD, + nCount: ::DWORD, + nRgnSize: ::DWORD, + rcBound: ::RECT, +}} +pub type PRGNDATAHEADER = *mut RGNDATAHEADER; +STRUCT!{nodebug struct RGNDATA { + rdh: RGNDATAHEADER, + Buffer: [::c_char; 0], +}} +pub type PRGNDATA = *mut RGNDATA; +pub type NPRGNDATA = *mut RGNDATA; +pub type LPRGNDATA = *mut RGNDATA; +STRUCT!{struct PALETTEENTRY { + peRed: ::BYTE, + peGreen: ::BYTE, + peBlue: ::BYTE, + peFlags: ::BYTE, +}} +pub type PPALETTEENTRY = *mut PALETTEENTRY; +pub type LPPALETTEENTRY = *mut PALETTEENTRY; +//2824 (Win 7 SDK) +STRUCT!{struct ABC { + abcA: ::c_int, + abcB: ::UINT, + abcC: ::c_int, +}} +pub type PABC = *mut ABC; +pub type NPABC = *mut ABC; +pub type LPABC = *mut ABC; +STRUCT!{struct ABCFLOAT { + abcfA: ::FLOAT, + abcfB: ::FLOAT, + abcfC: ::FLOAT, +}} +pub type PABCFLOAT = *mut ABCFLOAT; +pub type NPABCFLOAT = *mut ABCFLOAT; +pub type LPABCFLOAT = *mut ABCFLOAT; +//3581 +pub type LINEDDAPROC = Option<unsafe extern "system" fn(::c_int, ::c_int, ::LPARAM)>; +STRUCT!{struct XFORM { + eM11: ::FLOAT, + eM12: ::FLOAT, + eM21: ::FLOAT, + eM22: ::FLOAT, + eDx: ::FLOAT, + eDy: ::FLOAT, +}} +pub type PXFORM = *mut XFORM; +pub type LPXFORM = *mut XFORM; +STRUCT!{struct LOGBRUSH { + lbStyle: ::UINT, + lbColor: ::COLORREF, + lbHatch: ::ULONG_PTR, +}} +pub type PLOGBRUSH = *mut LOGBRUSH; +STRUCT!{nodebug struct LOGCOLORSPACEA { + lcsSignature: ::DWORD, + lcsVersion: ::DWORD, + lcsSize: ::DWORD, + lcsCSType: LCSCSTYPE, + lcsIntent: LCSGAMUTMATCH, + lcsEndpoints: CIEXYZTRIPLE, + lcsGammaRed: ::DWORD, + lcsGammaGreen: ::DWORD, + lcsGammaBlue: ::DWORD, + lcsFilename: [::CHAR; ::MAX_PATH], +}} +pub type LPLOGCOLORSPACEA = *mut LOGCOLORSPACEA; +STRUCT!{nodebug struct LOGCOLORSPACEW { + lcsSignature: ::DWORD, + lcsVersion: ::DWORD, + lcsSize: ::DWORD, + lcsCSType: LCSCSTYPE, + lcsIntent: LCSGAMUTMATCH, + lcsEndpoints: CIEXYZTRIPLE, + lcsGammaRed: ::DWORD, + lcsGammaGreen: ::DWORD, + lcsGammaBlue: ::DWORD, + lcsFilename: [::WCHAR; ::MAX_PATH], +}} +pub type LPLOGCOLORSPACEW = *mut LOGCOLORSPACEW; +pub const LF_FULLFACESIZE: usize = 64; +STRUCT!{nodebug struct ENUMLOGFONTEXA { + elfLogFont: LOGFONTA, + elfFullName: [::BYTE; LF_FULLFACESIZE], + elfStyle: [::BYTE; LF_FACESIZE], + elfScript: [::BYTE; LF_FACESIZE], +}} +pub type LPENUMLOGFONTEXA = *mut ENUMLOGFONTEXA; +STRUCT!{nodebug struct ENUMLOGFONTEXW { + elfLogFont: LOGFONTW, + elfFullName: [::WCHAR; LF_FULLFACESIZE], + elfStyle: [::WCHAR; LF_FACESIZE], + elfScript: [::WCHAR; LF_FACESIZE], +}} +pub type LPENUMLOGFONTEXW = *mut ENUMLOGFONTEXW; +pub const MM_MAX_NUMAXES: usize = 16; +STRUCT!{struct DESIGNVECTOR { + dvReserved: ::DWORD, + dvNumAxes: ::DWORD, + dvValues: [::LONG; MM_MAX_NUMAXES], +}} +pub type PDESIGNVECTOR = *mut DESIGNVECTOR; +pub type LPDESIGNVECTOR = *mut DESIGNVECTOR; +STRUCT!{nodebug struct ENUMLOGFONTEXDVA { + elfEnumLogfontEx: ENUMLOGFONTEXA, + elfDesignVector: DESIGNVECTOR, +}} +pub type PENUMLOGFONTEXDVA = *mut ENUMLOGFONTEXDVA; +pub type LPENUMLOGFONTEXDVA = *mut ENUMLOGFONTEXDVA; +STRUCT!{nodebug struct ENUMLOGFONTEXDVW { + elfEnumLogfontEx: ENUMLOGFONTEXW, + elfDesignVector: DESIGNVECTOR, +}} +pub type PENUMLOGFONTEXDVW = *mut ENUMLOGFONTEXDVW; +pub type LPENUMLOGFONTEXDVW = *mut ENUMLOGFONTEXDVW; +STRUCT!{struct LOGPALETTE { + palVersion: ::WORD, + palNumEntries: ::WORD, + palPalEntry: [PALETTEENTRY; 1], +}} +pub type PLOGPALETTE = *mut LOGPALETTE; +pub type NPLOGPALETTE = *mut LOGPALETTE; +pub type LPLOGPALETTE = *mut LOGPALETTE; +STRUCT!{struct LOGPEN { + lopnStyle: ::UINT, + lopnWidth: ::POINT, + lopnColor: ::COLORREF, +}} +pub type PLOGPEN = *mut LOGPEN; +pub type NPLOGPEN = *mut LOGPEN; +pub type LPLOGPEN = *mut LOGPEN; +STRUCT!{struct BLENDFUNCTION { + BlendOp: ::BYTE, + BlendFlags: ::BYTE, + SourceConstantAlpha: ::BYTE, + AlphaFormat: ::BYTE, +}} +pub type PBLENDFUNCTION = *mut BLENDFUNCTION; +pub const TMPF_FIXED_PITCH: ::BYTE = 0x01; +pub const TMPF_VECTOR: ::BYTE = 0x02; +pub const TMPF_DEVICE: ::BYTE = 0x08; +pub const TMPF_TRUETYPE: ::BYTE = 0x04; +STRUCT!{struct TEXTMETRICA { + tmHeight: ::LONG, + tmAscent: ::LONG, + tmDescent: ::LONG, + tmInternalLeading: ::LONG, + tmExternalLeading: ::LONG, + tmAveCharWidth: ::LONG, + tmMaxCharWidth: ::LONG, + tmWeight: ::LONG, + tmOverhang: ::LONG, + tmDigitizedAspectX: ::LONG, + tmDigitizedAspectY: ::LONG, + tmFirstChar: ::BYTE, + tmLastChar: ::BYTE, + tmDefaultChar: ::BYTE, + tmBreakChar: ::BYTE, + tmItalic: ::BYTE, + tmUnderlined: ::BYTE, + tmStruckOut: ::BYTE, + tmPitchAndFamily: ::BYTE, + tmCharSet: ::BYTE, +}} +pub type PTEXTMETRICA = *mut TEXTMETRICA; +pub type NPTEXTMETRICA = *mut TEXTMETRICA; +pub type LPTEXTMETRICA = *mut TEXTMETRICA; +STRUCT!{struct TEXTMETRICW { + tmHeight: ::LONG, + tmAscent: ::LONG, + tmDescent: ::LONG, + tmInternalLeading: ::LONG, + tmExternalLeading: ::LONG, + tmAveCharWidth: ::LONG, + tmMaxCharWidth: ::LONG, + tmWeight: ::LONG, + tmOverhang: ::LONG, + tmDigitizedAspectX: ::LONG, + tmDigitizedAspectY: ::LONG, + tmFirstChar: ::WCHAR, + tmLastChar: ::WCHAR, + tmDefaultChar: ::WCHAR, + tmBreakChar: ::WCHAR, + tmItalic: ::BYTE, + tmUnderlined: ::BYTE, + tmStruckOut: ::BYTE, + tmPitchAndFamily: ::BYTE, + tmCharSet: ::BYTE, +}} +pub type PTEXTMETRICW = *mut TEXTMETRICW; +pub type NPTEXTMETRICW = *mut TEXTMETRICW; +pub type LPTEXTMETRICW = *mut TEXTMETRICW; +pub const TA_NOUPDATECP: ::UINT = 0; +pub const TA_UPDATECP: ::UINT = 1; +pub const TA_LEFT: ::UINT = 0; +pub const TA_RIGHT: ::UINT = 2; +pub const TA_CENTER: ::UINT = 6; +pub const TA_TOP: ::UINT = 0; +pub const TA_BOTTOM: ::UINT = 8; +pub const TA_BASELINE: ::UINT = 24; +pub const TA_RTLREADING: ::UINT = 256; +pub const TA_MASK: ::UINT = TA_BASELINE + TA_CENTER + TA_UPDATECP + TA_RTLREADING; +pub const WHITE_BRUSH: ::c_int = 0; +pub const LTGRAY_BRUSH: ::c_int = 1; +pub const GRAY_BRUSH: ::c_int = 2; +pub const DKGRAY_BRUSH: ::c_int = 3; +pub const BLACK_BRUSH: ::c_int = 4; +pub const NULL_BRUSH: ::c_int = 5; +pub const HOLLOW_BRUSH: ::c_int = 5; +pub const WHITE_PEN: ::c_int = 6; +pub const BLACK_PEN: ::c_int = 7; +pub const NULL_PEN: ::c_int = 8; +pub const OEM_FIXED_FONT: ::c_int = 10; +pub const ANSI_FIXED_FONT: ::c_int = 11; +pub const ANSI_VAR_FONT: ::c_int = 12; +pub const SYSTEM_FONT: ::c_int = 13; +pub const DEVICE_DEFAULT_FONT: ::c_int = 14; +pub const DEFAULT_PALETTE: ::c_int = 15; +pub const SYSTEM_FIXED_FONT: ::c_int = 16; +pub const DEFAULT_GUI_FONT: ::c_int = 17; +pub const DC_BRUSH: ::c_int = 18; +pub const DC_PEN: ::c_int = 19; +pub const STOCK_LAST: ::c_int = 19;pub const PS_SOLID: ::c_int = 0; +pub const PS_DASH: ::c_int = 1; +pub const PS_DOT: ::c_int = 2; +pub const PS_DASHDOT: ::c_int = 3; +pub const PS_DASHDOTDOT: ::c_int = 4; +pub const PS_NULL: ::c_int = 5; +pub const PS_INSIDEFRAME: ::c_int = 6; +pub const PS_USERSTYLE: ::c_int = 7; +pub const PS_ALTERNATE: ::c_int = 8; +pub const TRANSPARENT: ::c_int = 1; +pub const OPAQUE: ::c_int = 2; +pub const BKMODE_LAST: ::c_int = 2; +pub const MM_TEXT: ::c_int = 1; +pub const MM_LOMETRIC: ::c_int = 2; +pub const MM_HIMETRIC: ::c_int = 3; +pub const MM_LOENGLISH: ::c_int = 4; +pub const MM_HIENGLISH: ::c_int = 5; +pub const MM_TWIPS: ::c_int = 6; +pub const MM_ISOTROPIC: ::c_int = 7; +pub const MM_ANISOTROPIC: ::c_int = 8; +pub const ALTERNATE: ::c_int = 1; +pub const WINDING: ::c_int = 2; +pub const POLYFILL_LAST: ::c_int = 2; +pub const OUT_DEFAULT_PRECIS: ::DWORD = 0; +pub const OUT_STRING_PRECIS: ::DWORD = 1; +pub const OUT_CHARACTER_PRECIS: ::DWORD = 2; +pub const OUT_STROKE_PRECIS: ::DWORD = 3; +pub const OUT_TT_PRECIS: ::DWORD = 4; +pub const OUT_DEVICE_PRECIS: ::DWORD = 5; +pub const OUT_RASTER_PRECIS: ::DWORD = 6; +pub const OUT_TT_ONLY_PRECIS: ::DWORD = 7; +pub const OUT_OUTLINE_PRECIS: ::DWORD = 8; +pub const OUT_SCREEN_OUTLINE_PRECIS: ::DWORD = 9; +pub const OUT_PS_ONLY_PRECIS: ::DWORD = 10; +pub const CLIP_DEFAULT_PRECIS: ::DWORD = 0; +pub const CLIP_CHARACTER_PRECIS: ::DWORD = 1; +pub const CLIP_STROKE_PRECIS: ::DWORD = 2; +pub const CLIP_MASK: ::DWORD = 0xf; +pub const CLIP_LH_ANGLES: ::DWORD = 1 << 4; +pub const CLIP_TT_ALWAYS: ::DWORD = 2 << 4; +pub const CLIP_DFA_DISABLE: ::DWORD = 4 << 4; +pub const CLIP_EMBEDDED: ::DWORD = 8 << 4; +pub const DEFAULT_QUALITY: ::DWORD = 0; +pub const DRAFT_QUALITY: ::DWORD = 1; +pub const PROOF_QUALITY: ::DWORD = 2; +pub const NONANTIALIASED_QUALITY: ::DWORD = 3; +pub const ANTIALIASED_QUALITY: ::DWORD = 4; +pub const CLEARTYPE_QUALITY: ::DWORD = 5; +pub const CLEARTYPE_NATURAL_QUALITY: ::DWORD = 6; +pub const DEFAULT_PITCH: ::DWORD = 0; +pub const FIXED_PITCH: ::DWORD = 1; +pub const VARIABLE_PITCH: ::DWORD = 2; +pub const FF_DONTCARE: ::DWORD = 0 << 4; +pub const FF_ROMAN: ::DWORD = 1 << 4; +pub const FF_SWISS: ::DWORD = 2 << 4; +pub const FF_MODERN: ::DWORD = 3 << 4; +pub const FF_SCRIPT: ::DWORD = 4 << 4; +pub const FF_DECORATIVE: ::DWORD = 5 << 4; +pub const MONO_FONT: ::DWORD = 8; +pub const ANSI_CHARSET: ::DWORD = 0; +pub const DEFAULT_CHARSET: ::DWORD = 1; +pub const SYMBOL_CHARSET: ::DWORD = 2; +pub const SHIFTJIS_CHARSET: ::DWORD = 128; +pub const HANGEUL_CHARSET: ::DWORD = 129; +pub const HANGUL_CHARSET: ::DWORD = 129; +pub const GB2312_CHARSET: ::DWORD = 134; +pub const CHINESEBIG5_CHARSET: ::DWORD = 136; +pub const OEM_CHARSET: ::DWORD = 255; +pub const JOHAB_CHARSET: ::DWORD = 130; +pub const HEBREW_CHARSET: ::DWORD = 177; +pub const ARABIC_CHARSET: ::DWORD = 178; +pub const GREEK_CHARSET: ::DWORD = 161; +pub const TURKISH_CHARSET: ::DWORD = 162; +pub const VIETNAMESE_CHARSET: ::DWORD = 163; +pub const THAI_CHARSET: ::DWORD = 222; +pub const EASTEUROPE_CHARSET: ::DWORD = 238; +pub const RUSSIAN_CHARSET: ::DWORD = 204; +pub const MAC_CHARSET: ::DWORD = 77; +pub const BALTIC_CHARSET: ::DWORD = 186; +pub const FS_LATIN1: ::DWORD = 0x00000001; +pub const FS_LATIN2: ::DWORD = 0x00000002; +pub const FS_CYRILLIC: ::DWORD = 0x00000004; +pub const FS_GREEK: ::DWORD = 0x00000008; +pub const FS_TURKISH: ::DWORD = 0x00000010; +pub const FS_HEBREW: ::DWORD = 0x00000020; +pub const FS_ARABIC: ::DWORD = 0x00000040; +pub const FS_BALTIC: ::DWORD = 0x00000080; +pub const FS_VIETNAMESE: ::DWORD = 0x00000100; +pub const FS_THAI: ::DWORD = 0x00010000; +pub const FS_JISJAPAN: ::DWORD = 0x00020000; +pub const FS_CHINESESIMP: ::DWORD = 0x00040000; +pub const FS_WANSUNG: ::DWORD = 0x00080000; +pub const FS_CHINESETRAD: ::DWORD = 0x00100000; +pub const FS_JOHAB: ::DWORD = 0x00200000; +pub const FS_SYMBOL: ::DWORD = 0x80000000; +pub const FW_DONTCARE: ::c_int = 0; +pub const FW_THIN: ::c_int = 100; +pub const FW_EXTRALIGHT: ::c_int = 200; +pub const FW_LIGHT: ::c_int = 300; +pub const FW_NORMAL: ::c_int = 400; +pub const FW_MEDIUM: ::c_int = 500; +pub const FW_SEMIBOLD: ::c_int = 600; +pub const FW_BOLD: ::c_int = 700; +pub const FW_EXTRABOLD: ::c_int = 800; +pub const FW_HEAVY: ::c_int = 900; +pub const FW_ULTRALIGHT: ::c_int = FW_EXTRALIGHT; +pub const FW_REGULAR: ::c_int = FW_NORMAL; +pub const FW_DEMIBOLD: ::c_int = FW_SEMIBOLD; +pub const FW_ULTRABOLD: ::c_int = FW_EXTRABOLD; +pub const FW_BLACK: ::c_int = FW_HEAVY; +pub type COLOR16 = ::c_ushort; +STRUCT!{struct TRIVERTEX { + x: ::LONG, + y: ::LONG, + Red: COLOR16, + Green: COLOR16, + Blue: COLOR16, + Alpha: COLOR16, +}} +pub type PTRIVERTEX = *mut TRIVERTEX; +pub type LPTRIVERTEX = *mut TRIVERTEX; +STRUCT!{struct GRADIENT_RECT { + UpperLeft: ::ULONG, + LowerRight: ::ULONG, +}} +pub type PGRADIENT_RECT = *mut GRADIENT_RECT; +pub type LPGRADIENT_RECT = *mut GRADIENT_RECT; +/* Object Definitions for EnumObjects() */ +pub const OBJ_PEN: ::UINT = 1; +pub const OBJ_BRUSH: ::UINT = 2; +pub const OBJ_DC: ::UINT = 3; +pub const OBJ_METADC: ::UINT = 4; +pub const OBJ_PAL: ::UINT = 5; +pub const OBJ_FONT: ::UINT = 6; +pub const OBJ_BITMAP: ::UINT = 7; +pub const OBJ_REGION: ::UINT = 8; +pub const OBJ_METAFILE: ::UINT = 9; +pub const OBJ_MEMDC: ::UINT = 10; +pub const OBJ_EXTPEN: ::UINT = 11; +pub const OBJ_ENHMETADC: ::UINT = 12; +pub const OBJ_ENHMETAFILE: ::UINT = 13; +pub const OBJ_COLORSPACE: ::UINT = 14; +pub const GDI_OBJ_LAST: ::UINT = OBJ_COLORSPACE; +STRUCT!{struct COLORADJUSTMENT { + caSize: ::WORD, + caFlags: ::WORD, + caIlluminantIndex: ::WORD, + caRedGamma: ::WORD, + caGreenGamma: ::WORD, + caBlueGamma: ::WORD, + caReferenceBlack: ::WORD, + caReferenceWhite: ::WORD, + caContrast: ::SHORT, + caBrightness: ::SHORT, + caColorfulness: ::SHORT, + caRedGreenTint: ::SHORT, +}} +pub type PCOLORADJUSTMENT = *mut COLORADJUSTMENT; +pub type LPCOLORADJUSTMENT = *mut COLORADJUSTMENT; +pub type OLDFONTENUMPROCA = Option<unsafe extern "system" fn( + *const LOGFONTA, *const ::VOID, ::DWORD, ::LPARAM +) -> ::c_int>; +pub type OLDFONTENUMPROCW = Option<unsafe extern "system" fn( + *const LOGFONTW, *const ::VOID, ::DWORD, ::LPARAM +) -> ::c_int>; +pub type FONTENUMPROCA = OLDFONTENUMPROCA; +pub type FONTENUMPROCW = OLDFONTENUMPROCW; +STRUCT!{struct WCRANGE { + wcLow: ::WCHAR, + cGlyphs: ::USHORT, +}} +pub type PWCRANGE = *mut WCRANGE; +pub type LPWCRANGE = *mut WCRANGE; +STRUCT!{struct GLYPHSET { + cbThis: ::DWORD, + flAccel: ::DWORD, + cGlyphsSupported: ::DWORD, + cRanges: ::DWORD, + ranges: [WCRANGE;1], +}} +pub type PGLYPHSET = *mut GLYPHSET; +pub type LPGLYPHSET = *mut GLYPHSET; +pub type ABORTPROC = Option<unsafe extern "system" fn(::HDC, ::c_int) -> ::BOOL>; +STRUCT!{struct DOCINFOA { + cbSize: ::c_int, + lpszDocName: ::LPCSTR, + lpszOutput: ::LPCSTR, + lpszDatatype: ::LPCSTR, + fwType: ::DWORD, +}} +pub type LPDOCINFOA = *mut DOCINFOA; +STRUCT!{struct DOCINFOW { + cbSize: ::c_int, + lpszDocName: ::LPCWSTR, + lpszOutput: ::LPCWSTR, + lpszDatatype: ::LPCWSTR, + fwType: ::DWORD, +}} +pub type LPDOCINFOW = *mut DOCINFOW; +pub type ICMENUMPROCA = Option<unsafe extern "system" fn(::LPSTR, ::LPARAM) -> ::c_int>; +pub type ICMENUMPROCW = Option<unsafe extern "system" fn(::LPWSTR, ::LPARAM) -> ::c_int>; +STRUCT!{struct HANDLETABLE { + objectHandle: [::HGDIOBJ; 1], +}} +pub type LPHANDLETABLE = *mut HANDLETABLE; +pub type PHANDLETABLE = *mut HANDLETABLE; +STRUCT!{struct METARECORD { + rdSize: ::DWORD, + rdFunction: ::WORD, + rdParm: [::WORD; 1], +}} +pub type PMETARECORD = *mut METARECORD; +pub type LPMETARECORD = *mut METARECORD; +pub type MFENUMPROC = Option<unsafe extern "system" fn( + hdc: ::HDC, lpht: *mut ::HANDLETABLE, lpMR: *mut ::METARECORD, nObj: ::c_int, param: ::LPARAM +) -> ::c_int>; +pub type GOBJENUMPROC = Option<unsafe extern "system" fn(::LPVOID, ::LPARAM) -> ::c_int>; +STRUCT!{struct GCP_RESULTSA { + lStructSize: ::DWORD, + lpOutString: ::LPSTR, + lpOrder: *const ::UINT, + lpDx: *const ::c_int, + lpCaretPos: *const ::c_int, + lpClass: ::LPSTR, + lpGlyphs: ::LPWSTR, + nGlyphs: ::UINT, + nMaxFit: ::c_int, +}} +pub type LPGCP_RESULTSA = *mut GCP_RESULTSA; +STRUCT!{struct GCP_RESULTSW { + lStructSize: ::DWORD, + lpOutString: ::LPWSTR, + lpOrder: *const ::UINT, + lpDx: *const ::c_int, + lpCaretPos: *const ::c_int, + lpClass: ::LPSTR, + lpGlyphs: ::LPWSTR, + nGlyphs: ::UINT, + nMaxFit: ::c_int, +}} +pub type LPGCP_RESULTSW = *mut GCP_RESULTSW; +STRUCT!{struct FONTSIGNATURE { + fsUsb: [::DWORD; 4], + fsCsb: [::DWORD; 2], +}} +pub type LPFONTSIGNATURE = *mut FONTSIGNATURE; +pub type PFONTSIGNATURE = *mut FONTSIGNATURE; +STRUCT!{struct POLYTEXTA { + x: ::c_int, + y: ::c_int, + n: ::UINT, + lpstr: ::LPCSTR, + uiFlags: ::UINT, + rcl: ::RECT, + pdx: *const ::c_int, +}} +pub type PPOLYTEXTA = *mut POLYTEXTA; +pub type NPPOLYTEXTA = *mut POLYTEXTA; +pub type LPPOLYTEXTA = *mut POLYTEXTA; +STRUCT!{struct POLYTEXTW { + x: ::c_int, + y: ::c_int, + n: ::UINT, + lpstr: ::LPCWSTR, + uiFlags: ::UINT, + rcl: ::RECT, + pdx: *const ::c_int, +}} +pub type PPOLYTEXTW = *mut POLYTEXTW; +pub type NPPOLYTEXTW = *mut POLYTEXTW; +pub type LPPOLYTEXTW = *mut POLYTEXTW; +STRUCT!{struct CHARSETINFO { + ciCharset: ::UINT, + ciACP: ::UINT, + fs: ::FONTSIGNATURE, +}} +pub type PCHARSETINFO = *mut CHARSETINFO; +pub type NPCHARSETINFO = *mut CHARSETINFO; +pub type LPCHARSETINFO = *mut CHARSETINFO; +pub const GRADIENT_FILL_RECT_H: ::ULONG = 0x00000000; +pub const GRADIENT_FILL_RECT_V: ::ULONG = 0x00000001; +pub const GRADIENT_FILL_TRIANGLE: ::ULONG = 0x00000002; +pub const GRADIENT_FILL_OP_FLAG: ::ULONG = 0x000000ff; +STRUCT!{struct LAYERPLANEDESCRIPTOR { + nSize: ::WORD, + nVersion: ::WORD, + dwFlags: ::DWORD, + iPixelType: ::BYTE, + cColorBits: ::BYTE, + cRedBits: ::BYTE, + cRedShift: ::BYTE, + cGreenBits: ::BYTE, + cGreenShift: ::BYTE, + cBlueBits: ::BYTE, + cBlueShift: ::BYTE, + cAlphaBits: ::BYTE, + cAlphaShift: ::BYTE, + cAccumBits: ::BYTE, + cAccumRedBits: ::BYTE, + cAccumGreenBits: ::BYTE, + cAccumBlueBits: ::BYTE, + cAccumAlphaBits: ::BYTE, + cDepthBits: ::BYTE, + cStencilBits: ::BYTE, + cAuxBuffers: ::BYTE, + iLayerPlane: ::BYTE, + bReserved: ::BYTE, + crTransparent: ::COLORREF, +}} +pub type PLAYERPLANEDESCRIPTOR = *mut LAYERPLANEDESCRIPTOR; +pub type LPLAYERPLANEDESCRIPTOR = *mut LAYERPLANEDESCRIPTOR; +STRUCT!{struct ENHMETAHEADER { + iType: ::DWORD, + nSize: ::DWORD, + rclBounds: ::RECTL, + rclFrame: ::RECTL, + dSignature: ::DWORD, + nVersion: ::DWORD, + nBytes: ::DWORD, + nRecords: ::DWORD, + nHandles: ::WORD, + sReserved: ::WORD, + nDescription: ::DWORD, + offDescription: ::DWORD, + nPalEntries: ::DWORD, + szlDevice: ::SIZEL, + szlMillimeters: ::SIZEL, + cbPixelFormat: ::DWORD, + offPixelFormat: ::DWORD, + bOpenGL: ::DWORD, + szlMicrometers: ::SIZEL, +}} +pub type PENHMETAHEADER = *mut ENHMETAHEADER; +pub type LPENHMETAHEADER = *mut ENHMETAHEADER; +STRUCT!{struct FIXED { + fract: ::WORD, + value: ::c_short, +}} +STRUCT!{struct MAT2 { + eM11: FIXED, + eM12: FIXED, + eM21: FIXED, + eM22: FIXED, +}} +pub type LPMAT2 = *mut MAT2; +STRUCT!{struct GLYPHMETRICS { + gmBlackBoxX: ::UINT, + gmBlackBoxY: ::UINT, + gmptGlyphOrigin: ::POINT, + gmCellIncX: ::c_short, + gmCellIncY: ::c_short, +}} +pub type LPGLYPHMETRICS = *mut GLYPHMETRICS; +STRUCT!{struct KERNINGPAIR { + wFirst: ::WORD, + wSecond: ::WORD, + iKernAmount: ::c_int, +}} +pub type LPKERNINGPAIR = *mut KERNINGPAIR; +STRUCT!{struct PANOSE { + bFamilyType: ::BYTE, + bSerifStyle: ::BYTE, + bWeight: ::BYTE, + bProportion: ::BYTE, + bContrast: ::BYTE, + bStrokeVariation: ::BYTE, + bArmStyle: ::BYTE, + bLetterform: ::BYTE, + bMidline: ::BYTE, + bXHeight: ::BYTE, +}} +pub type LPPANOSE = *mut PANOSE; +STRUCT!{struct OUTLINETEXTMETRICA { + otmSize: ::UINT, + otmTextMetrics: TEXTMETRICA, + otmFiller: ::BYTE, + otmPanoseNumber: ::PANOSE, + otmfsSelection: ::UINT, + otmfsType: ::UINT, + otmsCharSlopeRise: ::c_int, + otmsCharSlopeRun: ::c_int, + otmItalicAngle: ::c_int, + otmEMSquare: ::UINT, + otmAscent: ::c_int, + otmDescent: ::c_int, + otmLineGap: ::UINT, + otmsCapEmHeight: ::UINT, + otmsXHeight: ::UINT, + otmrcFontBox: ::RECT, + otmMacAscent: ::c_int, + otmMacDescent: ::c_int, + otmMacLineGap: ::UINT, + otmusMinimumPPEM: ::UINT, + otmptSubscriptSize: ::POINT, + otmptSubscriptOffset: ::POINT, + otmptSuperscriptSize: ::POINT, + otmptSuperscriptOffset: ::POINT, + otmsStrikeoutSize: ::UINT, + otmsStrikeoutPosition: ::c_int, + otmsUnderscoreSize: ::c_int, + otmsUnderscorePosition: ::c_int, + otmpFamilyName: ::PSTR, + otmpFaceName: ::PSTR, + otmpStyleName: ::PSTR, + otmpFullName: ::PSTR, +}} +pub type POUTLINETEXTMETRICA = *mut OUTLINETEXTMETRICA; +pub type NPOUTLINETEXTMETRICA = *mut OUTLINETEXTMETRICA; +pub type LPOUTLINETEXTMETRICA = *mut OUTLINETEXTMETRICA; +STRUCT!{struct OUTLINETEXTMETRICW { + otmSize: ::UINT, + otmTextMetrics: TEXTMETRICW, + otmFiller: ::BYTE, + otmPanoseNumber: ::PANOSE, + otmfsSelection: ::UINT, + otmfsType: ::UINT, + otmsCharSlopeRise: ::c_int, + otmsCharSlopeRun: ::c_int, + otmItalicAngle: ::c_int, + otmEMSquare: ::UINT, + otmAscent: ::c_int, + otmDescent: ::c_int, + otmLineGap: ::UINT, + otmsCapEmHeight: ::UINT, + otmsXHeight: ::UINT, + otmrcFontBox: ::RECT, + otmMacAscent: ::c_int, + otmMacDescent: ::c_int, + otmMacLineGap: ::UINT, + otmusMinimumPPEM: ::UINT, + otmptSubscriptSize: ::POINT, + otmptSubscriptOffset: ::POINT, + otmptSuperscriptSize: ::POINT, + otmptSuperscriptOffset: ::POINT, + otmsStrikeoutSize: ::UINT, + otmsStrikeoutPosition: ::c_int, + otmsUnderscoreSize: ::c_int, + otmsUnderscorePosition: ::c_int, + otmpFamilyName: ::PSTR, + otmpFaceName: ::PSTR, + otmpStyleName: ::PSTR, + otmpFullName: ::PSTR, +}} +pub type POUTLINETEXTMETRICW = *mut OUTLINETEXTMETRICW; +pub type NPOUTLINETEXTMETRICW = *mut OUTLINETEXTMETRICW; +pub type LPOUTLINETEXTMETRICW = *mut OUTLINETEXTMETRICW; +STRUCT!{struct RASTERIZER_STATUS { + nSize: ::c_short, + wFlags: ::c_short, + nLanguageID: ::c_short, +}} +pub type LPRASTERIZER_STATUS = *mut RASTERIZER_STATUS; +STRUCT!{struct ENHMETARECORD { + iType: ::DWORD, + nSize: ::DWORD, + dParm: [::DWORD; 1], +}} +pub type PENHMETARECORD = *mut ENHMETARECORD; +pub type LPENHMETARECORD = *mut ENHMETARECORD; +STRUCT!{struct METAFILEPICT { + mm: ::LONG, + xExt: ::LONG, + yExt: ::LONG, + hMF: ::HMETAFILE, +}} +pub type LPMETAFILEPICT = *mut METAFILEPICT; +STRUCT!{struct POINTFLOAT { + x: ::FLOAT, + y: ::FLOAT, +}} +pub type PPOINTFLOAT = *mut POINTFLOAT; +STRUCT!{struct GLYPHMETRICSFLOAT { + gmfBlackBoxX: ::FLOAT, + gmfBlackBoxY: ::FLOAT, + gmfptGlyphOrigin: POINTFLOAT, + gmfCellIncX: ::FLOAT, + gmfCellIncY: ::FLOAT, +}} +pub type PGLYPHMETRICSFLOAT = *mut GLYPHMETRICSFLOAT; +pub type LPGLYPHMETRICSFLOAT = *mut GLYPHMETRICSFLOAT; +pub const DT_PLOTTER: ::c_int = 0; +pub const DT_RASDISPLAY: ::c_int = 1; +pub const DT_RASPRINTER: ::c_int = 2; +pub const DT_RASCAMERA: ::c_int = 3; +pub const DT_CHARSTREAM: ::c_int = 4; +pub const DT_METAFILE: ::c_int = 5; +pub const DT_DISPFILE: ::c_int = 6; +pub const CLR_INVALID: ::COLORREF = 0xFFFFFFFF; +pub const ETO_OPAQUE: ::UINT = 0x0002; +pub const ETO_CLIPPED: ::UINT = 0x0004; +pub const ETO_GLYPH_INDEX: ::UINT = 0x0010; +pub const ETO_RTLREADING: ::UINT = 0x0080; +pub const ETO_NUMERICSLOCAL: ::UINT = 0x0400; +pub const ETO_NUMERICSLATIN: ::UINT = 0x0800; +pub const ETO_IGNORELANGUAGE: ::UINT = 0x1000; +pub const ETO_PDY: ::UINT = 0x2000; +pub const ETO_REVERSE_INDEX_MAP: ::UINT = 0x10000; +STRUCT!{struct EXTLOGPEN { + elpPenStyle: ::DWORD, + elpWidth: ::DWORD, + elpBrushStyle: ::UINT, + elpColor: ::COLORREF, + elpHatch: ::ULONG_PTR, + elpNumEntries: ::DWORD, + elpStyleEntry: [::DWORD; 1], +}} +pub type PEXTLOGPEN = *mut EXTLOGPEN; +pub type NPEXTLOGPEN = *mut EXTLOGPEN; +pub type LPEXTLOGPEN = *mut EXTLOGPEN; +pub type ENHMFENUMPROC = Option<unsafe extern "system" fn( + hdc: ::HDC, lpht: HANDLETABLE, lpmr: *const ENHMETARECORD, nHandles: ::c_int, data: ::LPARAM +) -> ::c_int>; +/* Metafile Functions */ +pub const META_SETBKCOLOR: ::WORD = 0x0201; +pub const META_SETBKMODE: ::WORD = 0x0102; +pub const META_SETMAPMODE: ::WORD = 0x0103; +pub const META_SETROP2: ::WORD = 0x0104; +pub const META_SETRELABS: ::WORD = 0x0105; +pub const META_SETPOLYFILLMODE: ::WORD = 0x0106; +pub const META_SETSTRETCHBLTMODE: ::WORD = 0x0107; +pub const META_SETTEXTCHAREXTRA: ::WORD = 0x0108; +pub const META_SETTEXTCOLOR: ::WORD = 0x0209; +pub const META_SETTEXTJUSTIFICATION: ::WORD = 0x020A; +pub const META_SETWINDOWORG: ::WORD = 0x020B; +pub const META_SETWINDOWEXT: ::WORD = 0x020C; +pub const META_SETVIEWPORTORG: ::WORD = 0x020D; +pub const META_SETVIEWPORTEXT: ::WORD = 0x020E; +pub const META_OFFSETWINDOWORG: ::WORD = 0x020F; +pub const META_SCALEWINDOWEXT: ::WORD = 0x0410; +pub const META_OFFSETVIEWPORTORG: ::WORD = 0x0211; +pub const META_SCALEVIEWPORTEXT: ::WORD = 0x0412; +pub const META_LINETO: ::WORD = 0x0213; +pub const META_MOVETO: ::WORD = 0x0214; +pub const META_EXCLUDECLIPRECT: ::WORD = 0x0415; +pub const META_INTERSECTCLIPRECT: ::WORD = 0x0416; +pub const META_ARC: ::WORD = 0x0817; +pub const META_ELLIPSE: ::WORD = 0x0418; +pub const META_FLOODFILL: ::WORD = 0x0419; +pub const META_PIE: ::WORD = 0x081A; +pub const META_RECTANGLE: ::WORD = 0x041B; +pub const META_ROUNDRECT: ::WORD = 0x061C; +pub const META_PATBLT: ::WORD = 0x061D; +pub const META_SAVEDC: ::WORD = 0x001E; +pub const META_SETPIXEL: ::WORD = 0x041F; +pub const META_OFFSETCLIPRGN: ::WORD = 0x0220; +pub const META_TEXTOUT: ::WORD = 0x0521; +pub const META_BITBLT: ::WORD = 0x0922; +pub const META_STRETCHBLT: ::WORD = 0x0B23; +pub const META_POLYGON: ::WORD = 0x0324; +pub const META_POLYLINE: ::WORD = 0x0325; +pub const META_ESCAPE: ::WORD = 0x0626; +pub const META_RESTOREDC: ::WORD = 0x0127; +pub const META_FILLREGION: ::WORD = 0x0228; +pub const META_FRAMEREGION: ::WORD = 0x0429; +pub const META_INVERTREGION: ::WORD = 0x012A; +pub const META_PAINTREGION: ::WORD = 0x012B; +pub const META_SELECTCLIPREGION: ::WORD = 0x012C; +pub const META_SELECTOBJECT: ::WORD = 0x012D; +pub const META_SETTEXTALIGN: ::WORD = 0x012E; +pub const META_CHORD: ::WORD = 0x0830; +pub const META_SETMAPPERFLAGS: ::WORD = 0x0231; +pub const META_EXTTEXTOUT: ::WORD = 0x0a32; +pub const META_SETDIBTODEV: ::WORD = 0x0d33; +pub const META_SELECTPALETTE: ::WORD = 0x0234; +pub const META_REALIZEPALETTE: ::WORD = 0x0035; +pub const META_ANIMATEPALETTE: ::WORD = 0x0436; +pub const META_SETPALENTRIES: ::WORD = 0x0037; +pub const META_POLYPOLYGON: ::WORD = 0x0538; +pub const META_RESIZEPALETTE: ::WORD = 0x0139; +pub const META_DIBBITBLT: ::WORD = 0x0940; +pub const META_DIBSTRETCHBLT: ::WORD = 0x0b41; +pub const META_DIBCREATEPATTERNBRUSH: ::WORD = 0x0142; +pub const META_STRETCHDIB: ::WORD = 0x0f43; +pub const META_EXTFLOODFILL: ::WORD = 0x0548; +pub const META_SETLAYOUT: ::WORD = 0x0149; +pub const META_DELETEOBJECT: ::WORD = 0x01f0; +pub const META_CREATEPALETTE: ::WORD = 0x00f7; +pub const META_CREATEPATTERNBRUSH: ::WORD = 0x01F9; +pub const META_CREATEPENINDIRECT: ::WORD = 0x02FA; +pub const META_CREATEFONTINDIRECT: ::WORD = 0x02FB; +pub const META_CREATEBRUSHINDIRECT: ::WORD = 0x02FC; +pub const META_CREATEREGION: ::WORD = 0x06FF; diff --git a/third_party/rust/winapi-0.2.8/src/winhttp.rs b/third_party/rust/winapi-0.2.8/src/winhttp.rs new file mode 100644 index 0000000000..e8ca6f646b --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winhttp.rs @@ -0,0 +1,441 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Windows HTTP Services API constant definitions and macros +//54 +pub type HINTERNET = ::LPVOID; +pub type LPHINTERNET = *mut HINTERNET; +pub type INTERNET_PORT = ::WORD; +pub type LPINTERNET_PORT = *mut INTERNET_PORT; +pub const INTERNET_DEFAULT_PORT: INTERNET_PORT = 0; +pub const INTERNET_DEFAULT_HTTP_PORT: INTERNET_PORT = 80; +pub const INTERNET_DEFAULT_HTTPS_PORT: INTERNET_PORT = 443; +pub const WINHTTP_FLAG_ASYNC: ::DWORD = 0x10000000; +pub const WINHTTP_FLAG_SECURE: ::DWORD = 0x00800000; +pub const WINHTTP_FLAG_ESCAPE_PERCENT: ::DWORD = 0x00000004; +pub const WINHTTP_FLAG_NULL_CODEPAGE: ::DWORD = 0x00000008; +pub const WINHTTP_FLAG_BYPASS_PROXY_CACHE: ::DWORD = 0x00000100; +pub const WINHTTP_FLAG_REFRESH: ::DWORD = WINHTTP_FLAG_BYPASS_PROXY_CACHE; +pub const WINHTTP_FLAG_ESCAPE_DISABLE: ::DWORD = 0x00000040; +pub const WINHTTP_FLAG_ESCAPE_DISABLE_QUERY: ::DWORD = 0x00000080; +STRUCT!{struct WINHTTP_ASYNC_RESULT { + dwResult: ::DWORD_PTR, + dwError: ::DWORD, +}} +pub type LPWINHTTP_ASYNC_RESULT = *mut WINHTTP_ASYNC_RESULT; +pub type INTERNET_SCHEME = ::c_int; +pub type LPINTERNET_SCHEME = *mut ::c_int; +pub const INTERNET_SCHEME_HTTP: INTERNET_SCHEME = 1; +pub const INTERNET_SCHEME_HTTPS: INTERNET_SCHEME = 2; +pub const INTERNET_SCHEME_FTP: INTERNET_SCHEME = 3; +pub const INTERNET_SCHEME_SOCKS: INTERNET_SCHEME = 4; +STRUCT!{struct URL_COMPONENTS { + dwStructSize: ::DWORD, + lpszScheme: ::LPWSTR, + dwSchemeLength: ::DWORD, + nScheme: INTERNET_SCHEME, + lpszHostName: ::LPWSTR, + dwHostNameLength: ::DWORD, + nPort: INTERNET_PORT, + lpszUserName: ::LPWSTR, + dwUserNameLength: ::DWORD, + lpszPassword: ::LPWSTR, + dwPasswordLength: ::DWORD, + lpszUrlPath: ::LPWSTR, + dwUrlPathLength: ::DWORD, + lpszExtraInfo: ::LPWSTR, + dwExtraInfoLength: ::DWORD, +}} +pub type LPURL_COMPONENTS = *mut URL_COMPONENTS; +pub type URL_COMPONENTSW = URL_COMPONENTS; +pub type LPURL_COMPONENTSW = LPURL_COMPONENTS; +STRUCT!{struct WINHTTP_PROXY_INFO { + dwAccessType: ::DWORD, + lpszProxy: ::LPWSTR, + lpszProxyBypass: ::LPWSTR, +}} +pub type LPWINHTTP_PROXY_INFO = *mut WINHTTP_PROXY_INFO; +pub type WINHTTP_PROXY_INFOW = WINHTTP_PROXY_INFO; +pub type LPWINHTTP_PROXY_INFOW = LPWINHTTP_PROXY_INFO; +STRUCT!{struct WINHTTP_AUTOPROXY_OPTIONS { + dwFlags: ::DWORD, + dwAutoDetectFlags: ::DWORD, + lpszAutoConfigUrl: ::LPCWSTR, + lpvReserved: ::LPVOID, + dwReserved: ::DWORD, + fAutoLogonIfChallenged: ::BOOL, +}} +pub const WINHTTP_AUTOPROXY_AUTO_DETECT: ::DWORD = 0x00000001; +pub const WINHTTP_AUTOPROXY_CONFIG_URL: ::DWORD = 0x00000002; +pub const WINHTTP_AUTOPROXY_HOST_KEEPCASE: ::DWORD = 0x00000004; +pub const WINHTTP_AUTOPROXY_HOST_LOWERCASE: ::DWORD = 0x00000008; +pub const WINHTTP_AUTOPROXY_RUN_INPROCESS: ::DWORD = 0x00010000; +pub const WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY: ::DWORD = 0x00020000; +pub const WINHTTP_AUTOPROXY_NO_DIRECTACCESS: ::DWORD = 0x00040000; +pub const WINHTTP_AUTOPROXY_NO_CACHE_CLIENT: ::DWORD = 0x00080000; +pub const WINHTTP_AUTOPROXY_NO_CACHE_SVC: ::DWORD = 0x00100000; +pub const WINHTTP_AUTOPROXY_SORT_RESULTS: ::DWORD = 0x00400000; +pub const WINHTTP_AUTO_DETECT_TYPE_DHCP: ::DWORD = 0x00000001; +pub const WINHTTP_AUTO_DETECT_TYPE_DNS_A: ::DWORD = 0x00000002; +STRUCT!{struct WINHTTP_PROXY_RESULT_ENTRY { + fProxy: ::BOOL, + fBypass: ::BOOL, + ProxyScheme: INTERNET_SCHEME, + pwszProxy: ::PWSTR, + ProxyPort: INTERNET_PORT, +}} +STRUCT!{struct WINHTTP_PROXY_RESULT { + cEntries: ::DWORD, + pEntries: *mut WINHTTP_PROXY_RESULT_ENTRY, +}} +pub const WINHTTP_FIRST_OPTION: ::DWORD = WINHTTP_OPTION_CALLBACK; +pub const WINHTTP_OPTION_CALLBACK: ::DWORD = 1; +pub const WINHTTP_OPTION_RESOLVE_TIMEOUT: ::DWORD = 2; +pub const WINHTTP_OPTION_CONNECT_TIMEOUT: ::DWORD = 3; +pub const WINHTTP_OPTION_CONNECT_RETRIES: ::DWORD = 4; +pub const WINHTTP_OPTION_SEND_TIMEOUT: ::DWORD = 5; +pub const WINHTTP_OPTION_RECEIVE_TIMEOUT: ::DWORD = 6; +pub const WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT: ::DWORD = 7; +pub const WINHTTP_OPTION_HANDLE_TYPE: ::DWORD = 9; +pub const WINHTTP_OPTION_READ_BUFFER_SIZE: ::DWORD = 12; +pub const WINHTTP_OPTION_WRITE_BUFFER_SIZE: ::DWORD = 13; +pub const WINHTTP_OPTION_PARENT_HANDLE: ::DWORD = 21; +pub const WINHTTP_OPTION_EXTENDED_ERROR: ::DWORD = 24; +pub const WINHTTP_OPTION_SECURITY_FLAGS: ::DWORD = 31; +pub const WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT: ::DWORD = 32; +pub const WINHTTP_OPTION_URL: ::DWORD = 34; +pub const WINHTTP_OPTION_SECURITY_KEY_BITNESS: ::DWORD = 36; +pub const WINHTTP_OPTION_PROXY: ::DWORD = 38; +pub const WINHTTP_OPTION_PROXY_RESULT_ENTRY: ::DWORD = 39; +pub const WINHTTP_OPTION_USER_AGENT: ::DWORD = 41; +pub const WINHTTP_OPTION_CONTEXT_VALUE: ::DWORD = 45; +pub const WINHTTP_OPTION_CLIENT_CERT_CONTEXT: ::DWORD = 47; +pub const WINHTTP_OPTION_REQUEST_PRIORITY: ::DWORD = 58; +pub const WINHTTP_OPTION_HTTP_VERSION: ::DWORD = 59; +pub const WINHTTP_OPTION_DISABLE_FEATURE: ::DWORD = 63; +pub const WINHTTP_OPTION_CODEPAGE: ::DWORD = 68; +pub const WINHTTP_OPTION_MAX_CONNS_PER_SERVER: ::DWORD = 73; +pub const WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER: ::DWORD = 74; +pub const WINHTTP_OPTION_AUTOLOGON_POLICY: ::DWORD = 77; +pub const WINHTTP_OPTION_SERVER_CERT_CONTEXT: ::DWORD = 78; +pub const WINHTTP_OPTION_ENABLE_FEATURE: ::DWORD = 79; +pub const WINHTTP_OPTION_WORKER_THREAD_COUNT: ::DWORD = 80; +pub const WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT: ::DWORD = 81; +pub const WINHTTP_OPTION_PASSPORT_COBRANDING_URL: ::DWORD = 82; +pub const WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH: ::DWORD = 83; +pub const WINHTTP_OPTION_SECURE_PROTOCOLS: ::DWORD = 84; +pub const WINHTTP_OPTION_ENABLETRACING: ::DWORD = 85; +pub const WINHTTP_OPTION_PASSPORT_SIGN_OUT: ::DWORD = 86; +pub const WINHTTP_OPTION_PASSPORT_RETURN_URL: ::DWORD = 87; +pub const WINHTTP_OPTION_REDIRECT_POLICY: ::DWORD = 88; +pub const WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS: ::DWORD = 89; +pub const WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE: ::DWORD = 90; +pub const WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE: ::DWORD = 91; +pub const WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE: ::DWORD = 92; +pub const WINHTTP_OPTION_CONNECTION_INFO: ::DWORD = 93; +pub const WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST: ::DWORD = 94; +pub const WINHTTP_OPTION_SPN: ::DWORD = 96; +pub const WINHTTP_OPTION_GLOBAL_PROXY_CREDS: ::DWORD = 97; +pub const WINHTTP_OPTION_GLOBAL_SERVER_CREDS: ::DWORD = 98; +pub const WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT: ::DWORD = 99; +pub const WINHTTP_OPTION_REJECT_USERPWD_IN_URL: ::DWORD = 100; +pub const WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS: ::DWORD = 101; +pub const WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE: ::DWORD = 103; +pub const WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE: ::DWORD = 104; +pub const WINHTTP_OPTION_SERVER_SPN_USED: ::DWORD = 106; +pub const WINHTTP_OPTION_PROXY_SPN_USED: ::DWORD = 107; +pub const WINHTTP_OPTION_SERVER_CBT: ::DWORD = 108; +pub const WINHTTP_OPTION_UNSAFE_HEADER_PARSING: ::DWORD = 110; +pub const WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS: ::DWORD = 111; +pub const WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET: ::DWORD = 114; +pub const WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT: ::DWORD = 115; +pub const WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL: ::DWORD = 116; +pub const WINHTTP_OPTION_DECOMPRESSION: ::DWORD = 118; +pub const WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE: ::DWORD = 122; +pub const WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE: ::DWORD = 123; +pub const WINHTTP_LAST_OPTION: ::DWORD = WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE; +pub const WINHTTP_OPTION_USERNAME: ::DWORD = 0x1000; +pub const WINHTTP_OPTION_PASSWORD: ::DWORD = 0x1001; +pub const WINHTTP_OPTION_PROXY_USERNAME: ::DWORD = 0x1002; +pub const WINHTTP_OPTION_PROXY_PASSWORD: ::DWORD = 0x1003; +//552 +pub type WINHTTP_STATUS_CALLBACK = Option<unsafe extern "system" fn( + hInternet: HINTERNET, dwContext: ::DWORD_PTR, dwInternetStatus: ::DWORD, + lpvStatusInformation: ::LPVOID, dwStatusInformationLength: ::DWORD, +)>; +pub type LPWINHTTP_STATUS_CALLBACK = *mut WINHTTP_STATUS_CALLBACK; +pub const WINHTTP_CALLBACK_STATUS_RESOLVING_NAME: ::DWORD = 0x00000001; +pub const WINHTTP_CALLBACK_STATUS_NAME_RESOLVED: ::DWORD = 0x00000002; +pub const WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER: ::DWORD = 0x00000004; +pub const WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER: ::DWORD = 0x00000008; +pub const WINHTTP_CALLBACK_STATUS_SENDING_REQUEST: ::DWORD = 0x00000010; +pub const WINHTTP_CALLBACK_STATUS_REQUEST_SENT: ::DWORD = 0x00000020; +pub const WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE: ::DWORD = 0x00000040; +pub const WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED: ::DWORD = 0x00000080; +pub const WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION: ::DWORD = 0x00000100; +pub const WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED: ::DWORD = 0x00000200; +pub const WINHTTP_CALLBACK_STATUS_HANDLE_CREATED: ::DWORD = 0x00000400; +pub const WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING: ::DWORD = 0x00000800; +pub const WINHTTP_CALLBACK_STATUS_DETECTING_PROXY: ::DWORD = 0x00001000; +pub const WINHTTP_CALLBACK_STATUS_REDIRECT: ::DWORD = 0x00004000; +pub const WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE: ::DWORD = 0x00008000; +pub const WINHTTP_CALLBACK_STATUS_SECURE_FAILURE: ::DWORD = 0x00010000; +pub const WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE: ::DWORD = 0x00020000; +pub const WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE: ::DWORD = 0x00040000; +pub const WINHTTP_CALLBACK_STATUS_READ_COMPLETE: ::DWORD = 0x00080000; +pub const WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE: ::DWORD = 0x00100000; +pub const WINHTTP_CALLBACK_STATUS_REQUEST_ERROR: ::DWORD = 0x00200000; +pub const WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE: ::DWORD = 0x00400000; +pub const WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE: ::DWORD = 0x01000000; +pub const WINHTTP_CALLBACK_STATUS_CLOSE_COMPLETE: ::DWORD = 0x02000000; +pub const WINHTTP_CALLBACK_STATUS_SHUTDOWN_COMPLETE: ::DWORD = 0x04000000; +pub const WINHTTP_CALLBACK_FLAG_RESOLVE_NAME: ::DWORD = WINHTTP_CALLBACK_STATUS_RESOLVING_NAME + | WINHTTP_CALLBACK_STATUS_NAME_RESOLVED; +pub const WINHTTP_CALLBACK_FLAG_CONNECT_TO_SERVER: ::DWORD = + WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER | WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER; +pub const WINHTTP_CALLBACK_FLAG_SEND_REQUEST: ::DWORD = + WINHTTP_CALLBACK_STATUS_SENDING_REQUEST | WINHTTP_CALLBACK_STATUS_REQUEST_SENT; +pub const WINHTTP_CALLBACK_FLAG_RECEIVE_RESPONSE: ::DWORD = + WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE | WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED; +pub const WINHTTP_CALLBACK_FLAG_CLOSE_CONNECTION: ::DWORD = + WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION | WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED; +pub const WINHTTP_CALLBACK_FLAG_HANDLES: ::DWORD = + WINHTTP_CALLBACK_STATUS_HANDLE_CREATED | WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING; +pub const WINHTTP_CALLBACK_FLAG_DETECTING_PROXY: ::DWORD = WINHTTP_CALLBACK_STATUS_DETECTING_PROXY; +pub const WINHTTP_CALLBACK_FLAG_REDIRECT: ::DWORD = WINHTTP_CALLBACK_STATUS_REDIRECT; +pub const WINHTTP_CALLBACK_FLAG_INTERMEDIATE_RESPONSE: ::DWORD = + WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE; +pub const WINHTTP_CALLBACK_FLAG_SECURE_FAILURE: ::DWORD = WINHTTP_CALLBACK_STATUS_SECURE_FAILURE; +pub const WINHTTP_CALLBACK_FLAG_SENDREQUEST_COMPLETE: ::DWORD = + WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE; +pub const WINHTTP_CALLBACK_FLAG_HEADERS_AVAILABLE: ::DWORD = + WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE; +pub const WINHTTP_CALLBACK_FLAG_DATA_AVAILABLE: ::DWORD = WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE; +pub const WINHTTP_CALLBACK_FLAG_READ_COMPLETE: ::DWORD = WINHTTP_CALLBACK_STATUS_READ_COMPLETE; +pub const WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE: ::DWORD = WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE; +pub const WINHTTP_CALLBACK_FLAG_REQUEST_ERROR: ::DWORD = WINHTTP_CALLBACK_STATUS_REQUEST_ERROR; +pub const WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE: ::DWORD = + WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE; +pub const WINHTTP_CALLBACK_FLAG_ALL_COMPLETIONS: ::DWORD = + WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE | WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE + | WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE | WINHTTP_CALLBACK_STATUS_READ_COMPLETE + | WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE | WINHTTP_CALLBACK_STATUS_REQUEST_ERROR + | WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE; +pub const WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS: ::DWORD = 0xffffffff; +pub const WINHTTP_QUERY_MIME_VERSION: ::DWORD = 0; +pub const WINHTTP_QUERY_CONTENT_TYPE: ::DWORD = 1; +pub const WINHTTP_QUERY_CONTENT_TRANSFER_ENCODING: ::DWORD = 2; +pub const WINHTTP_QUERY_CONTENT_ID: ::DWORD = 3; +pub const WINHTTP_QUERY_CONTENT_DESCRIPTION: ::DWORD = 4; +pub const WINHTTP_QUERY_CONTENT_LENGTH: ::DWORD = 5; +pub const WINHTTP_QUERY_CONTENT_LANGUAGE: ::DWORD = 6; +pub const WINHTTP_QUERY_ALLOW: ::DWORD = 7; +pub const WINHTTP_QUERY_PUBLIC: ::DWORD = 8; +pub const WINHTTP_QUERY_DATE: ::DWORD = 9; +pub const WINHTTP_QUERY_EXPIRES: ::DWORD = 10; +pub const WINHTTP_QUERY_LAST_MODIFIED: ::DWORD = 11; +pub const WINHTTP_QUERY_MESSAGE_ID: ::DWORD = 12; +pub const WINHTTP_QUERY_URI: ::DWORD = 13; +pub const WINHTTP_QUERY_DERIVED_FROM: ::DWORD = 14; +pub const WINHTTP_QUERY_COST: ::DWORD = 15; +pub const WINHTTP_QUERY_LINK: ::DWORD = 16; +pub const WINHTTP_QUERY_PRAGMA: ::DWORD = 17; +pub const WINHTTP_QUERY_VERSION: ::DWORD = 18; +pub const WINHTTP_QUERY_STATUS_CODE: ::DWORD = 19; +pub const WINHTTP_QUERY_STATUS_TEXT: ::DWORD = 20; +pub const WINHTTP_QUERY_RAW_HEADERS: ::DWORD = 21; +pub const WINHTTP_QUERY_RAW_HEADERS_CRLF: ::DWORD = 22; +pub const WINHTTP_QUERY_CONNECTION: ::DWORD = 23; +pub const WINHTTP_QUERY_ACCEPT: ::DWORD = 24; +pub const WINHTTP_QUERY_ACCEPT_CHARSET: ::DWORD = 25; +pub const WINHTTP_QUERY_ACCEPT_ENCODING: ::DWORD = 26; +pub const WINHTTP_QUERY_ACCEPT_LANGUAGE: ::DWORD = 27; +pub const WINHTTP_QUERY_AUTHORIZATION: ::DWORD = 28; +pub const WINHTTP_QUERY_CONTENT_ENCODING: ::DWORD = 29; +pub const WINHTTP_QUERY_FORWARDED: ::DWORD = 30; +pub const WINHTTP_QUERY_FROM: ::DWORD = 31; +pub const WINHTTP_QUERY_IF_MODIFIED_SINCE: ::DWORD = 32; +pub const WINHTTP_QUERY_LOCATION: ::DWORD = 33; +pub const WINHTTP_QUERY_ORIG_URI: ::DWORD = 34; +pub const WINHTTP_QUERY_REFERER: ::DWORD = 35; +pub const WINHTTP_QUERY_RETRY_AFTER: ::DWORD = 36; +pub const WINHTTP_QUERY_SERVER: ::DWORD = 37; +pub const WINHTTP_QUERY_TITLE: ::DWORD = 38; +pub const WINHTTP_QUERY_USER_AGENT: ::DWORD = 39; +pub const WINHTTP_QUERY_WWW_AUTHENTICATE: ::DWORD = 40; +pub const WINHTTP_QUERY_PROXY_AUTHENTICATE: ::DWORD = 41; +pub const WINHTTP_QUERY_ACCEPT_RANGES: ::DWORD = 42; +pub const WINHTTP_QUERY_SET_COOKIE: ::DWORD = 43; +pub const WINHTTP_QUERY_COOKIE: ::DWORD = 44; +pub const WINHTTP_QUERY_REQUEST_METHOD: ::DWORD = 45; +pub const WINHTTP_QUERY_REFRESH: ::DWORD = 46; +pub const WINHTTP_QUERY_CONTENT_DISPOSITION: ::DWORD = 47; +pub const WINHTTP_QUERY_AGE: ::DWORD = 48; +pub const WINHTTP_QUERY_CACHE_CONTROL: ::DWORD = 49; +pub const WINHTTP_QUERY_CONTENT_BASE: ::DWORD = 50; +pub const WINHTTP_QUERY_CONTENT_LOCATION: ::DWORD = 51; +pub const WINHTTP_QUERY_CONTENT_MD5: ::DWORD = 52; +pub const WINHTTP_QUERY_CONTENT_RANGE: ::DWORD = 53; +pub const WINHTTP_QUERY_ETAG: ::DWORD = 54; +pub const WINHTTP_QUERY_HOST: ::DWORD = 55; +pub const WINHTTP_QUERY_IF_MATCH: ::DWORD = 56; +pub const WINHTTP_QUERY_IF_NONE_MATCH: ::DWORD = 57; +pub const WINHTTP_QUERY_IF_RANGE: ::DWORD = 58; +pub const WINHTTP_QUERY_IF_UNMODIFIED_SINCE: ::DWORD = 59; +pub const WINHTTP_QUERY_MAX_FORWARDS: ::DWORD = 60; +pub const WINHTTP_QUERY_PROXY_AUTHORIZATION: ::DWORD = 61; +pub const WINHTTP_QUERY_RANGE: ::DWORD = 62; +pub const WINHTTP_QUERY_TRANSFER_ENCODING: ::DWORD = 63; +pub const WINHTTP_QUERY_UPGRADE: ::DWORD = 64; +pub const WINHTTP_QUERY_VARY: ::DWORD = 65; +pub const WINHTTP_QUERY_VIA: ::DWORD = 66; +pub const WINHTTP_QUERY_WARNING: ::DWORD = 67; +pub const WINHTTP_QUERY_EXPECT: ::DWORD = 68; +pub const WINHTTP_QUERY_PROXY_CONNECTION: ::DWORD = 69; +pub const WINHTTP_QUERY_UNLESS_MODIFIED_SINCE: ::DWORD = 70; +pub const WINHTTP_QUERY_PROXY_SUPPORT: ::DWORD = 75; +pub const WINHTTP_QUERY_AUTHENTICATION_INFO: ::DWORD = 76; +pub const WINHTTP_QUERY_PASSPORT_URLS: ::DWORD = 77; +pub const WINHTTP_QUERY_PASSPORT_CONFIG: ::DWORD = 78; +pub const WINHTTP_QUERY_MAX: ::DWORD = 78; +pub const WINHTTP_QUERY_CUSTOM: ::DWORD = 65535; +pub const WINHTTP_QUERY_FLAG_REQUEST_HEADERS: ::DWORD = 0x80000000; +pub const WINHTTP_QUERY_FLAG_SYSTEMTIME: ::DWORD = 0x40000000; +pub const WINHTTP_QUERY_FLAG_NUMBER: ::DWORD = 0x20000000; +pub const HTTP_STATUS_CONTINUE: ::DWORD = 100; +pub const HTTP_STATUS_SWITCH_PROTOCOLS: ::DWORD = 101; +pub const HTTP_STATUS_OK: ::DWORD = 200; +pub const HTTP_STATUS_CREATED: ::DWORD = 201; +pub const HTTP_STATUS_ACCEPTED: ::DWORD = 202; +pub const HTTP_STATUS_PARTIAL: ::DWORD = 203; +pub const HTTP_STATUS_NO_CONTENT: ::DWORD = 204; +pub const HTTP_STATUS_RESET_CONTENT: ::DWORD = 205; +pub const HTTP_STATUS_PARTIAL_CONTENT: ::DWORD = 206; +pub const HTTP_STATUS_WEBDAV_MULTI_STATUS: ::DWORD = 207; +pub const HTTP_STATUS_AMBIGUOUS: ::DWORD = 300; +pub const HTTP_STATUS_MOVED: ::DWORD = 301; +pub const HTTP_STATUS_REDIRECT: ::DWORD = 302; +pub const HTTP_STATUS_REDIRECT_METHOD: ::DWORD = 303; +pub const HTTP_STATUS_NOT_MODIFIED: ::DWORD = 304; +pub const HTTP_STATUS_USE_PROXY: ::DWORD = 305; +pub const HTTP_STATUS_REDIRECT_KEEP_VERB: ::DWORD = 307; +pub const HTTP_STATUS_BAD_REQUEST: ::DWORD = 400; +pub const HTTP_STATUS_DENIED: ::DWORD = 401; +pub const HTTP_STATUS_PAYMENT_REQ: ::DWORD = 402; +pub const HTTP_STATUS_FORBIDDEN: ::DWORD = 403; +pub const HTTP_STATUS_NOT_FOUND: ::DWORD = 404; +pub const HTTP_STATUS_BAD_METHOD: ::DWORD = 405; +pub const HTTP_STATUS_NONE_ACCEPTABLE: ::DWORD = 406; +pub const HTTP_STATUS_PROXY_AUTH_REQ: ::DWORD = 407; +pub const HTTP_STATUS_REQUEST_TIMEOUT: ::DWORD = 408; +pub const HTTP_STATUS_CONFLICT: ::DWORD = 409; +pub const HTTP_STATUS_GONE: ::DWORD = 410; +pub const HTTP_STATUS_LENGTH_REQUIRED: ::DWORD = 411; +pub const HTTP_STATUS_PRECOND_FAILED: ::DWORD = 412; +pub const HTTP_STATUS_REQUEST_TOO_LARGE: ::DWORD = 413; +pub const HTTP_STATUS_URI_TOO_LONG: ::DWORD = 414; +pub const HTTP_STATUS_UNSUPPORTED_MEDIA: ::DWORD = 415; +pub const HTTP_STATUS_RETRY_WITH: ::DWORD = 449; +pub const HTTP_STATUS_SERVER_ERROR: ::DWORD = 500; +pub const HTTP_STATUS_NOT_SUPPORTED: ::DWORD = 501; +pub const HTTP_STATUS_BAD_GATEWAY: ::DWORD = 502; +pub const HTTP_STATUS_SERVICE_UNAVAIL: ::DWORD = 503; +pub const HTTP_STATUS_GATEWAY_TIMEOUT: ::DWORD = 504; +pub const HTTP_STATUS_VERSION_NOT_SUP: ::DWORD = 505; +pub const HTTP_STATUS_FIRST: ::DWORD = HTTP_STATUS_CONTINUE; +pub const HTTP_STATUS_LAST: ::DWORD = HTTP_STATUS_VERSION_NOT_SUP; +pub const WINHTTP_ACCESS_TYPE_DEFAULT_PROXY: ::DWORD = 0; +pub const WINHTTP_ACCESS_TYPE_NO_PROXY: ::DWORD = 1; +pub const WINHTTP_ACCESS_TYPE_NAMED_PROXY: ::DWORD = 3; +pub const WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY: ::DWORD = 4; +pub const WINHTTP_ERROR_BASE: ::DWORD = 12000; +pub const ERROR_WINHTTP_OUT_OF_HANDLES: ::DWORD = WINHTTP_ERROR_BASE + 1; +pub const ERROR_WINHTTP_TIMEOUT: ::DWORD = WINHTTP_ERROR_BASE + 2; +pub const ERROR_WINHTTP_INTERNAL_ERROR: ::DWORD = WINHTTP_ERROR_BASE + 4; +pub const ERROR_WINHTTP_INVALID_URL: ::DWORD = WINHTTP_ERROR_BASE + 5; +pub const ERROR_WINHTTP_UNRECOGNIZED_SCHEME: ::DWORD = WINHTTP_ERROR_BASE + 6; +pub const ERROR_WINHTTP_NAME_NOT_RESOLVED: ::DWORD = WINHTTP_ERROR_BASE + 7; +pub const ERROR_WINHTTP_INVALID_OPTION: ::DWORD = WINHTTP_ERROR_BASE + 9; +pub const ERROR_WINHTTP_OPTION_NOT_SETTABLE: ::DWORD = WINHTTP_ERROR_BASE + 11; +pub const ERROR_WINHTTP_SHUTDOWN: ::DWORD = WINHTTP_ERROR_BASE + 12; +pub const ERROR_WINHTTP_LOGIN_FAILURE: ::DWORD = WINHTTP_ERROR_BASE + 15; +pub const ERROR_WINHTTP_OPERATION_CANCELLED: ::DWORD = WINHTTP_ERROR_BASE + 17; +pub const ERROR_WINHTTP_INCORRECT_HANDLE_TYPE: ::DWORD = WINHTTP_ERROR_BASE + 18; +pub const ERROR_WINHTTP_INCORRECT_HANDLE_STATE: ::DWORD = WINHTTP_ERROR_BASE + 19; +pub const ERROR_WINHTTP_CANNOT_CONNECT: ::DWORD = WINHTTP_ERROR_BASE + 29; +pub const ERROR_WINHTTP_CONNECTION_ERROR: ::DWORD = WINHTTP_ERROR_BASE + 30; +pub const ERROR_WINHTTP_RESEND_REQUEST: ::DWORD = WINHTTP_ERROR_BASE + 32; +pub const ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED: ::DWORD = WINHTTP_ERROR_BASE + 44; +pub const ERROR_WINHTTP_CANNOT_CALL_BEFORE_OPEN: ::DWORD = WINHTTP_ERROR_BASE + 100; +pub const ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND: ::DWORD = WINHTTP_ERROR_BASE + 101; +pub const ERROR_WINHTTP_CANNOT_CALL_AFTER_SEND: ::DWORD = WINHTTP_ERROR_BASE + 102; +pub const ERROR_WINHTTP_CANNOT_CALL_AFTER_OPEN: ::DWORD = WINHTTP_ERROR_BASE + 103; +pub const ERROR_WINHTTP_HEADER_NOT_FOUND: ::DWORD = WINHTTP_ERROR_BASE + 150; +pub const ERROR_WINHTTP_INVALID_SERVER_RESPONSE: ::DWORD = WINHTTP_ERROR_BASE + 152; +pub const ERROR_WINHTTP_INVALID_HEADER: ::DWORD = WINHTTP_ERROR_BASE + 153; +pub const ERROR_WINHTTP_INVALID_QUERY_REQUEST: ::DWORD = WINHTTP_ERROR_BASE + 154; +pub const ERROR_WINHTTP_HEADER_ALREADY_EXISTS: ::DWORD = WINHTTP_ERROR_BASE + 155; +pub const ERROR_WINHTTP_REDIRECT_FAILED: ::DWORD = WINHTTP_ERROR_BASE + 156; +pub const ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR: ::DWORD = WINHTTP_ERROR_BASE + 178; +pub const ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT: ::DWORD = WINHTTP_ERROR_BASE + 166; +pub const ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT: ::DWORD = WINHTTP_ERROR_BASE + 167; +pub const ERROR_WINHTTP_UNHANDLED_SCRIPT_TYPE: ::DWORD = WINHTTP_ERROR_BASE + 176; +pub const ERROR_WINHTTP_SCRIPT_EXECUTION_ERROR: ::DWORD = WINHTTP_ERROR_BASE + 177; +pub const ERROR_WINHTTP_NOT_INITIALIZED: ::DWORD = WINHTTP_ERROR_BASE + 172; +pub const ERROR_WINHTTP_SECURE_FAILURE: ::DWORD = WINHTTP_ERROR_BASE + 175; +pub const ERROR_WINHTTP_SECURE_CERT_DATE_INVALID: ::DWORD = WINHTTP_ERROR_BASE + 37; +pub const ERROR_WINHTTP_SECURE_CERT_CN_INVALID: ::DWORD = WINHTTP_ERROR_BASE + 38; +pub const ERROR_WINHTTP_SECURE_INVALID_CA: ::DWORD = WINHTTP_ERROR_BASE + 45; +pub const ERROR_WINHTTP_SECURE_CERT_REV_FAILED: ::DWORD = WINHTTP_ERROR_BASE + 57; +pub const ERROR_WINHTTP_SECURE_CHANNEL_ERROR: ::DWORD = WINHTTP_ERROR_BASE + 157; +pub const ERROR_WINHTTP_SECURE_INVALID_CERT: ::DWORD = WINHTTP_ERROR_BASE + 169; +pub const ERROR_WINHTTP_SECURE_CERT_REVOKED: ::DWORD = WINHTTP_ERROR_BASE + 170; +pub const ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE: ::DWORD = WINHTTP_ERROR_BASE + 179; +pub const ERROR_WINHTTP_AUTODETECTION_FAILED: ::DWORD = WINHTTP_ERROR_BASE + 180; +pub const ERROR_WINHTTP_HEADER_COUNT_EXCEEDED: ::DWORD = WINHTTP_ERROR_BASE + 181; +pub const ERROR_WINHTTP_HEADER_SIZE_OVERFLOW: ::DWORD = WINHTTP_ERROR_BASE + 182; +pub const ERROR_WINHTTP_CHUNKED_ENCODING_HEADER_SIZE_OVERFLOW: ::DWORD = WINHTTP_ERROR_BASE + 183; +pub const ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW: ::DWORD = WINHTTP_ERROR_BASE + 184; +pub const ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY: ::DWORD = WINHTTP_ERROR_BASE + 185; +pub const ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY: ::DWORD = WINHTTP_ERROR_BASE + 186; +pub const WINHTTP_ERROR_LAST: ::DWORD = WINHTTP_ERROR_BASE + 186; +pub const WINHTTP_RESET_STATE: ::DWORD = 0x00000001; +pub const WINHTTP_RESET_SWPAD_CURRENT_NETWORK: ::DWORD = 0x00000002; +pub const WINHTTP_RESET_SWPAD_ALL: ::DWORD = 0x00000004; +pub const WINHTTP_RESET_SCRIPT_CACHE: ::DWORD = 0x00000008; +pub const WINHTTP_RESET_ALL: ::DWORD = 0x0000FFFF; +pub const WINHTTP_RESET_NOTIFY_NETWORK_CHANGED: ::DWORD = 0x00010000; +pub const WINHTTP_RESET_OUT_OF_PROC: ::DWORD = 0x00020000; +STRUCT!{struct WINHTTP_CURRENT_USER_IE_PROXY_CONFIG { + fAutoDetect: ::BOOL, + lpszAutoConfigUrl: ::LPWSTR, + lpszProxy: ::LPWSTR, + lpszProxyBypass: ::LPWSTR, +}} +//1370 +ENUM!{enum WINHTTP_WEB_SOCKET_OPERATION { + WINHTTP_WEB_SOCKET_SEND_OPERATION = 0, + WINHTTP_WEB_SOCKET_RECEIVE_OPERATION = 1, + WINHTTP_WEB_SOCKET_CLOSE_OPERATION = 2, + WINHTTP_WEB_SOCKET_SHUTDOWN_OPERATION = 3, +}} +ENUM!{enum WINHTTP_WEB_SOCKET_BUFFER_TYPE { + WINHTTP_WEB_SOCKET_BINARY_MESSAGE_BUFFER_TYPE = 0, + WINHTTP_WEB_SOCKET_BINARY_FRAGMENT_BUFFER_TYPE = 1, + WINHTTP_WEB_SOCKET_UTF8_MESSAGE_BUFFER_TYPE = 2, + WINHTTP_WEB_SOCKET_UTF8_FRAGMENT_BUFFER_TYPE = 3, + WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE = 4, +}} +ENUM!{enum WINHTTP_WEB_SOCKET_CLOSE_STATUS { + WINHTTP_WEB_SOCKET_SUCCESS_CLOSE_STATUS = 1000, + WINHTTP_WEB_SOCKET_ENDPOINT_TERMINATED_CLOSE_STATUS = 1001, + WINHTTP_WEB_SOCKET_PROTOCOL_ERROR_CLOSE_STATUS = 1002, + WINHTTP_WEB_SOCKET_INVALID_DATA_TYPE_CLOSE_STATUS = 1003, + WINHTTP_WEB_SOCKET_EMPTY_CLOSE_STATUS = 1005, + WINHTTP_WEB_SOCKET_ABORTED_CLOSE_STATUS = 1006, + WINHTTP_WEB_SOCKET_INVALID_PAYLOAD_CLOSE_STATUS = 1007, + WINHTTP_WEB_SOCKET_POLICY_VIOLATION_CLOSE_STATUS = 1008, + WINHTTP_WEB_SOCKET_MESSAGE_TOO_BIG_CLOSE_STATUS = 1009, + WINHTTP_WEB_SOCKET_UNSUPPORTED_EXTENSIONS_CLOSE_STATUS = 1010, + WINHTTP_WEB_SOCKET_SERVER_ERROR_CLOSE_STATUS = 1011, + WINHTTP_WEB_SOCKET_SECURE_HANDSHAKE_ERROR_CLOSE_STATUS = 1015, +}} diff --git a/third_party/rust/winapi-0.2.8/src/winioctl.rs b/third_party/rust/winapi-0.2.8/src/winioctl.rs new file mode 100644 index 0000000000..de3b96107c --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winioctl.rs @@ -0,0 +1,754 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! This module defines the 32-Bit Windows Device I/O control codes. +//123 +pub const FILE_DEVICE_BEEP: ::DWORD = 0x00000001; +pub const FILE_DEVICE_CD_ROM: ::DWORD = 0x00000002; +pub const FILE_DEVICE_CD_ROM_FILE_SYSTEM: ::DWORD = 0x00000003; +pub const FILE_DEVICE_CONTROLLER: ::DWORD = 0x00000004; +pub const FILE_DEVICE_DATALINK: ::DWORD = 0x00000005; +pub const FILE_DEVICE_DFS: ::DWORD = 0x00000006; +pub const FILE_DEVICE_DISK: ::DWORD = 0x00000007; +pub const FILE_DEVICE_DISK_FILE_SYSTEM: ::DWORD = 0x00000008; +pub const FILE_DEVICE_FILE_SYSTEM: ::DWORD = 0x00000009; +pub const FILE_DEVICE_INPORT_PORT: ::DWORD = 0x0000000a; +pub const FILE_DEVICE_KEYBOARD: ::DWORD = 0x0000000b; +pub const FILE_DEVICE_MAILSLOT: ::DWORD = 0x0000000c; +pub const FILE_DEVICE_MIDI_IN: ::DWORD = 0x0000000d; +pub const FILE_DEVICE_MIDI_OUT: ::DWORD = 0x0000000e; +pub const FILE_DEVICE_MOUSE: ::DWORD = 0x0000000f; +pub const FILE_DEVICE_MULTI_UNC_PROVIDER: ::DWORD = 0x00000010; +pub const FILE_DEVICE_NAMED_PIPE: ::DWORD = 0x00000011; +pub const FILE_DEVICE_NETWORK: ::DWORD = 0x00000012; +pub const FILE_DEVICE_NETWORK_BROWSER: ::DWORD = 0x00000013; +pub const FILE_DEVICE_NETWORK_FILE_SYSTEM: ::DWORD = 0x00000014; +pub const FILE_DEVICE_NULL: ::DWORD = 0x00000015; +pub const FILE_DEVICE_PARALLEL_PORT: ::DWORD = 0x00000016; +pub const FILE_DEVICE_PHYSICAL_NETCARD: ::DWORD = 0x00000017; +pub const FILE_DEVICE_PRINTER: ::DWORD = 0x00000018; +pub const FILE_DEVICE_SCANNER: ::DWORD = 0x00000019; +pub const FILE_DEVICE_SERIAL_MOUSE_PORT: ::DWORD = 0x0000001a; +pub const FILE_DEVICE_SERIAL_PORT: ::DWORD = 0x0000001b; +pub const FILE_DEVICE_SCREEN: ::DWORD = 0x0000001c; +pub const FILE_DEVICE_SOUND: ::DWORD = 0x0000001d; +pub const FILE_DEVICE_STREAMS: ::DWORD = 0x0000001e; +pub const FILE_DEVICE_TAPE: ::DWORD = 0x0000001f; +pub const FILE_DEVICE_TAPE_FILE_SYSTEM: ::DWORD = 0x00000020; +pub const FILE_DEVICE_TRANSPORT: ::DWORD = 0x00000021; +pub const FILE_DEVICE_UNKNOWN: ::DWORD = 0x00000022; +pub const FILE_DEVICE_VIDEO: ::DWORD = 0x00000023; +pub const FILE_DEVICE_VIRTUAL_DISK: ::DWORD = 0x00000024; +pub const FILE_DEVICE_WAVE_IN: ::DWORD = 0x00000025; +pub const FILE_DEVICE_WAVE_OUT: ::DWORD = 0x00000026; +pub const FILE_DEVICE_8042_PORT: ::DWORD = 0x00000027; +pub const FILE_DEVICE_NETWORK_REDIRECTOR: ::DWORD = 0x00000028; +pub const FILE_DEVICE_BATTERY: ::DWORD = 0x00000029; +pub const FILE_DEVICE_BUS_EXTENDER: ::DWORD = 0x0000002a; +pub const FILE_DEVICE_MODEM: ::DWORD = 0x0000002b; +pub const FILE_DEVICE_VDM: ::DWORD = 0x0000002c; +pub const FILE_DEVICE_MASS_STORAGE: ::DWORD = 0x0000002d; +pub const FILE_DEVICE_SMB: ::DWORD = 0x0000002e; +pub const FILE_DEVICE_KS: ::DWORD = 0x0000002f; +pub const FILE_DEVICE_CHANGER: ::DWORD = 0x00000030; +pub const FILE_DEVICE_SMARTCARD: ::DWORD = 0x00000031; +pub const FILE_DEVICE_ACPI: ::DWORD = 0x00000032; +pub const FILE_DEVICE_DVD: ::DWORD = 0x00000033; +pub const FILE_DEVICE_FULLSCREEN_VIDEO: ::DWORD = 0x00000034; +pub const FILE_DEVICE_DFS_FILE_SYSTEM: ::DWORD = 0x00000035; +pub const FILE_DEVICE_DFS_VOLUME: ::DWORD = 0x00000036; +pub const FILE_DEVICE_SERENUM: ::DWORD = 0x00000037; +pub const FILE_DEVICE_TERMSRV: ::DWORD = 0x00000038; +pub const FILE_DEVICE_KSEC: ::DWORD = 0x00000039; +pub const FILE_DEVICE_FIPS: ::DWORD = 0x0000003A; +pub const FILE_DEVICE_INFINIBAND: ::DWORD = 0x0000003B; +pub const FILE_DEVICE_VMBUS: ::DWORD = 0x0000003E; +pub const FILE_DEVICE_CRYPT_PROVIDER: ::DWORD = 0x0000003F; +pub const FILE_DEVICE_WPD: ::DWORD = 0x00000040; +pub const FILE_DEVICE_BLUETOOTH: ::DWORD = 0x00000041; +pub const FILE_DEVICE_MT_COMPOSITE: ::DWORD = 0x00000042; +pub const FILE_DEVICE_MT_TRANSPORT: ::DWORD = 0x00000043; +pub const FILE_DEVICE_BIOMETRIC: ::DWORD = 0x00000044; +pub const FILE_DEVICE_PMI: ::DWORD = 0x00000045; +pub const FILE_DEVICE_EHSTOR: ::DWORD = 0x00000046; +pub const FILE_DEVICE_DEVAPI: ::DWORD = 0x00000047; +pub const FILE_DEVICE_GPIO: ::DWORD = 0x00000048; +pub const FILE_DEVICE_USBEX: ::DWORD = 0x00000049; +pub const FILE_DEVICE_CONSOLE: ::DWORD = 0x00000050; +pub const FILE_DEVICE_NFP: ::DWORD = 0x00000051; +pub const FILE_DEVICE_SYSENV: ::DWORD = 0x00000052; +pub const FILE_DEVICE_VIRTUAL_BLOCK: ::DWORD = 0x00000053; +pub const FILE_DEVICE_POINT_OF_SERVICE: ::DWORD = 0x00000054; +//224 +pub const METHOD_BUFFERED: ::DWORD = 0; +pub const METHOD_IN_DIRECT: ::DWORD = 1; +pub const METHOD_OUT_DIRECT: ::DWORD = 2; +pub const METHOD_NEITHER: ::DWORD = 3; +//253 +pub const FILE_ANY_ACCESS: ::DWORD = 0; +pub const FILE_SPECIAL_ACCESS: ::DWORD = FILE_ANY_ACCESS; +pub const FILE_READ_ACCESS: ::DWORD = 0x0001; +pub const FILE_WRITE_ACCESS: ::DWORD = 0x0002; +//281 +pub const IOCTL_STORAGE_BASE: ::DWORD = FILE_DEVICE_MASS_STORAGE; +pub const IOCTL_STORAGE_CHECK_VERIFY: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0200, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_STORAGE_CHECK_VERIFY2: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0200, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_MEDIA_REMOVAL: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0201, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_STORAGE_EJECT_MEDIA: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0202, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_STORAGE_LOAD_MEDIA: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0203, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_STORAGE_LOAD_MEDIA2: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0203, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_RESERVE: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const IOCTL_STORAGE_RELEASE: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const IOCTL_STORAGE_FIND_NEW_DEVICES: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0206, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_STORAGE_EJECTION_CONTROL: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0250, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_MCN_CONTROL: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0251, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_GET_MEDIA_TYPES: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0300, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_GET_MEDIA_TYPES_EX: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0301, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0304, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_GET_HOTPLUG_INFO: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0305, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_SET_HOTPLUG_INFO: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0306, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_STORAGE_RESET_BUS: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const IOCTL_STORAGE_RESET_DEVICE: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0401, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_STORAGE_BREAK_RESERVATION: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0405, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_STORAGE_PERSISTENT_RESERVE_IN: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0406, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_STORAGE_PERSISTENT_RESERVE_OUT: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0407, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_STORAGE_GET_DEVICE_NUMBER: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0420, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_PREDICT_FAILURE: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0440, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_FAILURE_PREDICTION_CONFIG: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0441, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_READ_CAPACITY: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0450, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_STORAGE_GET_DEVICE_TELEMETRY: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0470, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_STORAGE_DEVICE_TELEMETRY_NOTIFY: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0471, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_STORAGE_DEVICE_TELEMETRY_QUERY_CAPS: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, + 0x0472, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_STORAGE_GET_DEVICE_TELEMETRY_RAW: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0473, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_STORAGE_QUERY_PROPERTY: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0500, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0501, + METHOD_BUFFERED, FILE_WRITE_ACCESS); +pub const IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, + 0x0502, METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_STORAGE_GET_BC_PROPERTIES: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0600, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_STORAGE_ALLOCATE_BC_STREAM: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0601, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_STORAGE_FREE_BC_STREAM: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0602, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_STORAGE_CHECK_PRIORITY_HINT_SUPPORT: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, + 0x0620, METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_START_DATA_INTEGRITY_CHECK: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0621, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_STORAGE_STOP_DATA_INTEGRITY_CHECK: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0622, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const OBSOLETE_IOCTL_STORAGE_RESET_BUS: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0400, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const OBSOLETE_IOCTL_STORAGE_RESET_DEVICE: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0401, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_STORAGE_ENABLE_IDLE_POWER: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0720, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_GET_IDLE_POWERUP_REASON: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0721, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_POWER_ACTIVE: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0722, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_POWER_IDLE: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0723, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_STORAGE_EVENT_NOTIFICATION: ::DWORD = CTL_CODE!(IOCTL_STORAGE_BASE, 0x0724, + METHOD_BUFFERED, FILE_ANY_ACCESS); +//2627 +pub const IOCTL_DISK_BASE: ::DWORD = FILE_DEVICE_DISK; +pub const IOCTL_DISK_GET_DRIVE_GEOMETRY: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0000, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_DISK_GET_PARTITION_INFO: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0001, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_DISK_SET_PARTITION_INFO: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0002, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_GET_DRIVE_LAYOUT: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0003, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_DISK_SET_DRIVE_LAYOUT: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0004, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_VERIFY: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0005, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const IOCTL_DISK_FORMAT_TRACKS: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0006, METHOD_BUFFERED, + FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_REASSIGN_BLOCKS: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0007, METHOD_BUFFERED, + FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_PERFORMANCE: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0008, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const IOCTL_DISK_IS_WRITABLE: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0009, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const IOCTL_DISK_LOGGING: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000a, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const IOCTL_DISK_FORMAT_TRACKS_EX: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000b, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_HISTOGRAM_STRUCTURE: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000c, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_DISK_HISTOGRAM_DATA: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000d, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const IOCTL_DISK_HISTOGRAM_RESET: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000e, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const IOCTL_DISK_REQUEST_STRUCTURE: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x000f, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_DISK_REQUEST_DATA: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0010, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const IOCTL_DISK_PERFORMANCE_OFF: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0018, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const IOCTL_DISK_CONTROLLER_NUMBER: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0011, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const SMART_GET_VERSION: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0020, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const SMART_SEND_DRIVE_COMMAND: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0021, METHOD_BUFFERED, + FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const SMART_RCV_DRIVE_DATA: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0022, METHOD_BUFFERED, + FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_GET_PARTITION_INFO_EX: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0012, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_DISK_SET_PARTITION_INFO_EX: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0013, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_GET_DRIVE_LAYOUT_EX: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0014, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_DISK_SET_DRIVE_LAYOUT_EX: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0015, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_CREATE_DISK: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0016, METHOD_BUFFERED, + FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_GET_LENGTH_INFO: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0017, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const IOCTL_DISK_GET_DRIVE_GEOMETRY_EX: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0028, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_DISK_REASSIGN_BLOCKS_EX: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0029, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_UPDATE_DRIVE_SIZE: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0032, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_GROW_PARTITION: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0034, METHOD_BUFFERED, + FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_GET_CACHE_INFORMATION: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0035, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_DISK_SET_CACHE_INFORMATION: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0036, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_GET_WRITE_CACHE_STATE: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0037, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const OBSOLETE_DISK_GET_WRITE_CACHE_STATE: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0037, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_DISK_DELETE_DRIVE_LAYOUT: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0040, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_UPDATE_PROPERTIES: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0050, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_DISK_FORMAT_DRIVE: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x00f3, METHOD_BUFFERED, + FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_SENSE_DEVICE: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x00f8, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const IOCTL_DISK_CHECK_VERIFY: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0200, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const IOCTL_DISK_MEDIA_REMOVAL: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0201, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const IOCTL_DISK_EJECT_MEDIA: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0202, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const IOCTL_DISK_LOAD_MEDIA: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0203, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const IOCTL_DISK_RESERVE: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0204, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const IOCTL_DISK_RELEASE: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0205, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const IOCTL_DISK_FIND_NEW_DEVICES: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0206, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_DISK_GET_MEDIA_TYPES: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0300, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const IOCTL_DISK_GET_DISK_ATTRIBUTES: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x003c, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const IOCTL_DISK_SET_DISK_ATTRIBUTES: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x003d, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_DISK_RESET_SNAPSHOT_INFO: ::DWORD = CTL_CODE!(IOCTL_DISK_BASE, 0x0084, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +//3907 +pub const IOCTL_CHANGER_BASE: ::DWORD = FILE_DEVICE_CHANGER; +pub const IOCTL_CHANGER_GET_PARAMETERS: ::DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0000, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_CHANGER_GET_STATUS: ::DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0001, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_CHANGER_GET_PRODUCT_DATA: ::DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0002, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_CHANGER_SET_ACCESS: ::DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0004, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_CHANGER_GET_ELEMENT_STATUS: ::DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0005, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS: ::DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0006, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_CHANGER_SET_POSITION: ::DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0007, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_CHANGER_EXCHANGE_MEDIUM: ::DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0008, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_CHANGER_MOVE_MEDIUM: ::DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x0009, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_CHANGER_REINITIALIZE_TRANSPORT: ::DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x000A, + METHOD_BUFFERED, FILE_READ_ACCESS); +pub const IOCTL_CHANGER_QUERY_VOLUME_TAGS: ::DWORD = CTL_CODE!(IOCTL_CHANGER_BASE, 0x000B, + METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_SERIAL_LSRMST_INSERT: ::DWORD = CTL_CODE!(FILE_DEVICE_SERIAL_PORT, 31, + METHOD_BUFFERED,FILE_ANY_ACCESS); +pub const IOCTL_SERENUM_EXPOSE_HARDWARE: ::DWORD = CTL_CODE!(FILE_DEVICE_SERENUM, 128, + METHOD_BUFFERED,FILE_ANY_ACCESS); +pub const IOCTL_SERENUM_REMOVE_HARDWARE: ::DWORD = CTL_CODE!(FILE_DEVICE_SERENUM, 129, + METHOD_BUFFERED,FILE_ANY_ACCESS); +pub const IOCTL_SERENUM_PORT_DESC: ::DWORD = CTL_CODE!(FILE_DEVICE_SERENUM, 130, + METHOD_BUFFERED,FILE_ANY_ACCESS); +pub const IOCTL_SERENUM_GET_PORT_NAME: ::DWORD = CTL_CODE!(FILE_DEVICE_SERENUM, 131, + METHOD_BUFFERED,FILE_ANY_ACCESS); +//4690 +pub const FSCTL_REQUEST_OPLOCK_LEVEL_1: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 0, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_REQUEST_OPLOCK_LEVEL_2: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 1, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_REQUEST_BATCH_OPLOCK: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 2, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_OPLOCK_BREAK_ACKNOWLEDGE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 3, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_OPBATCH_ACK_CLOSE_PENDING: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 4, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_OPLOCK_BREAK_NOTIFY: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 5, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_LOCK_VOLUME: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 6, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_UNLOCK_VOLUME: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 7, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_DISMOUNT_VOLUME: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 8, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_IS_VOLUME_MOUNTED: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 10, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_IS_PATHNAME_VALID: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 11, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_MARK_VOLUME_DIRTY: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 12, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_QUERY_RETRIEVAL_POINTERS: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 14, + METHOD_NEITHER, FILE_ANY_ACCESS); +pub const FSCTL_GET_COMPRESSION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_SET_COMPRESSION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, + ::FILE_READ_DATA | ::FILE_WRITE_DATA); +pub const FSCTL_SET_BOOTLOADER_ACCESSED: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 19, + METHOD_NEITHER, FILE_ANY_ACCESS); +pub const FSCTL_MARK_AS_SYSTEM_HIVE: ::DWORD = FSCTL_SET_BOOTLOADER_ACCESSED; +pub const FSCTL_OPLOCK_BREAK_ACK_NO_2: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 20, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_INVALIDATE_VOLUMES: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 21, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_QUERY_FAT_BPB: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_REQUEST_FILTER_OPLOCK: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 23, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_FILESYSTEM_GET_STATISTICS: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 24, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_GET_NTFS_VOLUME_DATA: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 25, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_GET_NTFS_FILE_RECORD: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 26, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_GET_VOLUME_BITMAP: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 27, METHOD_NEITHER, + FILE_ANY_ACCESS); +pub const FSCTL_GET_RETRIEVAL_POINTERS: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 28, + METHOD_NEITHER, FILE_ANY_ACCESS); +pub const FSCTL_MOVE_FILE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, + FILE_SPECIAL_ACCESS); +pub const FSCTL_IS_VOLUME_DIRTY: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_ALLOW_EXTENDED_DASD_IO: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 32, + METHOD_NEITHER, FILE_ANY_ACCESS); +pub const FSCTL_FIND_FILES_BY_SID: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 35, METHOD_NEITHER, + FILE_ANY_ACCESS); +pub const FSCTL_SET_OBJECT_ID: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, + FILE_SPECIAL_ACCESS); +pub const FSCTL_GET_OBJECT_ID: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 39, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_DELETE_OBJECT_ID: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, + FILE_SPECIAL_ACCESS); +pub const FSCTL_SET_REPARSE_POINT: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 41, + METHOD_BUFFERED, FILE_SPECIAL_ACCESS); +pub const FSCTL_GET_REPARSE_POINT: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 42, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_DELETE_REPARSE_POINT: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 43, + METHOD_BUFFERED, FILE_SPECIAL_ACCESS); +pub const FSCTL_ENUM_USN_DATA: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 44, + METHOD_NEITHER, FILE_ANY_ACCESS); +pub const FSCTL_SECURITY_ID_CHECK: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 45, METHOD_NEITHER, + ::FILE_READ_DATA); +pub const FSCTL_READ_USN_JOURNAL: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 46, METHOD_NEITHER, + FILE_ANY_ACCESS); +pub const FSCTL_SET_OBJECT_ID_EXTENDED: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 47, + METHOD_BUFFERED, FILE_SPECIAL_ACCESS); +pub const FSCTL_CREATE_OR_GET_OBJECT_ID: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 48, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_SET_SPARSE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, + FILE_SPECIAL_ACCESS); +pub const FSCTL_SET_ZERO_DATA: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, + ::FILE_WRITE_DATA); +pub const FSCTL_QUERY_ALLOCATED_RANGES: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 51, + METHOD_NEITHER, ::FILE_READ_DATA); +pub const FSCTL_ENABLE_UPGRADE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, + ::FILE_WRITE_DATA); +pub const FSCTL_SET_ENCRYPTION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_NEITHER, + FILE_ANY_ACCESS); +pub const FSCTL_ENCRYPTION_FSCTL_IO: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 54, + METHOD_NEITHER, FILE_ANY_ACCESS); +pub const FSCTL_WRITE_RAW_ENCRYPTED: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 55, + METHOD_NEITHER, FILE_SPECIAL_ACCESS); +pub const FSCTL_READ_RAW_ENCRYPTED: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 56, + METHOD_NEITHER, FILE_SPECIAL_ACCESS); +pub const FSCTL_CREATE_USN_JOURNAL: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 57, + METHOD_NEITHER, FILE_ANY_ACCESS); +pub const FSCTL_READ_FILE_USN_DATA: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 58, + METHOD_NEITHER, FILE_ANY_ACCESS); +pub const FSCTL_WRITE_USN_CLOSE_RECORD: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 59, + METHOD_NEITHER, FILE_ANY_ACCESS); +pub const FSCTL_EXTEND_VOLUME: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_QUERY_USN_JOURNAL: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 61, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_DELETE_USN_JOURNAL: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 62, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_MARK_HANDLE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 63, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_SIS_COPYFILE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 64, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_SIS_LINK_FILES: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 65, METHOD_BUFFERED, + ::FILE_READ_DATA | ::FILE_WRITE_DATA); +pub const FSCTL_RECALL_FILE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 69, METHOD_NEITHER, + FILE_ANY_ACCESS); +pub const FSCTL_READ_FROM_PLEX: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 71, METHOD_OUT_DIRECT, + ::FILE_READ_DATA); +pub const FSCTL_FILE_PREFETCH: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 72, METHOD_BUFFERED, + FILE_SPECIAL_ACCESS); +pub const FSCTL_MAKE_MEDIA_COMPATIBLE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 76, + METHOD_BUFFERED, ::FILE_WRITE_DATA); +pub const FSCTL_SET_DEFECT_MANAGEMENT: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 77, + METHOD_BUFFERED, ::FILE_WRITE_DATA); +pub const FSCTL_QUERY_SPARING_INFO: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 78, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_QUERY_ON_DISK_VOLUME_INFO: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 79, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_SET_VOLUME_COMPRESSION_STATE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 80, + METHOD_BUFFERED, FILE_SPECIAL_ACCESS); +pub const FSCTL_TXFS_MODIFY_RM: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 81, METHOD_BUFFERED, + ::FILE_WRITE_DATA); +pub const FSCTL_TXFS_QUERY_RM_INFORMATION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 82, + METHOD_BUFFERED, ::FILE_READ_DATA); +pub const FSCTL_TXFS_ROLLFORWARD_REDO: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 84, + METHOD_BUFFERED, ::FILE_WRITE_DATA); +pub const FSCTL_TXFS_ROLLFORWARD_UNDO: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 85, + METHOD_BUFFERED, ::FILE_WRITE_DATA); +pub const FSCTL_TXFS_START_RM: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 86, METHOD_BUFFERED, + ::FILE_WRITE_DATA); +pub const FSCTL_TXFS_SHUTDOWN_RM: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 87, METHOD_BUFFERED, + ::FILE_WRITE_DATA); +pub const FSCTL_TXFS_READ_BACKUP_INFORMATION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 88, + METHOD_BUFFERED, ::FILE_READ_DATA); +pub const FSCTL_TXFS_WRITE_BACKUP_INFORMATION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 89, + METHOD_BUFFERED, ::FILE_WRITE_DATA); +pub const FSCTL_TXFS_CREATE_SECONDARY_RM: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 90, + METHOD_BUFFERED, ::FILE_WRITE_DATA); +pub const FSCTL_TXFS_GET_METADATA_INFO: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 91, + METHOD_BUFFERED, ::FILE_READ_DATA); +pub const FSCTL_TXFS_GET_TRANSACTED_VERSION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 92, + METHOD_BUFFERED, ::FILE_READ_DATA); +pub const FSCTL_TXFS_SAVEPOINT_INFORMATION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 94, + METHOD_BUFFERED, ::FILE_WRITE_DATA); +pub const FSCTL_TXFS_CREATE_MINIVERSION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 95, + METHOD_BUFFERED, ::FILE_WRITE_DATA); +pub const FSCTL_TXFS_TRANSACTION_ACTIVE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 99, + METHOD_BUFFERED, ::FILE_READ_DATA); +pub const FSCTL_SET_ZERO_ON_DEALLOCATION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 101, + METHOD_BUFFERED, FILE_SPECIAL_ACCESS); +pub const FSCTL_SET_REPAIR: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 102, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_GET_REPAIR: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 103, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_WAIT_FOR_REPAIR: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 104, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_INITIATE_REPAIR: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 106, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_CSC_INTERNAL: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 107, METHOD_NEITHER, + FILE_ANY_ACCESS); +pub const FSCTL_SHRINK_VOLUME: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 108, METHOD_BUFFERED, + FILE_SPECIAL_ACCESS); +pub const FSCTL_SET_SHORT_NAME_BEHAVIOR: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 109, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_DFSR_SET_GHOST_HANDLE_STATE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 110, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, + 120, METHOD_BUFFERED, ::FILE_READ_DATA); +pub const FSCTL_TXFS_LIST_TRANSACTIONS: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 121, + METHOD_BUFFERED, ::FILE_READ_DATA); +pub const FSCTL_QUERY_PAGEFILE_ENCRYPTION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 122, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_RESET_VOLUME_ALLOCATION_HINTS: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 123, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_QUERY_DEPENDENT_VOLUME: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 124, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_SD_GLOBAL_CHANGE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 125, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_TXFS_READ_BACKUP_INFORMATION2: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 126, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_LOOKUP_STREAM_FROM_CLUSTER: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 127, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_TXFS_WRITE_BACKUP_INFORMATION2: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 128, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_FILE_TYPE_NOTIFICATION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 129, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_FILE_LEVEL_TRIM: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 130, METHOD_BUFFERED, + ::FILE_WRITE_DATA); +pub const FSCTL_GET_BOOT_AREA_INFO: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 140, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_GET_RETRIEVAL_POINTER_BASE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 141, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_SET_PERSISTENT_VOLUME_STATE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 142, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_QUERY_PERSISTENT_VOLUME_STATE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 143, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_REQUEST_OPLOCK: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 144, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_CSV_TUNNEL_REQUEST: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 145, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_IS_CSV_FILE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 146, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_QUERY_FILE_SYSTEM_RECOGNITION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 147, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_CSV_GET_VOLUME_PATH_NAME: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 148, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_CSV_GET_VOLUME_NAME_FOR_VOLUME_MOUNT_POINT: ::DWORD = CTL_CODE!( + FILE_DEVICE_FILE_SYSTEM, 149, METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_CSV_GET_VOLUME_PATH_NAMES_FOR_VOLUME_NAME: ::DWORD = CTL_CODE!( + FILE_DEVICE_FILE_SYSTEM, 150, METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_IS_FILE_ON_CSV_VOLUME: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 151, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_CORRUPTION_HANDLING: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 152, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_OFFLOAD_READ: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 153, METHOD_BUFFERED, + FILE_READ_ACCESS); +pub const FSCTL_OFFLOAD_WRITE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 154, METHOD_BUFFERED, + FILE_WRITE_ACCESS); +pub const FSCTL_CSV_INTERNAL: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 155, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_SET_PURGE_FAILURE_MODE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 156, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_QUERY_FILE_LAYOUT: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 157, + METHOD_NEITHER, FILE_ANY_ACCESS); +pub const FSCTL_IS_VOLUME_OWNED_BYCSVFS: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 158, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_GET_INTEGRITY_INFORMATION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 159, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_SET_INTEGRITY_INFORMATION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 160, + METHOD_BUFFERED, ::FILE_READ_DATA | ::FILE_WRITE_DATA); +pub const FSCTL_QUERY_FILE_REGIONS: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 161, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_DEDUP_FILE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 165, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_DEDUP_QUERY_FILE_HASHES: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 166, + METHOD_NEITHER, ::FILE_READ_DATA); +pub const FSCTL_DEDUP_QUERY_RANGE_STATE: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 167, + METHOD_NEITHER, ::FILE_READ_DATA); +pub const FSCTL_DEDUP_QUERY_REPARSE_INFO: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 168, + METHOD_NEITHER, FILE_ANY_ACCESS); +pub const FSCTL_RKF_INTERNAL: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 171, METHOD_NEITHER, + FILE_ANY_ACCESS); +pub const FSCTL_SCRUB_DATA: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 172, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_REPAIR_COPIES: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 173, METHOD_BUFFERED, + ::FILE_READ_DATA | ::FILE_WRITE_DATA); +pub const FSCTL_DISABLE_LOCAL_BUFFERING: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 174, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_CSV_MGMT_LOCK: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 175, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS: ::DWORD = CTL_CODE!( + FILE_DEVICE_FILE_SYSTEM, 176, METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_ADVANCE_FILE_ID: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 177, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_CSV_SYNC_TUNNEL_REQUEST: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 178, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_CSV_QUERY_VETO_FILE_DIRECT_IO: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 179, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_WRITE_USN_REASON: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 180, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_CSV_CONTROL: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 181, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const FSCTL_GET_REFS_VOLUME_DATA: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 182, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_CSV_H_BREAKING_SYNC_TUNNEL_REQUEST: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, + 185, METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_QUERY_STORAGE_CLASSES: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 187, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_QUERY_REGION_INFO: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 188, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_USN_TRACK_MODIFIED_RANGES: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 189, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_QUERY_SHARED_VIRTUAL_DISK_SUPPORT: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, + 192, METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_SVHDX_SYNC_TUNNEL_REQUEST: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 193, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_SVHDX_SET_INITIATOR_INFORMATION: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 194, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_SET_EXTERNAL_BACKING: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 195, + METHOD_BUFFERED, FILE_SPECIAL_ACCESS); +pub const FSCTL_GET_EXTERNAL_BACKING: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 196, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_DELETE_EXTERNAL_BACKING: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 197, + METHOD_BUFFERED, FILE_SPECIAL_ACCESS); +pub const FSCTL_ENUM_EXTERNAL_BACKING: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 198, + METHOD_BUFFERED, FILE_ANY_ACCESS); +pub const FSCTL_ENUM_OVERLAY: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 199, METHOD_NEITHER, + FILE_ANY_ACCESS); +pub const FSCTL_ADD_OVERLAY: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 204, METHOD_BUFFERED, + ::FILE_WRITE_DATA); +pub const FSCTL_REMOVE_OVERLAY: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 205, METHOD_BUFFERED, + ::FILE_WRITE_DATA); +pub const FSCTL_UPDATE_OVERLAY: ::DWORD = CTL_CODE!(FILE_DEVICE_FILE_SYSTEM, 206, METHOD_BUFFERED, + ::FILE_WRITE_DATA); +// FILE_DEVICE_AVIO is defined nowhere +//pub const IOCTL_AVIO_ALLOCATE_STREAM: ::DWORD = CTL_CODE!(FILE_DEVICE_AVIO, 1, METHOD_BUFFERED, +// FILE_SPECIAL_ACCESS); +//pub const IOCTL_AVIO_FREE_STREAM: ::DWORD = CTL_CODE!(FILE_DEVICE_AVIO, 2, METHOD_BUFFERED, +// FILE_SPECIAL_ACCESS); +//pub const IOCTL_AVIO_MODIFY_STREAM: ::DWORD = CTL_CODE!(FILE_DEVICE_AVIO, 3, METHOD_BUFFERED, +// FILE_SPECIAL_ACCESS); +STRUCT!{struct PATHNAME_BUFFER { + PathNameLength: ::DWORD, + Name: [::WCHAR; 1], +}} +pub type PPATHNAME_BUFFER = *mut PATHNAME_BUFFER; +STRUCT!{nodebug struct FSCTL_QUERY_FAT_BPB_BUFFER { + First0x24BytesOfBootSector: [::BYTE; 0x24], +}} +pub type PFSCTL_QUERY_FAT_BPB_BUFFER = *mut FSCTL_QUERY_FAT_BPB_BUFFER; +STRUCT!{struct NTFS_VOLUME_DATA_BUFFER { + VolumeSerialNumber: ::LARGE_INTEGER, + NumberSectors: ::LARGE_INTEGER, + TotalClusters: ::LARGE_INTEGER, + FreeClusters: ::LARGE_INTEGER, + TotalReserved: ::LARGE_INTEGER, + BytesPerSector: ::DWORD, + BytesPerCluster: ::DWORD, + BytesPerFileRecordSegment: ::DWORD, + ClustersPerFileRecordSegment: ::DWORD, + MftValidDataLength: ::LARGE_INTEGER, + MftStartLcn: ::LARGE_INTEGER, + Mft2StartLcn: ::LARGE_INTEGER, + MftZoneStart: ::LARGE_INTEGER, + MftZoneEnd: ::LARGE_INTEGER, +}} +pub type PNTFS_VOLUME_DATA_BUFFER = *mut NTFS_VOLUME_DATA_BUFFER; +STRUCT!{struct NTFS_EXTENDED_VOLUME_DATA { + ByteCount: ::DWORD, + MajorVersion: ::WORD, + MinorVersion: ::WORD, + BytesPerPhysicalSector: ::DWORD, + LfsMajorVersion: ::WORD, + LfsMinorVersion: ::WORD, +}} +pub type PNTFS_EXTENDED_VOLUME_DATA = *mut NTFS_EXTENDED_VOLUME_DATA; +STRUCT!{struct REFS_VOLUME_DATA_BUFFER { + ByteCount: ::DWORD, + MajorVersion: ::DWORD, + MinorVersion: ::DWORD, + BytesPerPhysicalSector: ::DWORD, + VolumeSerialNumber: ::LARGE_INTEGER, + NumberSectors: ::LARGE_INTEGER, + TotalClusters: ::LARGE_INTEGER, + FreeClusters: ::LARGE_INTEGER, + TotalReserved: ::LARGE_INTEGER, + BytesPerSector: ::DWORD, + BytesPerCluster: ::DWORD, + MaximumSizeOfResidentFile: ::LARGE_INTEGER, + Reserved: [::LARGE_INTEGER; 10], +}} +pub type PREFS_VOLUME_DATA_BUFFER = *mut REFS_VOLUME_DATA_BUFFER; +STRUCT!{struct STARTING_LCN_INPUT_BUFFER { + StartingLcn: ::LARGE_INTEGER, +}} +pub type PSTARTING_LCN_INPUT_BUFFER = *mut STARTING_LCN_INPUT_BUFFER; +STRUCT!{struct VOLUME_BITMAP_BUFFER { + StartingLcn: ::LARGE_INTEGER, + BitmapSize: ::LARGE_INTEGER, + Buffer: [::BYTE; 1], +}} +pub type PVOLUME_BITMAP_BUFFER = *mut VOLUME_BITMAP_BUFFER; +STRUCT!{struct STARTING_VCN_INPUT_BUFFER { + StartingVcn: ::LARGE_INTEGER, +}} +pub type PSTARTING_VCN_INPUT_BUFFER = *mut STARTING_VCN_INPUT_BUFFER; +STRUCT!{struct RETRIEVAL_POINTERS_BUFFER_INTERNAL { + NextVcn: ::LARGE_INTEGER, + Lcn: ::LARGE_INTEGER, +}} +STRUCT!{struct RETRIEVAL_POINTERS_BUFFER { + ExtentCount: ::DWORD, + StartingVcn: ::LARGE_INTEGER, + Extents: [RETRIEVAL_POINTERS_BUFFER_INTERNAL; 1], +}} +pub type PRETRIEVAL_POINTERS_BUFFER = *mut RETRIEVAL_POINTERS_BUFFER; +STRUCT!{struct NTFS_FILE_RECORD_INPUT_BUFFER { + FileReferenceNumber: ::LARGE_INTEGER, +}} +pub type PNTFS_FILE_RECORD_INPUT_BUFFER = *mut NTFS_FILE_RECORD_INPUT_BUFFER; +STRUCT!{struct NTFS_FILE_RECORD_OUTPUT_BUFFER { + FileReferenceNumber: ::LARGE_INTEGER, + FileRecordLength: ::DWORD, + FileRecordBuffer: [::BYTE; 1], +}} +pub type PNTFS_FILE_RECORD_OUTPUT_BUFFER = *mut NTFS_FILE_RECORD_OUTPUT_BUFFER; +STRUCT!{struct MOVE_FILE_DATA { + FileHandle: ::HANDLE, + StartingVcn: ::LARGE_INTEGER, + StartingLcn: ::LARGE_INTEGER, + ClusterCount: ::DWORD, +}} +pub type PMOVE_FILE_DATA = *mut MOVE_FILE_DATA; +STRUCT!{struct MOVE_FILE_RECORD_DATA { + FileHandle: ::HANDLE, + SourceFileRecord: ::LARGE_INTEGER, + TargetFileRecord: ::LARGE_INTEGER, +}} +pub type PMOVE_FILE_RECORD_DATA = *mut MOVE_FILE_RECORD_DATA; +//9207 +pub const IOCTL_VOLUME_BASE: ::DWORD = 0x00000056; +pub const IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS: ::DWORD = CTL_CODE!(IOCTL_VOLUME_BASE, 0, + METHOD_BUFFERED, FILE_ANY_ACCESS); +STRUCT!{struct DISK_EXTENT { + DiskNumber: ::DWORD, + StartingOffset: ::LARGE_INTEGER, + ExtentLength: ::LARGE_INTEGER, +}} +pub type PDISK_EXTENT = *mut DISK_EXTENT; +STRUCT!{struct VOLUME_DISK_EXTENTS { + NumberOfDiskExtents: ::DWORD, + Extents: [DISK_EXTENT; ::ANYSIZE_ARRAY], +}} +pub type PVOLUME_DISK_EXTENTS = *mut VOLUME_DISK_EXTENTS; +pub const IOCTL_VOLUME_ONLINE: ::DWORD = CTL_CODE!(IOCTL_VOLUME_BASE, 2, METHOD_BUFFERED, + FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_VOLUME_OFFLINE: ::DWORD = CTL_CODE!(IOCTL_VOLUME_BASE, 3, METHOD_BUFFERED, + FILE_READ_ACCESS | FILE_WRITE_ACCESS); +pub const IOCTL_VOLUME_IS_CLUSTERED: ::DWORD = CTL_CODE!(IOCTL_VOLUME_BASE, 12, METHOD_BUFFERED, + FILE_ANY_ACCESS); +pub const IOCTL_VOLUME_GET_GPT_ATTRIBUTES: ::DWORD = CTL_CODE!(IOCTL_VOLUME_BASE, 14, + METHOD_BUFFERED, FILE_ANY_ACCESS); diff --git a/third_party/rust/winapi-0.2.8/src/winnetwk.rs b/third_party/rust/winapi-0.2.8/src/winnetwk.rs new file mode 100644 index 0000000000..665d283ba8 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winnetwk.rs @@ -0,0 +1,275 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Standard WINNET Header File for WIN32 +pub const WNNC_NET_MSNET: ::DWORD = 0x00010000; +pub const WNNC_NET_SMB: ::DWORD = 0x00020000; +pub const WNNC_NET_NETWARE: ::DWORD = 0x00030000; +pub const WNNC_NET_VINES: ::DWORD = 0x00040000; +pub const WNNC_NET_10NET: ::DWORD = 0x00050000; +pub const WNNC_NET_LOCUS: ::DWORD = 0x00060000; +pub const WNNC_NET_SUN_PC_NFS: ::DWORD = 0x00070000; +pub const WNNC_NET_LANSTEP: ::DWORD = 0x00080000; +pub const WNNC_NET_9TILES: ::DWORD = 0x00090000; +pub const WNNC_NET_LANTASTIC: ::DWORD = 0x000A0000; +pub const WNNC_NET_AS400: ::DWORD = 0x000B0000; +pub const WNNC_NET_FTP_NFS: ::DWORD = 0x000C0000; +pub const WNNC_NET_PATHWORKS: ::DWORD = 0x000D0000; +pub const WNNC_NET_LIFENET: ::DWORD = 0x000E0000; +pub const WNNC_NET_POWERLAN: ::DWORD = 0x000F0000; +pub const WNNC_NET_BWNFS: ::DWORD = 0x00100000; +pub const WNNC_NET_COGENT: ::DWORD = 0x00110000; +pub const WNNC_NET_FARALLON: ::DWORD = 0x00120000; +pub const WNNC_NET_APPLETALK: ::DWORD = 0x00130000; +pub const WNNC_NET_INTERGRAPH: ::DWORD = 0x00140000; +pub const WNNC_NET_SYMFONET: ::DWORD = 0x00150000; +pub const WNNC_NET_CLEARCASE: ::DWORD = 0x00160000; +pub const WNNC_NET_FRONTIER: ::DWORD = 0x00170000; +pub const WNNC_NET_BMC: ::DWORD = 0x00180000; +pub const WNNC_NET_DCE: ::DWORD = 0x00190000; +pub const WNNC_NET_AVID: ::DWORD = 0x001A0000; +pub const WNNC_NET_DOCUSPACE: ::DWORD = 0x001B0000; +pub const WNNC_NET_MANGOSOFT: ::DWORD = 0x001C0000; +pub const WNNC_NET_SERNET: ::DWORD = 0x001D0000; +pub const WNNC_NET_RIVERFRONT1: ::DWORD = 0x001E0000; +pub const WNNC_NET_RIVERFRONT2: ::DWORD = 0x001F0000; +pub const WNNC_NET_DECORB: ::DWORD = 0x00200000; +pub const WNNC_NET_PROTSTOR: ::DWORD = 0x00210000; +pub const WNNC_NET_FJ_REDIR: ::DWORD = 0x00220000; +pub const WNNC_NET_DISTINCT: ::DWORD = 0x00230000; +pub const WNNC_NET_TWINS: ::DWORD = 0x00240000; +pub const WNNC_NET_RDR2SAMPLE: ::DWORD = 0x00250000; +pub const WNNC_NET_CSC: ::DWORD = 0x00260000; +pub const WNNC_NET_3IN1: ::DWORD = 0x00270000; +pub const WNNC_NET_EXTENDNET: ::DWORD = 0x00290000; +pub const WNNC_NET_STAC: ::DWORD = 0x002A0000; +pub const WNNC_NET_FOXBAT: ::DWORD = 0x002B0000; +pub const WNNC_NET_YAHOO: ::DWORD = 0x002C0000; +pub const WNNC_NET_EXIFS: ::DWORD = 0x002D0000; +pub const WNNC_NET_DAV: ::DWORD = 0x002E0000; +pub const WNNC_NET_KNOWARE: ::DWORD = 0x002F0000; +pub const WNNC_NET_OBJECT_DIRE: ::DWORD = 0x00300000; +pub const WNNC_NET_MASFAX: ::DWORD = 0x00310000; +pub const WNNC_NET_HOB_NFS: ::DWORD = 0x00320000; +pub const WNNC_NET_SHIVA: ::DWORD = 0x00330000; +pub const WNNC_NET_IBMAL: ::DWORD = 0x00340000; +pub const WNNC_NET_LOCK: ::DWORD = 0x00350000; +pub const WNNC_NET_TERMSRV: ::DWORD = 0x00360000; +pub const WNNC_NET_SRT: ::DWORD = 0x00370000; +pub const WNNC_NET_QUINCY: ::DWORD = 0x00380000; +pub const WNNC_NET_OPENAFS: ::DWORD = 0x00390000; +pub const WNNC_NET_AVID1: ::DWORD = 0x003A0000; +pub const WNNC_NET_DFS: ::DWORD = 0x003B0000; +pub const WNNC_NET_KWNP: ::DWORD = 0x003C0000; +pub const WNNC_NET_ZENWORKS: ::DWORD = 0x003D0000; +pub const WNNC_NET_DRIVEONWEB: ::DWORD = 0x003E0000; +pub const WNNC_NET_VMWARE: ::DWORD = 0x003F0000; +pub const WNNC_NET_RSFX: ::DWORD = 0x00400000; +pub const WNNC_NET_MFILES: ::DWORD = 0x00410000; +pub const WNNC_NET_MS_NFS: ::DWORD = 0x00420000; +pub const WNNC_NET_GOOGLE: ::DWORD = 0x00430000; +pub const WNNC_NET_NDFS: ::DWORD = 0x00440000; +pub const WNNC_NET_DOCUSHARE: ::DWORD = 0x00450000; +pub const WNNC_CRED_MANAGER: ::DWORD = 0xFFFF0000; +pub const WNNC_NET_LANMAN: ::DWORD = WNNC_NET_SMB; +pub const RESOURCE_CONNECTED: ::DWORD = 0x00000001; +pub const RESOURCE_GLOBALNET: ::DWORD = 0x00000002; +pub const RESOURCE_REMEMBERED: ::DWORD = 0x00000003; +pub const RESOURCE_RECENT: ::DWORD = 0x00000004; +pub const RESOURCE_CONTEXT: ::DWORD = 0x00000005; +pub const RESOURCETYPE_ANY: ::DWORD = 0x00000000; +pub const RESOURCETYPE_DISK: ::DWORD = 0x00000001; +pub const RESOURCETYPE_PRINT: ::DWORD = 0x00000002; +pub const RESOURCETYPE_RESERVED: ::DWORD = 0x00000008; +pub const RESOURCETYPE_UNKNOWN: ::DWORD = 0xFFFFFFFF; +pub const RESOURCEUSAGE_CONNECTABLE: ::DWORD = 0x00000001; +pub const RESOURCEUSAGE_CONTAINER: ::DWORD = 0x00000002; +pub const RESOURCEUSAGE_NOLOCALDEVICE: ::DWORD = 0x00000004; +pub const RESOURCEUSAGE_SIBLING: ::DWORD = 0x00000008; +pub const RESOURCEUSAGE_ATTACHED: ::DWORD = 0x00000010; +pub const RESOURCEUSAGE_ALL: ::DWORD = RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER + | RESOURCEUSAGE_ATTACHED; +pub const RESOURCEUSAGE_RESERVED: ::DWORD = 0x80000000; +pub const RESOURCEDISPLAYTYPE_GENERIC: ::DWORD = 0x00000000; +pub const RESOURCEDISPLAYTYPE_DOMAIN: ::DWORD = 0x00000001; +pub const RESOURCEDISPLAYTYPE_SERVER: ::DWORD = 0x00000002; +pub const RESOURCEDISPLAYTYPE_SHARE: ::DWORD = 0x00000003; +pub const RESOURCEDISPLAYTYPE_FILE: ::DWORD = 0x00000004; +pub const RESOURCEDISPLAYTYPE_GROUP: ::DWORD = 0x00000005; +pub const RESOURCEDISPLAYTYPE_NETWORK: ::DWORD = 0x00000006; +pub const RESOURCEDISPLAYTYPE_ROOT: ::DWORD = 0x00000007; +pub const RESOURCEDISPLAYTYPE_SHAREADMIN: ::DWORD = 0x00000008; +pub const RESOURCEDISPLAYTYPE_DIRECTORY: ::DWORD = 0x00000009; +pub const RESOURCEDISPLAYTYPE_TREE: ::DWORD = 0x0000000A; +pub const RESOURCEDISPLAYTYPE_NDSCONTAINER: ::DWORD = 0x0000000B; +STRUCT!{struct NETRESOURCEA { + dwScope: ::DWORD, + dwType: ::DWORD, + dwDisplayType: ::DWORD, + dwUsage: ::DWORD, + lpLocalName: ::LPSTR, + lpRemoteName: ::LPSTR, + lpComment: ::LPSTR, + lpProvider: ::LPSTR, +}} +pub type LPNETRESOURCEA = *mut NETRESOURCEA; +STRUCT!{struct NETRESOURCEW { + dwScope: ::DWORD, + dwType: ::DWORD, + dwDisplayType: ::DWORD, + dwUsage: ::DWORD, + lpLocalName: ::LPWSTR, + lpRemoteName: ::LPWSTR, + lpComment: ::LPWSTR, + lpProvider: ::LPWSTR, +}} +pub type LPNETRESOURCEW = *mut NETRESOURCEW; +pub const NETPROPERTY_PERSISTENT: ::DWORD = 1; +pub const CONNECT_UPDATE_PROFILE: ::DWORD = 0x00000001; +pub const CONNECT_UPDATE_RECENT: ::DWORD = 0x00000002; +pub const CONNECT_TEMPORARY: ::DWORD = 0x00000004; +pub const CONNECT_INTERACTIVE: ::DWORD = 0x00000008; +pub const CONNECT_PROMPT: ::DWORD = 0x00000010; +pub const CONNECT_NEED_DRIVE: ::DWORD = 0x00000020; +pub const CONNECT_REFCOUNT: ::DWORD = 0x00000040; +pub const CONNECT_REDIRECT: ::DWORD = 0x00000080; +pub const CONNECT_LOCALDRIVE: ::DWORD = 0x00000100; +pub const CONNECT_CURRENT_MEDIA: ::DWORD = 0x00000200; +pub const CONNECT_DEFERRED: ::DWORD = 0x00000400; +pub const CONNECT_RESERVED: ::DWORD = 0xFF000000; +pub const CONNECT_COMMANDLINE: ::DWORD = 0x00000800; +pub const CONNECT_CMD_SAVECRED: ::DWORD = 0x00001000; +pub const CONNECT_CRED_RESET: ::DWORD = 0x00002000; +STRUCT!{struct CONNECTDLGSTRUCTA { + cbStructure: ::DWORD, + hwndOwner: ::HWND, + lpConnRes: ::LPNETRESOURCEA, + dwFlags: ::DWORD, + dwDevNum: ::DWORD, +}} +pub type LPCONNECTDLGSTRUCTA = *mut CONNECTDLGSTRUCTA; +STRUCT!{struct CONNECTDLGSTRUCTW { + cbStructure: ::DWORD, + hwndOwner: ::HWND, + lpConnRes: ::LPNETRESOURCEW, + dwFlags: ::DWORD, + dwDevNum: ::DWORD, +}} +pub type LPCONNECTDLGSTRUCTW = *mut CONNECTDLGSTRUCTW; +pub const CONNDLG_RO_PATH: ::DWORD = 0x00000001; +pub const CONNDLG_CONN_POINT: ::DWORD = 0x00000002; +pub const CONNDLG_USE_MRU: ::DWORD = 0x00000004; +pub const CONNDLG_HIDE_BOX: ::DWORD = 0x00000008; +pub const CONNDLG_PERSIST: ::DWORD = 0x00000010; +pub const CONNDLG_NOT_PERSIST: ::DWORD = 0x00000020; +STRUCT!{struct DISCDLGSTRUCTA { + cbStructure: ::DWORD, + hwndOwner: ::HWND, + lpLocalName: ::LPSTR, + lpRemoteName: ::LPSTR, + dwFlags: ::DWORD, +}} +pub type LPDISCDLGSTRUCTA = *mut DISCDLGSTRUCTA; +STRUCT!{struct DISCDLGSTRUCTW { + cbStructure: ::DWORD, + hwndOwner: ::HWND, + lpLocalName: ::LPWSTR, + lpRemoteName: ::LPWSTR, + dwFlags: ::DWORD, +}} +pub type LPDISCDLGSTRUCTW = *mut DISCDLGSTRUCTW; +pub const DISC_UPDATE_PROFILE: ::DWORD = 0x00000001; +pub const DISC_NO_FORCE: ::DWORD = 0x00000040; +pub const UNIVERSAL_NAME_INFO_LEVEL: ::DWORD = 0x00000001; +pub const REMOTE_NAME_INFO_LEVEL: ::DWORD = 0x00000002; +STRUCT!{struct UNIVERSAL_NAME_INFOA { + lpUniversalName: ::LPSTR, +}} +pub type LPUNIVERSAL_NAME_INFOA = *mut UNIVERSAL_NAME_INFOA; +STRUCT!{struct UNIVERSAL_NAME_INFOW { + lpUniversalName: ::LPWSTR, +}} +pub type LPUNIVERSAL_NAME_INFOW = *mut UNIVERSAL_NAME_INFOW; +STRUCT!{struct REMOTE_NAME_INFOA { + lpUniversalName: ::LPSTR, + lpConnectionName: ::LPSTR, + lpRemainingPath: ::LPSTR, +}} +pub type LPREMOTE_NAME_INFOA = *mut REMOTE_NAME_INFOA; +STRUCT!{struct REMOTE_NAME_INFOW { + lpUniversalName: ::LPWSTR, + lpConnectionName: ::LPWSTR, + lpRemainingPath: ::LPWSTR, +}} +pub type LPREMOTE_NAME_INFOW = *mut REMOTE_NAME_INFOW; +pub const WNFMT_MULTILINE: ::DWORD = 0x01; +pub const WNFMT_ABBREVIATED: ::DWORD = 0x02; +pub const WNFMT_INENUM: ::DWORD = 0x10; +pub const WNFMT_CONNECTION: ::DWORD = 0x20; +STRUCT!{struct NETINFOSTRUCT { + cbStructure: ::DWORD, + dwProviderVersion: ::DWORD, + dwStatus: ::DWORD, + dwCharacteristics: ::DWORD, + dwHandle: ::ULONG_PTR, + wNetType: ::WORD, + dwPrinters: ::DWORD, + dwDrives: ::DWORD, +}} +pub type LPNETINFOSTRUCT = *mut NETINFOSTRUCT; +pub const NETINFO_DLL16: ::DWORD = 0x00000001; +pub const NETINFO_DISKRED: ::DWORD = 0x00000004; +pub const NETINFO_PRINTERRED: ::DWORD = 0x00000008; +pub const WN_SUCCESS: ::DWORD = ::NO_ERROR; +pub const WN_NO_ERROR: ::DWORD = ::NO_ERROR; +pub const WN_NOT_SUPPORTED: ::DWORD = ::ERROR_NOT_SUPPORTED; +pub const WN_CANCEL: ::DWORD = ::ERROR_CANCELLED; +pub const WN_RETRY: ::DWORD = ::ERROR_RETRY; +pub const WN_NET_ERROR: ::DWORD = ::ERROR_UNEXP_NET_ERR; +pub const WN_MORE_DATA: ::DWORD = ::ERROR_MORE_DATA; +pub const WN_BAD_POINTER: ::DWORD = ::ERROR_INVALID_ADDRESS; +pub const WN_BAD_VALUE: ::DWORD = ::ERROR_INVALID_PARAMETER; +pub const WN_BAD_USER: ::DWORD = ::ERROR_BAD_USERNAME; +pub const WN_BAD_PASSWORD: ::DWORD = ::ERROR_INVALID_PASSWORD; +pub const WN_ACCESS_DENIED: ::DWORD = ::ERROR_ACCESS_DENIED; +pub const WN_FUNCTION_BUSY: ::DWORD = ::ERROR_BUSY; +pub const WN_WINDOWS_ERROR: ::DWORD = ::ERROR_UNEXP_NET_ERR; +pub const WN_OUT_OF_MEMORY: ::DWORD = ::ERROR_NOT_ENOUGH_MEMORY; +pub const WN_NO_NETWORK: ::DWORD = ::ERROR_NO_NETWORK; +pub const WN_EXTENDED_ERROR: ::DWORD = ::ERROR_EXTENDED_ERROR; +pub const WN_BAD_LEVEL: ::DWORD = ::ERROR_INVALID_LEVEL; +pub const WN_BAD_HANDLE: ::DWORD = ::ERROR_INVALID_HANDLE; +pub const WN_NOT_INITIALIZING: ::DWORD = ::ERROR_ALREADY_INITIALIZED; +pub const WN_NO_MORE_DEVICES: ::DWORD = ::ERROR_NO_MORE_DEVICES; +pub const WN_NOT_CONNECTED: ::DWORD = ::ERROR_NOT_CONNECTED; +pub const WN_OPEN_FILES: ::DWORD = ::ERROR_OPEN_FILES; +pub const WN_DEVICE_IN_USE: ::DWORD = ::ERROR_DEVICE_IN_USE; +pub const WN_BAD_NETNAME: ::DWORD = ::ERROR_BAD_NET_NAME; +pub const WN_BAD_LOCALNAME: ::DWORD = ::ERROR_BAD_DEVICE; +pub const WN_ALREADY_CONNECTED: ::DWORD = ::ERROR_ALREADY_ASSIGNED; +pub const WN_DEVICE_ERROR: ::DWORD = ::ERROR_GEN_FAILURE; +pub const WN_CONNECTION_CLOSED: ::DWORD = ::ERROR_CONNECTION_UNAVAIL; +pub const WN_NO_NET_OR_BAD_PATH: ::DWORD = ::ERROR_NO_NET_OR_BAD_PATH; +pub const WN_BAD_PROVIDER: ::DWORD = ::ERROR_BAD_PROVIDER; +pub const WN_CANNOT_OPEN_PROFILE: ::DWORD = ::ERROR_CANNOT_OPEN_PROFILE; +pub const WN_BAD_PROFILE: ::DWORD = ::ERROR_BAD_PROFILE; +pub const WN_BAD_DEV_TYPE: ::DWORD = ::ERROR_BAD_DEV_TYPE; +pub const WN_DEVICE_ALREADY_REMEMBERED: ::DWORD = ::ERROR_DEVICE_ALREADY_REMEMBERED; +pub const WN_CONNECTED_OTHER_PASSWORD: ::DWORD = ::ERROR_CONNECTED_OTHER_PASSWORD; +pub const WN_CONNECTED_OTHER_PASSWORD_DEFAULT: ::DWORD = ::ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT; +pub const WN_NO_MORE_ENTRIES: ::DWORD = ::ERROR_NO_MORE_ITEMS; +pub const WN_NOT_CONTAINER: ::DWORD = ::ERROR_NOT_CONTAINER; +pub const WN_NOT_AUTHENTICATED: ::DWORD = ::ERROR_NOT_AUTHENTICATED; +pub const WN_NOT_LOGGED_ON: ::DWORD = ::ERROR_NOT_LOGGED_ON; +pub const WN_NOT_VALIDATED: ::DWORD = ::ERROR_NO_LOGON_SERVERS; +STRUCT!{struct NETCONNECTINFOSTRUCT { + cbStructure: ::DWORD, + dwFlags: ::DWORD, + dwSpeed: ::DWORD, + dwDelay: ::DWORD, + dwOptDataSize: ::DWORD, +}} +pub type LPNETCONNECTINFOSTRUCT = *mut NETCONNECTINFOSTRUCT; +pub const WNCON_FORNETCARD: ::DWORD = 0x00000001; +pub const WNCON_NOTROUTED: ::DWORD = 0x00000002; +pub const WNCON_SLOWLINK: ::DWORD = 0x00000004; +pub const WNCON_DYNAMIC: ::DWORD = 0x00000008; diff --git a/third_party/rust/winapi-0.2.8/src/winnls.rs b/third_party/rust/winapi-0.2.8/src/winnls.rs new file mode 100644 index 0000000000..b27e2f0ae8 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winnls.rs @@ -0,0 +1,164 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Procedure declarations, constant definitions, and macros for the NLS component. +pub const CP_ACP: ::DWORD = 0; +pub const CP_OEMCP: ::DWORD = 1; +pub const CP_MACCP: ::DWORD = 2; +pub const CP_THREAD_ACP: ::DWORD = 3; +pub const CP_SYMBOL: ::DWORD = 42; +pub const CP_UTF7: ::DWORD = 65000; +pub const CP_UTF8: ::DWORD = 65001; +pub const MAX_LEADBYTES: usize = 12; +pub const MAX_DEFAULTCHAR: usize = 2; +pub type LGRPID = ::DWORD; +pub type LCTYPE = ::DWORD; +pub type CALTYPE = ::DWORD; +pub type CALID = ::DWORD; +pub type GEOID = ::LONG; +pub type GEOTYPE = ::DWORD; +pub type GEOCLASS = ::DWORD; +STRUCT!{struct NLSVERSIONINFO { + dwNLSVersionInfoSize: ::DWORD, + dwNLSVersion: ::DWORD, + dwDefinedVersion: ::DWORD, + dwEffectiveId: ::DWORD, + guidCustomVersion: ::GUID, +}} +pub type LPNLSVERSIONINFO = *mut NLSVERSIONINFO; +STRUCT!{struct NLSVERSIONINFOEX { + dwNLSVersionInfoSize: ::DWORD, + dwNLSVersion: ::DWORD, + dwDefinedVersion: ::DWORD, + dwEffectiveId: ::DWORD, + guidCustomVersion: ::GUID, +}} +pub type LPNLSVERSIONINFOEX = *mut NLSVERSIONINFOEX; +ENUM!{enum NORM_FORM { + NormalizationOther = 0, + NormalizationC = 0x1, + NormalizationD = 0x2, + NormalizationKC = 0x5, + NormalizationKD = 0x6, +}} +pub type LANGUAGEGROUP_ENUMPROCA = Option<unsafe extern "system" fn( + ::LGRPID, ::LPSTR, ::LPSTR, ::DWORD, ::LONG_PTR, +) -> ::BOOL>; +pub type LANGGROUPLOCALE_ENUMPROCA = Option<unsafe extern "system" fn( + ::LGRPID, ::LCID, ::LPSTR, ::LONG_PTR, +) -> ::BOOL>; +pub type UILANGUAGE_ENUMPROCA = Option<unsafe extern "system" fn(::LPSTR, ::LONG_PTR) -> ::BOOL>; +pub type CODEPAGE_ENUMPROCA = Option<unsafe extern "system" fn(::LPSTR) -> ::BOOL>; +pub type DATEFMT_ENUMPROCA = Option<unsafe extern "system" fn(::LPSTR) -> ::BOOL>; +pub type DATEFMT_ENUMPROCEXA = Option<unsafe extern "system" fn(::LPSTR, ::CALID) -> ::BOOL>; +pub type TIMEFMT_ENUMPROCA = Option<unsafe extern "system" fn(::LPSTR) -> ::BOOL>; +pub type CALINFO_ENUMPROCA = Option<unsafe extern "system" fn(::LPSTR) -> ::BOOL>; +pub type CALINFO_ENUMPROCEXA = Option<unsafe extern "system" fn(::LPSTR, ::CALID) -> ::BOOL>; +pub type LOCALE_ENUMPROCA = Option<unsafe extern "system" fn(::LPSTR) -> ::BOOL>; +pub type LOCALE_ENUMPROCW = Option<unsafe extern "system" fn(::LPWSTR) -> ::BOOL>; +pub type LANGUAGEGROUP_ENUMPROCW = Option<unsafe extern "system" fn( + ::LGRPID, ::LPWSTR, ::LPWSTR, ::DWORD, ::LONG_PTR, +) -> ::BOOL>; +pub type LANGGROUPLOCALE_ENUMPROCW = Option<unsafe extern "system" fn( + ::LGRPID, ::LCID, ::LPWSTR, ::LONG_PTR, +) -> ::BOOL>; +pub type UILANGUAGE_ENUMPROCW = Option<unsafe extern "system" fn(::LPWSTR, ::LONG_PTR) -> ::BOOL>; +pub type CODEPAGE_ENUMPROCW = Option<unsafe extern "system" fn(::LPWSTR) -> ::BOOL>; +pub type DATEFMT_ENUMPROCW = Option<unsafe extern "system" fn(::LPWSTR) -> ::BOOL>; +pub type DATEFMT_ENUMPROCEXW = Option<unsafe extern "system" fn(::LPWSTR, ::CALID) -> ::BOOL>; +pub type TIMEFMT_ENUMPROCW = Option<unsafe extern "system" fn(::LPWSTR) -> ::BOOL>; +pub type CALINFO_ENUMPROCW = Option<unsafe extern "system" fn(::LPWSTR) -> ::BOOL>; +pub type CALINFO_ENUMPROCEXW = Option<unsafe extern "system" fn(::LPWSTR, ::CALID) -> ::BOOL>; +pub type GEO_ENUMPROC = Option<unsafe extern "system" fn(GEOID) -> ::BOOL>; +STRUCT!{struct CPINFO { + MaxCharSize: ::UINT, + DefaultChar: [::BYTE; MAX_DEFAULTCHAR], + LeadByte: [::BYTE; MAX_LEADBYTES], +}} +pub type LPCPINFO = *mut CPINFO; +STRUCT!{nodebug struct CPINFOEXA { + MaxCharSize: ::UINT, + DefaultChar: [::BYTE; MAX_DEFAULTCHAR], + LeadByte: [::BYTE; MAX_LEADBYTES], + UnicodeDefaultChar: ::WCHAR, + CodePage: ::UINT, + CodePageName: [::CHAR; ::MAX_PATH], +}} +pub type LPCPINFOEXA = *mut CPINFOEXA; +STRUCT!{nodebug struct CPINFOEXW { + MaxCharSize: ::UINT, + DefaultChar: [::BYTE; MAX_DEFAULTCHAR], + LeadByte: [::BYTE; MAX_LEADBYTES], + UnicodeDefaultChar: ::WCHAR, + CodePage: ::UINT, + CodePageName: [::WCHAR; ::MAX_PATH], +}} +pub type LPCPINFOEXW = *mut CPINFOEXW; +STRUCT!{struct NUMBERFMTA { + NumDigits: ::UINT, + LeadingZero: ::UINT, + Grouping: ::UINT, + lpDecimalSep: ::LPSTR, + lpThousandSep: ::LPSTR, + NegativeOrder: ::UINT, +}} +pub type LPNUMBERFMTA = *mut NUMBERFMTA; +STRUCT!{struct NUMBERFMTW { + NumDigits: ::UINT, + LeadingZero: ::UINT, + Grouping: ::UINT, + lpDecimalSep: ::LPWSTR, + lpThousandSep: ::LPWSTR, + NegativeOrder: ::UINT, +}} +pub type LPNUMBERFMTW = *mut NUMBERFMTW; +STRUCT!{struct CURRENCYFMTA { + NumDigits: ::UINT, + LeadingZero: ::UINT, + Grouping: ::UINT, + lpDecimalSep: ::LPSTR, + lpThousandSep: ::LPSTR, + NegativeOrder: ::UINT, + PositiveOrder: ::UINT, + lpCurrencySymbol: ::LPSTR, +}} +pub type LPCURRENCYFMTA = *mut CURRENCYFMTA; +STRUCT!{struct CURRENCYFMTW { + NumDigits: ::UINT, + LeadingZero: ::UINT, + Grouping: ::UINT, + lpDecimalSep: ::LPWSTR, + lpThousandSep: ::LPWSTR, + NegativeOrder: ::UINT, + PositiveOrder: ::UINT, + lpCurrencySymbol: ::LPWSTR, +}} +pub type LPCURRENCYFMTW = *mut CURRENCYFMTW; +pub type NLS_FUNCTION = ::DWORD; +STRUCT!{struct FILEMUIINFO { + dwSize: ::DWORD, + dwVersion: ::DWORD, + dwFileType: ::DWORD, + pChecksum: [::BYTE; 16], + pServiceChecksum: [::BYTE; 16], + dwLanguageNameOffset: ::DWORD, + dwTypeIDMainSize: ::DWORD, + dwTypeIDMainOffset: ::DWORD, + dwTypeNameMainOffset: ::DWORD, + dwTypeIDMUISize: ::DWORD, + dwTypeIDMUIOffset: ::DWORD, + dwTypeNameMUIOffset: ::DWORD, + abBuffer: [::BYTE; 8], +}} +pub type PFILEMUIINFO = *mut FILEMUIINFO; +pub type CALINFO_ENUMPROCEXEX = Option<unsafe extern "system" fn( + ::LPWSTR, ::CALID, ::LPWSTR, ::LPARAM, +) -> ::BOOL>; +pub type DATEFMT_ENUMPROCEXEX = Option<unsafe extern "system" fn( + ::LPWSTR, ::CALID, ::LPARAM, +) -> ::BOOL>; +pub type TIMEFMT_ENUMPROCEX = Option<unsafe extern "system" fn( + ::LPWSTR, ::LPARAM, +) -> ::BOOL>; +pub type LOCALE_ENUMPROCEX = Option<unsafe extern "system" fn( + ::LPWSTR, ::DWORD, ::LPARAM, +) -> ::BOOL>; diff --git a/third_party/rust/winapi-0.2.8/src/winnt.rs b/third_party/rust/winapi-0.2.8/src/winnt.rs new file mode 100644 index 0000000000..cce242e9b7 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winnt.rs @@ -0,0 +1,2368 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! This module defines the 32-Bit Windows types and constants that are defined by NT, but exposed +//! through the Win32 API. +pub const ANYSIZE_ARRAY: usize = 1; +//341 +pub type PVOID = *mut ::c_void; +pub type PVOID64 = u64; // This is a 64-bit pointer, even when in 32-bit +//382 +pub type VOID = ::c_void; +pub type CHAR = ::c_char; +pub type SHORT = ::c_short; +pub type LONG = ::c_long; +// pub type INT = ::c_int; // Already defined by minwindef.h +pub type WCHAR = ::wchar_t; +pub type PWCHAR = *mut WCHAR; +pub type LPWCH = *mut WCHAR; +pub type PWCH = *mut WCHAR; +pub type LPCWCH = *const WCHAR; +pub type PCWCH = *const WCHAR; +pub type NWPSTR = *mut WCHAR; +pub type LPWSTR = *mut WCHAR; +pub type PWSTR = *mut WCHAR; +pub type PZPWSTR = *mut PWSTR; +pub type PCZPWSTR = *const PWSTR; +pub type LPUWSTR = *mut WCHAR; +pub type PUWSTR = *mut WCHAR; +pub type LPCWSTR = *const WCHAR; +pub type PCWSTR = *const WCHAR; +pub type PZPCWSTR= *mut PCWSTR; +pub type PCZPCWSTR = *const PCWSTR; +pub type LPCUWSTR = *const WCHAR; +pub type PCUWSTR = *const WCHAR; +pub type PZZWSTR= *mut WCHAR; +pub type PCZZWSTR = *const WCHAR; +pub type PUZZWSTR = *mut WCHAR; +pub type PCUZZWSTR = *const WCHAR; +pub type PNZWCH = *mut WCHAR; +pub type PCNZWCH = *const WCHAR; +pub type PUNZWCH = *mut WCHAR; +pub type PCUNZWCH = *const WCHAR; +pub type LPCWCHAR = *const WCHAR; +pub type PCWCHAR = *const WCHAR; +pub type LPCUWCHAR = *const WCHAR; +pub type PCUWCHAR = *const WCHAR; +pub type UCSCHAR = ::c_ulong; +pub type PUCSCHAR = *mut UCSCHAR; +pub type PCUCSCHAR = *const UCSCHAR; +pub type PUCSSTR = *mut UCSCHAR; +pub type PUUCSSTR = *mut UCSCHAR; +pub type PCUCSSTR = *const UCSCHAR; +pub type PCUUCSSTR = *const UCSCHAR; +pub type PUUCSCHAR = *mut UCSCHAR; +pub type PCUUCSCHAR = *const UCSCHAR; +pub type PCHAR = *mut CHAR; +pub type LPCH = *mut CHAR; +pub type PCH = *mut CHAR; +pub type LPCCH = *const CHAR; +pub type PCCH = *const CHAR; +pub type NPSTR = *mut CHAR; +pub type LPSTR = *mut CHAR; +pub type PSTR = *mut CHAR; +pub type PZPSTR = *mut PSTR; +pub type PCZPSTR = *const PSTR; +pub type LPCSTR = *const CHAR; +pub type PCSTR = *const CHAR; +pub type PZPCSTR = *mut PCSTR; +pub type PCZPCSTR = *const PCSTR; +pub type PZZSTR = *mut CHAR; +pub type PCZZSTR = *const CHAR; +pub type PNZCH = *mut CHAR; +pub type PCNZCH = *const CHAR; +// Skipping TCHAR things +pub type PSHORT = *mut SHORT; +pub type PLONG = *mut LONG; +STRUCT!{struct PROCESSOR_NUMBER { + Group: ::WORD, + Number: ::BYTE, + Reserved: ::BYTE, +}} +pub type PPROCESSOR_NUMBER = *mut PROCESSOR_NUMBER; +STRUCT!{struct GROUP_AFFINITY { + Mask: ::KAFFINITY, + Group: ::WORD, + Reserved: [::WORD; 3], +}} +pub type PGROUP_AFFINITY = *mut GROUP_AFFINITY; +pub type HANDLE = *mut ::c_void; +pub type PHANDLE = *mut HANDLE; +pub type FCHAR = ::BYTE; +pub type FSHORT = ::WORD; +pub type FLONG = ::DWORD; +//667 +pub type CCHAR = ::c_char; +pub type LCID = ::DWORD; +pub type PLCID = ::PDWORD; +pub type LANGID = ::WORD; +ENUM!{enum COMPARTMENT_ID { + UNSPECIFIED_COMPARTMENT_ID = 0, + DEFAULT_COMPARTMENT_ID = 1, +}} +pub type PCOMPARTMENT_ID = *mut COMPARTMENT_ID; +pub const APPLICATION_ERROR_MASK: ::DWORD = 0x20000000; +pub const ERROR_SEVERITY_SUCCESS: ::DWORD = 0x00000000; +pub const ERROR_SEVERITY_INFORMATIONAL: ::DWORD = 0x40000000; +pub const ERROR_SEVERITY_WARNING: ::DWORD = 0x80000000; +pub const ERROR_SEVERITY_ERROR: ::DWORD = 0xC0000000; +//710 +STRUCT!{struct FLOAT128 { + LowPart: ::__int64, + HighPart: ::__int64, +}} +pub type PFLOAT128 = *mut FLOAT128; +pub type LONGLONG = ::__int64; +pub type ULONGLONG = ::__uint64; +pub type PLONGLONG = *mut LONGLONG; +pub type PULONGLONG = *mut ULONGLONG; +pub type USN = LONGLONG; +pub type LARGE_INTEGER = LONGLONG; +pub type PLARGE_INTEGER = *mut LARGE_INTEGER; +pub type ULARGE_INTEGER = ULONGLONG; +pub type PULARGE_INTEGER= *mut ULARGE_INTEGER; +pub type RTL_REFERENCE_COUNT = ::LONG_PTR; +pub type PRTL_REFERENCE_COUNT = *mut ::LONG_PTR; +STRUCT!{struct LUID { + LowPart: ::DWORD, + HighPart: LONG, +}} +pub type PLUID = *mut LUID; +pub type DWORDLONG = ULONGLONG; +pub type PDWORDLONG = *mut DWORDLONG; +//1042 +pub type BOOLEAN = ::BYTE; +pub type PBOOLEAN = *mut BOOLEAN; +STRUCT!{struct LIST_ENTRY { + Flink: *mut LIST_ENTRY, + Blink: *mut LIST_ENTRY, +}} +pub type PLIST_ENTRY = *mut LIST_ENTRY; +STRUCT!{struct SINGLE_LIST_ENTRY { + Next: *mut SINGLE_LIST_ENTRY, +}} +pub type PSINGLE_LIST_ENTRY = *mut SINGLE_LIST_ENTRY; +STRUCT!{struct LIST_ENTRY32 { + Flink: ::DWORD, + Blink: ::DWORD, +}} +pub type PLIST_ENTRY32 = *mut LIST_ENTRY32; +STRUCT!{struct LIST_ENTRY64 { + Flink: ULONGLONG, + Blink: ULONGLONG, +}} +pub type PLIST_ENTRY64 = *mut LIST_ENTRY64; +STRUCT!{struct OBJECTID { + Lineage: ::GUID, + Uniquifier: ::DWORD, +}} +pub const MINCHAR: ::CHAR = 0x80u8 as ::CHAR; +pub const MAXCHAR: ::CHAR = 0x7f; +pub const MINSHORT: ::SHORT = 0x8000u16 as ::SHORT; +pub const MAXSHORT: ::SHORT = 0x7fff; +pub const MINLONG: ::LONG = 0x80000000u32 as ::LONG; +pub const MAXLONG: ::LONG = 0x7fffffff; +pub const MAXBYTE: ::BYTE = 0xff; +pub const MAXWORD: ::WORD = 0xffff; +pub const MAXDWORD: ::DWORD = 0xffffffff; +//1300 +pub type PEXCEPTION_ROUTINE = Option<unsafe extern "system" fn( + ExceptionRecord: *mut EXCEPTION_RECORD, EstablisherFrame: PVOID, ContextRecord: *mut CONTEXT, + DispatcherContext: PVOID, +) -> ::EXCEPTION_DISPOSITION>; +//1498 +pub const LANG_NEUTRAL: ::WORD = 0x00; +pub const LANG_INVARIANT: ::WORD = 0x7f; +pub const LANG_AFRIKAANS: ::WORD = 0x36; +pub const LANG_ALBANIAN: ::WORD = 0x1c; +pub const LANG_ALSATIAN: ::WORD = 0x84; +pub const LANG_AMHARIC: ::WORD = 0x5e; +pub const LANG_ARABIC: ::WORD = 0x01; +pub const LANG_ARMENIAN: ::WORD = 0x2b; +pub const LANG_ASSAMESE: ::WORD = 0x4d; +pub const LANG_AZERI: ::WORD = 0x2c; +pub const LANG_AZERBAIJANI: ::WORD = 0x2c; +pub const LANG_BANGLA: ::WORD = 0x45; +pub const LANG_BASHKIR: ::WORD = 0x6d; +pub const LANG_BASQUE: ::WORD = 0x2d; +pub const LANG_BELARUSIAN: ::WORD = 0x23; +pub const LANG_BENGALI: ::WORD = 0x45; +pub const LANG_BRETON: ::WORD = 0x7e; +pub const LANG_BOSNIAN: ::WORD = 0x1a; +pub const LANG_BOSNIAN_NEUTRAL: ::WORD = 0x781a; +pub const LANG_BULGARIAN: ::WORD = 0x02; +pub const LANG_CATALAN: ::WORD = 0x03; +pub const LANG_CENTRAL_KURDISH: ::WORD = 0x92; +pub const LANG_CHEROKEE: ::WORD = 0x5c; +pub const LANG_CHINESE: ::WORD = 0x04; +pub const LANG_CHINESE_SIMPLIFIED: ::WORD = 0x04; +pub const LANG_CHINESE_TRADITIONAL: ::WORD = 0x7c04; +pub const LANG_CORSICAN: ::WORD = 0x83; +pub const LANG_CROATIAN: ::WORD = 0x1a; +pub const LANG_CZECH: ::WORD = 0x05; +pub const LANG_DANISH: ::WORD = 0x06; +pub const LANG_DARI: ::WORD = 0x8c; +pub const LANG_DIVEHI: ::WORD = 0x65; +pub const LANG_DUTCH: ::WORD = 0x13; +pub const LANG_ENGLISH: ::WORD = 0x09; +pub const LANG_ESTONIAN: ::WORD = 0x25; +pub const LANG_FAEROESE: ::WORD = 0x38; +pub const LANG_FARSI: ::WORD = 0x29; +pub const LANG_FILIPINO: ::WORD = 0x64; +pub const LANG_FINNISH: ::WORD = 0x0b; +pub const LANG_FRENCH: ::WORD = 0x0c; +pub const LANG_FRISIAN: ::WORD = 0x62; +pub const LANG_FULAH: ::WORD = 0x67; +pub const LANG_GALICIAN: ::WORD = 0x56; +pub const LANG_GEORGIAN: ::WORD = 0x37; +pub const LANG_GERMAN: ::WORD = 0x07; +pub const LANG_GREEK: ::WORD = 0x08; +pub const LANG_GREENLANDIC: ::WORD = 0x6f; +pub const LANG_GUJARATI: ::WORD = 0x47; +pub const LANG_HAUSA: ::WORD = 0x68; +pub const LANG_HAWAIIAN: ::WORD = 0x75; +pub const LANG_HEBREW: ::WORD = 0x0d; +pub const LANG_HINDI: ::WORD = 0x39; +pub const LANG_HUNGARIAN: ::WORD = 0x0e; +pub const LANG_ICELANDIC: ::WORD = 0x0f; +pub const LANG_IGBO: ::WORD = 0x70; +pub const LANG_INDONESIAN: ::WORD = 0x21; +pub const LANG_INUKTITUT: ::WORD = 0x5d; +pub const LANG_IRISH: ::WORD = 0x3c; +pub const LANG_ITALIAN: ::WORD = 0x10; +pub const LANG_JAPANESE: ::WORD = 0x11; +pub const LANG_KANNADA: ::WORD = 0x4b; +pub const LANG_KASHMIRI: ::WORD = 0x60; +pub const LANG_KAZAK: ::WORD = 0x3f; +pub const LANG_KHMER: ::WORD = 0x53; +pub const LANG_KICHE: ::WORD = 0x86; +pub const LANG_KINYARWANDA: ::WORD = 0x87; +pub const LANG_KONKANI: ::WORD = 0x57; +pub const LANG_KOREAN: ::WORD = 0x12; +pub const LANG_KYRGYZ: ::WORD = 0x40; +pub const LANG_LAO: ::WORD = 0x54; +pub const LANG_LATVIAN: ::WORD = 0x26; +pub const LANG_LITHUANIAN: ::WORD = 0x27; +pub const LANG_LOWER_SORBIAN: ::WORD = 0x2e; +pub const LANG_LUXEMBOURGISH: ::WORD = 0x6e; +pub const LANG_MACEDONIAN: ::WORD = 0x2f; +pub const LANG_MALAY: ::WORD = 0x3e; +pub const LANG_MALAYALAM: ::WORD = 0x4c; +pub const LANG_MALTESE: ::WORD = 0x3a; +pub const LANG_MANIPURI: ::WORD = 0x58; +pub const LANG_MAORI: ::WORD = 0x81; +pub const LANG_MAPUDUNGUN: ::WORD = 0x7a; +pub const LANG_MARATHI: ::WORD = 0x4e; +pub const LANG_MOHAWK: ::WORD = 0x7c; +pub const LANG_MONGOLIAN: ::WORD = 0x50; +pub const LANG_NEPALI: ::WORD = 0x61; +pub const LANG_NORWEGIAN: ::WORD = 0x14; +pub const LANG_OCCITAN: ::WORD = 0x82; +pub const LANG_ODIA: ::WORD = 0x48; +pub const LANG_ORIYA: ::WORD = 0x48; +pub const LANG_PASHTO: ::WORD = 0x63; +pub const LANG_PERSIAN: ::WORD = 0x29; +pub const LANG_POLISH: ::WORD = 0x15; +pub const LANG_PORTUGUESE: ::WORD = 0x16; +pub const LANG_PULAR: ::WORD = 0x67; +pub const LANG_PUNJABI: ::WORD = 0x46; +pub const LANG_QUECHUA: ::WORD = 0x6b; +pub const LANG_ROMANIAN: ::WORD = 0x18; +pub const LANG_ROMANSH: ::WORD = 0x17; +pub const LANG_RUSSIAN: ::WORD = 0x19; +pub const LANG_SAKHA: ::WORD = 0x85; +pub const LANG_SAMI: ::WORD = 0x3b; +pub const LANG_SANSKRIT: ::WORD = 0x4f; +pub const LANG_SCOTTISH_GAELIC: ::WORD = 0x91; +pub const LANG_SERBIAN: ::WORD = 0x1a; +pub const LANG_SERBIAN_NEUTRAL: ::WORD = 0x7c1a; +pub const LANG_SINDHI: ::WORD = 0x59; +pub const LANG_SINHALESE: ::WORD = 0x5b; +pub const LANG_SLOVAK: ::WORD = 0x1b; +pub const LANG_SLOVENIAN: ::WORD = 0x24; +pub const LANG_SOTHO: ::WORD = 0x6c; +pub const LANG_SPANISH: ::WORD = 0x0a; +pub const LANG_SWAHILI: ::WORD = 0x41; +pub const LANG_SWEDISH: ::WORD = 0x1d; +pub const LANG_SYRIAC: ::WORD = 0x5a; +pub const LANG_TAJIK: ::WORD = 0x28; +pub const LANG_TAMAZIGHT: ::WORD = 0x5f; +pub const LANG_TAMIL: ::WORD = 0x49; +pub const LANG_TATAR: ::WORD = 0x44; +pub const LANG_TELUGU: ::WORD = 0x4a; +pub const LANG_THAI: ::WORD = 0x1e; +pub const LANG_TIBETAN: ::WORD = 0x51; +pub const LANG_TIGRIGNA: ::WORD = 0x73; +pub const LANG_TIGRINYA: ::WORD = 0x73; +pub const LANG_TSWANA: ::WORD = 0x32; +pub const LANG_TURKISH: ::WORD = 0x1f; +pub const LANG_TURKMEN: ::WORD = 0x42; +pub const LANG_UIGHUR: ::WORD = 0x80; +pub const LANG_UKRAINIAN: ::WORD = 0x22; +pub const LANG_UPPER_SORBIAN: ::WORD = 0x2e; +pub const LANG_URDU: ::WORD = 0x20; +pub const LANG_UZBEK: ::WORD = 0x43; +pub const LANG_VALENCIAN: ::WORD = 0x03; +pub const LANG_VIETNAMESE: ::WORD = 0x2a; +pub const LANG_WELSH: ::WORD = 0x52; +pub const LANG_WOLOF: ::WORD = 0x88; +pub const LANG_XHOSA: ::WORD = 0x34; +pub const LANG_YAKUT: ::WORD = 0x85; +pub const LANG_YI: ::WORD = 0x78; +pub const LANG_YORUBA: ::WORD = 0x6a; +pub const LANG_ZULU: ::WORD = 0x35; +//1651 +pub const SUBLANG_NEUTRAL: ::WORD = 0x00; +pub const SUBLANG_DEFAULT: ::WORD = 0x01; +pub const SUBLANG_SYS_DEFAULT: ::WORD = 0x02; +pub const SUBLANG_CUSTOM_DEFAULT: ::WORD = 0x03; +pub const SUBLANG_CUSTOM_UNSPECIFIED: ::WORD = 0x04; +pub const SUBLANG_UI_CUSTOM_DEFAULT: ::WORD = 0x05; +pub const SUBLANG_AFRIKAANS_SOUTH_AFRICA: ::WORD = 0x01; +pub const SUBLANG_ALBANIAN_ALBANIA: ::WORD = 0x01; +pub const SUBLANG_ALSATIAN_FRANCE: ::WORD = 0x01; +pub const SUBLANG_AMHARIC_ETHIOPIA: ::WORD = 0x01; +pub const SUBLANG_ARABIC_SAUDI_ARABIA: ::WORD = 0x01; +pub const SUBLANG_ARABIC_IRAQ: ::WORD = 0x02; +pub const SUBLANG_ARABIC_EGYPT: ::WORD = 0x03; +pub const SUBLANG_ARABIC_LIBYA: ::WORD = 0x04; +pub const SUBLANG_ARABIC_ALGERIA: ::WORD = 0x05; +pub const SUBLANG_ARABIC_MOROCCO: ::WORD = 0x06; +pub const SUBLANG_ARABIC_TUNISIA: ::WORD = 0x07; +pub const SUBLANG_ARABIC_OMAN: ::WORD = 0x08; +pub const SUBLANG_ARABIC_YEMEN: ::WORD = 0x09; +pub const SUBLANG_ARABIC_SYRIA: ::WORD = 0x0a; +pub const SUBLANG_ARABIC_JORDAN: ::WORD = 0x0b; +pub const SUBLANG_ARABIC_LEBANON: ::WORD = 0x0c; +pub const SUBLANG_ARABIC_KUWAIT: ::WORD = 0x0d; +pub const SUBLANG_ARABIC_UAE: ::WORD = 0x0e; +pub const SUBLANG_ARABIC_BAHRAIN: ::WORD = 0x0f; +pub const SUBLANG_ARABIC_QATAR: ::WORD = 0x10; +pub const SUBLANG_ARMENIAN_ARMENIA: ::WORD = 0x01; +pub const SUBLANG_ASSAMESE_INDIA: ::WORD = 0x01; +pub const SUBLANG_AZERI_LATIN: ::WORD = 0x01; +pub const SUBLANG_AZERI_CYRILLIC: ::WORD = 0x02; +pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN: ::WORD = 0x01; +pub const SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC: ::WORD = 0x02; +pub const SUBLANG_BANGLA_INDIA: ::WORD = 0x01; +pub const SUBLANG_BANGLA_BANGLADESH: ::WORD = 0x02; +pub const SUBLANG_BASHKIR_RUSSIA: ::WORD = 0x01; +pub const SUBLANG_BASQUE_BASQUE: ::WORD = 0x01; +pub const SUBLANG_BELARUSIAN_BELARUS: ::WORD = 0x01; +pub const SUBLANG_BENGALI_INDIA: ::WORD = 0x01; +pub const SUBLANG_BENGALI_BANGLADESH: ::WORD = 0x02; +pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN: ::WORD = 0x05; +pub const SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC: ::WORD = 0x08; +pub const SUBLANG_BRETON_FRANCE: ::WORD = 0x01; +pub const SUBLANG_BULGARIAN_BULGARIA: ::WORD = 0x01; +pub const SUBLANG_CATALAN_CATALAN: ::WORD = 0x01; +pub const SUBLANG_CENTRAL_KURDISH_IRAQ: ::WORD = 0x01; +pub const SUBLANG_CHEROKEE_CHEROKEE: ::WORD = 0x01; +pub const SUBLANG_CHINESE_TRADITIONAL: ::WORD = 0x01; +pub const SUBLANG_CHINESE_SIMPLIFIED: ::WORD = 0x02; +pub const SUBLANG_CHINESE_HONGKONG: ::WORD = 0x03; +pub const SUBLANG_CHINESE_SINGAPORE: ::WORD = 0x04; +pub const SUBLANG_CHINESE_MACAU: ::WORD = 0x05; +pub const SUBLANG_CORSICAN_FRANCE: ::WORD = 0x01; +pub const SUBLANG_CZECH_CZECH_REPUBLIC: ::WORD = 0x01; +pub const SUBLANG_CROATIAN_CROATIA: ::WORD = 0x01; +pub const SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN: ::WORD = 0x04; +pub const SUBLANG_DANISH_DENMARK: ::WORD = 0x01; +pub const SUBLANG_DARI_AFGHANISTAN: ::WORD = 0x01; +pub const SUBLANG_DIVEHI_MALDIVES: ::WORD = 0x01; +pub const SUBLANG_DUTCH: ::WORD = 0x01; +pub const SUBLANG_DUTCH_BELGIAN: ::WORD = 0x02; +pub const SUBLANG_ENGLISH_US: ::WORD = 0x01; +pub const SUBLANG_ENGLISH_UK: ::WORD = 0x02; +pub const SUBLANG_ENGLISH_AUS: ::WORD = 0x03; +pub const SUBLANG_ENGLISH_CAN: ::WORD = 0x04; +pub const SUBLANG_ENGLISH_NZ: ::WORD = 0x05; +pub const SUBLANG_ENGLISH_EIRE: ::WORD = 0x06; +pub const SUBLANG_ENGLISH_SOUTH_AFRICA: ::WORD = 0x07; +pub const SUBLANG_ENGLISH_JAMAICA: ::WORD = 0x08; +pub const SUBLANG_ENGLISH_CARIBBEAN: ::WORD = 0x09; +pub const SUBLANG_ENGLISH_BELIZE: ::WORD = 0x0a; +pub const SUBLANG_ENGLISH_TRINIDAD: ::WORD = 0x0b; +pub const SUBLANG_ENGLISH_ZIMBABWE: ::WORD = 0x0c; +pub const SUBLANG_ENGLISH_PHILIPPINES: ::WORD = 0x0d; +pub const SUBLANG_ENGLISH_INDIA: ::WORD = 0x10; +pub const SUBLANG_ENGLISH_MALAYSIA: ::WORD = 0x11; +pub const SUBLANG_ENGLISH_SINGAPORE: ::WORD = 0x12; +pub const SUBLANG_ESTONIAN_ESTONIA: ::WORD = 0x01; +pub const SUBLANG_FAEROESE_FAROE_ISLANDS: ::WORD = 0x01; +pub const SUBLANG_FILIPINO_PHILIPPINES: ::WORD = 0x01; +pub const SUBLANG_FINNISH_FINLAND: ::WORD = 0x01; +pub const SUBLANG_FRENCH: ::WORD = 0x01; +pub const SUBLANG_FRENCH_BELGIAN: ::WORD = 0x02; +pub const SUBLANG_FRENCH_CANADIAN: ::WORD = 0x03; +pub const SUBLANG_FRENCH_SWISS: ::WORD = 0x04; +pub const SUBLANG_FRENCH_LUXEMBOURG: ::WORD = 0x05; +pub const SUBLANG_FRENCH_MONACO: ::WORD = 0x06; +pub const SUBLANG_FRISIAN_NETHERLANDS: ::WORD = 0x01; +pub const SUBLANG_FULAH_SENEGAL: ::WORD = 0x02; +pub const SUBLANG_GALICIAN_GALICIAN: ::WORD = 0x01; +pub const SUBLANG_GEORGIAN_GEORGIA: ::WORD = 0x01; +pub const SUBLANG_GERMAN: ::WORD = 0x01; +pub const SUBLANG_GERMAN_SWISS: ::WORD = 0x02; +pub const SUBLANG_GERMAN_AUSTRIAN: ::WORD = 0x03; +pub const SUBLANG_GERMAN_LUXEMBOURG: ::WORD = 0x04; +pub const SUBLANG_GERMAN_LIECHTENSTEIN: ::WORD = 0x05; +pub const SUBLANG_GREEK_GREECE: ::WORD = 0x01; +pub const SUBLANG_GREENLANDIC_GREENLAND: ::WORD = 0x01; +pub const SUBLANG_GUJARATI_INDIA: ::WORD = 0x01; +pub const SUBLANG_HAUSA_NIGERIA_LATIN: ::WORD = 0x01; +pub const SUBLANG_HAWAIIAN_US: ::WORD = 0x01; +pub const SUBLANG_HEBREW_ISRAEL: ::WORD = 0x01; +pub const SUBLANG_HINDI_INDIA: ::WORD = 0x01; +pub const SUBLANG_HUNGARIAN_HUNGARY: ::WORD = 0x01; +pub const SUBLANG_ICELANDIC_ICELAND: ::WORD = 0x01; +pub const SUBLANG_IGBO_NIGERIA: ::WORD = 0x01; +pub const SUBLANG_INDONESIAN_INDONESIA: ::WORD = 0x01; +pub const SUBLANG_INUKTITUT_CANADA: ::WORD = 0x01; +pub const SUBLANG_INUKTITUT_CANADA_LATIN: ::WORD = 0x02; +pub const SUBLANG_IRISH_IRELAND: ::WORD = 0x02; +pub const SUBLANG_ITALIAN: ::WORD = 0x01; +pub const SUBLANG_ITALIAN_SWISS: ::WORD = 0x02; +pub const SUBLANG_JAPANESE_JAPAN: ::WORD = 0x01; +pub const SUBLANG_KANNADA_INDIA: ::WORD = 0x01; +pub const SUBLANG_KASHMIRI_SASIA: ::WORD = 0x02; +pub const SUBLANG_KASHMIRI_INDIA: ::WORD = 0x02; +pub const SUBLANG_KAZAK_KAZAKHSTAN: ::WORD = 0x01; +pub const SUBLANG_KHMER_CAMBODIA: ::WORD = 0x01; +pub const SUBLANG_KICHE_GUATEMALA: ::WORD = 0x01; +pub const SUBLANG_KINYARWANDA_RWANDA: ::WORD = 0x01; +pub const SUBLANG_KONKANI_INDIA: ::WORD = 0x01; +pub const SUBLANG_KOREAN: ::WORD = 0x01; +pub const SUBLANG_KYRGYZ_KYRGYZSTAN: ::WORD = 0x01; +pub const SUBLANG_LAO_LAO: ::WORD = 0x01; +pub const SUBLANG_LATVIAN_LATVIA: ::WORD = 0x01; +pub const SUBLANG_LITHUANIAN: ::WORD = 0x01; +pub const SUBLANG_LOWER_SORBIAN_GERMANY: ::WORD = 0x02; +pub const SUBLANG_LUXEMBOURGISH_LUXEMBOURG: ::WORD = 0x01; +pub const SUBLANG_MACEDONIAN_MACEDONIA: ::WORD = 0x01; +pub const SUBLANG_MALAY_MALAYSIA: ::WORD = 0x01; +pub const SUBLANG_MALAY_BRUNEI_DARUSSALAM: ::WORD = 0x02; +pub const SUBLANG_MALAYALAM_INDIA: ::WORD = 0x01; +pub const SUBLANG_MALTESE_MALTA: ::WORD = 0x01; +pub const SUBLANG_MAORI_NEW_ZEALAND: ::WORD = 0x01; +pub const SUBLANG_MAPUDUNGUN_CHILE: ::WORD = 0x01; +pub const SUBLANG_MARATHI_INDIA: ::WORD = 0x01; +pub const SUBLANG_MOHAWK_MOHAWK: ::WORD = 0x01; +pub const SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA: ::WORD = 0x01; +pub const SUBLANG_MONGOLIAN_PRC: ::WORD = 0x02; +pub const SUBLANG_NEPALI_INDIA: ::WORD = 0x02; +pub const SUBLANG_NEPALI_NEPAL: ::WORD = 0x01; +pub const SUBLANG_NORWEGIAN_BOKMAL: ::WORD = 0x01; +pub const SUBLANG_NORWEGIAN_NYNORSK: ::WORD = 0x02; +pub const SUBLANG_OCCITAN_FRANCE: ::WORD = 0x01; +pub const SUBLANG_ODIA_INDIA: ::WORD = 0x01; +pub const SUBLANG_ORIYA_INDIA: ::WORD = 0x01; +pub const SUBLANG_PASHTO_AFGHANISTAN: ::WORD = 0x01; +pub const SUBLANG_PERSIAN_IRAN: ::WORD = 0x01; +pub const SUBLANG_POLISH_POLAND: ::WORD = 0x01; +pub const SUBLANG_PORTUGUESE: ::WORD = 0x02; +pub const SUBLANG_PORTUGUESE_BRAZILIAN: ::WORD = 0x01; +pub const SUBLANG_PULAR_SENEGAL: ::WORD = 0x02; +pub const SUBLANG_PUNJABI_INDIA: ::WORD = 0x01; +pub const SUBLANG_PUNJABI_PAKISTAN: ::WORD = 0x02; +pub const SUBLANG_QUECHUA_BOLIVIA: ::WORD = 0x01; +pub const SUBLANG_QUECHUA_ECUADOR: ::WORD = 0x02; +pub const SUBLANG_QUECHUA_PERU: ::WORD = 0x03; +pub const SUBLANG_ROMANIAN_ROMANIA: ::WORD = 0x01; +pub const SUBLANG_ROMANSH_SWITZERLAND: ::WORD = 0x01; +pub const SUBLANG_RUSSIAN_RUSSIA: ::WORD = 0x01; +pub const SUBLANG_SAKHA_RUSSIA: ::WORD = 0x01; +pub const SUBLANG_SAMI_NORTHERN_NORWAY: ::WORD = 0x01; +pub const SUBLANG_SAMI_NORTHERN_SWEDEN: ::WORD = 0x02; +pub const SUBLANG_SAMI_NORTHERN_FINLAND: ::WORD = 0x03; +pub const SUBLANG_SAMI_LULE_NORWAY: ::WORD = 0x04; +pub const SUBLANG_SAMI_LULE_SWEDEN: ::WORD = 0x05; +pub const SUBLANG_SAMI_SOUTHERN_NORWAY: ::WORD = 0x06; +pub const SUBLANG_SAMI_SOUTHERN_SWEDEN: ::WORD = 0x07; +pub const SUBLANG_SAMI_SKOLT_FINLAND: ::WORD = 0x08; +pub const SUBLANG_SAMI_INARI_FINLAND: ::WORD = 0x09; +pub const SUBLANG_SANSKRIT_INDIA: ::WORD = 0x01; +pub const SUBLANG_SCOTTISH_GAELIC: ::WORD = 0x01; +pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN: ::WORD = 0x06; +pub const SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC: ::WORD = 0x07; +pub const SUBLANG_SERBIAN_MONTENEGRO_LATIN: ::WORD = 0x0b; +pub const SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC: ::WORD = 0x0c; +pub const SUBLANG_SERBIAN_SERBIA_LATIN: ::WORD = 0x09; +pub const SUBLANG_SERBIAN_SERBIA_CYRILLIC: ::WORD = 0x0a; +pub const SUBLANG_SERBIAN_CROATIA: ::WORD = 0x01; +pub const SUBLANG_SERBIAN_LATIN: ::WORD = 0x02; +pub const SUBLANG_SERBIAN_CYRILLIC: ::WORD = 0x03; +pub const SUBLANG_SINDHI_INDIA: ::WORD = 0x01; +pub const SUBLANG_SINDHI_PAKISTAN: ::WORD = 0x02; +pub const SUBLANG_SINDHI_AFGHANISTAN: ::WORD = 0x02; +pub const SUBLANG_SINHALESE_SRI_LANKA: ::WORD = 0x01; +pub const SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA: ::WORD = 0x01; +pub const SUBLANG_SLOVAK_SLOVAKIA: ::WORD = 0x01; +pub const SUBLANG_SLOVENIAN_SLOVENIA: ::WORD = 0x01; +pub const SUBLANG_SPANISH: ::WORD = 0x01; +pub const SUBLANG_SPANISH_MEXICAN: ::WORD = 0x02; +pub const SUBLANG_SPANISH_MODERN: ::WORD = 0x03; +pub const SUBLANG_SPANISH_GUATEMALA: ::WORD = 0x04; +pub const SUBLANG_SPANISH_COSTA_RICA: ::WORD = 0x05; +pub const SUBLANG_SPANISH_PANAMA: ::WORD = 0x06; +pub const SUBLANG_SPANISH_DOMINICAN_REPUBLIC: ::WORD = 0x07; +pub const SUBLANG_SPANISH_VENEZUELA: ::WORD = 0x08; +pub const SUBLANG_SPANISH_COLOMBIA: ::WORD = 0x09; +pub const SUBLANG_SPANISH_PERU: ::WORD = 0x0a; +pub const SUBLANG_SPANISH_ARGENTINA: ::WORD = 0x0b; +pub const SUBLANG_SPANISH_ECUADOR: ::WORD = 0x0c; +pub const SUBLANG_SPANISH_CHILE: ::WORD = 0x0d; +pub const SUBLANG_SPANISH_URUGUAY: ::WORD = 0x0e; +pub const SUBLANG_SPANISH_PARAGUAY: ::WORD = 0x0f; +pub const SUBLANG_SPANISH_BOLIVIA: ::WORD = 0x10; +pub const SUBLANG_SPANISH_EL_SALVADOR: ::WORD = 0x11; +pub const SUBLANG_SPANISH_HONDURAS: ::WORD = 0x12; +pub const SUBLANG_SPANISH_NICARAGUA: ::WORD = 0x13; +pub const SUBLANG_SPANISH_PUERTO_RICO: ::WORD = 0x14; +pub const SUBLANG_SPANISH_US: ::WORD = 0x15; +pub const SUBLANG_SWAHILI_KENYA: ::WORD = 0x01; +pub const SUBLANG_SWEDISH: ::WORD = 0x01; +pub const SUBLANG_SWEDISH_FINLAND: ::WORD = 0x02; +pub const SUBLANG_SYRIAC_SYRIA: ::WORD = 0x01; +pub const SUBLANG_TAJIK_TAJIKISTAN: ::WORD = 0x01; +pub const SUBLANG_TAMAZIGHT_ALGERIA_LATIN: ::WORD = 0x02; +pub const SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH: ::WORD = 0x04; +pub const SUBLANG_TAMIL_INDIA: ::WORD = 0x01; +pub const SUBLANG_TAMIL_SRI_LANKA: ::WORD = 0x02; +pub const SUBLANG_TATAR_RUSSIA: ::WORD = 0x01; +pub const SUBLANG_TELUGU_INDIA: ::WORD = 0x01; +pub const SUBLANG_THAI_THAILAND: ::WORD = 0x01; +pub const SUBLANG_TIBETAN_PRC: ::WORD = 0x01; +pub const SUBLANG_TIGRIGNA_ERITREA: ::WORD = 0x02; +pub const SUBLANG_TIGRINYA_ERITREA: ::WORD = 0x02; +pub const SUBLANG_TIGRINYA_ETHIOPIA: ::WORD = 0x01; +pub const SUBLANG_TSWANA_BOTSWANA: ::WORD = 0x02; +pub const SUBLANG_TSWANA_SOUTH_AFRICA: ::WORD = 0x01; +pub const SUBLANG_TURKISH_TURKEY: ::WORD = 0x01; +pub const SUBLANG_TURKMEN_TURKMENISTAN: ::WORD = 0x01; +pub const SUBLANG_UIGHUR_PRC: ::WORD = 0x01; +pub const SUBLANG_UKRAINIAN_UKRAINE: ::WORD = 0x01; +pub const SUBLANG_UPPER_SORBIAN_GERMANY: ::WORD = 0x01; +pub const SUBLANG_URDU_PAKISTAN: ::WORD = 0x01; +pub const SUBLANG_URDU_INDIA: ::WORD = 0x02; +pub const SUBLANG_UZBEK_LATIN: ::WORD = 0x01; +pub const SUBLANG_UZBEK_CYRILLIC: ::WORD = 0x02; +pub const SUBLANG_VALENCIAN_VALENCIA: ::WORD = 0x02; +pub const SUBLANG_VIETNAMESE_VIETNAM: ::WORD = 0x01; +pub const SUBLANG_WELSH_UNITED_KINGDOM: ::WORD = 0x01; +pub const SUBLANG_WOLOF_SENEGAL: ::WORD = 0x01; +pub const SUBLANG_XHOSA_SOUTH_AFRICA: ::WORD = 0x01; +pub const SUBLANG_YAKUT_RUSSIA: ::WORD = 0x01; +pub const SUBLANG_YI_PRC: ::WORD = 0x01; +pub const SUBLANG_YORUBA_NIGERIA: ::WORD = 0x01; +pub const SUBLANG_ZULU_SOUTH_AFRICA: ::WORD = 0x01; +//1962 +// FIXME: Once feature(const_fn) or some CTFE alternative becomes stable, MAKELANGID! can go +// unless we want to #[macro_export] it ... +macro_rules! MAKELANGID { ($p:expr, $s:expr) => ($s << 10 | $p) } +pub fn MAKELANGID(p: ::WORD, s: ::WORD) -> ::LANGID { MAKELANGID!(p, s) } +pub fn PRIMARYLANGID(lgid: ::LANGID) -> ::WORD { lgid & 0x3ff } +pub fn SUBLANGID(lgid: ::LANGID) -> ::WORD { lgid >> 10 } +//2019 +pub const LANG_SYSTEM_DEFAULT: LANGID = MAKELANGID!(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT); +pub const LANG_USER_DEFAULT: LANGID = MAKELANGID!(LANG_NEUTRAL, SUBLANG_DEFAULT); +//2214 +pub const MAXIMUM_WAIT_OBJECTS: ::DWORD = 64; +pub const MAXIMUM_SUSPEND_COUNT: ::CHAR = MAXCHAR; +//2277 +pub type KSPIN_LOCK = ::ULONG_PTR; +pub type PKSPIN_LOCK = *mut KSPIN_LOCK; +STRUCT!{struct M128A { // FIXME align 16 + Low: ULONGLONG, + High: LONGLONG, +}} +pub type PM128A = *mut M128A; +#[cfg(target_arch = "x86")] +STRUCT!{nodebug struct XSAVE_FORMAT { // FIXME align 16 + ControlWord: ::WORD, + StatusWord: ::WORD, + TagWord: ::BYTE, + Reserved1: ::BYTE, + ErrorOpcode: ::WORD, + ErrorOffset: ::DWORD, + ErrorSelector: ::WORD, + Reserved2: ::WORD, + DataOffset: ::DWORD, + DataSelector: ::WORD, + Reserved3: ::WORD, + MxCsr: ::DWORD, + MxCsr_Mask: ::DWORD, + FloatRegisters: [M128A; 8], + XmmRegisters: [M128A; 8], + Reserved4: [::BYTE; 224], +}} +#[cfg(target_arch = "x86_64")] +STRUCT!{nodebug struct XSAVE_FORMAT { // FIXME align 16 + ControlWord: ::WORD, + StatusWord: ::WORD, + TagWord: ::BYTE, + Reserved1: ::BYTE, + ErrorOpcode: ::WORD, + ErrorOffset: ::DWORD, + ErrorSelector: ::WORD, + Reserved2: ::WORD, + DataOffset: ::DWORD, + DataSelector: ::WORD, + Reserved3: ::WORD, + MxCsr: ::DWORD, + MxCsr_Mask: ::DWORD, + FloatRegisters: [M128A; 8], + XmmRegisters: [M128A; 16], + Reserved4: [::BYTE; 96], +}} +//3563 +#[cfg(target_arch = "x86")] +pub const SIZE_OF_80387_REGISTERS: usize = 80; +#[cfg(target_arch = "x86")] +STRUCT!{nodebug struct FLOATING_SAVE_AREA { + ControlWord: ::DWORD, + StatusWord: ::DWORD, + TagWord: ::DWORD, + ErrorOffset: ::DWORD, + ErrorSelector: ::DWORD, + DataOffset: ::DWORD, + DataSelector: ::DWORD, + RegisterArea: [::BYTE; SIZE_OF_80387_REGISTERS], + Spare0: ::DWORD, +}} +#[cfg(target_arch = "x86")] +pub type PFLOATING_SAVE_AREA = *mut FLOATING_SAVE_AREA; +#[cfg(target_arch = "x86")] +pub const MAXIMUM_SUPPORTED_EXTENSION: usize = 512; +#[cfg(target_arch = "x86")] +STRUCT!{nodebug struct CONTEXT { + ContextFlags: ::DWORD, + Dr0: ::DWORD, + Dr1: ::DWORD, + Dr2: ::DWORD, + Dr3: ::DWORD, + Dr6: ::DWORD, + Dr7: ::DWORD, + FloatSave: FLOATING_SAVE_AREA, + SegGs: ::DWORD, + SegFs: ::DWORD, + SegEs: ::DWORD, + SegDs: ::DWORD, + Edi: ::DWORD, + Esi: ::DWORD, + Ebx: ::DWORD, + Edx: ::DWORD, + Ecx: ::DWORD, + Eax: ::DWORD, + Ebp: ::DWORD, + Eip: ::DWORD, + SegCs: ::DWORD, + EFlags: ::DWORD, + Esp: ::DWORD, + SegSs: ::DWORD, + ExtendedRegisters: [::BYTE; MAXIMUM_SUPPORTED_EXTENSION], +}} +#[cfg(target_arch = "x86_64")] +pub type XMM_SAVE_AREA32 = XSAVE_FORMAT; +pub type PXMM_SAVE_AREA32 = *mut XSAVE_FORMAT; +// FIXME - Align 16 +#[cfg(target_arch = "x86_64")] +STRUCT!{nodebug struct CONTEXT { + P1Home: ::DWORD64, + P2Home: ::DWORD64, + P3Home: ::DWORD64, + P4Home: ::DWORD64, + P5Home: ::DWORD64, + P6Home: ::DWORD64, + ContextFlags: ::DWORD, + MxCsr: ::DWORD, + SegCs: ::WORD, + SegDs: ::WORD, + SegEs: ::WORD, + SegFs: ::WORD, + SegGs: ::WORD, + SegSs: ::WORD, + EFlags: ::DWORD, + Dr0: ::DWORD64, + Dr1: ::DWORD64, + Dr2: ::DWORD64, + Dr3: ::DWORD64, + Dr6: ::DWORD64, + Dr7: ::DWORD64, + Rax: ::DWORD64, + Rcx: ::DWORD64, + Rdx: ::DWORD64, + Rbx: ::DWORD64, + Rsp: ::DWORD64, + Rbp: ::DWORD64, + Rsi: ::DWORD64, + Rdi: ::DWORD64, + R8: ::DWORD64, + R9: ::DWORD64, + R10: ::DWORD64, + R11: ::DWORD64, + R12: ::DWORD64, + R13: ::DWORD64, + R14: ::DWORD64, + R15: ::DWORD64, + Rip: ::DWORD64, + FltSave: XMM_SAVE_AREA32, + VectorRegister: [::M128A; 26], + VectorControl: ::DWORD64, + DebugControl: ::DWORD64, + LastBranchToRip: ::DWORD64, + LastBranchFromRip: ::DWORD64, + LastExceptionToRip: ::DWORD64, + LastExceptionFromRip: ::DWORD64, +}} +pub type PCONTEXT = *mut CONTEXT; +#[test] +fn test_CONTEXT_size() { + use std::mem::size_of; + if cfg!(target_arch = "x86_64") { + assert_eq!(size_of::<CONTEXT>(), 1232) + } else if cfg!(target_arch = "x86") { + assert_eq!(size_of::<CONTEXT>(), 716) + } +} +pub type RUNTIME_FUNCTION = IMAGE_RUNTIME_FUNCTION_ENTRY; +pub type PRUNTIME_FUNCTION = *mut RUNTIME_FUNCTION; +pub const UNWIND_HISTORY_TABLE_SIZE: usize = 12; +STRUCT!{struct UNWIND_HISTORY_TABLE_ENTRY { + ImageBase: ::DWORD64, + FunctionEntry: PRUNTIME_FUNCTION, +}} +pub type PUNWIND_HISTORY_TABLE_ENTRY = *mut UNWIND_HISTORY_TABLE_ENTRY; +STRUCT!{struct UNWIND_HISTORY_TABLE { + Count: ::DWORD, + LocalHint: ::BYTE, + GlobalHint: ::BYTE, + Search: ::BYTE, + Once: ::BYTE, + LowAddress: ::DWORD64, + HighAddress: ::DWORD64, + Entry: [UNWIND_HISTORY_TABLE_ENTRY; UNWIND_HISTORY_TABLE_SIZE], +}} +pub type PUNWIND_HISTORY_TABLE = *mut UNWIND_HISTORY_TABLE; +pub type PGET_RUNTIME_FUNCTION_CALLBACK = Option<unsafe extern "system" fn( + ControlPc: ::DWORD64, Context: ::PVOID, +) -> PRUNTIME_FUNCTION>; +STRUCT!{struct KNONVOLATILE_CONTEXT_POINTERS_u1 { + Xmm0: PM128A, + Xmm1: PM128A, + Xmm2: PM128A, + Xmm3: PM128A, + Xmm4: PM128A, + Xmm5: PM128A, + Xmm6: PM128A, + Xmm7: PM128A, + Xmm8: PM128A, + Xmm9: PM128A, + Xmm10: PM128A, + Xmm11: PM128A, + Xmm12: PM128A, + Xmm14: PM128A, + Xmm15: PM128A, +}} +STRUCT!{struct KNONVOLATILE_CONTEXT_POINTERS_u2 { + Rax: ::DWORD64, + Rcx: ::DWORD64, + Rdx: ::DWORD64, + Rbx: ::DWORD64, + Rsp: ::DWORD64, + Rbp: ::DWORD64, + Rsi: ::DWORD64, + Rdi: ::DWORD64, + R8: ::DWORD64, + R9: ::DWORD64, + R10: ::DWORD64, + R11: ::DWORD64, + R12: ::DWORD64, + R13: ::DWORD64, + R14: ::DWORD64, + R15: ::DWORD64, +}} +STRUCT!{struct KNONVOLATILE_CONTEXT_POINTERS { + FloatingContext: [PM128A; 16], + IntegerContext: [::PDWORD64; 16], +}} +// FIXME: all unions are untagged +UNION!( + KNONVOLATILE_CONTEXT_POINTERS, FloatingContext, Xmms, Xmms_mut, + KNONVOLATILE_CONTEXT_POINTERS_u1 +); +UNION!( + KNONVOLATILE_CONTEXT_POINTERS, IntegerContext, Regs, Regs_mut, + KNONVOLATILE_CONTEXT_POINTERS_u2 +); +pub type PKNONVOLATILE_CONTEXT_POINTERS = *mut KNONVOLATILE_CONTEXT_POINTERS; +//8983 +pub const EXCEPTION_MAXIMUM_PARAMETERS: usize = 15; +STRUCT!{struct EXCEPTION_RECORD { + ExceptionCode: ::DWORD, + ExceptionFlags: ::DWORD, + ExceptionRecord: *mut EXCEPTION_RECORD, + ExceptionAddress: ::PVOID, + NumberParameters: ::DWORD, + ExceptionInformation: [::ULONG_PTR; EXCEPTION_MAXIMUM_PARAMETERS], +}} +pub type PEXCEPTION_RECORD = *mut EXCEPTION_RECORD; +//9023 +STRUCT!{struct EXCEPTION_POINTERS { + ExceptionRecord: PEXCEPTION_RECORD, + ContextRecord: PCONTEXT, +}} +pub type PEXCEPTION_POINTERS = *mut EXCEPTION_POINTERS; +pub type PACCESS_TOKEN = ::PVOID; +pub type PSECURITY_DESCRIPTOR = ::PVOID; +pub type PSID = ::PVOID; +pub type PCLAIMS_BLOB = ::PVOID; +//9091 +pub type ACCESS_MASK = ::DWORD; +pub type PACCESS_MASK = *mut ACCESS_MASK; +pub const DELETE: ::DWORD = 0x00010000; +pub const READ_CONTROL: ::DWORD = 0x00020000; +pub const WRITE_DAC: ::DWORD = 0x00040000; +pub const WRITE_OWNER: ::DWORD = 0x00080000; +pub const SYNCHRONIZE: ::DWORD = 0x00100000; +pub const STANDARD_RIGHTS_REQUIRED: ::DWORD = 0x000F0000; +pub const STANDARD_RIGHTS_READ: ::DWORD = READ_CONTROL; +pub const STANDARD_RIGHTS_WRITE: ::DWORD = READ_CONTROL; +pub const STANDARD_RIGHTS_EXECUTE: ::DWORD = READ_CONTROL; +pub const STANDARD_RIGHTS_ALL: ::DWORD = 0x001F0000; +pub const SPECIFIC_RIGHTS_ALL: ::DWORD = 0x0000FFFF; +pub const ACCESS_SYSTEM_SECURITY: ::DWORD = 0x01000000; +pub const MAXIMUM_ALLOWED: ::DWORD = 0x02000000; +pub const GENERIC_READ: ::DWORD = 0x80000000; +pub const GENERIC_WRITE: ::DWORD = 0x40000000; +pub const GENERIC_EXECUTE: ::DWORD = 0x20000000; +pub const GENERIC_ALL: ::DWORD = 0x10000000; +//9170 +STRUCT!{struct LUID_AND_ATTRIBUTES { + Luid: LUID, + Attributes: ::DWORD, +}} +pub type PLUID_AND_ATTRIBUTES = *mut LUID_AND_ATTRIBUTES; +//9243 +ENUM!{enum SID_NAME_USE { + SidTypeUser = 1, + SidTypeGroup, + SidTypeDomain, + SidTypeAlias, + SidTypeWellKnownGroup, + SidTypeDeletedAccount, + SidTypeInvalid, + SidTypeUnknown, + SidTypeComputer, + SidTypeLabel, +}} +pub type PSID_NAME_USE = *mut SID_NAME_USE; +STRUCT!{struct SID_AND_ATTRIBUTES { + Sid: PSID, + Attributes: ::DWORD, +}} +pub type PSID_AND_ATTRIBUTES = *mut SID_AND_ATTRIBUTES; +//9802 +pub const ACL_REVISION: ::BYTE = 2; +pub const ACL_REVISION_DS: ::BYTE = 4; +pub const ACL_REVISION1: ::BYTE = 1; +pub const MIN_ACL_REVISION: ::BYTE = ACL_REVISION2; +pub const ACL_REVISION2: ::BYTE = 2; +pub const ACL_REVISION3: ::BYTE = 3; +pub const ACL_REVISION4: ::BYTE = 4; +pub const MAX_ACL_REVISION: ::BYTE = ACL_REVISION4; +STRUCT!{struct ACL { + AclRevision: ::BYTE, + Sbz1: ::BYTE, + AclSize: ::WORD, + AceCount: ::WORD, + Sbz2: ::WORD, +}} +pub type PACL = *mut ACL; +//9888 +pub const SE_PRIVILEGE_ENABLED_BY_DEFAULT: ::DWORD = 0x00000001; +pub const SE_PRIVILEGE_ENABLED: ::DWORD = 0x00000002; +pub const SE_PRIVILEGE_REMOVED: ::DWORD = 0x00000004; +pub const SE_PRIVILEGE_USED_FOR_ACCESS: ::DWORD = 0x80000000; +pub const SE_PRIVILEGE_VALID_ATTRIBUTES: ::DWORD = SE_PRIVILEGE_ENABLED_BY_DEFAULT | SE_PRIVILEGE_ENABLED | SE_PRIVILEGE_REMOVED | SE_PRIVILEGE_USED_FOR_ACCESS; +pub const PRIVILEGE_SET_ALL_NECESSARY: ::DWORD = 1; +//10689 +pub const TOKEN_ASSIGN_PRIMARY: ::DWORD = 0x0001; +pub const TOKEN_DUPLICATE: ::DWORD = 0x0002; +pub const TOKEN_IMPERSONATE: ::DWORD = 0x0004; +pub const TOKEN_QUERY: ::DWORD = 0x0008; +pub const TOKEN_QUERY_SOURCE: ::DWORD = 0x0010; +pub const TOKEN_ADJUST_PRIVILEGES: ::DWORD = 0x0020; +pub const TOKEN_ADJUST_GROUPS: ::DWORD = 0x0040; +pub const TOKEN_ADJUST_DEFAULT: ::DWORD = 0x0080; +pub const TOKEN_ADJUST_SESSIONID: ::DWORD = 0x0100; +pub const TOKEN_ALL_ACCESS_P: ::DWORD = STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY + | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE + | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT; +pub const TOKEN_ALL_ACCESS: ::DWORD = TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID; +pub const TOKEN_READ: ::DWORD = STANDARD_RIGHTS_READ | TOKEN_QUERY; +pub const TOKEN_WRITE: ::DWORD = STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES + | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT; +pub const TOKEN_EXECUTE: ::DWORD = STANDARD_RIGHTS_EXECUTE; +//10823 +STRUCT!{nodebug struct TOKEN_PRIVILEGES { + PrivilegeCount: ::DWORD, + Privileges: [LUID_AND_ATTRIBUTES; 0], +}} +pub type PTOKEN_PRIVILEGES = *mut TOKEN_PRIVILEGES; +//10965 +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INVALID: ::WORD = 0x00; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64: ::WORD = 0x01; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64: ::WORD = 0x02; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING: ::WORD = 0x03; +STRUCT!{struct CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE { + Version: ::DWORD64, + Name: ::PWSTR, +}} +pub type PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = *mut CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN: ::WORD = 0x04; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_SID: ::WORD = 0x05; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN: ::WORD = 0x06; +STRUCT!{struct CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE { + pValue: ::PVOID, + ValueLength: ::DWORD, +}} +pub type PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = + *mut CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE; +pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING: ::WORD = 0x10; +pub const CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE: ::DWORD = 0x0001; +pub const CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE: ::DWORD = 0x0002; +pub const CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY: ::DWORD = 0x0004; +pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT: ::DWORD = 0x0008; +pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED: ::DWORD = 0x0010; +pub const CLAIM_SECURITY_ATTRIBUTE_MANDATORY: ::DWORD = 0x0020; +pub const CLAIM_SECURITY_ATTRIBUTE_VALID_FLAGS: ::DWORD = CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE + | CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE | CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY + | CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT | CLAIM_SECURITY_ATTRIBUTE_DISABLED + | CLAIM_SECURITY_ATTRIBUTE_MANDATORY; +pub const CLAIM_SECURITY_ATTRIBUTE_CUSTOM_FLAGS: ::DWORD = 0xFFFF0000; +STRUCT!{struct CLAIM_SECURITY_ATTRIBUTE_V1 { + Name: ::PWSTR, + ValueType: ::WORD, + Reserved: ::WORD, + Flags: ::DWORD, + ValueCount: ::DWORD, + // Put data here +}} +pub type PCLAIM_SECURITY_ATTRIBUTE_V1 = *mut CLAIM_SECURITY_ATTRIBUTE_V1; +STRUCT!{struct CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 { + Name: ::DWORD, + ValueType: ::WORD, + Reserved: ::WORD, + Flags: ::DWORD, + ValueCount: ::DWORD, + // Put array here +}} +pub type PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = *mut CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1; +pub const CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1: ::WORD = 1; +pub const CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION: ::WORD = + CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1; +STRUCT!{struct CLAIM_SECURITY_ATTRIBUTES_INFORMATION { + Version: ::WORD, + Reserved: ::WORD, + AttributeCount: ::DWORD, + pAttributeV1: PCLAIM_SECURITY_ATTRIBUTE_V1, +}} +pub type PCLAIM_SECURITY_ATTRIBUTES_INFORMATION = *mut CLAIM_SECURITY_ATTRIBUTES_INFORMATION; +//11257 +pub type SECURITY_INFORMATION = ::DWORD; +pub type PSECURITY_INFORMATION = *mut ::DWORD; +pub const OWNER_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000001; +pub const GROUP_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000002; +pub const DACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000004; +pub const SACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000008; +pub const LABEL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000010; +pub const ATTRIBUTE_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000020; +pub const SCOPE_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000040; +pub const PROCESS_TRUST_LABEL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00000080; +pub const BACKUP_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x00010000; +pub const PROTECTED_DACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x80000000; +pub const PROTECTED_SACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x40000000; +pub const UNPROTECTED_DACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x20000000; +pub const UNPROTECTED_SACL_SECURITY_INFORMATION: SECURITY_INFORMATION = 0x10000000; +ENUM!{enum SE_LEARNING_MODE_DATA_TYPE { + SeLearningModeInvalidType = 0, + SeLearningModeSettings, + SeLearningModeMax, +}} +STRUCT!{struct SECURITY_CAPABILITIES { + AppContainerSid: PSID, + Capabilities: PSID_AND_ATTRIBUTES, + CapabilityCount: ::DWORD, + Reserved: ::DWORD, +}} +pub type PSECURITY_CAPABILITIES = *mut SECURITY_CAPABILITIES; +pub type LPSECURITY_CAPABILITIES = *mut SECURITY_CAPABILITIES; +pub const PROCESS_TERMINATE: ::DWORD = 0x0001; +pub const PROCESS_CREATE_THREAD: ::DWORD = 0x0002; +pub const PROCESS_SET_SESSIONID: ::DWORD = 0x0004; +pub const PROCESS_VM_OPERATION: ::DWORD = 0x0008; +pub const PROCESS_VM_READ: ::DWORD = 0x0010; +pub const PROCESS_VM_WRITE: ::DWORD = 0x0020; +pub const PROCESS_DUP_HANDLE: ::DWORD = 0x0040; +pub const PROCESS_CREATE_PROCESS: ::DWORD = 0x0080; +pub const PROCESS_SET_QUOTA: ::DWORD = 0x0100; +pub const PROCESS_SET_INFORMATION: ::DWORD = 0x0200; +pub const PROCESS_QUERY_INFORMATION: ::DWORD = 0x0400; +pub const PROCESS_SUSPEND_RESUME: ::DWORD = 0x0800; +pub const PROCESS_QUERY_LIMITED_INFORMATION: ::DWORD = 0x1000; +pub const PROCESS_SET_LIMITED_INFORMATION: ::DWORD = 0x2000; +pub const PROCESS_ALL_ACCESS: ::DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF; +//11007 +pub const THREAD_BASE_PRIORITY_LOWRT: ::DWORD = 15; +pub const THREAD_BASE_PRIORITY_MAX: ::DWORD = 2; +pub const THREAD_BASE_PRIORITY_MIN: ::DWORD = -2i32 as ::DWORD; +pub const THREAD_BASE_PRIORITY_IDLE: ::DWORD = -15i32 as ::DWORD; +//11018 +STRUCT!{struct QUOTA_LIMITS { + PagedPoolLimit: ::SIZE_T, + NonPagedPoolLimit: ::SIZE_T, + MinimumWorkingSetSize: ::SIZE_T, + MaximumWorkingSetSize: ::SIZE_T, + PagefileLimit: ::SIZE_T, + TimeLimit: ::LARGE_INTEGER, +}} +pub type PQUOTA_LIMITS = *mut QUOTA_LIMITS; +pub const QUOTA_LIMITS_HARDWS_MIN_ENABLE: ::DWORD = 0x00000001; +pub const QUOTA_LIMITS_HARDWS_MIN_DISABLE: ::DWORD = 0x00000002; +pub const QUOTA_LIMITS_HARDWS_MAX_ENABLE: ::DWORD = 0x00000004; +pub const QUOTA_LIMITS_HARDWS_MAX_DISABLE: ::DWORD = 0x00000008; +pub const QUOTA_LIMITS_USE_DEFAULT_LIMITS: ::DWORD = 0x00000010; +STRUCT!{struct RATE_QUOTA_LIMIT { + RateData: ::DWORD, + BitFields: ::DWORD, +}} +BITFIELD!(RATE_QUOTA_LIMIT BitFields: ::DWORD [ + RatePercent set_RatePercent[0..7], + Reserved0 set_Reserved0[7..32], +]); +pub type PRATE_QUOTA_LIMIT = *mut RATE_QUOTA_LIMIT; +STRUCT!{struct QUOTA_LIMITS_EX { + PagedPoolLimit: ::SIZE_T, + NonPagedPoolLimit: ::SIZE_T, + MinimumWorkingSetSize: ::SIZE_T, + MaximumWorkingSetSize: ::SIZE_T, + PagefileLimit: ::SIZE_T, + TimeLimit: ::LARGE_INTEGER, + WorkingSetLimit: ::SIZE_T, + Reserved2: ::SIZE_T, + Reserved3: ::SIZE_T, + Reserved4: ::SIZE_T, + Flags: ::DWORD, + CpuRateLimit: RATE_QUOTA_LIMIT, +}} +pub type PQUOTA_LIMITS_EX = *mut QUOTA_LIMITS_EX; +STRUCT!{struct IO_COUNTERS { + ReadOperationCount: ::ULONGLONG, + WriteOperationCount: ::ULONGLONG, + OtherOperationCount: ::ULONGLONG, + ReadTransferCount: ::ULONGLONG, + WriteTransferCount: ::ULONGLONG, + OtherTransferCount: ::ULONGLONG, +}} +pub type PIO_COUNTERS = *mut IO_COUNTERS; +//11192 +STRUCT!{struct JOBOBJECT_BASIC_LIMIT_INFORMATION { + PerProcessUserTimeLimit: ::LARGE_INTEGER, + PerJobUserTimeLimit: ::LARGE_INTEGER, + LimitFlags: ::DWORD, + MinimumWorkingSetSize: ::SIZE_T, + MaximumWorkingSetSize: ::SIZE_T, + ActiveProcessLimit: ::DWORD, + Affinity: ::ULONG_PTR, + PriorityClass: ::DWORD, + SchedulingClass: ::DWORD, +}} +pub type PJOBOBJECT_BASIC_LIMIT_INFORMATION = *mut JOBOBJECT_BASIC_LIMIT_INFORMATION; +STRUCT!{struct JOBOBJECT_EXTENDED_LIMIT_INFORMATION { + BasicLimitInformation: JOBOBJECT_BASIC_LIMIT_INFORMATION, + IoInfo: IO_COUNTERS, + ProcessMemoryLimit: ::SIZE_T, + JobMemoryLimit: ::SIZE_T, + PeakProcessMemoryUsed: ::SIZE_T, + PeakJobMemoryUsed: ::SIZE_T, +}} +pub type PJOBOBJECT_EXTENDED_LIMIT_INFORMATION = *mut JOBOBJECT_EXTENDED_LIMIT_INFORMATION; +STRUCT!{struct JOBOBJECT_BASIC_PROCESS_ID_LIST { + NumberOfAssignedProcesses: ::DWORD, + NumberOfProcessIdsInList: ::DWORD, + ProcessIdList: [::ULONG_PTR; 0], +}} +//11712 +pub const JOB_OBJECT_TERMINATE_AT_END_OF_JOB: ::DWORD = 0; +pub const JOB_OBJECT_POST_AT_END_OF_JOB: ::DWORD = 1; +pub const JOB_OBJECT_MSG_END_OF_JOB_TIME: ::DWORD = 1; +pub const JOB_OBJECT_MSG_END_OF_PROCESS_TIME: ::DWORD = 2; +pub const JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT: ::DWORD = 3; +pub const JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO: ::DWORD = 4; +pub const JOB_OBJECT_MSG_NEW_PROCESS: ::DWORD = 6; +pub const JOB_OBJECT_MSG_EXIT_PROCESS: ::DWORD = 7; +pub const JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS: ::DWORD = 8; +pub const JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT: ::DWORD = 9; +pub const JOB_OBJECT_MSG_JOB_MEMORY_LIMIT: ::DWORD = 10; +pub const JOB_OBJECT_MSG_NOTIFICATION_LIMIT: ::DWORD = 11; +pub const JOB_OBJECT_MSG_JOB_CYCLE_TIME_LIMIT: ::DWORD = 12; +pub const JOB_OBJECT_MSG_MINIMUM: ::DWORD = 1; +pub const JOB_OBJECT_MSG_MAXIMUM: ::DWORD = 12; +pub const JOB_OBJECT_VALID_COMPLETION_FILTER: ::DWORD = ((1 << (JOB_OBJECT_MSG_MAXIMUM + 1)) - 1) + - ((1 << JOB_OBJECT_MSG_MINIMUM) - 1); +pub const JOB_OBJECT_LIMIT_WORKINGSET: ::DWORD = 0x00000001; +pub const JOB_OBJECT_LIMIT_PROCESS_TIME: ::DWORD = 0x00000002; +pub const JOB_OBJECT_LIMIT_JOB_TIME: ::DWORD = 0x00000004; +pub const JOB_OBJECT_LIMIT_ACTIVE_PROCESS: ::DWORD = 0x00000008; +pub const JOB_OBJECT_LIMIT_AFFINITY: ::DWORD = 0x00000010; +pub const JOB_OBJECT_LIMIT_PRIORITY_CLASS: ::DWORD = 0x00000020; +pub const JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME: ::DWORD = 0x00000040; +pub const JOB_OBJECT_LIMIT_SCHEDULING_CLASS: ::DWORD = 0x00000080; +pub const JOB_OBJECT_LIMIT_PROCESS_MEMORY: ::DWORD = 0x00000100; +pub const JOB_OBJECT_LIMIT_JOB_MEMORY: ::DWORD = 0x00000200; +pub const JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION: ::DWORD = 0x00000400; +pub const JOB_OBJECT_LIMIT_BREAKAWAY_OK: ::DWORD = 0x00000800; +pub const JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK: ::DWORD = 0x00001000; +pub const JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE: ::DWORD = 0x00002000; +pub const JOB_OBJECT_LIMIT_SUBSET_AFFINITY: ::DWORD = 0x00004000; +pub const JOB_OBJECT_LIMIT_JOB_READ_BYTES: ::DWORD = 0x00010000; +pub const JOB_OBJECT_LIMIT_JOB_WRITE_BYTES: ::DWORD = 0x00020000; +pub const JOB_OBJECT_LIMIT_RATE_CONTROL: ::DWORD = 0x00040000; +pub const JOB_OBJECT_LIMIT_RESERVED3: ::DWORD = 0x00008000; +pub const JOB_OBJECT_LIMIT_VALID_FLAGS: ::DWORD = 0x0007ffff; +pub const JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS: ::DWORD = 0x000000ff; +pub const JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS: ::DWORD = 0x00007fff; +pub const JOB_OBJECT_NOTIFICATION_LIMIT_VALID_FLAGS: ::DWORD = 0x00070204; +pub const JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS: ::DWORD = 0x0007ffff; +pub const JOB_OBJECT_UILIMIT_NONE: ::DWORD = 0x00000000; +pub const JOB_OBJECT_UILIMIT_HANDLES: ::DWORD = 0x00000001; +pub const JOB_OBJECT_UILIMIT_READCLIPBOARD: ::DWORD = 0x00000002; +pub const JOB_OBJECT_UILIMIT_WRITECLIPBOARD: ::DWORD = 0x00000004; +pub const JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS: ::DWORD = 0x00000008; +pub const JOB_OBJECT_UILIMIT_DISPLAYSETTINGS: ::DWORD = 0x00000010; +pub const JOB_OBJECT_UILIMIT_GLOBALATOMS: ::DWORD = 0x00000020; +pub const JOB_OBJECT_UILIMIT_DESKTOP: ::DWORD = 0x00000040; +pub const JOB_OBJECT_UILIMIT_EXITWINDOWS: ::DWORD = 0x00000080; +pub const JOB_OBJECT_UILIMIT_ALL: ::DWORD = 0x000000FF; +pub const JOB_OBJECT_UI_VALID_FLAGS: ::DWORD = 0x000000FF; +pub const JOB_OBJECT_SECURITY_NO_ADMIN: ::DWORD = 0x00000001; +pub const JOB_OBJECT_SECURITY_RESTRICTED_TOKEN: ::DWORD = 0x00000002; +pub const JOB_OBJECT_SECURITY_ONLY_TOKEN: ::DWORD = 0x00000004; +pub const JOB_OBJECT_SECURITY_FILTER_TOKENS: ::DWORD = 0x00000008; +pub const JOB_OBJECT_SECURITY_VALID_FLAGS: ::DWORD = 0x0000000f; +pub const JOB_OBJECT_CPU_RATE_CONTROL_ENABLE: ::DWORD = 0x1; +pub const JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED: ::DWORD = 0x2; +pub const JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP: ::DWORD = 0x4; +pub const JOB_OBJECT_CPU_RATE_CONTROL_NOTIFY: ::DWORD = 0x8; +pub const JOB_OBJECT_CPU_RATE_CONTROL_VALID_FLAGS: ::DWORD = 0xf; +ENUM!{enum JOBOBJECTINFOCLASS { + JobObjectBasicAccountingInformation = 1, + JobObjectBasicLimitInformation, + JobObjectBasicProcessIdList, + JobObjectBasicUIRestrictions, + JobObjectSecurityLimitInformation, + JobObjectEndOfJobTimeInformation, + JobObjectAssociateCompletionPortInformation, + JobObjectBasicAndIoAccountingInformation, + JobObjectExtendedLimitInformation, + JobObjectJobSetInformation, + JobObjectGroupInformation, + JobObjectNotificationLimitInformation, + JobObjectLimitViolationInformation, + JobObjectGroupInformationEx, + JobObjectCpuRateControlInformation, + JobObjectCompletionFilter, + JobObjectCompletionCounter, + JobObjectReserved1Information = 18, + JobObjectReserved2Information, + JobObjectReserved3Information, + JobObjectReserved4Information, + JobObjectReserved5Information, + JobObjectReserved6Information, + JobObjectReserved7Information, + JobObjectReserved8Information, + JobObjectReserved9Information, + MaxJobObjectInfoClass, +}} +//12063 +pub const SECTION_QUERY: ::DWORD = 0x0001; +pub const SECTION_MAP_WRITE: ::DWORD = 0x0002; +pub const SECTION_MAP_READ: ::DWORD = 0x0004; +pub const SECTION_MAP_EXECUTE: ::DWORD = 0x0008; +pub const SECTION_EXTEND_SIZE: ::DWORD = 0x0010; +pub const SECTION_MAP_EXECUTE_EXPLICIT: ::DWORD = 0x0020; +pub const SECTION_ALL_ACCESS: ::DWORD = STANDARD_RIGHTS_REQUIRED | SECTION_QUERY + | SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE; +//12100 +pub const PAGE_NOACCESS: ::DWORD = 0x01; +pub const PAGE_READONLY: ::DWORD = 0x02; +pub const PAGE_READWRITE: ::DWORD = 0x04; +pub const PAGE_WRITECOPY: ::DWORD = 0x08; +pub const PAGE_EXECUTE: ::DWORD = 0x10; +pub const PAGE_EXECUTE_READ: ::DWORD = 0x20; +pub const PAGE_EXECUTE_READWRITE: ::DWORD = 0x40; +pub const PAGE_EXECUTE_WRITECOPY: ::DWORD = 0x80; +pub const PAGE_GUARD: ::DWORD = 0x100; +pub const PAGE_NOCACHE: ::DWORD = 0x200; +pub const PAGE_WRITECOMBINE: ::DWORD = 0x400; +pub const PAGE_REVERT_TO_FILE_MAP: ::DWORD = 0x80000000; +pub const PAGE_TARGETS_NO_UPDATE: ::DWORD = 0x40000000; +pub const PAGE_TARGETS_INVALID: ::DWORD = 0x40000000; +pub const MEM_COMMIT: ::DWORD = 0x1000; +pub const MEM_RESERVE: ::DWORD = 0x2000; +pub const MEM_DECOMMIT: ::DWORD = 0x4000; +pub const MEM_RELEASE: ::DWORD = 0x8000; +pub const MEM_FREE: ::DWORD = 0x10000; +pub const MEM_PRIVATE: ::DWORD = 0x20000; +pub const MEM_MAPPED: ::DWORD = 0x40000; +pub const MEM_RESET: ::DWORD = 0x80000; +pub const MEM_TOP_DOWN: ::DWORD = 0x100000; +pub const MEM_WRITE_WATCH: ::DWORD = 0x200000; +pub const MEM_PHYSICAL: ::DWORD = 0x400000; +pub const MEM_ROTATE: ::DWORD = 0x800000; +pub const MEM_DIFFERENT_IMAGE_BASE_OK: ::DWORD = 0x800000; +pub const MEM_RESET_UNDO: ::DWORD = 0x1000000; +pub const MEM_LARGE_PAGES: ::DWORD = 0x20000000; +pub const MEM_4MB_PAGES: ::DWORD = 0x80000000; +pub const SEC_FILE: ::DWORD = 0x800000; +pub const SEC_IMAGE: ::DWORD = 0x1000000; +pub const SEC_PROTECTED_IMAGE: ::DWORD = 0x2000000; +pub const SEC_RESERVE: ::DWORD = 0x4000000; +pub const SEC_COMMIT: ::DWORD = 0x8000000; +pub const SEC_NOCACHE: ::DWORD = 0x10000000; +pub const SEC_WRITECOMBINE: ::DWORD = 0x40000000; +pub const SEC_LARGE_PAGES: ::DWORD = 0x80000000; +pub const SEC_IMAGE_NO_EXECUTE: ::DWORD = (SEC_IMAGE | SEC_NOCACHE); +pub const MEM_IMAGE: ::DWORD = SEC_IMAGE; +pub const WRITE_WATCH_FLAG_RESET: ::DWORD = 0x01; +pub const MEM_UNMAP_WITH_TRANSIENT_BOOST: ::DWORD = 0x01; +//12217 +pub const FILE_READ_DATA: ::DWORD = 0x0001; +pub const FILE_LIST_DIRECTORY: ::DWORD = 0x0001; +pub const FILE_WRITE_DATA: ::DWORD = 0x0002; +pub const FILE_ADD_FILE: ::DWORD = 0x0002; +pub const FILE_APPEND_DATA: ::DWORD = 0x0004; +pub const FILE_ADD_SUBDIRECTORY: ::DWORD = 0x0004; +pub const FILE_CREATE_PIPE_INSTANCE: ::DWORD = 0x0004; +pub const FILE_READ_EA: ::DWORD = 0x0008; +pub const FILE_WRITE_EA: ::DWORD = 0x0010; +pub const FILE_EXECUTE: ::DWORD = 0x0020; +pub const FILE_TRAVERSE: ::DWORD = 0x0020; +pub const FILE_DELETE_CHILD: ::DWORD = 0x0040; +pub const FILE_READ_ATTRIBUTES: ::DWORD = 0x0080; +pub const FILE_WRITE_ATTRIBUTES: ::DWORD = 0x0100; +pub const FILE_ALL_ACCESS: ::DWORD = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF; +pub const FILE_GENERIC_READ: ::DWORD = STANDARD_RIGHTS_READ | FILE_READ_DATA + | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE; +pub const FILE_GENERIC_WRITE: ::DWORD = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA + | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE; +pub const FILE_GENERIC_EXECUTE: ::DWORD = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES + | FILE_EXECUTE | SYNCHRONIZE; +pub const FILE_SHARE_READ: ::DWORD = 0x00000001; +pub const FILE_SHARE_WRITE: ::DWORD = 0x00000002; +pub const FILE_SHARE_DELETE: ::DWORD = 0x00000004; +pub const FILE_ATTRIBUTE_READONLY: ::DWORD = 0x00000001; +pub const FILE_ATTRIBUTE_HIDDEN: ::DWORD = 0x00000002; +pub const FILE_ATTRIBUTE_SYSTEM: ::DWORD = 0x00000004; +pub const FILE_ATTRIBUTE_DIRECTORY: ::DWORD = 0x00000010; +pub const FILE_ATTRIBUTE_ARCHIVE: ::DWORD = 0x00000020; +pub const FILE_ATTRIBUTE_DEVICE: ::DWORD = 0x00000040; +pub const FILE_ATTRIBUTE_NORMAL: ::DWORD = 0x00000080; +pub const FILE_ATTRIBUTE_TEMPORARY: ::DWORD = 0x00000100; +pub const FILE_ATTRIBUTE_SPARSE_FILE: ::DWORD = 0x00000200; +pub const FILE_ATTRIBUTE_REPARSE_POINT: ::DWORD = 0x00000400; +pub const FILE_ATTRIBUTE_COMPRESSED: ::DWORD = 0x00000800; +pub const FILE_ATTRIBUTE_OFFLINE: ::DWORD = 0x00001000; +pub const FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: ::DWORD = 0x00002000; +pub const FILE_ATTRIBUTE_ENCRYPTED: ::DWORD = 0x00004000; +pub const FILE_ATTRIBUTE_INTEGRITY_STREAM: ::DWORD = 0x00008000; +pub const FILE_ATTRIBUTE_VIRTUAL: ::DWORD = 0x00010000; +pub const FILE_ATTRIBUTE_NO_SCRUB_DATA: ::DWORD = 0x00020000; +pub const FILE_ATTRIBUTE_EA: ::DWORD = 0x00040000; +pub const FILE_NOTIFY_CHANGE_FILE_NAME: ::DWORD = 0x00000001; +pub const FILE_NOTIFY_CHANGE_DIR_NAME: ::DWORD = 0x00000002; +pub const FILE_NOTIFY_CHANGE_ATTRIBUTES: ::DWORD = 0x00000004; +pub const FILE_NOTIFY_CHANGE_SIZE: ::DWORD = 0x00000008; +pub const FILE_NOTIFY_CHANGE_LAST_WRITE: ::DWORD = 0x00000010; +pub const FILE_NOTIFY_CHANGE_LAST_ACCESS: ::DWORD = 0x00000020; +pub const FILE_NOTIFY_CHANGE_CREATION: ::DWORD = 0x00000040; +pub const FILE_NOTIFY_CHANGE_SECURITY: ::DWORD = 0x00000100; +pub const FILE_ACTION_ADDED: ::DWORD = 0x00000001; +pub const FILE_ACTION_REMOVED: ::DWORD = 0x00000002; +pub const FILE_ACTION_MODIFIED: ::DWORD = 0x00000003; +pub const FILE_ACTION_RENAMED_OLD_NAME: ::DWORD = 0x00000004; +pub const FILE_ACTION_RENAMED_NEW_NAME: ::DWORD = 0x00000005; +pub const MAILSLOT_NO_MESSAGE: ::DWORD = 0xFFFFFFFF; +pub const MAILSLOT_WAIT_FOREVER: ::DWORD = 0xFFFFFFFF; +pub const FILE_CASE_SENSITIVE_SEARCH: ::DWORD = 0x00000001; +pub const FILE_CASE_PRESERVED_NAMES: ::DWORD = 0x00000002; +pub const FILE_UNICODE_ON_DISK: ::DWORD = 0x00000004; +pub const FILE_PERSISTENT_ACLS: ::DWORD = 0x00000008; +pub const FILE_FILE_COMPRESSION: ::DWORD = 0x00000010; +pub const FILE_VOLUME_QUOTAS: ::DWORD = 0x00000020; +pub const FILE_SUPPORTS_SPARSE_FILES: ::DWORD = 0x00000040; +pub const FILE_SUPPORTS_REPARSE_POINTS: ::DWORD = 0x00000080; +pub const FILE_SUPPORTS_REMOTE_STORAGE: ::DWORD = 0x00000100; +pub const FILE_VOLUME_IS_COMPRESSED: ::DWORD = 0x00008000; +pub const FILE_SUPPORTS_OBJECT_IDS: ::DWORD = 0x00010000; +pub const FILE_SUPPORTS_ENCRYPTION: ::DWORD = 0x00020000; +pub const FILE_NAMED_STREAMS: ::DWORD = 0x00040000; +pub const FILE_READ_ONLY_VOLUME: ::DWORD = 0x00080000; +pub const FILE_SEQUENTIAL_WRITE_ONCE: ::DWORD = 0x00100000; +pub const FILE_SUPPORTS_TRANSACTIONS: ::DWORD = 0x00200000; +pub const FILE_SUPPORTS_HARD_LINKS: ::DWORD = 0x00400000; +pub const FILE_SUPPORTS_EXTENDED_ATTRIBUTES: ::DWORD = 0x00800000; +pub const FILE_SUPPORTS_OPEN_BY_FILE_ID: ::DWORD = 0x01000000; +pub const FILE_SUPPORTS_USN_JOURNAL: ::DWORD = 0x02000000; +pub const FILE_SUPPORTS_INTEGRITY_STREAMS: ::DWORD = 0x04000000; +pub const FILE_INVALID_FILE_ID: ::LONGLONG = -1; +STRUCT!{struct FILE_ID_128 { + Identifier: [::BYTE; 16], +}} +pub type PFILE_ID_128 = *mut FILE_ID_128; +STRUCT!{struct FILE_NOTIFY_INFORMATION { + NextEntryOffset: ::DWORD, + Action: ::DWORD, + FileNameLength: ::DWORD, + FileName: [::WCHAR; 0], +}} +STRUCT!{struct FILE_SEGMENT_ELEMENT { + Buffer: ::PVOID64, + Alignment: ::ULONGLONG, +}} +pub type PFILE_SEGMENT_ELEMENT = *mut FILE_SEGMENT_ELEMENT; +//12475 +pub const IO_REPARSE_TAG_MOUNT_POINT: ::DWORD = 0xA0000003; +pub const IO_REPARSE_TAG_HSM: ::DWORD = 0xC0000004; +pub const IO_REPARSE_TAG_HSM2: ::DWORD = 0x80000006; +pub const IO_REPARSE_TAG_SIS: ::DWORD = 0x80000007; +pub const IO_REPARSE_TAG_WIM: ::DWORD = 0x80000008; +pub const IO_REPARSE_TAG_CSV: ::DWORD = 0x80000009; +pub const IO_REPARSE_TAG_DFS: ::DWORD = 0x8000000A; +pub const IO_REPARSE_TAG_SYMLINK: ::DWORD = 0xA000000C; +pub const IO_REPARSE_TAG_DFSR: ::DWORD = 0x80000012; +pub const IO_REPARSE_TAG_DEDUP: ::DWORD = 0x80000013; +pub const IO_REPARSE_TAG_NFS: ::DWORD = 0x80000014; +pub const IO_REPARSE_TAG_FILE_PLACEHOLDER: ::DWORD = 0x80000015; +pub const IO_REPARSE_TAG_WOF: ::DWORD = 0x80000017; +//12788 +pub const DUPLICATE_CLOSE_SOURCE: ::DWORD = 0x00000001; +pub const DUPLICATE_SAME_ACCESS: ::DWORD = 0x00000002; +//14708 +STRUCT!{struct PROCESSOR_POWER_POLICY_INFO { + TimeCheck: ::DWORD, + DemoteLimit: ::DWORD, + PromoteLimit: ::DWORD, + DemotePercent: ::BYTE, + PromotePercent: ::BYTE, + Spare: [::BYTE; 2], + Reserved: ::DWORD, +}} +BITFIELD!(PROCESSOR_POWER_POLICY_INFO Reserved: ::DWORD [ + AllowDemotion set_AllowDemotion[0..1], + AllowPromotion set_AllowPromotion[1..2], +]); +pub type PPROCESSOR_POWER_POLICY_INFO = *mut PROCESSOR_POWER_POLICY_INFO; +//15000 +STRUCT!{struct IMAGE_FILE_HEADER { + Machine: ::WORD, + NumberOfSections: ::WORD, + TimeDateStamp: ::DWORD, + PointerToSymbolTable: ::DWORD, + NumberOfSymbols: ::DWORD, + SizeOfOptionalHeader: ::WORD, + Characteristics: ::WORD, +}} +pub type PIMAGE_FILE_HEADER = *mut IMAGE_FILE_HEADER; +pub const IMAGE_SIZEOF_FILE_HEADER: usize = 20; +pub const IMAGE_FILE_RELOCS_STRIPPED: ::WORD = 0x0001; +pub const IMAGE_FILE_EXECUTABLE_IMAGE: ::WORD = 0x0002; +pub const IMAGE_FILE_LINE_NUMS_STRIPPED: ::WORD = 0x0004; +pub const IMAGE_FILE_LOCAL_SYMS_STRIPPED: ::WORD = 0x0008; +pub const IMAGE_FILE_AGGRESIVE_WS_TRIM: ::WORD = 0x0010; +pub const IMAGE_FILE_LARGE_ADDRESS_AWARE: ::WORD = 0x0020; +pub const IMAGE_FILE_BYTES_REVERSED_LO: ::WORD = 0x0080; +pub const IMAGE_FILE_32BIT_MACHINE: ::WORD = 0x0100; +pub const IMAGE_FILE_DEBUG_STRIPPED: ::WORD = 0x0200; +pub const IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP: ::WORD = 0x0400; +pub const IMAGE_FILE_NET_RUN_FROM_SWAP: ::WORD = 0x0800; +pub const IMAGE_FILE_SYSTEM: ::WORD = 0x1000; +pub const IMAGE_FILE_DLL: ::WORD = 0x2000; +pub const IMAGE_FILE_UP_SYSTEM_ONLY: ::WORD = 0x4000; +pub const IMAGE_FILE_BYTES_REVERSED_HI: ::WORD = 0x8000; +pub const IMAGE_FILE_MACHINE_UNKNOWN: ::WORD = 0; +pub const IMAGE_FILE_MACHINE_I386: ::WORD = 0x014c; +pub const IMAGE_FILE_MACHINE_R3000: ::WORD = 0x0162; +pub const IMAGE_FILE_MACHINE_R4000: ::WORD = 0x0166; +pub const IMAGE_FILE_MACHINE_R10000: ::WORD = 0x0168; +pub const IMAGE_FILE_MACHINE_WCEMIPSV2: ::WORD = 0x0169; +pub const IMAGE_FILE_MACHINE_ALPHA: ::WORD = 0x0184; +pub const IMAGE_FILE_MACHINE_SH3: ::WORD = 0x01a2; +pub const IMAGE_FILE_MACHINE_SH3DSP: ::WORD = 0x01a3; +pub const IMAGE_FILE_MACHINE_SH3E: ::WORD = 0x01a4; +pub const IMAGE_FILE_MACHINE_SH4: ::WORD = 0x01a6; +pub const IMAGE_FILE_MACHINE_SH5: ::WORD = 0x01a8; +pub const IMAGE_FILE_MACHINE_ARM: ::WORD = 0x01c0; +pub const IMAGE_FILE_MACHINE_THUMB: ::WORD = 0x01c2; +pub const IMAGE_FILE_MACHINE_ARMNT: ::WORD = 0x01c4; +pub const IMAGE_FILE_MACHINE_AM33: ::WORD = 0x01d3; +pub const IMAGE_FILE_MACHINE_POWERPC: ::WORD = 0x01F0; +pub const IMAGE_FILE_MACHINE_POWERPCFP: ::WORD = 0x01f1; +pub const IMAGE_FILE_MACHINE_IA64: ::WORD = 0x0200; +pub const IMAGE_FILE_MACHINE_MIPS16: ::WORD = 0x0266; +pub const IMAGE_FILE_MACHINE_ALPHA64: ::WORD = 0x0284; +pub const IMAGE_FILE_MACHINE_MIPSFPU: ::WORD = 0x0366; +pub const IMAGE_FILE_MACHINE_MIPSFPU16: ::WORD = 0x0466; +pub const IMAGE_FILE_MACHINE_AXP64: ::WORD = IMAGE_FILE_MACHINE_ALPHA64; +pub const IMAGE_FILE_MACHINE_TRICORE: ::WORD = 0x0520; +pub const IMAGE_FILE_MACHINE_CEF: ::WORD = 0x0CEF; +pub const IMAGE_FILE_MACHINE_EBC: ::WORD = 0x0EBC; +pub const IMAGE_FILE_MACHINE_AMD64: ::WORD = 0x8664; +pub const IMAGE_FILE_MACHINE_M32R: ::WORD = 0x9041; +pub const IMAGE_FILE_MACHINE_CEE: ::WORD = 0xC0EE; +STRUCT!{struct IMAGE_DATA_DIRECTORY { + VirtualAddress: ::DWORD, + Size: ::DWORD, +}} +pub type PIMAGE_DATA_DIRECTORY = *mut IMAGE_DATA_DIRECTORY; +pub const IMAGE_NUMBEROF_DIRECTORY_ENTRIES: usize = 16; +STRUCT!{struct IMAGE_OPTIONAL_HEADER32 { + Magic: ::WORD, + MajorLinkerVersion: ::BYTE, + MinorLinkerVersion: ::BYTE, + SizeOfCode: ::DWORD, + SizeOfInitializedData: ::DWORD, + SizeOfUninitializedData: ::DWORD, + AddressOfEntryPoint: ::DWORD, + BaseOfCode: ::DWORD, + BaseOfData: ::DWORD, + ImageBase: ::DWORD, + SectionAlignment: ::DWORD, + FileAlignment: ::DWORD, + MajorOperatingSystemVersion: ::WORD, + MinorOperatingSystemVersion: ::WORD, + MajorImageVersion: ::WORD, + MinorImageVersion: ::WORD, + MajorSubsystemVersion: ::WORD, + MinorSubsystemVersion: ::WORD, + Win32VersionValue: ::DWORD, + SizeOfImage: ::DWORD, + SizeOfHeaders: ::DWORD, + CheckSum: ::DWORD, + Subsystem: ::WORD, + DllCharacteristics: ::WORD, + SizeOfStackReserve: ::DWORD, + SizeOfStackCommit: ::DWORD, + SizeOfHeapReserve: ::DWORD, + SizeOfHeapCommit: ::DWORD, + LoaderFlags: ::DWORD, + NumberOfRvaAndSizes: ::DWORD, + DataDirectory: [IMAGE_DATA_DIRECTORY; IMAGE_NUMBEROF_DIRECTORY_ENTRIES], +}} +pub type PIMAGE_OPTIONAL_HEADER32 = *mut IMAGE_OPTIONAL_HEADER32; +STRUCT!{struct IMAGE_ROM_OPTIONAL_HEADER { + Magic: ::WORD, + MajorLinkerVersion: ::BYTE, + MinorLinkerVersion: ::BYTE, + SizeOfCode: ::DWORD, + SizeOfInitializedData: ::DWORD, + SizeOfUninitializedData: ::DWORD, + AddressOfEntryPoint: ::DWORD, + BaseOfCode: ::DWORD, + BaseOfData: ::DWORD, + BaseOfBss: ::DWORD, + GprMask: ::DWORD, + CprMask: [::DWORD; 4], + GpValue: ::DWORD, +}} +pub type PIMAGE_ROM_OPTIONAL_HEADER = *mut IMAGE_ROM_OPTIONAL_HEADER; +STRUCT!{struct IMAGE_OPTIONAL_HEADER64 { + Magic: ::WORD, + MajorLinkerVersion: ::BYTE, + MinorLinkerVersion: ::BYTE, + SizeOfCode: ::DWORD, + SizeOfInitializedData: ::DWORD, + SizeOfUninitializedData: ::DWORD, + AddressOfEntryPoint: ::DWORD, + BaseOfCode: ::DWORD, + ImageBase: ::ULONGLONG, + SectionAlignment: ::DWORD, + FileAlignment: ::DWORD, + MajorOperatingSystemVersion: ::WORD, + MinorOperatingSystemVersion: ::WORD, + MajorImageVersion: ::WORD, + MinorImageVersion: ::WORD, + MajorSubsystemVersion: ::WORD, + MinorSubsystemVersion: ::WORD, + Win32VersionValue: ::DWORD, + SizeOfImage: ::DWORD, + SizeOfHeaders: ::DWORD, + CheckSum: ::DWORD, + Subsystem: ::WORD, + DllCharacteristics: ::WORD, + SizeOfStackReserve: ULONGLONG, + SizeOfStackCommit: ULONGLONG, + SizeOfHeapReserve: ULONGLONG, + SizeOfHeapCommit: ULONGLONG, + LoaderFlags: ::DWORD, + NumberOfRvaAndSizes: ::DWORD, + DataDirectory: [IMAGE_DATA_DIRECTORY; IMAGE_NUMBEROF_DIRECTORY_ENTRIES], +}} +pub type PIMAGE_OPTIONAL_HEADER64 = *mut IMAGE_OPTIONAL_HEADER64; +pub const IMAGE_NT_OPTIONAL_HDR32_MAGIC: ::WORD = 0x10b; +pub const IMAGE_NT_OPTIONAL_HDR64_MAGIC: ::WORD = 0x20b; +pub const IMAGE_ROM_OPTIONAL_HDR_MAGIC: ::WORD = 0x107; +#[cfg(target_arch = "x86_64")] +pub type IMAGE_OPTIONAL_HEADER = IMAGE_OPTIONAL_HEADER64; +#[cfg(target_arch = "x86_64")] +pub type PIMAGE_OPTIONAL_HEADER = PIMAGE_OPTIONAL_HEADER64; +#[cfg(target_arch = "x86")] +pub type IMAGE_OPTIONAL_HEADER = IMAGE_OPTIONAL_HEADER32; +#[cfg(target_arch = "x86")] +pub type PIMAGE_OPTIONAL_HEADER = PIMAGE_OPTIONAL_HEADER32; +STRUCT!{struct IMAGE_NT_HEADERS64 { + Signature: ::DWORD, + FileHeader: IMAGE_FILE_HEADER, + OptionalHeader: IMAGE_OPTIONAL_HEADER64, +}} +pub type PIMAGE_NT_HEADERS64 = *mut IMAGE_NT_HEADERS64; +STRUCT!{struct IMAGE_NT_HEADERS32 { + Signature: ::DWORD, + FileHeader: IMAGE_FILE_HEADER, + OptionalHeader: IMAGE_OPTIONAL_HEADER32, +}} +pub type PIMAGE_NT_HEADERS32 = *mut IMAGE_NT_HEADERS32; +STRUCT!{struct IMAGE_ROM_HEADERS { + FileHeader: IMAGE_FILE_HEADER, + OptionalHeader: IMAGE_ROM_OPTIONAL_HEADER, +}} +pub type PIMAGE_ROM_HEADERS = *mut IMAGE_ROM_HEADERS; +#[cfg(target_arch = "x86_64")] +pub type IMAGE_NT_HEADERS = IMAGE_NT_HEADERS64; +#[cfg(target_arch = "x86_64")] +pub type PIMAGE_NT_HEADERS = PIMAGE_NT_HEADERS64; +#[cfg(target_arch = "x86")] +pub type IMAGE_NT_HEADERS = IMAGE_NT_HEADERS32; +#[cfg(target_arch = "x86")] +pub type PIMAGE_NT_HEADERS = PIMAGE_NT_HEADERS32; +pub const IMAGE_SUBSYSTEM_UNKNOWN: ::WORD = 0; +pub const IMAGE_SUBSYSTEM_NATIVE: ::WORD = 1; +pub const IMAGE_SUBSYSTEM_WINDOWS_GUI: ::WORD = 2; +pub const IMAGE_SUBSYSTEM_WINDOWS_CUI: ::WORD = 3; +pub const IMAGE_SUBSYSTEM_OS2_CUI: ::WORD = 5; +pub const IMAGE_SUBSYSTEM_POSIX_CUI: ::WORD = 7; +pub const IMAGE_SUBSYSTEM_NATIVE_WINDOWS: ::WORD = 8; +pub const IMAGE_SUBSYSTEM_WINDOWS_CE_GUI: ::WORD = 9; +pub const IMAGE_SUBSYSTEM_EFI_APPLICATION: ::WORD = 10; +pub const IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER: ::WORD = 11; +pub const IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER: ::WORD = 12; +pub const IMAGE_SUBSYSTEM_EFI_ROM: ::WORD = 13; +pub const IMAGE_SUBSYSTEM_XBOX: ::WORD = 14; +pub const IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION: ::WORD = 16; +pub const IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA: ::WORD = 0x0020; +pub const IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE: ::WORD = 0x0040; +pub const IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY: ::WORD = 0x0080; +pub const IMAGE_DLLCHARACTERISTICS_NX_COMPAT: ::WORD = 0x0100; +pub const IMAGE_DLLCHARACTERISTICS_NO_ISOLATION: ::WORD = 0x0200; +pub const IMAGE_DLLCHARACTERISTICS_NO_SEH: ::WORD = 0x0400; +pub const IMAGE_DLLCHARACTERISTICS_NO_BIND: ::WORD = 0x0800; +pub const IMAGE_DLLCHARACTERISTICS_APPCONTAINER: ::WORD = 0x1000; +pub const IMAGE_DLLCHARACTERISTICS_WDM_DRIVER: ::WORD = 0x2000; +pub const IMAGE_DLLCHARACTERISTICS_GUARD_CF: ::WORD = 0x4000; +pub const IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE: ::WORD = 0x8000; +pub const IMAGE_DIRECTORY_ENTRY_EXPORT: ::WORD = 0; +pub const IMAGE_DIRECTORY_ENTRY_IMPORT: ::WORD = 1; +pub const IMAGE_DIRECTORY_ENTRY_RESOURCE: ::WORD = 2; +pub const IMAGE_DIRECTORY_ENTRY_EXCEPTION: ::WORD = 3; +pub const IMAGE_DIRECTORY_ENTRY_SECURITY: ::WORD = 4; +pub const IMAGE_DIRECTORY_ENTRY_BASERELOC: ::WORD = 5; +pub const IMAGE_DIRECTORY_ENTRY_DEBUG: ::WORD = 6; +pub const IMAGE_DIRECTORY_ENTRY_ARCHITECTURE: ::WORD = 7; +pub const IMAGE_DIRECTORY_ENTRY_GLOBALPTR: ::WORD = 8; +pub const IMAGE_DIRECTORY_ENTRY_TLS: ::WORD = 9; +pub const IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG: ::WORD = 10; +pub const IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT: ::WORD = 11; +pub const IMAGE_DIRECTORY_ENTRY_IAT: ::WORD = 12; +pub const IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT: ::WORD = 13; +pub const IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR: ::WORD = 14; +STRUCT!{struct ANON_OBJECT_HEADER { + Sig1: ::WORD, + Sig2: ::WORD, + Version: ::WORD, + Machine: ::WORD, + TimeDateStamp: ::DWORD, + ClassID: ::CLSID, + SizeOfData: ::DWORD, +}} +STRUCT!{struct ANON_OBJECT_HEADER_V2 { + Sig1: ::WORD, + Sig2: ::WORD, + Version: ::WORD, + Machine: ::WORD, + TimeDateStamp: ::DWORD, + ClassID: ::CLSID, + SizeOfData: ::DWORD, + Flags: ::DWORD, + MetaDataSize: ::DWORD, + MetaDataOffset: ::DWORD, +}} +STRUCT!{struct ANON_OBJECT_HEADER_BIGOBJ { + Sig1: ::WORD, + Sig2: ::WORD, + Version: ::WORD, + Machine: ::WORD, + TimeDateStamp: ::DWORD, + ClassID: ::CLSID, + SizeOfData: ::DWORD, + Flags: ::DWORD, + MetaDataSize: ::DWORD, + MetaDataOffset: ::DWORD, + NumberOfSections: ::DWORD, + PointerToSymbolTable: ::DWORD, + NumberOfSymbols: ::DWORD, +}} +pub const IMAGE_SIZEOF_SHORT_NAME: usize = 8; +STRUCT!{struct IMAGE_SECTION_HEADER { + Name: [::BYTE; IMAGE_SIZEOF_SHORT_NAME], + PhysicalAddressOrVirtualSize: ::DWORD, + VirtualAddress: ::DWORD, + SizeOfRawData: ::DWORD, + PointerToRawData: ::DWORD, + PointerToRelocations: ::DWORD, + PointerToLinenumbers: ::DWORD, + NumberOfRelocations: ::WORD, + NumberOfLinenumbers: ::WORD, + Characteristics: ::DWORD, +}} +pub type PIMAGE_SECTION_HEADER = *mut IMAGE_SECTION_HEADER; +pub const IMAGE_SIZEOF_SECTION_HEADER: usize = 40; +pub const IMAGE_SCN_TYPE_NO_PAD: ::DWORD = 0x00000008; +pub const IMAGE_SCN_CNT_CODE: ::DWORD = 0x00000020; +pub const IMAGE_SCN_CNT_INITIALIZED_DATA: ::DWORD = 0x00000040; +pub const IMAGE_SCN_CNT_UNINITIALIZED_DATA: ::DWORD = 0x00000080; +pub const IMAGE_SCN_LNK_OTHER: ::DWORD = 0x00000100; +pub const IMAGE_SCN_LNK_INFO: ::DWORD = 0x00000200; +pub const IMAGE_SCN_LNK_REMOVE: ::DWORD = 0x00000800; +pub const IMAGE_SCN_LNK_COMDAT: ::DWORD = 0x00001000; +pub const IMAGE_SCN_NO_DEFER_SPEC_EXC: ::DWORD = 0x00004000; +pub const IMAGE_SCN_GPREL: ::DWORD = 0x00008000; +pub const IMAGE_SCN_MEM_FARDATA: ::DWORD = 0x00008000; +pub const IMAGE_SCN_MEM_PURGEABLE: ::DWORD = 0x00020000; +pub const IMAGE_SCN_MEM_16BIT: ::DWORD = 0x00020000; +pub const IMAGE_SCN_MEM_LOCKED: ::DWORD = 0x00040000; +pub const IMAGE_SCN_MEM_PRELOAD: ::DWORD = 0x00080000; +pub const IMAGE_SCN_ALIGN_1BYTES: ::DWORD = 0x00100000; +pub const IMAGE_SCN_ALIGN_2BYTES: ::DWORD = 0x00200000; +pub const IMAGE_SCN_ALIGN_4BYTES: ::DWORD = 0x00300000; +pub const IMAGE_SCN_ALIGN_8BYTES: ::DWORD = 0x00400000; +pub const IMAGE_SCN_ALIGN_16BYTES: ::DWORD = 0x00500000; +pub const IMAGE_SCN_ALIGN_32BYTES: ::DWORD = 0x00600000; +pub const IMAGE_SCN_ALIGN_64BYTES: ::DWORD = 0x00700000; +pub const IMAGE_SCN_ALIGN_128BYTES: ::DWORD = 0x00800000; +pub const IMAGE_SCN_ALIGN_256BYTES: ::DWORD = 0x00900000; +pub const IMAGE_SCN_ALIGN_512BYTES: ::DWORD = 0x00A00000; +pub const IMAGE_SCN_ALIGN_1024BYTES: ::DWORD = 0x00B00000; +pub const IMAGE_SCN_ALIGN_2048BYTES: ::DWORD = 0x00C00000; +pub const IMAGE_SCN_ALIGN_4096BYTES: ::DWORD = 0x00D00000; +pub const IMAGE_SCN_ALIGN_8192BYTES: ::DWORD = 0x00E00000; +pub const IMAGE_SCN_ALIGN_MASK: ::DWORD = 0x00F00000; +pub const IMAGE_SCN_LNK_NRELOC_OVFL: ::DWORD = 0x01000000; +pub const IMAGE_SCN_MEM_DISCARDABLE: ::DWORD = 0x02000000; +pub const IMAGE_SCN_MEM_NOT_CACHED: ::DWORD = 0x04000000; +pub const IMAGE_SCN_MEM_NOT_PAGED: ::DWORD = 0x08000000; +pub const IMAGE_SCN_MEM_SHARED: ::DWORD = 0x10000000; +pub const IMAGE_SCN_MEM_EXECUTE: ::DWORD = 0x20000000; +pub const IMAGE_SCN_MEM_READ: ::DWORD = 0x40000000; +pub const IMAGE_SCN_MEM_WRITE: ::DWORD = 0x80000000; +pub const IMAGE_SCN_SCALE_INDEX: ::DWORD = 0x00000001; +//16590 +STRUCT!{struct IMAGE_DEBUG_DIRECTORY { + Characteristics: ::DWORD, + TimeDateStamp: ::DWORD, + MajorVersion: ::WORD, + MinorVersion: ::WORD, + Type: ::DWORD, + SizeOfData: ::DWORD, + AddressOfRawData: ::DWORD, + PointerToRawData: ::DWORD, +}} +pub type PIMAGE_DEBUG_DIRECTORY = *mut IMAGE_DEBUG_DIRECTORY; +pub const IMAGE_DEBUG_TYPE_UNKNOWN: ::DWORD = 0; +pub const IMAGE_DEBUG_TYPE_COFF: ::DWORD = 1; +pub const IMAGE_DEBUG_TYPE_CODEVIEW: ::DWORD = 2; +pub const IMAGE_DEBUG_TYPE_FPO: ::DWORD = 3; +pub const IMAGE_DEBUG_TYPE_MISC: ::DWORD = 4; +pub const IMAGE_DEBUG_TYPE_EXCEPTION: ::DWORD = 5; +pub const IMAGE_DEBUG_TYPE_FIXUP: ::DWORD = 6; +pub const IMAGE_DEBUG_TYPE_OMAP_TO_SRC: ::DWORD = 7; +pub const IMAGE_DEBUG_TYPE_OMAP_FROM_SRC: ::DWORD = 8; +pub const IMAGE_DEBUG_TYPE_BORLAND: ::DWORD = 9; +pub const IMAGE_DEBUG_TYPE_RESERVED10: ::DWORD = 10; +pub const IMAGE_DEBUG_TYPE_CLSID: ::DWORD = 11; +STRUCT!{struct IMAGE_COFF_SYMBOLS_HEADER { + NumberOfSymbols: ::DWORD, + LvaToFirstSymbol: ::DWORD, + NumberOfLinenumbers: ::DWORD, + LvaToFirstLinenumber: ::DWORD, + RvaToFirstByteOfCode: ::DWORD, + RvaToLastByteOfCode: ::DWORD, + RvaToFirstByteOfData: ::DWORD, + RvaToLastByteOfData: ::DWORD, +}} +pub type PIMAGE_COFF_SYMBOLS_HEADER = *mut IMAGE_COFF_SYMBOLS_HEADER; +STRUCT!{struct IMAGE_RUNTIME_FUNCTION_ENTRY { + BeginAddress: ::DWORD, + EndAddress: ::DWORD, + UnwindInfoAddress: ::DWORD, +}} +UNION!(IMAGE_RUNTIME_FUNCTION_ENTRY, UnwindInfoAddress, UnwindData, UnwindData_mut, ::DWORD); +pub type PIMAGE_RUNTIME_FUNCTION_ENTRY = *mut IMAGE_RUNTIME_FUNCTION_ENTRY; +pub const FRAME_FPO: ::WORD = 0; +pub const FRAME_TRAP: ::WORD = 1; +pub const FRAME_TSS: ::WORD = 2; +pub const FRAME_NONFPO: ::WORD = 3; +STRUCT!{struct FPO_DATA { + ulOffStart: ::DWORD, + cbProcSize: ::DWORD, + cdwLocals: ::DWORD, + cdwParams: ::WORD, + bitfield: ::WORD, +}} +pub type PFPO_DATA = *mut FPO_DATA; +pub const SIZEOF_RFPO_DATA: usize = 16; +pub const IMAGE_DEBUG_MISC_EXENAME: ::DWORD = 1; +STRUCT!{struct IMAGE_DEBUG_MISC { + DataType: ::DWORD, + Length: ::DWORD, + Unicode: ::BOOLEAN, + Reserved: [::BYTE; 3], + Data: [::BYTE; 0], +}} +pub type PIMAGE_DEBUG_MISC = *mut IMAGE_DEBUG_MISC; +STRUCT!{struct IMAGE_FUNCTION_ENTRY { + StartingAddress: ::DWORD, + EndingAddress: ::DWORD, + EndOfPrologue: ::DWORD, +}} +pub type PIMAGE_FUNCTION_ENTRY = *mut IMAGE_FUNCTION_ENTRY; +STRUCT!{struct IMAGE_FUNCTION_ENTRY64 { + StartingAddress: ::ULONGLONG, + EndingAddress: ::ULONGLONG, + EndOfPrologueOrUnwindInfoAddress: ::ULONGLONG, +}} +pub type PIMAGE_FUNCTION_ENTRY64 = *mut IMAGE_FUNCTION_ENTRY64; +//18245 +pub const HEAP_NO_SERIALIZE: ::DWORD = 0x00000001; +pub const HEAP_GROWABLE: ::DWORD = 0x00000002; +pub const HEAP_GENERATE_EXCEPTIONS: ::DWORD = 0x00000004; +pub const HEAP_ZERO_MEMORY: ::DWORD = 0x00000008; +pub const HEAP_REALLOC_IN_PLACE_ONLY: ::DWORD = 0x00000010; +pub const HEAP_TAIL_CHECKING_ENABLED: ::DWORD = 0x00000020; +pub const HEAP_FREE_CHECKING_ENABLED: ::DWORD = 0x00000040; +pub const HEAP_DISABLE_COALESCE_ON_FREE: ::DWORD = 0x00000080; +pub const HEAP_CREATE_ALIGN_16: ::DWORD = 0x00010000; +pub const HEAP_CREATE_ENABLE_TRACING: ::DWORD = 0x00020000; +pub const HEAP_CREATE_ENABLE_EXECUTE: ::DWORD = 0x00040000; +pub const HEAP_MAXIMUM_TAG: ::DWORD = 0x0FFF; +pub const HEAP_PSEUDO_TAG_FLAG: ::DWORD = 0x8000; +pub const HEAP_TAG_SHIFT: ::DWORD = 18; +//18145 +STRUCT!{struct RTL_CRITICAL_SECTION_DEBUG { + Type: ::WORD, + CreatorBackTraceIndex: ::WORD, + CriticalSection: *mut ::RTL_CRITICAL_SECTION, + ProcessLocksList: ::LIST_ENTRY, + EntryCount: ::DWORD, + ContentionCount: ::DWORD, + Flags: ::DWORD, + CreatorBackTraceIndexHigh: ::WORD, + SpareWORD: ::WORD, +}} +pub type PRTL_CRITICAL_SECTION_DEBUG = *mut RTL_CRITICAL_SECTION_DEBUG; +pub type RTL_RESOURCE_DEBUG = RTL_CRITICAL_SECTION_DEBUG; +pub type PRTL_RESOURCE_DEBUG = *mut RTL_CRITICAL_SECTION_DEBUG; +pub const RTL_CRITSECT_TYPE: ::WORD = 0; +pub const RTL_RESOURCE_TYPE: ::WORD = 1; +pub const RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO: ::ULONG_PTR = 0x01000000; +pub const RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN: ::ULONG_PTR = 0x02000000; +pub const RTL_CRITICAL_SECTION_FLAG_STATIC_INIT: ::ULONG_PTR = 0x04000000; +pub const RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE: ::ULONG_PTR = 0x08000000; +pub const RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO: ::ULONG_PTR = 0x10000000; +pub const RTL_CRITICAL_SECTION_ALL_FLAG_BITS: ::ULONG_PTR = 0xFF000000; +pub const RTL_CRITICAL_SECTION_FLAG_RESERVED: ::ULONG_PTR = RTL_CRITICAL_SECTION_ALL_FLAG_BITS & !(RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO | RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN | RTL_CRITICAL_SECTION_FLAG_STATIC_INIT | RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE | RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO); +pub const RTL_CRITICAL_SECTION_DEBUG_FLAG_STATIC_INIT: ::DWORD = 0x00000001; +STRUCT!{struct RTL_CRITICAL_SECTION { + DebugInfo: ::PRTL_CRITICAL_SECTION_DEBUG, + LockCount: ::LONG, + RecursionCount: ::LONG, + OwningThread: ::HANDLE, + LockSemaphore: ::HANDLE, + SpinCount: ::ULONG_PTR, +}} +pub type PRTL_CRITICAL_SECTION = *mut RTL_CRITICAL_SECTION; +STRUCT!{struct RTL_SRWLOCK { + Ptr: ::PVOID, +}} +pub type PRTL_SRWLOCK = *mut RTL_SRWLOCK; +pub const RTL_SRWLOCK_INIT: RTL_SRWLOCK = RTL_SRWLOCK { Ptr: 0 as PVOID }; +STRUCT!{struct RTL_CONDITION_VARIABLE { + Ptr: ::PVOID, +}} +pub type PRTL_CONDITION_VARIABLE = *mut RTL_CONDITION_VARIABLE; +pub const RTL_CONDITION_VARIABLE_INIT: RTL_CONDITION_VARIABLE = RTL_CONDITION_VARIABLE { + Ptr: 0 as PVOID +}; +//18204 +pub type PAPCFUNC = Option<unsafe extern "system" fn(Parameter: ::ULONG_PTR)>; +pub type PVECTORED_EXCEPTION_HANDLER = Option<unsafe extern "system" fn( + ExceptionInfo: *mut EXCEPTION_POINTERS, +) -> ::LONG>; +ENUM!{enum HEAP_INFORMATION_CLASS { + HeapCompatibilityInformation = 0, + HeapEnableTerminationOnCorruption = 1, + HeapOptimizeResources = 3, +}} +//pub use self::HEAP_INFORMATION_CLASS::*; +pub const HEAP_OPTIMIZE_RESOURCES_CURRENT_VERSION: ::DWORD = 1; +STRUCT!{struct HEAP_OPTIMIZE_RESOURCES_INFORMATION { + Version: ::DWORD, + Flags: ::DWORD, +}} +pub type PHEAP_OPTIMIZE_RESOURCES_INFORMATION = *mut HEAP_OPTIMIZE_RESOURCES_INFORMATION; +pub const WT_EXECUTEDEFAULT: ::ULONG = 0x00000000; +pub const WT_EXECUTEINIOTHREAD: ::ULONG = 0x00000001; +pub const WT_EXECUTEINUITHREAD: ::ULONG = 0x00000002; +pub const WT_EXECUTEINWAITTHREAD: ::ULONG = 0x00000004; +pub const WT_EXECUTEONLYONCE: ::ULONG = 0x00000008; +pub const WT_EXECUTEINTIMERTHREAD: ::ULONG = 0x00000020; +pub const WT_EXECUTELONGFUNCTION: ::ULONG = 0x00000010; +pub const WT_EXECUTEINPERSISTENTIOTHREAD: ::ULONG = 0x00000040; +pub const WT_EXECUTEINPERSISTENTTHREAD: ::ULONG = 0x00000080; +pub const WT_TRANSFER_IMPERSONATION: ::ULONG = 0x00000100; +pub type WAITORTIMERCALLBACKFUNC = Option<unsafe extern "system" fn(::PVOID, ::BOOLEAN)>; +pub type WORKERCALLBACKFUNC = Option<unsafe extern "system" fn(::PVOID)>; +pub type APC_CALLBACK_FUNCTION = Option<unsafe extern "system" fn(::DWORD, ::PVOID, ::PVOID)>; +pub type WAITORTIMERCALLBACK = WAITORTIMERCALLBACKFUNC; +pub type PFLS_CALLBACK_FUNCTION = Option<unsafe extern "system" fn(lpFlsData: ::PVOID)>; +pub type PSECURE_MEMORY_CACHE_CALLBACK = Option<unsafe extern "system" fn( + Addr: ::PVOID, Range: ::SIZE_T, +) -> ::BOOLEAN>; +pub const WT_EXECUTEINLONGTHREAD: ::ULONG = 0x00000010; +pub const WT_EXECUTEDELETEWAIT: ::ULONG = 0x00000008; +//18570 +pub const KEY_QUERY_VALUE: ::REGSAM = 0x0001; +pub const KEY_SET_VALUE: ::REGSAM = 0x0002; +pub const KEY_CREATE_SUB_KEY: ::REGSAM = 0x0004; +pub const KEY_ENUMERATE_SUB_KEYS: ::REGSAM = 0x0008; +pub const KEY_NOTIFY: ::REGSAM = 0x0010; +pub const KEY_CREATE_LINK: ::REGSAM = 0x0020; +pub const KEY_WOW64_32KEY: ::REGSAM = 0x0200; +pub const KEY_WOW64_64KEY: ::REGSAM = 0x0100; +pub const KEY_WOW64_RES: ::REGSAM = 0x0300; +pub const KEY_READ: ::REGSAM = ( + STANDARD_RIGHTS_READ | + KEY_QUERY_VALUE | + KEY_ENUMERATE_SUB_KEYS | + KEY_NOTIFY + ) & (!SYNCHRONIZE); +pub const KEY_WRITE: ::REGSAM = (STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY) & (!SYNCHRONIZE); +pub const KEY_EXECUTE: ::REGSAM = KEY_READ & (!SYNCHRONIZE); +pub const KEY_ALL_ACCESS: ::REGSAM = ( + STANDARD_RIGHTS_ALL | + KEY_QUERY_VALUE | + KEY_SET_VALUE | + KEY_CREATE_SUB_KEY | + KEY_ENUMERATE_SUB_KEYS | + KEY_NOTIFY | + KEY_CREATE_LINK + ) & (!SYNCHRONIZE); +pub const REG_CREATED_NEW_KEY: ::DWORD = 0x00000001; +pub const REG_OPENED_EXISTING_KEY: ::DWORD = 0x00000002; +pub const REG_NOTIFY_CHANGE_NAME: ::DWORD = 0x00000001; +pub const REG_NOTIFY_CHANGE_ATTRIBUTES: ::DWORD = 0x00000002; +pub const REG_NOTIFY_CHANGE_LAST_SET: ::DWORD = 0x00000004; +pub const REG_NOTIFY_CHANGE_SECURITY: ::DWORD = 0x00000008; +pub const REG_LEGAL_CHANGE_FILTER: ::DWORD = REG_NOTIFY_CHANGE_NAME | + REG_NOTIFY_CHANGE_ATTRIBUTES | + REG_NOTIFY_CHANGE_LAST_SET | + REG_NOTIFY_CHANGE_SECURITY; +pub const REG_NOTIFY_THREAD_AGNOSTIC: ::DWORD = 0x10000000; //supported only on Windows 8 and later +pub const REG_OPTION_RESERVED: ::DWORD = 0x00000000; +pub const REG_OPTION_NON_VOLATILE: ::DWORD = 0x00000000; +pub const REG_OPTION_VOLATILE: ::DWORD = 0x00000001; +pub const REG_OPTION_CREATE_LINK: ::DWORD = 0x00000002; +pub const REG_OPTION_BACKUP_RESTORE: ::DWORD = 0x00000004; +pub const REG_OPTION_OPEN_LINK: ::DWORD = 0x00000008; +pub const REG_NONE: ::DWORD = 0; +pub const REG_SZ: ::DWORD = 1; +pub const REG_EXPAND_SZ: ::DWORD = 2; +pub const REG_BINARY: ::DWORD = 3; +pub const REG_DWORD: ::DWORD = 4; +pub const REG_DWORD_LITTLE_ENDIAN: ::DWORD = 4; +pub const REG_DWORD_BIG_ENDIAN: ::DWORD = 5; +pub const REG_LINK: ::DWORD = 6; +pub const REG_MULTI_SZ: ::DWORD = 7; +pub const REG_RESOURCE_LIST: ::DWORD = 8; +pub const REG_FULL_RESOURCE_DESCRIPTOR: ::DWORD = 9; +pub const REG_RESOURCE_REQUIREMENTS_LIST: ::DWORD = 10; +pub const REG_QWORD: ::DWORD = 11; +pub const REG_QWORD_LITTLE_ENDIAN: ::DWORD = 11; +//18720 +pub const SERVICE_KERNEL_DRIVER: ::DWORD = 0x00000001; +pub const SERVICE_FILE_SYSTEM_DRIVER: ::DWORD = 0x00000002; +pub const SERVICE_ADAPTER: ::DWORD = 0x00000004; +pub const SERVICE_RECOGNIZER_DRIVER: ::DWORD = 0x00000008; +pub const SERVICE_DRIVER: ::DWORD = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER + | SERVICE_RECOGNIZER_DRIVER; +pub const SERVICE_WIN32_OWN_PROCESS: ::DWORD = 0x00000010; +pub const SERVICE_WIN32_SHARE_PROCESS: ::DWORD = 0x00000020; +pub const SERVICE_WIN32: ::DWORD = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS; +pub const SERVICE_INTERACTIVE_PROCESS: ::DWORD = 0x00000100; +pub const SERVICE_TYPE_ALL: ::DWORD = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER + | SERVICE_INTERACTIVE_PROCESS; +STRUCT!{struct TP_CALLBACK_INSTANCE { + dummy: *mut ::c_void, +}} +pub type PTP_CALLBACK_INSTANCE = *mut TP_CALLBACK_INSTANCE; +STRUCT!{struct TP_IO { + dummy: *mut ::c_void, +}} +pub type PTP_IO = *mut TP_IO; +STRUCT!{struct TP_POOL { + dummy: *mut ::c_void, +}} +pub type PTP_POOL = *mut TP_POOL; +STRUCT!{struct TP_CLEANUP_GROUP { + dummy: *mut ::c_void, +}} +pub type PTP_CLEANUP_GROUP = *mut TP_CLEANUP_GROUP; +STRUCT!{struct TP_TIMER { + dummy: *mut ::c_void, +}} +pub type PTP_TIMER = *mut TP_TIMER; +STRUCT!{struct TP_WAIT { + dummy: *mut ::c_void, +}} +pub type PTP_WAIT = *mut TP_WAIT; +STRUCT!{struct TP_WORK { + dummy: *mut ::c_void, +}} +pub type PTP_WORK = *mut TP_WORK; +STRUCT!{struct ACTIVATION_CONTEXT { + dummy: *mut ::c_void, +}} +ENUM!{enum TP_CALLBACK_PRIORITY { + TP_CALLBACK_PRIORITY_HIGH, + TP_CALLBACK_PRIORITY_NORMAL, + TP_CALLBACK_PRIORITY_LOW, + TP_CALLBACK_PRIORITY_INVALID, + TP_CALLBACK_PRIORITY_COUNT = 4, +}} +pub type PTP_CLEANUP_GROUP_CANCEL_CALLBACK = Option<unsafe extern "system" fn( + ObjectContext: ::PVOID, CleanupContext: ::PVOID, +)>; +pub type PTP_SIMPLE_CALLBACK = Option<unsafe extern "system" fn( + Instance: PTP_CALLBACK_INSTANCE, Context: ::PVOID, +)>; +pub type PTP_WORK_CALLBACK = Option<unsafe extern "system" fn( + Instance: PTP_CALLBACK_INSTANCE, Context: ::PVOID, Work: PTP_WORK, +)>; +pub type PTP_TIMER_CALLBACK = Option<unsafe extern "system" fn( + Instance: PTP_CALLBACK_INSTANCE, Context: ::PVOID, Timer: PTP_TIMER, +)>; +pub type TP_WAIT_RESULT = ::DWORD; +pub type PTP_WAIT_CALLBACK = Option<unsafe extern "system" fn( + Instance: PTP_CALLBACK_INSTANCE, Context: ::PVOID, Wait: PTP_WAIT, WaitResult: TP_WAIT_RESULT, +)>; +pub type TP_VERSION = ::DWORD; +pub type PTP_VERSION = *mut ::DWORD; +STRUCT!{struct TP_POOL_STACK_INFORMATION { + StackReserve: ::SIZE_T, + StackCommit: ::SIZE_T, +}} +pub type PTP_POOL_STACK_INFORMATION = *mut TP_POOL_STACK_INFORMATION; +STRUCT!{struct TP_CALLBACK_ENVIRON_V3_s { + BitFields: ::DWORD, +}} +BITFIELD!(TP_CALLBACK_ENVIRON_V3_s BitFields: ::DWORD [ + LongFunction set_LongFunction[0..1], + Persistent set_Persistent[1..2], + Private set_Private[2..32], +]); +STRUCT!{nodebug struct TP_CALLBACK_ENVIRON_V3 { + Version: TP_VERSION, + Pool: PTP_POOL, + CleanupGroup: PTP_CLEANUP_GROUP, + CleanupGroupCancelCallback: PTP_CLEANUP_GROUP_CANCEL_CALLBACK, + RaceDll: ::PVOID, + ActivationContext: *mut ACTIVATION_CONTEXT, + FinalizationCallback: PTP_SIMPLE_CALLBACK, + u: ::DWORD, + CallbackPriority: TP_CALLBACK_PRIORITY, + Size: ::DWORD, +}} +UNION!(TP_CALLBACK_ENVIRON_V3, u, Flags, Flags_mut, ::DWORD); +UNION!(TP_CALLBACK_ENVIRON_V3, u, s, s_mut, TP_CALLBACK_ENVIRON_V3_s); +pub type TP_CALLBACK_ENVIRON = TP_CALLBACK_ENVIRON_V3; +pub type PTP_CALLBACK_ENVIRON = *mut TP_CALLBACK_ENVIRON_V3; +STRUCT!{struct JOB_SET_ARRAY { + JobHandle: ::HANDLE, + MemberLevel: ::DWORD, + Flags: ::DWORD, +}} +pub type PJOB_SET_ARRAY = *mut JOB_SET_ARRAY; +STRUCT!{struct RTL_BARRIER { + Reserved1: ::DWORD, + Reserved2: ::DWORD, + Reserved3: [::ULONG_PTR; 2], + Reserved4: ::DWORD, + Reserved5: ::DWORD, +}} +pub type PRTL_BARRIER = *mut RTL_BARRIER; +STRUCT!{struct RTL_RUN_ONCE { + Ptr: ::PVOID, +}} +pub type PRTL_RUN_ONCE = *mut RTL_RUN_ONCE; +ENUM!{enum RTL_UMS_THREAD_INFO_CLASS { + UmsThreadInvalidInfoClass = 0, + UmsThreadUserContext, + UmsThreadPriority, // Reserved + UmsThreadAffinity, // Reserved + UmsThreadTeb, + UmsThreadIsSuspended, + UmsThreadIsTerminated, + UmsThreadMaxInfoClass, +}} +ENUM!{enum RTL_UMS_SCHEDULER_REASON { + UmsSchedulerStartup = 0, + UmsSchedulerThreadBlocked, + UmsSchedulerThreadYield, +}} +pub type PRTL_UMS_SCHEDULER_ENTRY_POINT = Option<unsafe extern "system" fn( + Reason: RTL_UMS_SCHEDULER_REASON, ActivationPayload: ::ULONG_PTR, SchedulerParam: ::PVOID, +)>; +ENUM!{enum FIRMWARE_TYPE { + FirmwareTypeUnknown, + FirmwareTypeBios, + FirmwareTypeUefi, + FirmwareTypeMax, +}} +pub type PFIRMWARE_TYPE = *mut FIRMWARE_TYPE; +ENUM!{enum LOGICAL_PROCESSOR_RELATIONSHIP { + RelationProcessorCore, + RelationNumaNode, + RelationCache, + RelationProcessorPackage, + RelationGroup, + RelationAll = 0xffff, +}} +ENUM!{enum PROCESSOR_CACHE_TYPE { + CacheUnified, + CacheInstruction, + CacheData, + CacheTrace, +}} +STRUCT!{struct CACHE_DESCRIPTOR { + Level: ::BYTE, + Associativity: ::BYTE, + LineSize: ::WORD, + Size: ::DWORD, + Type: PROCESSOR_CACHE_TYPE, +}} +pub type PCACHE_DESCRIPTOR = *mut CACHE_DESCRIPTOR; +STRUCT!{struct SYSTEM_LOGICAL_PROCESSOR_INFORMATION_ProcessorCore { + Flags: ::BYTE, +}} +STRUCT!{struct SYSTEM_LOGICAL_PROCESSOR_INFORMATION_NumaNode { + NodeNumber: ::DWORD, +}} +STRUCT!{struct SYSTEM_LOGICAL_PROCESSOR_INFORMATION { + ProcessorMask: ::ULONG_PTR, + Relationship: LOGICAL_PROCESSOR_RELATIONSHIP, + Reserved: [::ULONGLONG; 2], +}} +UNION!( + SYSTEM_LOGICAL_PROCESSOR_INFORMATION, Reserved, ProcessorCore, ProcessorCore_mut, + SYSTEM_LOGICAL_PROCESSOR_INFORMATION_ProcessorCore +); +UNION!( + SYSTEM_LOGICAL_PROCESSOR_INFORMATION, Reserved, NumaNode, NumaNode_mut, + SYSTEM_LOGICAL_PROCESSOR_INFORMATION_NumaNode +); +UNION!(SYSTEM_LOGICAL_PROCESSOR_INFORMATION, Reserved, Cache, Cache_mut, CACHE_DESCRIPTOR); +pub type PSYSTEM_LOGICAL_PROCESSOR_INFORMATION = *mut SYSTEM_LOGICAL_PROCESSOR_INFORMATION; +STRUCT!{struct SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION { + CycleTime: ::DWORD64, +}} +pub type PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION = *mut SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION; +ENUM!{enum HARDWARE_COUNTER_TYPE { + PMCCounter, + MaxHardwareCounterType, +}} +pub type PHARDWARE_COUNTER_TYPE = *mut HARDWARE_COUNTER_TYPE; +ENUM!{enum PROCESS_MITIGATION_POLICY { + ProcessDEPPolicy, + ProcessASLRPolicy, + ProcessDynamicCodePolicy, + ProcessStrictHandleCheckPolicy, + ProcessSystemCallDisablePolicy, + ProcessMitigationOptionsMask, + ProcessExtensionPointDisablePolicy, + ProcessReserved1Policy, + ProcessSignaturePolicy, + MaxProcessMitigationPolicy, +}} +STRUCT!{nodebug struct OSVERSIONINFOA { + dwOSVersionInfoSize: ::DWORD, + dwMajorVersion: ::DWORD, + dwMinorVersion: ::DWORD, + dwBuildNumber: ::DWORD, + dwPlatformId: ::DWORD, + szCSDVersion: [::CHAR; 128], +}} +pub type POSVERSIONINFOA = *mut OSVERSIONINFOA; +pub type LPOSVERSIONINFOA = *mut OSVERSIONINFOA; +STRUCT!{nodebug struct OSVERSIONINFOW { + dwOSVersionInfoSize: ::DWORD, + dwMajorVersion: ::DWORD, + dwMinorVersion: ::DWORD, + dwBuildNumber: ::DWORD, + dwPlatformId: ::DWORD, + szCSDVersion: [::WCHAR; 128], +}} +pub type POSVERSIONINFOW = *mut OSVERSIONINFOW; +pub type LPOSVERSIONINFOW = *mut OSVERSIONINFOW; +STRUCT!{nodebug struct OSVERSIONINFOEXA { + dwOSVersionInfoSize: ::DWORD, + dwMajorVersion: ::DWORD, + dwMinorVersion: ::DWORD, + dwBuildNumber: ::DWORD, + dwPlatformId: ::DWORD, + szCSDVersion: [::CHAR; 128], + wServicePackMajor: ::WORD, + wServicePackMinor: ::WORD, + wSuiteMask: ::WORD, + wProductType: ::BYTE, + wReserved: ::BYTE, +}} +pub type POSVERSIONINFOEXA = *mut OSVERSIONINFOEXA; +pub type LPOSVERSIONINFOEXA = *mut OSVERSIONINFOEXA; +STRUCT!{nodebug struct OSVERSIONINFOEXW { + dwOSVersionInfoSize: ::DWORD, + dwMajorVersion: ::DWORD, + dwMinorVersion: ::DWORD, + dwBuildNumber: ::DWORD, + dwPlatformId: ::DWORD, + szCSDVersion: [::WCHAR; 128], + wServicePackMajor: ::WORD, + wServicePackMinor: ::WORD, + wSuiteMask: ::WORD, + wProductType: ::BYTE, + wReserved: ::BYTE, +}} +pub type POSVERSIONINFOEXW = *mut OSVERSIONINFOEXW; +pub type LPOSVERSIONINFOEXW = *mut OSVERSIONINFOEXW; +STRUCT!{struct SLIST_ENTRY { + Next: *mut SLIST_ENTRY, +}} +pub type PSLIST_ENTRY = *mut SLIST_ENTRY; +STRUCT!{struct SLIST_HEADER_HeaderX64 { + BitFields1: ::ULONGLONG, + BitFields2: ::ULONGLONG, +}} +BITFIELD!(SLIST_HEADER_HeaderX64 BitFields1: ::ULONGLONG [ + Depth set_Depth[0..16], + Sequence set_Sequence[16..64], +]); +BITFIELD!(SLIST_HEADER_HeaderX64 BitFields2: ::ULONGLONG [ + Reserved set_Reserved[0..4], + NextEntry set_NextEntry[4..64], +]); +STRUCT!{struct SLIST_HEADER { + Alignment: ::ULONGLONG, + Region: ::ULONGLONG, +}} +UNION!(SLIST_HEADER, Alignment, HeaderX64, HeaderX64_mut, SLIST_HEADER_HeaderX64); +pub type PSLIST_HEADER = *mut SLIST_HEADER; +ENUM!{enum SYSTEM_POWER_STATE { + PowerSystemUnspecified = 0, + PowerSystemWorking = 1, + PowerSystemSleeping1 = 2, + PowerSystemSleeping2 = 3, + PowerSystemSleeping3 = 4, + PowerSystemHibernate = 5, + PowerSystemShutdown = 6, + PowerSystemMaximum = 7, +}} +pub type PSYSTEM_POWER_STATE = *mut SYSTEM_POWER_STATE; +ENUM!{enum POWER_ACTION { + PowerActionNone = 0, + PowerActionReserved, + PowerActionSleep, + PowerActionHibernate, + PowerActionShutdown, + PowerActionShutdownReset, + PowerActionShutdownOff, + PowerActionWarmEject, +}} +pub type PPOWER_ACTION = *mut POWER_ACTION; +ENUM!{enum DEVICE_POWER_STATE { + PowerDeviceUnspecified = 0, + PowerDeviceD0, + PowerDeviceD1, + PowerDeviceD2, + PowerDeviceD3, + PowerDeviceMaximum, +}} +pub type PDEVICE_POWER_STATE = *mut DEVICE_POWER_STATE; +ENUM!{enum MONITOR_DISPLAY_STATE { + PowerMonitorOff = 0, + PowerMonitorOn, + PowerMonitorDim, +}} +pub type PMONITOR_DISPLAY_STATE = *mut MONITOR_DISPLAY_STATE; +ENUM!{enum USER_ACTIVITY_PRESENCE { + PowerUserPresent = 0, + PowerUserNotPresent, + PowerUserInactive, + PowerUserMaximum, + //PowerUserInvalid = 3, +}} +pub type PUSER_ACTIVITY_PRESENCE = *mut USER_ACTIVITY_PRESENCE; +pub type EXECUTION_STATE = ::DWORD; +pub type PEXECUTION_STATE = *mut ::DWORD; +ENUM!{enum LATENCY_TIME { + LT_DONT_CARE, + LT_LOWEST_LATENCY, +}} +ENUM!{enum POWER_REQUEST_TYPE { + PowerRequestDisplayRequired, + PowerRequestSystemRequired, + PowerRequestAwayModeRequired, + PowerRequestExecutionRequired, +}} +pub type PPOWER_REQUEST_TYPE = *mut POWER_REQUEST_TYPE; +pub const MAX_HW_COUNTERS: usize = 16; +STRUCT!{struct HARDWARE_COUNTER_DATA { + Type: HARDWARE_COUNTER_TYPE, + Reserved: ::DWORD, + Value: ::DWORD64, +}} +pub type PHARDWARE_COUNTER_DATA = *mut HARDWARE_COUNTER_DATA; +STRUCT!{struct PERFORMANCE_DATA { + Size: ::WORD, + Version: ::BYTE, + HwCountersCount: ::BYTE, + ContextSwitchCount: ::DWORD, + WaitReasonBitMap: ::DWORD64, + CycleTime: ::DWORD64, + RetryCount: ::DWORD, + Reserved: ::DWORD, + HwCounters: [HARDWARE_COUNTER_DATA; MAX_HW_COUNTERS], +}} +pub type PPERFORMANCE_DATA = *mut PERFORMANCE_DATA; +STRUCT!{struct MEMORY_BASIC_INFORMATION { + BaseAddress: ::PVOID, + AllocationBase: ::PVOID, + AllocationProtect: ::DWORD, + RegionSize: ::SIZE_T, + State: ::DWORD, + Protect: ::DWORD, + Type: ::DWORD, +}} +pub type PMEMORY_BASIC_INFORMATION = *mut MEMORY_BASIC_INFORMATION; +STRUCT!{struct MEMORY_BASIC_INFORMATION32 { + BaseAddress: ::DWORD, + AllocationBase: ::DWORD, + AllocationProtect: ::DWORD, + RegionSize: ::DWORD, + State: ::DWORD, + Protect: ::DWORD, + Type: ::DWORD, +}} +pub type PMEMORY_BASIC_INFORMATION32 = *mut MEMORY_BASIC_INFORMATION32; +STRUCT!{struct MEMORY_BASIC_INFORMATION64 { // FIXME: align 16 + BaseAddress: ::ULONGLONG, + AllocationBase: ::ULONGLONG, + AllocationProtect: ::DWORD, + __alignment1: ::DWORD, + RegionSize: ::ULONGLONG, + State: ::DWORD, + Protect: ::DWORD, + Type: ::DWORD, + __alignment2: ::DWORD, +}} +pub type PMEMORY_BASIC_INFORMATION64 = *mut MEMORY_BASIC_INFORMATION64; +pub const WOW64_SIZE_OF_80387_REGISTERS: usize = 80; +pub const WOW64_MAXIMUM_SUPPORTED_EXTENSION: usize = 512; +STRUCT!{nodebug struct WOW64_FLOATING_SAVE_AREA { + ControlWord: ::DWORD, + StatusWord: ::DWORD, + TagWord: ::DWORD, + ErrorOffset: ::DWORD, + ErrorSelector: ::DWORD, + DataOffset: ::DWORD, + DataSelector: ::DWORD, + RegisterArea: [::BYTE; WOW64_SIZE_OF_80387_REGISTERS], + Cr0NpxState: ::DWORD, +}} +pub type PWOW64_FLOATING_SAVE_AREA = *mut WOW64_FLOATING_SAVE_AREA; +STRUCT!{nodebug struct WOW64_CONTEXT { + ContextFlags: ::DWORD, + Dr0: ::DWORD, + Dr1: ::DWORD, + Dr2: ::DWORD, + Dr3: ::DWORD, + Dr4: ::DWORD, + Dr5: ::DWORD, + Dr6: ::DWORD, + Dr7: ::DWORD, + FloatSave: WOW64_FLOATING_SAVE_AREA, + SegGs: ::DWORD, + SegFs: ::DWORD, + SegEs: ::DWORD, + SegDs: ::DWORD, + Edi: ::DWORD, + Esi: ::DWORD, + Ebx: ::DWORD, + Edx: ::DWORD, + Ecx: ::DWORD, + Eax: ::DWORD, + Ebp: ::DWORD, + Eip: ::DWORD, + SegCs: ::DWORD, + EFlags: ::DWORD, + Esp: ::DWORD, + SegSs: ::DWORD, + ExtendedRegisters: [::BYTE; WOW64_MAXIMUM_SUPPORTED_EXTENSION], +}} +pub type PWOW64_CONTEXT = *mut WOW64_CONTEXT; +STRUCT!{struct WOW64_LDT_ENTRY_Bytes { + BaseMid: ::BYTE, + Flags1: ::BYTE, + Flags2: ::BYTE, + BaseHi: ::BYTE, +}} +STRUCT!{struct WOW64_LDT_ENTRY_Bits { + BitFields: ::DWORD, +}} +BITFIELD!(WOW64_LDT_ENTRY_Bits BitFields: ::DWORD [ + BaseMid set_BaseMid[0..8], + Type set_Type[8..13], + Dpl set_Dpl[13..15], + Pres set_Pres[15..16], + LimitHi set_LimitHi[16..20], + Sys set_Sys[20..21], + Reserved_0 set_Reserved_0[21..22], + Default_Big set_Default_Big[22..23], + Granularity set_Granularity[23..24], + BaseHi set_BaseHi[24..32], +]); +STRUCT!{struct WOW64_LDT_ENTRY { + LimitLow: ::WORD, + BaseLow: ::WORD, + HighWord: ::DWORD, +}} +UNION!(WOW64_LDT_ENTRY, HighWord, Bytes, Bytes_mut, WOW64_LDT_ENTRY_Bytes); +UNION!(WOW64_LDT_ENTRY, HighWord, Bits, Bits_mut, WOW64_LDT_ENTRY_Bits); +pub type PWOW64_LDT_ENTRY = *mut WOW64_LDT_ENTRY; diff --git a/third_party/rust/winapi-0.2.8/src/winreg.rs b/third_party/rust/winapi-0.2.8/src/winreg.rs new file mode 100644 index 0000000000..91ef168ca9 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winreg.rs @@ -0,0 +1,41 @@ +// Copyright © 2016, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +use super::*; +pub type REGSAM = ACCESS_MASK; +STRUCT!{struct VALENTA { + ve_valuename: LPSTR, + ve_valuelen: DWORD, + ve_valueptr: DWORD_PTR, + ve_type: DWORD, +}} +pub type PVALENTA = *mut VALENTA; +STRUCT!{struct VALENTW { + ve_valuename: LPWSTR, + ve_valuelen: DWORD, + ve_valueptr: DWORD_PTR, + ve_type: DWORD, +}} +pub type PVALENTW = *mut VALENTW; +pub const HKEY_CLASSES_ROOT: HKEY = 0x80000000 as HKEY; +pub const HKEY_CURRENT_USER: HKEY = 0x80000001 as HKEY; +pub const HKEY_LOCAL_MACHINE: HKEY = 0x80000002 as HKEY; +pub const HKEY_USERS: HKEY = 0x80000003 as HKEY; +pub const HKEY_PERFORMANCE_DATA: HKEY = 0x80000004 as HKEY; +pub const HKEY_PERFORMANCE_TEXT: HKEY = 0x80000050 as HKEY; +pub const HKEY_PERFORMANCE_NLSTEXT: HKEY = 0x80000060 as HKEY; +pub const HKEY_CURRENT_CONFIG: HKEY = 0x80000005 as HKEY; +pub const HKEY_DYN_DATA: HKEY = 0x80000006 as HKEY; +pub const HKEY_CURRENT_USER_LOCAL_SETTINGS: HKEY = 0x80000007 as HKEY; +pub const REG_MUI_STRING_TRUNCATE: DWORD = 0x00000001; +pub const RRF_RT_REG_NONE: DWORD = 0x00000001; +pub const RRF_RT_REG_SZ: DWORD = 0x00000002; +pub const RRF_RT_REG_EXPAND_SZ: DWORD = 0x00000004; +pub const RRF_RT_REG_BINARY: DWORD = 0x00000008; +pub const RRF_RT_REG_DWORD: DWORD = 0x00000010; +pub const RRF_RT_REG_MULTI_SZ: DWORD = 0x00000020; +pub const RRF_RT_REG_QWORD: DWORD = 0x00000040; +pub const RRF_RT_DWORD: DWORD = RRF_RT_REG_BINARY|RRF_RT_REG_DWORD; +pub const RRF_RT_QWORD: DWORD = RRF_RT_REG_BINARY|RRF_RT_REG_QWORD; +pub const RRF_RT_ANY: DWORD = 0x0000ffff; +pub const RRF_NOEXPAND: DWORD = 0x10000000; +pub const RRF_ZEROONFAILURE: DWORD = 0x20000000; diff --git a/third_party/rust/winapi-0.2.8/src/winscard.rs b/third_party/rust/winapi-0.2.8/src/winscard.rs new file mode 100644 index 0000000000..7d20c2d999 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winscard.rs @@ -0,0 +1,269 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Data Protection API Prototypes and Definitions +// This header file provides the definitions and symbols necessary for an +// Application or Smart Card Service Provider to access the Smartcard Subsystem. +pub type LPCBYTE = *const ::BYTE; +pub type SCARDCONTEXT = ::ULONG_PTR; +pub type PSCARDCONTEXT = *mut SCARDCONTEXT; +pub type LPSCARDCONTEXT = *mut SCARDCONTEXT; +pub type SCARDHANDLE = ::ULONG_PTR; +pub type PSCARDHANDLE = *mut SCARDHANDLE; +pub type LPSCARDHANDLE = *mut SCARDHANDLE; +pub const SCARD_AUTOALLOCATE: ::DWORD = -1i32 as ::DWORD; +pub const SCARD_SCOPE_USER: ::DWORD = 0; +pub const SCARD_SCOPE_TERMINAL: ::DWORD = 1; +pub const SCARD_SCOPE_SYSTEM: ::DWORD = 2; +pub const SCARD_PROVIDER_PRIMARY: ::DWORD = 1; +pub const SCARD_PROVIDER_CSP: ::DWORD = 2; +pub const SCARD_PROVIDER_KSP: ::DWORD = 3; +STRUCT!{nodebug struct SCARD_READERSTATEA { + szReader: ::LPCSTR, + pvUserData: ::LPVOID, + dwCurrentState: ::DWORD, + dwEventState: ::DWORD, + cbAtr: ::DWORD, + rgbAtr: [::BYTE; 36], +}} +pub type PSCARD_READERSTATEA = *mut SCARD_READERSTATEA; +pub type LPSCARD_READERSTATEA = *mut SCARD_READERSTATEA; +STRUCT!{nodebug struct SCARD_READERSTATEW { + szReader: ::LPCWSTR, + pvUserData: ::LPVOID, + dwCurrentState: ::DWORD, + dwEventState: ::DWORD, + cbAtr: ::DWORD, + rgbAtr: [::BYTE; 36], +}} +pub type PSCARD_READERSTATEW = *mut SCARD_READERSTATEW; +pub type LPSCARD_READERSTATEW = *mut SCARD_READERSTATEW; +pub type SCARD_READERSTATE_A = SCARD_READERSTATEA; +pub type SCARD_READERSTATE_W = SCARD_READERSTATEW; +pub type PSCARD_READERSTATE_A = PSCARD_READERSTATEA; +pub type PSCARD_READERSTATE_W = PSCARD_READERSTATEW; +pub type LPSCARD_READERSTATE_A = LPSCARD_READERSTATEA; +pub type LPSCARD_READERSTATE_W = LPSCARD_READERSTATEW; +pub const SCARD_STATE_UNAWARE: ::DWORD = 0x00000000; +pub const SCARD_STATE_IGNORE: ::DWORD = 0x00000001; +pub const SCARD_STATE_CHANGED: ::DWORD = 0x00000002; +pub const SCARD_STATE_UNKNOWN: ::DWORD = 0x00000004; +pub const SCARD_STATE_UNAVAILABLE: ::DWORD = 0x00000008; +pub const SCARD_STATE_EMPTY: ::DWORD = 0x00000010; +pub const SCARD_STATE_PRESENT: ::DWORD = 0x00000020; +pub const SCARD_STATE_ATRMATCH: ::DWORD = 0x00000040; +pub const SCARD_STATE_EXCLUSIVE: ::DWORD = 0x00000080; +pub const SCARD_STATE_INUSE: ::DWORD = 0x00000100; +pub const SCARD_STATE_MUTE: ::DWORD = 0x00000200; +pub const SCARD_STATE_UNPOWERED: ::DWORD = 0x00000400; +STRUCT!{nodebug struct SCARD_ATRMASK { + cbAtr: ::DWORD, + rgbAtr: [::BYTE; 36], + rgbMask: [::BYTE; 36], +}} +pub type PSCARD_ATRMASK = *mut SCARD_ATRMASK; +pub type LPSCARD_ATRMASK = *mut SCARD_ATRMASK; +pub const SCARD_SHARE_EXCLUSIVE: ::DWORD = 1; +pub const SCARD_SHARE_SHARED: ::DWORD = 2; +pub const SCARD_SHARE_DIRECT: ::DWORD = 3; +pub const SCARD_LEAVE_CARD: ::DWORD = 0; +pub const SCARD_RESET_CARD: ::DWORD = 1; +pub const SCARD_UNPOWER_CARD: ::DWORD = 2; +pub const SCARD_EJECT_CARD: ::DWORD = 3; +pub const SC_DLG_MINIMAL_UI: ::DWORD = 0x01; +pub const SC_DLG_NO_UI: ::DWORD = 0x02; +pub const SC_DLG_FORCE_UI: ::DWORD = 0x04; +pub const SCERR_NOCARDNAME: ::DWORD = 0x4000; +pub const SCERR_NOGUIDS: ::DWORD = 0x8000; +pub type LPOCNCONNPROCA = Option<unsafe extern "system" fn( + SCARDCONTEXT, ::LPSTR, ::LPSTR, ::PVOID, +) -> SCARDHANDLE>; +pub type LPOCNCONNPROCW = Option<unsafe extern "system" fn( + SCARDCONTEXT, ::LPWSTR, ::LPWSTR, ::PVOID, +) -> SCARDHANDLE>; +pub type LPOCNCHKPROC = Option<unsafe extern "system" fn( + SCARDCONTEXT, SCARDHANDLE, ::PVOID, +) -> ::BOOL>; +pub type LPOCNDSCPROC = Option<unsafe extern "system" fn(SCARDCONTEXT, SCARDHANDLE, ::PVOID)>; +STRUCT!{nodebug struct OPENCARD_SEARCH_CRITERIAA { + dwStructSize: ::DWORD, + lpstrGroupNames: ::LPSTR, + nMaxGroupNames: ::DWORD, + rgguidInterfaces: ::LPCGUID, + cguidInterfaces: ::DWORD, + lpstrCardNames: ::LPSTR, + nMaxCardNames: ::DWORD, + lpfnCheck: LPOCNCHKPROC, + lpfnConnect: LPOCNCONNPROCA, + lpfnDisconnect: LPOCNDSCPROC, + pvUserData: ::LPVOID, + dwShareMode: ::DWORD, + dwPreferredProtocols: ::DWORD, +}} +pub type POPENCARD_SEARCH_CRITERIAA = *mut OPENCARD_SEARCH_CRITERIAA; +pub type LPOPENCARD_SEARCH_CRITERIAA = *mut OPENCARD_SEARCH_CRITERIAA; +STRUCT!{nodebug struct OPENCARD_SEARCH_CRITERIAW { + dwStructSize: ::DWORD, + lpstrGroupNames: ::LPWSTR, + nMaxGroupNames: ::DWORD, + rgguidInterfaces: ::LPCGUID, + cguidInterfaces: ::DWORD, + lpstrCardNames: ::LPWSTR, + nMaxCardNames: ::DWORD, + lpfnCheck: LPOCNCHKPROC, + lpfnConnect: LPOCNCONNPROCW, + lpfnDisconnect: LPOCNDSCPROC, + pvUserData: ::LPVOID, + dwShareMode: ::DWORD, + dwPreferredProtocols: ::DWORD, +}} +pub type POPENCARD_SEARCH_CRITERIAW = *mut OPENCARD_SEARCH_CRITERIAW; +pub type LPOPENCARD_SEARCH_CRITERIAW = *mut OPENCARD_SEARCH_CRITERIAW; +STRUCT!{nodebug struct OPENCARDNAME_EXA { + dwStructSize: ::DWORD, + hSCardContext: SCARDCONTEXT, + hwndOwner: ::HWND, + dwFlags: ::DWORD, + lpstrTitle: ::LPCSTR, + lpstrSearchDesc: ::LPCSTR, + hIcon: ::HICON, + pOpenCardSearchCriteria: POPENCARD_SEARCH_CRITERIAA, + lpfnConnect: LPOCNCONNPROCA, + pvUserData: ::LPVOID, + dwShareMode: ::DWORD, + dwPreferredProtocols: ::DWORD, + lpstrRdr: ::LPSTR, + nMaxRdr: ::DWORD, + lpstrCard: ::LPSTR, + nMaxCard: ::DWORD, + dwActiveProtocol: ::DWORD, + hCardHandle: SCARDHANDLE, +}} +pub type POPENCARDNAME_EXA = *mut OPENCARDNAME_EXA; +pub type LPOPENCARDNAME_EXA = *mut OPENCARDNAME_EXA; +STRUCT!{nodebug struct OPENCARDNAME_EXW { + dwStructSize: ::DWORD, + hSCardContext: SCARDCONTEXT, + hwndOwner: ::HWND, + dwFlags: ::DWORD, + lpstrTitle: ::LPCWSTR, + lpstrSearchDesc: ::LPCWSTR, + hIcon: ::HICON, + pOpenCardSearchCriteria: POPENCARD_SEARCH_CRITERIAW, + lpfnConnect: LPOCNCONNPROCW, + pvUserData: ::LPVOID, + dwShareMode: ::DWORD, + dwPreferredProtocols: ::DWORD, + lpstrRdr: ::LPWSTR, + nMaxRdr: ::DWORD, + lpstrCard: ::LPWSTR, + nMaxCard: ::DWORD, + dwActiveProtocol: ::DWORD, + hCardHandle: SCARDHANDLE, +}} +pub type POPENCARDNAME_EXW = *mut OPENCARDNAME_EXW; +pub type LPOPENCARDNAME_EXW = *mut OPENCARDNAME_EXW; +pub type OPENCARDNAMEA_EX = OPENCARDNAME_EXA; +pub type OPENCARDNAMEW_EX = OPENCARDNAME_EXW; +pub type POPENCARDNAMEA_EX = POPENCARDNAME_EXA; +pub type POPENCARDNAMEW_EX = POPENCARDNAME_EXW; +pub type LPOPENCARDNAMEA_EX = LPOPENCARDNAME_EXA; +pub type LPOPENCARDNAMEW_EX = LPOPENCARDNAME_EXW; +pub const SCARD_READER_SEL_AUTH_PACKAGE: ::DWORD = -629i32 as ::DWORD; +ENUM!{enum READER_SEL_REQUEST_MATCH_TYPE { + RSR_MATCH_TYPE_READER_AND_CONTAINER = 1, + RSR_MATCH_TYPE_SERIAL_NUMBER, + RSR_MATCH_TYPE_ALL_CARDS, +}} +STRUCT!{struct READER_SEL_REQUEST_ReaderAndContainerParameter { + cbReaderNameOffset: ::DWORD, + cchReaderNameLength: ::DWORD, + cbContainerNameOffset: ::DWORD, + cchContainerNameLength: ::DWORD, + dwDesiredCardModuleVersion: ::DWORD, + dwCspFlags: ::DWORD, +}} +STRUCT!{struct READER_SEL_REQUEST_SerialNumberParameter { + cbSerialNumberOffset: ::DWORD, + cbSerialNumberLength: ::DWORD, + dwDesiredCardModuleVersion: ::DWORD, +}} +STRUCT!{struct READER_SEL_REQUEST { + dwShareMode: ::DWORD, + dwPreferredProtocols: ::DWORD, + MatchType: READER_SEL_REQUEST_MATCH_TYPE, + ReaderAndContainerParameter: READER_SEL_REQUEST_ReaderAndContainerParameter, +}} +UNION!( + READER_SEL_REQUEST, ReaderAndContainerParameter, SerialNumberParameter, + SerialNumberParameter_mut, READER_SEL_REQUEST_SerialNumberParameter +); +pub type PREADER_SEL_REQUEST = *mut READER_SEL_REQUEST; +STRUCT!{struct READER_SEL_RESPONSE { + cbReaderNameOffset: ::DWORD, + cchReaderNameLength: ::DWORD, + cbCardNameOffset: ::DWORD, + cchCardNameLength: ::DWORD, +}} +pub type PREADER_SEL_RESPONSE = *mut READER_SEL_RESPONSE; +STRUCT!{nodebug struct OPENCARDNAMEA { + dwStructSize: ::DWORD, + hwndOwner: ::HWND, + hSCardContext: SCARDCONTEXT, + lpstrGroupNames: ::LPSTR, + nMaxGroupNames: ::DWORD, + lpstrCardNames: ::LPSTR, + nMaxCardNames: ::DWORD, + rgguidInterfaces: ::LPCGUID, + cguidInterfaces: ::DWORD, + lpstrRdr: ::LPSTR, + nMaxRdr: ::DWORD, + lpstrCard: ::LPSTR, + nMaxCard: ::DWORD, + lpstrTitle: ::LPCSTR, + dwFlags: ::DWORD, + pvUserData: ::LPVOID, + dwShareMode: ::DWORD, + dwPreferredProtocols: ::DWORD, + dwActiveProtocol: ::DWORD, + lpfnConnect: LPOCNCONNPROCA, + lpfnCheck: LPOCNCHKPROC, + lpfnDisconnect: LPOCNDSCPROC, + hCardHandle: SCARDHANDLE, +}} +pub type POPENCARDNAMEA = *mut OPENCARDNAMEA; +pub type LPOPENCARDNAMEA = *mut OPENCARDNAMEA; +STRUCT!{nodebug struct OPENCARDNAMEW { + dwStructSize: ::DWORD, + hwndOwner: ::HWND, + hSCardContext: SCARDCONTEXT, + lpstrGroupNames: ::LPWSTR, + nMaxGroupNames: ::DWORD, + lpstrCardNames: ::LPWSTR, + nMaxCardNames: ::DWORD, + rgguidInterfaces: ::LPCGUID, + cguidInterfaces: ::DWORD, + lpstrRdr: ::LPWSTR, + nMaxRdr: ::DWORD, + lpstrCard: ::LPWSTR, + nMaxCard: ::DWORD, + lpstrTitle: ::LPCWSTR, + dwFlags: ::DWORD, + pvUserData: ::LPVOID, + dwShareMode: ::DWORD, + dwPreferredProtocols: ::DWORD, + dwActiveProtocol: ::DWORD, + lpfnConnect: LPOCNCONNPROCW, + lpfnCheck: LPOCNCHKPROC, + lpfnDisconnect: LPOCNDSCPROC, + hCardHandle: SCARDHANDLE, +}} +pub type POPENCARDNAMEW = *mut OPENCARDNAMEW; +pub type LPOPENCARDNAMEW = *mut OPENCARDNAMEW; +pub type OPENCARDNAME_A = OPENCARDNAMEA; +pub type OPENCARDNAME_W = OPENCARDNAMEW; +pub type POPENCARDNAME_A = POPENCARDNAMEA; +pub type POPENCARDNAME_W = POPENCARDNAMEW; +pub type LPOPENCARDNAME_A = LPOPENCARDNAMEA; +pub type LPOPENCARDNAME_W = LPOPENCARDNAMEW; +pub const SCARD_AUDIT_CHV_FAILURE: ::DWORD = 0x0; +pub const SCARD_AUDIT_CHV_SUCCESS: ::DWORD = 0x1; diff --git a/third_party/rust/winapi-0.2.8/src/winsmcrd.rs b/third_party/rust/winapi-0.2.8/src/winsmcrd.rs new file mode 100644 index 0000000000..28f347492d --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winsmcrd.rs @@ -0,0 +1,157 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +// Smart Card class/port IOCTL codes. +pub type UWORD = ::WORD; +DEFINE_GUID!(GUID_DEVINTERFACE_SMARTCARD_READER, 0x50DD5230, 0xBA8A, 0x11D1, + 0xBF, 0x5D, 0x00, 0x00, 0xF8, 0x05, 0xF5, 0x30); +pub const SCARD_ATR_LENGTHL: ::DWORD = 33; +pub const SCARD_PROTOCOL_UNDEFINED: ::DWORD = 0x00000000; +pub const SCARD_PROTOCOL_T0: ::DWORD = 0x00000001; +pub const SCARD_PROTOCOL_T1: ::DWORD = 0x00000002; +pub const SCARD_PROTOCOL_RAW: ::DWORD = 0x00010000; +pub const SCARD_PROTOCOL_Tx: ::DWORD = SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1; +pub const SCARD_PROTOCOL_DEFAULT: ::DWORD = 0x80000000; +pub const SCARD_PROTOCOL_OPTIMAL: ::DWORD = 0x00000000; +pub const SCARD_POWER_DOWN: ::DWORD = 0; +pub const SCARD_COLD_RESET: ::DWORD = 1; +pub const SCARD_WARM_RESET: ::DWORD = 2; +pub const IOCTL_SMARTCARD_POWER: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 1, ::METHOD_BUFFERED, + ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_GET_ATTRIBUTE: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 2, + ::METHOD_BUFFERED, ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_SET_ATTRIBUTE: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 3, + ::METHOD_BUFFERED, ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_CONFISCATE: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 4, + ::METHOD_BUFFERED, ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_TRANSMIT: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 5, + ::METHOD_BUFFERED, ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_EJECT: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 6, ::METHOD_BUFFERED, + ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_SWALLOW: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 7, + ::METHOD_BUFFERED, ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_IS_PRESENT: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 10, + ::METHOD_BUFFERED, ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_IS_ABSENT: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 11, + ::METHOD_BUFFERED, ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_SET_PROTOCOL: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 12, + ::METHOD_BUFFERED, ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_GET_STATE: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 14, + ::METHOD_BUFFERED, ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_GET_LAST_ERROR: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 15, + ::METHOD_BUFFERED, ::FILE_ANY_ACCESS); +pub const IOCTL_SMARTCARD_GET_PERF_CNTR: ::DWORD = CTL_CODE!(::FILE_DEVICE_SMARTCARD, 16, + ::METHOD_BUFFERED, ::FILE_ANY_ACCESS); +pub const MAXIMUM_ATTR_STRING_LENGTH: ::DWORD = 32; +pub const MAXIMUM_SMARTCARD_READERS: ::DWORD = 10; +pub const SCARD_CLASS_VENDOR_INFO: ::ULONG = 1; +pub const SCARD_CLASS_COMMUNICATIONS: ::ULONG = 2; +pub const SCARD_CLASS_PROTOCOL: ::ULONG = 3; +pub const SCARD_CLASS_POWER_MGMT: ::ULONG = 4; +pub const SCARD_CLASS_SECURITY: ::ULONG = 5; +pub const SCARD_CLASS_MECHANICAL: ::ULONG = 6; +pub const SCARD_CLASS_VENDOR_DEFINED: ::ULONG = 7; +pub const SCARD_CLASS_IFD_PROTOCOL: ::ULONG = 8; +pub const SCARD_CLASS_ICC_STATE: ::ULONG = 9; +pub const SCARD_CLASS_PERF: ::ULONG = 0x7ffe; +pub const SCARD_CLASS_SYSTEM: ::ULONG = 0x7fff; +pub const SCARD_ATTR_VENDOR_NAME: ::ULONG = SCARD_CLASS_VENDOR_INFO << 16 | 0x0100; +pub const SCARD_ATTR_VENDOR_IFD_TYPE: ::ULONG = SCARD_CLASS_VENDOR_INFO << 16 | 0x0101; +pub const SCARD_ATTR_VENDOR_IFD_VERSION: ::ULONG = SCARD_CLASS_VENDOR_INFO << 16 | 0x0102; +pub const SCARD_ATTR_VENDOR_IFD_SERIAL_NO: ::ULONG = SCARD_CLASS_VENDOR_INFO << 16 | 0x0103; +pub const SCARD_ATTR_CHANNEL_ID: ::ULONG = SCARD_CLASS_COMMUNICATIONS << 16 | 0x0110; +pub const SCARD_ATTR_PROTOCOL_TYPES: ::ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0120; +pub const SCARD_ATTR_DEFAULT_CLK: ::ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0121; +pub const SCARD_ATTR_MAX_CLK: ::ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0122; +pub const SCARD_ATTR_DEFAULT_DATA_RATE: ::ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0123; +pub const SCARD_ATTR_MAX_DATA_RATE: ::ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0124; +pub const SCARD_ATTR_MAX_IFSD: ::ULONG = SCARD_CLASS_PROTOCOL << 16 | 0x0125; +pub const SCARD_ATTR_POWER_MGMT_SUPPORT: ::ULONG = SCARD_CLASS_POWER_MGMT << 16 | 0x0131; +pub const SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE: ::ULONG = SCARD_CLASS_SECURITY << 16 | 0x0140; +pub const SCARD_ATTR_USER_AUTH_INPUT_DEVICE: ::ULONG = SCARD_CLASS_SECURITY << 16 | 0x0142; +pub const SCARD_ATTR_CHARACTERISTICS: ::ULONG = SCARD_CLASS_MECHANICAL << 16 | 0x0150; +pub const SCARD_ATTR_CURRENT_PROTOCOL_TYPE: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0201; +pub const SCARD_ATTR_CURRENT_CLK: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0202; +pub const SCARD_ATTR_CURRENT_F: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0203; +pub const SCARD_ATTR_CURRENT_D: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0204; +pub const SCARD_ATTR_CURRENT_N: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0205; +pub const SCARD_ATTR_CURRENT_W: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0206; +pub const SCARD_ATTR_CURRENT_IFSC: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0207; +pub const SCARD_ATTR_CURRENT_IFSD: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0208; +pub const SCARD_ATTR_CURRENT_BWT: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x0209; +pub const SCARD_ATTR_CURRENT_CWT: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x020a; +pub const SCARD_ATTR_CURRENT_EBC_ENCODING: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x020b; +pub const SCARD_ATTR_EXTENDED_BWT: ::ULONG = SCARD_CLASS_IFD_PROTOCOL << 16 | 0x020c; +pub const SCARD_ATTR_ICC_PRESENCE: ::ULONG = SCARD_CLASS_ICC_STATE << 16 | 0x0300; +pub const SCARD_ATTR_ICC_INTERFACE_STATUS: ::ULONG = SCARD_CLASS_ICC_STATE << 16 | 0x0301; +pub const SCARD_ATTR_CURRENT_IO_STATE: ::ULONG = SCARD_CLASS_ICC_STATE << 16 | 0x0302; +pub const SCARD_ATTR_ATR_STRING: ::ULONG = SCARD_CLASS_ICC_STATE << 16 | 0x0303; +pub const SCARD_ATTR_ICC_TYPE_PER_ATR: ::ULONG = SCARD_CLASS_ICC_STATE << 16 | 0x0304; +pub const SCARD_ATTR_ESC_RESET: ::ULONG = SCARD_CLASS_VENDOR_DEFINED << 16 | 0xA000; +pub const SCARD_ATTR_ESC_CANCEL: ::ULONG = SCARD_CLASS_VENDOR_DEFINED << 16 | 0xA003; +pub const SCARD_ATTR_ESC_AUTHREQUEST: ::ULONG = SCARD_CLASS_VENDOR_DEFINED << 16 | 0xA005; +pub const SCARD_ATTR_MAXINPUT: ::ULONG = SCARD_CLASS_VENDOR_DEFINED << 16 | 0xA007; +pub const SCARD_ATTR_DEVICE_UNIT: ::ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0001; +pub const SCARD_ATTR_DEVICE_IN_USE: ::ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0002; +pub const SCARD_ATTR_DEVICE_FRIENDLY_NAME_A: ::ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0003; +pub const SCARD_ATTR_DEVICE_SYSTEM_NAME_A: ::ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0004; +pub const SCARD_ATTR_DEVICE_FRIENDLY_NAME_W: ::ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0005; +pub const SCARD_ATTR_DEVICE_SYSTEM_NAME_W: ::ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0006; +pub const SCARD_ATTR_SUPRESS_T1_IFS_REQUEST: ::ULONG = SCARD_CLASS_SYSTEM << 16 | 0x0007; +pub const SCARD_PERF_NUM_TRANSMISSIONS: ::ULONG = SCARD_CLASS_PERF << 16 | 0x0001; +pub const SCARD_PERF_BYTES_TRANSMITTED: ::ULONG = SCARD_CLASS_PERF << 16 | 0x0002; +pub const SCARD_PERF_TRANSMISSION_TIME: ::ULONG = SCARD_CLASS_PERF << 16 | 0x0003; +pub const SCARD_T0_HEADER_LENGTH: ::DWORD = 7; +pub const SCARD_T0_CMD_LENGTH: ::DWORD = 5; +pub const SCARD_T1_PROLOGUE_LENGTH: ::DWORD = 3; +pub const SCARD_T1_EPILOGUE_LENGTH: ::DWORD = 2; +pub const SCARD_T1_MAX_IFS: ::DWORD = 254; +pub const SCARD_UNKNOWN: ::ULONG = 0; +pub const SCARD_ABSENT: ::ULONG = 1; +pub const SCARD_PRESENT: ::ULONG = 2; +pub const SCARD_SWALLOWED: ::ULONG = 3; +pub const SCARD_POWERED: ::ULONG = 4; +pub const SCARD_NEGOTIABLE: ::ULONG = 5; +pub const SCARD_SPECIFIC: ::ULONG = 6; +STRUCT!{struct SCARD_IO_REQUEST { + dwProtocol: ::DWORD, + cbPciLength: ::DWORD, +}} +pub type PSCARD_IO_REQUEST = *mut SCARD_IO_REQUEST; +pub type LPSCARD_IO_REQUEST = *mut SCARD_IO_REQUEST; +pub type LPCSCARD_IO_REQUEST = *const SCARD_IO_REQUEST; +STRUCT!{struct SCARD_T0_COMMAND { + bCla: ::BYTE, + bIns: ::BYTE, + bP1: ::BYTE, + bP2: ::BYTE, + bP3: ::BYTE, +}} +pub type LPSCARD_T0_COMMAND = *mut SCARD_T0_COMMAND; +STRUCT!{struct SCARD_T0_REQUEST { + ioRequest: SCARD_IO_REQUEST, + bSw1: ::BYTE, + bSw2: ::BYTE, + CmdBytes: SCARD_T0_COMMAND, +}} +UNION!(SCARD_T0_REQUEST, CmdBytes, rgbHeader, rgbHeader_mut, [::BYTE; 5]); +pub type PSCARD_T0_REQUEST = *mut SCARD_T0_REQUEST; +pub type LPSCARD_T0_REQUEST = *mut SCARD_T0_REQUEST; +STRUCT!{struct SCARD_T1_REQUEST { + ioRequest: SCARD_IO_REQUEST, +}} +pub type PSCARD_T1_REQUEST = *mut SCARD_T1_REQUEST; +pub type LPSCARD_T1_REQUEST = *mut SCARD_T1_REQUEST; +pub const SCARD_READER_SWALLOWS: ::ULONG = 0x00000001; +pub const SCARD_READER_EJECTS: ::ULONG = 0x00000002; +pub const SCARD_READER_CONFISCATES: ::ULONG = 0x00000004; +pub const SCARD_READER_TYPE_SERIAL: ::ULONG = 0x01; +pub const SCARD_READER_TYPE_PARALELL: ::ULONG = 0x02; +pub const SCARD_READER_TYPE_KEYBOARD: ::ULONG = 0x04; +pub const SCARD_READER_TYPE_SCSI: ::ULONG = 0x08; +pub const SCARD_READER_TYPE_IDE: ::ULONG = 0x10; +pub const SCARD_READER_TYPE_USB: ::ULONG = 0x20; +pub const SCARD_READER_TYPE_PCMCIA: ::ULONG = 0x40; +pub const SCARD_READER_TYPE_TPM: ::ULONG = 0x80; +pub const SCARD_READER_TYPE_NFC: ::ULONG = 0x100; +pub const SCARD_READER_TYPE_UICC: ::ULONG = 0x200; +pub const SCARD_READER_TYPE_VENDOR: ::ULONG = 0xF0; diff --git a/third_party/rust/winapi-0.2.8/src/winsock2.rs b/third_party/rust/winapi-0.2.8/src/winsock2.rs new file mode 100644 index 0000000000..05b62f2c43 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winsock2.rs @@ -0,0 +1,429 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! definitions to be used with the WinSock 2 DLL and WinSock 2 applications. +//! +//! This header file corresponds to version 2.2.x of the WinSock API specification. +pub const WINSOCK_VERSION: ::WORD = 2 | (2 << 8); +pub type u_char = ::c_uchar; +pub type u_short = ::c_ushort; +pub type u_int = ::c_uint; +pub type u_long = ::c_ulong; +pub type u_int64 = ::__uint64; +pub type SOCKET = ::UINT_PTR; +pub type GROUP = ::c_uint; +pub const FD_SETSIZE: usize = 64; +pub const FD_MAX_EVENTS: usize = 10; +STRUCT!{nodebug struct fd_set { + fd_count: u_int, + fd_array: [SOCKET; FD_SETSIZE], +}} +STRUCT!{struct timeval { + tv_sec: ::c_long, + tv_usec: ::c_long, +}} +STRUCT!{struct hostent { + h_name: *mut ::c_char, + h_aliases: *mut *mut ::c_char, + h_addrtype: ::c_short, + h_length: ::c_short, + h_addr_list: *mut *mut ::c_char, +}} +STRUCT!{struct netent { + n_name: *mut ::c_char, + n_aliases: *mut *mut ::c_char, + n_addrtype: ::c_short, + n_net: u_long, +}} +#[cfg(target_arch="x86")] +STRUCT!{struct servent { + s_name: *mut ::c_char, + s_aliases: *mut *mut ::c_char, + s_port: ::c_short, + s_proto: *mut ::c_char, +}} +#[cfg(target_arch="x86_64")] +STRUCT!{struct servent { + s_name: *mut ::c_char, + s_aliases: *mut *mut ::c_char, + s_proto: *mut ::c_char, + s_port: ::c_short, +}} +STRUCT!{struct protoent { + p_name: *mut ::c_char, + p_aliases: *mut *mut ::c_char, + p_proto: ::c_short, +}} +pub const WSADESCRIPTION_LEN: usize = 256; +pub const WSASYS_STATUS_LEN: usize = 128; +#[cfg(target_arch="x86")] +STRUCT!{nodebug struct WSADATA { + wVersion: ::WORD, + wHighVersion: ::WORD, + szDescription: [::c_char; WSADESCRIPTION_LEN + 1], + szSystemStatus: [::c_char; WSASYS_STATUS_LEN + 1], + iMaxSockets: ::c_ushort, + iMaxUdpDg: ::c_ushort, + lpVendorInfo: *mut ::c_char, +}} +#[cfg(target_arch="x86_64")] +STRUCT!{nodebug struct WSADATA { + wVersion: ::WORD, + wHighVersion: ::WORD, + iMaxSockets: ::c_ushort, + iMaxUdpDg: ::c_ushort, + lpVendorInfo: *mut ::c_char, + szDescription: [::c_char; WSADESCRIPTION_LEN + 1], + szSystemStatus: [::c_char; WSASYS_STATUS_LEN + 1], +}} +pub type LPWSADATA = *mut WSADATA; +//391 +pub const INVALID_SOCKET: SOCKET = !0; +pub const SOCKET_ERROR: ::c_int = -1; +STRUCT!{struct sockproto { + sp_family: u_short, + sp_protocol: u_short, +}} +pub const PF_UNSPEC: ::c_int = ::AF_UNSPEC; +pub const PF_UNIX: ::c_int = ::AF_UNIX; +pub const PF_INET: ::c_int = ::AF_INET; +pub const PF_IMPLINK: ::c_int = ::AF_IMPLINK; +pub const PF_PUP: ::c_int = ::AF_PUP; +pub const PF_CHAOS: ::c_int = ::AF_CHAOS; +pub const PF_NS: ::c_int = ::AF_NS; +pub const PF_IPX: ::c_int = ::AF_IPX; +pub const PF_ISO: ::c_int = ::AF_ISO; +pub const PF_OSI: ::c_int = ::AF_OSI; +pub const PF_ECMA: ::c_int = ::AF_ECMA; +pub const PF_DATAKIT: ::c_int = ::AF_DATAKIT; +pub const PF_CCITT: ::c_int = ::AF_CCITT; +pub const PF_SNA: ::c_int = ::AF_SNA; +pub const PF_DECnet: ::c_int = ::AF_DECnet; +pub const PF_DLI: ::c_int = ::AF_DLI; +pub const PF_LAT: ::c_int = ::AF_LAT; +pub const PF_HYLINK: ::c_int = ::AF_HYLINK; +pub const PF_APPLETALK: ::c_int = ::AF_APPLETALK; +pub const PF_VOICEVIEW: ::c_int = ::AF_VOICEVIEW; +pub const PF_FIREFOX: ::c_int = ::AF_FIREFOX; +pub const PF_UNKNOWN1: ::c_int = ::AF_UNKNOWN1; +pub const PF_BAN: ::c_int = ::AF_BAN; +pub const PF_ATM: ::c_int = ::AF_ATM; +pub const PF_INET6: ::c_int = ::AF_INET6; +pub const PF_BTH: ::c_int = ::AF_BTH; +pub const PF_MAX: ::c_int = ::AF_MAX; +STRUCT!{struct linger { + l_onoff: u_short, + l_linger: u_short, +}} +pub const SOMAXCONN: ::c_int = 0x7fffffff; +pub type WSAEVENT = ::HANDLE; +pub type LPWSAEVENT = ::LPHANDLE; +pub type WSAOVERLAPPED = ::OVERLAPPED; +pub type LPWSAOVERLAPPED = *mut ::OVERLAPPED; +pub const WSA_IO_PENDING: ::DWORD = ::ERROR_IO_PENDING; +pub const WSA_IO_INCOMPLETE: ::DWORD = ::ERROR_IO_INCOMPLETE; +pub const WSA_INVALID_HANDLE: ::DWORD = ::ERROR_INVALID_HANDLE; +pub const WSA_INVALID_PARAMETER: ::DWORD = ::ERROR_INVALID_PARAMETER; +pub const WSA_NOT_ENOUGH_MEMORY: ::DWORD = ::ERROR_NOT_ENOUGH_MEMORY; +pub const WSA_OPERATION_ABORTED: ::DWORD = ::ERROR_OPERATION_ABORTED; +STRUCT!{struct QOS { + SendingFlowspec: ::FLOWSPEC, + FLOWSPEC: ::FLOWSPEC, + ProviderSpecific: ::WSABUF, +}} +pub type LPQOS = *mut QOS; +STRUCT!{struct WSANETWORKEVENTS { + lNetworkEvents: ::c_long, + iErrorCode: [::c_int; FD_MAX_EVENTS], +}} +pub type LPWSANETWORKEVENTS = *mut WSANETWORKEVENTS; +pub const MAX_PROTOCOL_CHAIN: usize = 7; +STRUCT!{struct WSAPROTOCOLCHAIN { + ChainLen: ::c_int, + ChainEntries: [::DWORD; MAX_PROTOCOL_CHAIN], +}} +pub type LPWSAPROTOCOLCHAIN = *mut WSAPROTOCOLCHAIN; +pub const WSAPROTOCOL_LEN: usize = 255; +STRUCT!{nodebug struct WSAPROTOCOL_INFOA { + dwServiceFlags1: ::DWORD, + dwServiceFlags2: ::DWORD, + dwServiceFlags3: ::DWORD, + dwServiceFlags4: ::DWORD, + dwServiceFlags5: ::DWORD, + ProviderId: ::GUID, + dwCatalogEntryId: ::DWORD, + ProtocolChain: WSAPROTOCOLCHAIN, + iVersion: ::c_int, + iAddressFamily: ::c_int, + iMaxSockAddr: ::c_int, + iMinSockAddr: ::c_int, + iSocketType: ::c_int, + iProtocol: ::c_int, + iProtocolMaxOffset: ::c_int, + iNetworkByteOrder: ::c_int, + iSecurityScheme: ::c_int, + dwMessageSize: ::DWORD, + dwProviderReserved: ::DWORD, + szProtocol: [::CHAR; WSAPROTOCOL_LEN + 1], +}} +pub type LPWSAPROTOCOL_INFOA = *mut WSAPROTOCOL_INFOA; +STRUCT!{nodebug struct WSAPROTOCOL_INFOW { + dwServiceFlags1: ::DWORD, + dwServiceFlags2: ::DWORD, + dwServiceFlags3: ::DWORD, + dwServiceFlags4: ::DWORD, + dwServiceFlags5: ::DWORD, + ProviderId: ::GUID, + dwCatalogEntryId: ::DWORD, + ProtocolChain: WSAPROTOCOLCHAIN, + iVersion: ::c_int, + iAddressFamily: ::c_int, + iMaxSockAddr: ::c_int, + iMinSockAddr: ::c_int, + iSocketType: ::c_int, + iProtocol: ::c_int, + iProtocolMaxOffset: ::c_int, + iNetworkByteOrder: ::c_int, + iSecurityScheme: ::c_int, + dwMessageSize: ::DWORD, + dwProviderReserved: ::DWORD, + szProtocol: [::WCHAR; WSAPROTOCOL_LEN + 1], +}} +pub type LPWSAPROTOCOL_INFOW = *mut WSAPROTOCOL_INFOW; +pub type LPCONDITIONPROC = Option<unsafe extern "system" fn( + lpCallerId: ::LPWSABUF, lpCallerData: ::LPWSABUF, lpSQOS: LPQOS, lpGQOS: LPQOS, + lpCalleeId: ::LPWSABUF, lpCalleeData: ::LPWSABUF, g: *mut GROUP, dwCallbackData: ::DWORD, +) -> ::c_int>; +pub type LPWSAOVERLAPPED_COMPLETION_ROUTINE = Option<unsafe extern "system" fn( + dwError: ::DWORD, cbTransferred: ::DWORD, lpOverlapped: LPWSAOVERLAPPED, dwFlags: ::DWORD, +)>; +ENUM!{enum WSACOMPLETIONTYPE { + NSP_NOTIFY_IMMEDIATELY = 0, + NSP_NOTIFY_HWND, + NSP_NOTIFY_EVENT, + NSP_NOTIFY_PORT, + NSP_NOTIFY_APC, +}} +pub type PWSACOMPLETIONTYPE = *mut WSACOMPLETIONTYPE; +pub type LPWSACOMPLETIONTYPE = *mut WSACOMPLETIONTYPE; +STRUCT!{struct WSACOMPLETION_WindowMessage { + hWnd: ::HWND, + uMsg: ::UINT, + context: ::WPARAM, +}} +STRUCT!{struct WSACOMPLETION_Event { + lpOverlapped: LPWSAOVERLAPPED, +}} +STRUCT!{nodebug struct WSACOMPLETION_Apc { + lpOverlapped: LPWSAOVERLAPPED, + lpfnCompletionProc: LPWSAOVERLAPPED_COMPLETION_ROUTINE, +}} +STRUCT!{struct WSACOMPLETION_Port { + lpOverlapped: LPWSAOVERLAPPED, + hPort: ::HANDLE, + Key: ::ULONG_PTR, +}} +#[cfg(target_arch="x86")] +STRUCT!{struct WSACOMPLETION { + Type: WSACOMPLETIONTYPE, + Parameters: [u8; 12], +}} +#[cfg(target_arch="x86_64")] +STRUCT!{struct WSACOMPLETION { + Type: WSACOMPLETIONTYPE, + Parameters: [u8; 24], +}} +UNION!(WSACOMPLETION, Parameters, WindowMessage, WindowMessage_mut, WSACOMPLETION_WindowMessage); +UNION!(WSACOMPLETION, Parameters, Event, Event_mut, WSACOMPLETION_Event); +UNION!(WSACOMPLETION, Parameters, Apc, Apc_mut, WSACOMPLETION_Apc); +UNION!(WSACOMPLETION, Parameters, Port, Port_mut, WSACOMPLETION_Port); +pub type PWSACOMPLETION = *mut WSACOMPLETION; +pub type LPWSACOMPLETION = *mut WSACOMPLETION; +STRUCT!{struct AFPROTOCOLS { + iAddressFamily: ::INT, + iProtocol: ::INT, +}} +pub type PAFPROTOCOLS = *mut AFPROTOCOLS; +pub type LPAFPROTOCOLS = *mut AFPROTOCOLS; +ENUM!{enum WSAECOMPARATOR { + COMP_EQUAL = 0, + COMP_NOTLESS, +}} +pub type PWSAECOMPARATOR = *mut WSAECOMPARATOR; +pub type LPWSAECOMPARATOR = *mut WSAECOMPARATOR; +STRUCT!{struct WSAVERSION { + dwVersion: ::DWORD, + ecHow: WSAECOMPARATOR, +}} +pub type PWSAVERSION = *mut WSAVERSION; +pub type LPWSAVERSION = *mut WSAVERSION; +STRUCT!{struct WSAQUERYSETA { + dwSize: ::DWORD, + lpszServiceInstanceName: ::LPSTR, + lpServiceClassId: ::LPGUID, + lpVersion: LPWSAVERSION, + lpszComment: ::LPSTR, + dwNameSpace: ::DWORD, + lpNSProviderId: ::LPGUID, + lpszContext: ::LPSTR, + dwNumberOfProtocols: ::DWORD, + lpafpProtocols: LPAFPROTOCOLS, + lpszQueryString: ::LPSTR, + dwNumberOfCsAddrs: ::DWORD, + lpcsaBuffer: ::LPCSADDR_INFO, + dwOutputFlags: ::DWORD, + lpBlob: ::LPBLOB, +}} +pub type PWSAQUERYSETA = *mut WSAQUERYSETA; +pub type LPWSAQUERYSETA = *mut WSAQUERYSETA; +STRUCT!{struct WSAQUERYSETW { + dwSize: ::DWORD, + lpszServiceInstanceName: ::LPWSTR, + lpServiceClassId: ::LPGUID, + lpVersion: LPWSAVERSION, + lpszComment: ::LPWSTR, + dwNameSpace: ::DWORD, + lpNSProviderId: ::LPGUID, + lpszContext: ::LPWSTR, + dwNumberOfProtocols: ::DWORD, + lpafpProtocols: LPAFPROTOCOLS, + lpszQueryString: ::LPWSTR, + dwNumberOfCsAddrs: ::DWORD, + lpcsaBuffer: ::LPCSADDR_INFO, + dwOutputFlags: ::DWORD, + lpBlob: ::LPBLOB, +}} +pub type PWSAQUERYSETW = *mut WSAQUERYSETW; +pub type LPWSAQUERYSETW = *mut WSAQUERYSETW; +STRUCT!{struct WSAQUERYSET2A { + dwSize: ::DWORD, + lpszServiceInstanceName: ::LPSTR, + lpVersion: LPWSAVERSION, + lpszComment: ::LPSTR, + dwNameSpace: ::DWORD, + lpNSProviderId: ::LPGUID, + lpszContext: ::LPSTR, + dwNumberOfProtocols: ::DWORD, + lpafpProtocols: LPAFPROTOCOLS, + lpszQueryString: ::LPSTR, + dwNumberOfCsAddrs: ::DWORD, + lpcsaBuffer: ::LPCSADDR_INFO, + dwOutputFlags: ::DWORD, + lpBlob: ::LPBLOB, +}} +pub type PWSAQUERYSET2A = *mut WSAQUERYSET2A; +pub type LPWSAQUERYSET2A = *mut WSAQUERYSET2A; +STRUCT!{struct WSAQUERYSET2W { + dwSize: ::DWORD, + lpszServiceInstanceName: ::LPWSTR, + lpVersion: LPWSAVERSION, + lpszComment: ::LPWSTR, + dwNameSpace: ::DWORD, + lpNSProviderId: ::LPGUID, + lpszContext: ::LPWSTR, + dwNumberOfProtocols: ::DWORD, + lpafpProtocols: LPAFPROTOCOLS, + lpszQueryString: ::LPWSTR, + dwNumberOfCsAddrs: ::DWORD, + lpcsaBuffer: ::LPCSADDR_INFO, + dwOutputFlags: ::DWORD, + lpBlob: ::LPBLOB, +}} +pub type PWSAQUERYSET2W = *mut WSAQUERYSET2W; +pub type LPWSAQUERYSET2W = *mut WSAQUERYSET2W; +ENUM!{enum WSAESETSERVICEOP { + RNRSERVICE_REGISTER = 0, + RNRSERVICE_DEREGISTER, + RNRSERVICE_DELETE, +}} +pub type PWSAESETSERVICEOP = *mut WSAESETSERVICEOP; +pub type LPWSAESETSERVICEOP = *mut WSAESETSERVICEOP; +STRUCT!{struct WSANSCLASSINFOA { + lpszName: ::LPSTR, + dwNameSpace: ::DWORD, + dwValueType: ::DWORD, + dwValueSize: ::DWORD, + lpValue: ::LPVOID, +}} +pub type PWSANSCLASSINFOA = *mut WSANSCLASSINFOA; +pub type LPWSANSCLASSINFOA = *mut WSANSCLASSINFOA; +STRUCT!{struct WSANSCLASSINFOW { + lpszName: ::LPWSTR, + dwNameSpace: ::DWORD, + dwValueType: ::DWORD, + dwValueSize: ::DWORD, + lpValue: ::LPVOID, +}} +pub type PWSANSCLASSINFOW = *mut WSANSCLASSINFOW; +pub type LPWSANSCLASSINFOW = *mut WSANSCLASSINFOW; +STRUCT!{struct WSASERVICECLASSINFOA { + lpServiceClassId: ::LPGUID, + lpszServiceClassName: ::LPSTR, + dwCount: ::DWORD, + lpClassInfos: LPWSANSCLASSINFOA, +}} +pub type PWSASERVICECLASSINFOA = *mut WSASERVICECLASSINFOA; +pub type LPWSASERVICECLASSINFOA = *mut WSASERVICECLASSINFOA; +STRUCT!{struct WSASERVICECLASSINFOW { + lpServiceClassId: ::LPGUID, + lpszServiceClassName: ::LPWSTR, + dwCount: ::DWORD, + lpClassInfos: LPWSANSCLASSINFOW, +}} +pub type PWSASERVICECLASSINFOW = *mut WSASERVICECLASSINFOW; +pub type LPWSASERVICECLASSINFOW = *mut WSASERVICECLASSINFOW; +STRUCT!{struct WSANAMESPACE_INFOA { + NSProviderId: ::GUID, + dwNameSpace: ::DWORD, + fActive: ::BOOL, + dwVersion: ::DWORD, + lpszIdentifier: ::LPSTR, +}} +pub type PWSANAMESPACE_INFOA = *mut WSANAMESPACE_INFOA; +pub type LPWSANAMESPACE_INFOA = *mut WSANAMESPACE_INFOA; +STRUCT!{struct WSANAMESPACE_INFOW { + NSProviderId: ::GUID, + dwNameSpace: ::DWORD, + fActive: ::BOOL, + dwVersion: ::DWORD, + lpszIdentifier: ::LPWSTR, +}} +pub type PWSANAMESPACE_INFOW = *mut WSANAMESPACE_INFOW; +pub type LPWSANAMESPACE_INFOW = *mut WSANAMESPACE_INFOW; +STRUCT!{struct WSANAMESPACE_INFOEXA { + NSProviderId: ::GUID, + dwNameSpace: ::DWORD, + fActive: ::BOOL, + dwVersion: ::DWORD, + lpszIdentifier: ::LPSTR, + ProviderSpecific: ::BLOB, +}} +pub type PWSANAMESPACE_INFOEXA = *mut WSANAMESPACE_INFOEXA; +pub type LPWSANAMESPACE_INFOEXA = *mut WSANAMESPACE_INFOEXA; +STRUCT!{struct WSANAMESPACE_INFOEXW { + NSProviderId: ::GUID, + dwNameSpace: ::DWORD, + fActive: ::BOOL, + dwVersion: ::DWORD, + lpszIdentifier: ::LPWSTR, + ProviderSpecific: ::BLOB, +}} +pub type PWSANAMESPACE_INFOEXW = *mut WSANAMESPACE_INFOEXW; +pub type LPWSANAMESPACE_INFOEXW = *mut WSANAMESPACE_INFOEXW; +pub const POLLRDNORM: ::SHORT = 0x0100; +pub const POLLRDBAND: ::SHORT = 0x0200; +pub const POLLIN: ::SHORT = POLLRDNORM | POLLRDBAND; +pub const POLLPRI: ::SHORT = 0x0400; +pub const POLLWRNORM: ::SHORT = 0x0010; +pub const POLLOUT: ::SHORT = POLLWRNORM; +pub const POLLWRBAND: ::SHORT = 0x0020; +pub const POLLERR: ::SHORT = 0x0001; +pub const POLLHUP: ::SHORT = 0x0002; +pub const POLLNVAL: ::SHORT = 0x0004; +STRUCT!{struct WSAPOLLFD { + fd: ::SOCKET, + events: ::SHORT, + revents: ::SHORT, +}} +pub type PWSAPOLLFD = *mut WSAPOLLFD; +pub type LPWSAPOLLFD = *mut WSAPOLLFD; +pub const FIONBIO: ::c_ulong = 0x8004667e; diff --git a/third_party/rust/winapi-0.2.8/src/winspool.rs b/third_party/rust/winapi-0.2.8/src/winspool.rs new file mode 100644 index 0000000000..eec339cc15 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winspool.rs @@ -0,0 +1,29 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Winspool header file +STRUCT!{struct PRINTER_DEFAULTSA { + pDataType: ::LPSTR, + pDevMode: ::LPDEVMODEA, + DesiredAccess: ::ACCESS_MASK, +}} +pub type PPRINTER_DEFAULTSA = *mut PRINTER_DEFAULTSA; +pub type LPPRINTER_DEFAULTSA = *mut PRINTER_DEFAULTSA; +STRUCT!{struct PRINTER_DEFAULTSW { + pDataType: ::LPWSTR, + pDevMode: ::LPDEVMODEW, + DesiredAccess: ::ACCESS_MASK, +}} +pub type PPRINTER_DEFAULTSW = *mut PRINTER_DEFAULTSW; +pub type LPPRINTER_DEFAULTSW = *mut PRINTER_DEFAULTSW; +STRUCT!{struct PRINTER_OPTIONSA { + cbSize: ::UINT, + dwFlags: ::DWORD, +}} +pub type PPRINTER_OPTIONSA = *mut PRINTER_OPTIONSA; +pub type LPPRINTER_OPTIONSA = *mut PRINTER_OPTIONSA; +STRUCT!{struct PRINTER_OPTIONSW { + cbSize: ::UINT, + dwFlags: ::DWORD, +}} +pub type PPRINTER_OPTIONSW = *mut PRINTER_OPTIONSW; +pub type LPPRINTER_OPTIONSW = *mut PRINTER_OPTIONSW; diff --git a/third_party/rust/winapi-0.2.8/src/winstring.rs b/third_party/rust/winapi-0.2.8/src/winstring.rs new file mode 100644 index 0000000000..74053d4e85 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winstring.rs @@ -0,0 +1,3 @@ +pub type PINSPECT_HSTRING_CALLBACK = Option<unsafe extern "system" fn( + *const ::VOID, ::UINT_PTR, ::UINT32, *mut ::BYTE, +) -> ::HRESULT>; diff --git a/third_party/rust/winapi-0.2.8/src/winsvc.rs b/third_party/rust/winapi-0.2.8/src/winsvc.rs new file mode 100644 index 0000000000..93513668a8 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winsvc.rs @@ -0,0 +1,200 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! Header file for the Service Control Manager +//80 +pub const SERVICE_NO_CHANGE: ::DWORD = 0xffffffff; +pub const SERVICE_ACTIVE: ::DWORD = 0x00000001; +pub const SERVICE_INACTIVE: ::DWORD = 0x00000002; +pub const SERVICE_STATE_ALL: ::DWORD = SERVICE_ACTIVE | SERVICE_INACTIVE; +pub const SERVICE_CONTROL_STOP: ::DWORD = 0x00000001; +pub const SERVICE_CONTROL_PAUSE: ::DWORD = 0x00000002; +pub const SERVICE_CONTROL_CONTINUE: ::DWORD = 0x00000003; +pub const SERVICE_CONTROL_INTERROGATE: ::DWORD = 0x00000004; +pub const SERVICE_CONTROL_SHUTDOWN: ::DWORD = 0x00000005; +pub const SERVICE_CONTROL_PARAMCHANGE: ::DWORD = 0x00000006; +pub const SERVICE_CONTROL_NETBINDADD: ::DWORD = 0x00000007; +pub const SERVICE_CONTROL_NETBINDREMOVE: ::DWORD = 0x00000008; +pub const SERVICE_CONTROL_NETBINDENABLE: ::DWORD = 0x00000009; +pub const SERVICE_CONTROL_NETBINDDISABLE: ::DWORD = 0x0000000A; +pub const SERVICE_CONTROL_DEVICEEVENT: ::DWORD = 0x0000000B; +pub const SERVICE_CONTROL_HARDWAREPROFILECHANGE: ::DWORD = 0x0000000C; +pub const SERVICE_CONTROL_POWEREVENT: ::DWORD = 0x0000000D; +pub const SERVICE_CONTROL_SESSIONCHANGE: ::DWORD = 0x0000000E; +pub const SERVICE_CONTROL_PRESHUTDOWN: ::DWORD = 0x0000000F; +pub const SERVICE_CONTROL_TIMECHANGE: ::DWORD = 0x00000010; +pub const SERVICE_CONTROL_TRIGGEREVENT: ::DWORD = 0x00000020; +pub const SERVICE_STOPPED: ::DWORD = 0x00000001; +pub const SERVICE_START_PENDING: ::DWORD = 0x00000002; +pub const SERVICE_STOP_PENDING: ::DWORD = 0x00000003; +pub const SERVICE_RUNNING: ::DWORD = 0x00000004; +pub const SERVICE_CONTINUE_PENDING: ::DWORD = 0x00000005; +pub const SERVICE_PAUSE_PENDING: ::DWORD = 0x00000006; +pub const SERVICE_PAUSED: ::DWORD = 0x00000007; +pub const SERVICE_ACCEPT_STOP: ::DWORD = 0x00000001; +pub const SERVICE_ACCEPT_PAUSE_CONTINUE: ::DWORD = 0x00000002; +pub const SERVICE_ACCEPT_SHUTDOWN: ::DWORD = 0x00000004; +pub const SERVICE_ACCEPT_PARAMCHANGE: ::DWORD = 0x00000008; +pub const SERVICE_ACCEPT_NETBINDCHANGE: ::DWORD = 0x00000010; +pub const SERVICE_ACCEPT_HARDWAREPROFILECHANGE: ::DWORD = 0x00000020; +pub const SERVICE_ACCEPT_POWEREVENT: ::DWORD = 0x00000040; +pub const SERVICE_ACCEPT_SESSIONCHANGE: ::DWORD = 0x00000080; +pub const SERVICE_ACCEPT_PRESHUTDOWN: ::DWORD = 0x00000100; +pub const SERVICE_ACCEPT_TIMECHANGE: ::DWORD = 0x00000200; +pub const SERVICE_ACCEPT_TRIGGEREVENT: ::DWORD = 0x00000400; +pub const SC_MANAGER_CONNECT: ::DWORD = 0x0001; +pub const SC_MANAGER_CREATE_SERVICE: ::DWORD = 0x0002; +pub const SC_MANAGER_ENUMERATE_SERVICE: ::DWORD = 0x0004; +pub const SC_MANAGER_LOCK: ::DWORD = 0x0008; +pub const SC_MANAGER_QUERY_LOCK_STATUS: ::DWORD = 0x0010; +pub const SC_MANAGER_MODIFY_BOOT_CONFIG: ::DWORD = 0x0020; +pub const SC_MANAGER_ALL_ACCESS: ::DWORD = ::STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT + | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_LOCK + | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG; +pub const SERVICE_QUERY_CONFIG: ::DWORD = 0x0001; +pub const SERVICE_CHANGE_CONFIG: ::DWORD = 0x0002; +pub const SERVICE_QUERY_STATUS: ::DWORD = 0x0004; +pub const SERVICE_ENUMERATE_DEPENDENTS: ::DWORD = 0x0008; +pub const SERVICE_START: ::DWORD = 0x0010; +pub const SERVICE_STOP: ::DWORD = 0x0020; +pub const SERVICE_PAUSE_CONTINUE: ::DWORD = 0x0040; +pub const SERVICE_INTERROGATE: ::DWORD = 0x0080; +pub const SERVICE_USER_DEFINED_CONTROL: ::DWORD = 0x0100; +pub const SERVICE_ALL_ACCESS: ::DWORD = ::STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG + | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START + | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE | SERVICE_USER_DEFINED_CONTROL; +pub const SERVICE_RUNS_IN_SYSTEM_PROCESS: ::DWORD = 0x00000001; +pub const SERVICE_CONFIG_DESCRIPTION: ::DWORD = 1; +pub const SERVICE_CONFIG_FAILURE_ACTIONS: ::DWORD = 2; +pub const SERVICE_CONFIG_DELAYED_AUTO_START_INFO: ::DWORD = 3; +pub const SERVICE_CONFIG_FAILURE_ACTIONS_FLAG: ::DWORD = 4; +pub const SERVICE_CONFIG_SERVICE_SID_INFO: ::DWORD = 5; +pub const SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO: ::DWORD = 6; +pub const SERVICE_CONFIG_PRESHUTDOWN_INFO: ::DWORD = 7; +pub const SERVICE_CONFIG_TRIGGER_INFO: ::DWORD = 8; +pub const SERVICE_CONFIG_PREFERRED_NODE: ::DWORD = 9; +pub const SERVICE_CONFIG_LAUNCH_PROTECTED: ::DWORD = 12; +pub const SERVICE_NOTIFY_STATUS_CHANGE_1: ::DWORD = 1; +pub const SERVICE_NOTIFY_STATUS_CHANGE_2: ::DWORD = 2; +pub const SERVICE_NOTIFY_STATUS_CHANGE: ::DWORD = SERVICE_NOTIFY_STATUS_CHANGE_2; +pub const SERVICE_NOTIFY_STOPPED: ::DWORD = 0x00000001; +pub const SERVICE_NOTIFY_START_PENDING: ::DWORD = 0x00000002; +pub const SERVICE_NOTIFY_STOP_PENDING: ::DWORD = 0x00000004; +pub const SERVICE_NOTIFY_RUNNING: ::DWORD = 0x00000008; +pub const SERVICE_NOTIFY_CONTINUE_PENDING: ::DWORD = 0x00000010; +pub const SERVICE_NOTIFY_PAUSE_PENDING: ::DWORD = 0x00000020; +pub const SERVICE_NOTIFY_PAUSED: ::DWORD = 0x00000040; +pub const SERVICE_NOTIFY_CREATED: ::DWORD = 0x00000080; +pub const SERVICE_NOTIFY_DELETED: ::DWORD = 0x00000100; +pub const SERVICE_NOTIFY_DELETE_PENDING: ::DWORD = 0x00000200; +pub const SERVICE_STOP_REASON_FLAG_MIN: ::DWORD = 0x00000000; +pub const SERVICE_STOP_REASON_FLAG_UNPLANNED: ::DWORD = 0x10000000; +pub const SERVICE_STOP_REASON_FLAG_CUSTOM: ::DWORD = 0x20000000; +pub const SERVICE_STOP_REASON_FLAG_PLANNED: ::DWORD = 0x40000000; +pub const SERVICE_STOP_REASON_FLAG_MAX: ::DWORD = 0x80000000; +pub const SERVICE_STOP_REASON_MAJOR_MIN: ::DWORD = 0x00000000; +pub const SERVICE_STOP_REASON_MAJOR_OTHER: ::DWORD = 0x00010000; +pub const SERVICE_STOP_REASON_MAJOR_HARDWARE: ::DWORD = 0x00020000; +pub const SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM: ::DWORD = 0x00030000; +pub const SERVICE_STOP_REASON_MAJOR_SOFTWARE: ::DWORD = 0x00040000; +pub const SERVICE_STOP_REASON_MAJOR_APPLICATION: ::DWORD = 0x00050000; +pub const SERVICE_STOP_REASON_MAJOR_NONE: ::DWORD = 0x00060000; +pub const SERVICE_STOP_REASON_MAJOR_MAX: ::DWORD = 0x00070000; +pub const SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM: ::DWORD = 0x00400000; +pub const SERVICE_STOP_REASON_MAJOR_MAX_CUSTOM: ::DWORD = 0x00ff0000; +pub const SERVICE_STOP_REASON_MINOR_MIN: ::DWORD = 0x00000000; +pub const SERVICE_STOP_REASON_MINOR_OTHER: ::DWORD = 0x00000001; +pub const SERVICE_STOP_REASON_MINOR_MAINTENANCE: ::DWORD = 0x00000002; +pub const SERVICE_STOP_REASON_MINOR_INSTALLATION: ::DWORD = 0x00000003; +pub const SERVICE_STOP_REASON_MINOR_UPGRADE: ::DWORD = 0x00000004; +pub const SERVICE_STOP_REASON_MINOR_RECONFIG: ::DWORD = 0x00000005; +pub const SERVICE_STOP_REASON_MINOR_HUNG: ::DWORD = 0x00000006; +pub const SERVICE_STOP_REASON_MINOR_UNSTABLE: ::DWORD = 0x00000007; +pub const SERVICE_STOP_REASON_MINOR_DISK: ::DWORD = 0x00000008; +pub const SERVICE_STOP_REASON_MINOR_NETWORKCARD: ::DWORD = 0x00000009; +pub const SERVICE_STOP_REASON_MINOR_ENVIRONMENT: ::DWORD = 0x0000000a; +pub const SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER: ::DWORD = 0x0000000b; +pub const SERVICE_STOP_REASON_MINOR_OTHERDRIVER: ::DWORD = 0x0000000c; +pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK: ::DWORD = 0x0000000d; +pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE: ::DWORD = 0x0000000e; +pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX: ::DWORD = 0x0000000f; +pub const SERVICE_STOP_REASON_MINOR_SECURITY: ::DWORD = 0x00000010; +pub const SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY: ::DWORD = 0x00000011; +pub const SERVICE_STOP_REASON_MINOR_WMI: ::DWORD = 0x00000012; +pub const SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL: ::DWORD = 0x00000013; +pub const SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL: ::DWORD = 0x00000014; +pub const SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL: ::DWORD = 0x00000015; +pub const SERVICE_STOP_REASON_MINOR_MMC: ::DWORD = 0x00000016; +pub const SERVICE_STOP_REASON_MINOR_NONE: ::DWORD = 0x00000017; +pub const SERVICE_STOP_REASON_MINOR_MAX: ::DWORD = 0x00000018; +pub const SERVICE_STOP_REASON_MINOR_MIN_CUSTOM: ::DWORD = 0x00000100; +pub const SERVICE_STOP_REASON_MINOR_MAX_CUSTOM: ::DWORD = 0x0000FFFF; +pub const SERVICE_CONTROL_STATUS_REASON_INFO: ::DWORD = 1; +pub const SERVICE_SID_TYPE_NONE: ::DWORD = 0x00000000; +pub const SERVICE_SID_TYPE_UNRESTRICTED: ::DWORD = 0x00000001; +pub const SERVICE_SID_TYPE_RESTRICTED: ::DWORD = 0x00000002 | SERVICE_SID_TYPE_UNRESTRICTED; +pub const SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL: ::DWORD = 1; +pub const SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY: ::DWORD = 2; +pub const SERVICE_TRIGGER_TYPE_DOMAIN_JOIN: ::DWORD = 3; +pub const SERVICE_TRIGGER_TYPE_FIREWALL_PORT_EVENT: ::DWORD = 4; +pub const SERVICE_TRIGGER_TYPE_GROUP_POLICY: ::DWORD = 5; +pub const SERVICE_TRIGGER_TYPE_NETWORK_ENDPOINT: ::DWORD = 6; +pub const SERVICE_TRIGGER_TYPE_CUSTOM_SYSTEM_STATE_CHANGE: ::DWORD = 7; +pub const SERVICE_TRIGGER_TYPE_CUSTOM: ::DWORD = 20; +pub const SERVICE_TRIGGER_DATA_TYPE_BINARY: ::DWORD = 1; +pub const SERVICE_TRIGGER_DATA_TYPE_STRING: ::DWORD = 2; +pub const SERVICE_TRIGGER_DATA_TYPE_LEVEL: ::DWORD = 3; +pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ANY: ::DWORD = 4; +pub const SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ALL: ::DWORD = 5; +pub const SERVICE_START_REASON_DEMAND: ::DWORD = 0x00000001; +pub const SERVICE_START_REASON_AUTO: ::DWORD = 0x00000002; +pub const SERVICE_START_REASON_TRIGGER: ::DWORD = 0x00000004; +pub const SERVICE_START_REASON_RESTART_ON_FAILURE: ::DWORD = 0x00000008; +pub const SERVICE_START_REASON_DELAYEDAUTO: ::DWORD = 0x00000010; +pub const SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON: ::DWORD = 1; +pub const SERVICE_LAUNCH_PROTECTED_NONE: ::DWORD = 0; +pub const SERVICE_LAUNCH_PROTECTED_WINDOWS: ::DWORD = 1; +pub const SERVICE_LAUNCH_PROTECTED_WINDOWS_LIGHT: ::DWORD = 2; +pub const SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT: ::DWORD = 3; +//678 +DECLARE_HANDLE!(SC_HANDLE, SC_HANDLE__); +pub type LPSC_HANDLE = *mut SC_HANDLE; +DECLARE_HANDLE!(SERVICE_STATUS_HANDLE, SERVICE_STATUS_HANDLE__); +ENUM!{enum SC_STATUS_TYPE { + SC_STATUS_PROCESS_INFO = 0, +}} +ENUM!{enum _SC_ENUM_TYPE { + SC_ENUM_PROCESS_INFO = 0, +}} +//700 +STRUCT!{struct SERVICE_STATUS { + dwServiceType: ::DWORD, + dwCurrentState: ::DWORD, + dwControlsAccepted: ::DWORD, + dwWin32ExitCode: ::DWORD, + dwServiceSpecificExitCode: ::DWORD, + dwCheckPoint: ::DWORD, + dwWaitHint: ::DWORD, +}} +pub type LPSERVICE_STATUS = *mut SERVICE_STATUS; +//848 +pub type LPSERVICE_MAIN_FUNCTIONW = Option<unsafe extern "system" fn( + dwNumServicesArgs: ::DWORD, lpServiceArgVectors: *mut ::LPWSTR, +)>; +pub type LPSERVICE_MAIN_FUNCTIONA = Option<unsafe extern "system" fn( + dwNumServicesArgs: ::DWORD, lpServiceArgVectors: *mut ::LPSTR, +)>; +STRUCT!{nodebug struct SERVICE_TABLE_ENTRYA { + lpServiceName: ::LPCSTR, + lpServiceProc: LPSERVICE_MAIN_FUNCTIONA, +}} +pub type LPSERVICE_TABLE_ENTRYA = *mut SERVICE_TABLE_ENTRYA; +STRUCT!{nodebug struct SERVICE_TABLE_ENTRYW { + lpServiceName: ::LPCWSTR, + lpServiceProc: LPSERVICE_MAIN_FUNCTIONW, +}} +pub type LPSERVICE_TABLE_ENTRYW = *mut SERVICE_TABLE_ENTRYW; +//900 +pub type LPHANDLER_FUNCTION = Option<unsafe extern "system" fn(dwControl: ::DWORD)>; +pub type LPHANDLER_FUNCTION_EX = Option<unsafe extern "system" fn( + dwControl: ::DWORD, dwEventType: ::DWORD, lpEventData: ::LPVOID, lpContext: ::LPVOID, +) -> ::DWORD>; diff --git a/third_party/rust/winapi-0.2.8/src/winusb.rs b/third_party/rust/winapi-0.2.8/src/winusb.rs new file mode 100644 index 0000000000..2fbb619975 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winusb.rs @@ -0,0 +1,33 @@ +// Copyright © 2016, bitbegin
+// Licensed under the MIT License <LICENSE.md>
+//! FFI bindings to winusb.
+pub type WINUSB_INTERFACE_HANDLE = ::PVOID;
+pub type PWINUSB_INTERFACE_HANDLE = *mut ::PVOID;
+pub type WINUSB_ISOCH_BUFFER_HANDLE = ::PVOID;
+pub type PWINUSB_ISOCH_BUFFER_HANDLE = *mut ::PVOID;
+STRUCT!{#[repr(packed)] struct WINUSB_SETUP_PACKET {
+ RequestType: ::UCHAR,
+ Request: ::UCHAR,
+ Value: ::USHORT,
+ Index: ::USHORT,
+ Length: ::USHORT,
+}}
+pub type PWINUSB_SETUP_PACKET = *mut WINUSB_SETUP_PACKET;
+
+STRUCT!{struct USB_INTERFACE_DESCRIPTOR {
+ bLength: ::UCHAR,
+ bDescriptorType: ::UCHAR,
+ bInterfaceNumber: ::UCHAR,
+ bAlternateSetting: ::UCHAR,
+ bNumEndpoints: ::UCHAR,
+ bInterfaceClass: ::UCHAR,
+ bInterfaceSubClass: ::UCHAR,
+ bInterfaceProtocol: ::UCHAR,
+ iInterface: ::UCHAR,
+}}
+pub type PUSB_INTERFACE_DESCRIPTOR = *mut USB_INTERFACE_DESCRIPTOR;
+#[test]
+fn test_USB_INTERFACE_DESCRIPTOR_size() {
+ use std::mem::size_of;
+ assert_eq!(size_of::<USB_INTERFACE_DESCRIPTOR>(), 9)
+}
diff --git a/third_party/rust/winapi-0.2.8/src/winusbio.rs b/third_party/rust/winapi-0.2.8/src/winusbio.rs new file mode 100644 index 0000000000..3dedf2265f --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winusbio.rs @@ -0,0 +1,18 @@ +// Copyright © 2016, bitbegin
+// Licensed under the MIT License <LICENSE.md>
+//! USBIO Definitions.
+STRUCT!{struct WINUSB_PIPE_INFORMATION {
+ PipeType: ::USBD_PIPE_TYPE,
+ PipeId: ::UCHAR,
+ MaximumPacketSize: ::USHORT,
+ Interval: ::UCHAR,
+}}
+pub type PWINUSB_PIPE_INFORMATION = *mut WINUSB_PIPE_INFORMATION;
+STRUCT!{struct WINUSB_PIPE_INFORMATION_EX {
+ PipeType: ::USBD_PIPE_TYPE,
+ PipeId: ::UCHAR,
+ MaximumPacketSize: ::USHORT,
+ Interval: ::UCHAR,
+ MaximumBytesPerInterval: ::ULONG,
+}}
+pub type PWINUSB_PIPE_INFORMATION_EX = *mut WINUSB_PIPE_INFORMATION_EX;
diff --git a/third_party/rust/winapi-0.2.8/src/winuser.rs b/third_party/rust/winapi-0.2.8/src/winuser.rs new file mode 100644 index 0000000000..5769489112 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/winuser.rs @@ -0,0 +1,2334 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! USER procedure declarations, constant definitions and macros + +// Edit Control Styles +// +pub const ES_LEFT: ::DWORD = 0x0000; +pub const ES_CENTER: ::DWORD = 0x0001; +pub const ES_RIGHT: ::DWORD = 0x0002; +pub const ES_MULTILINE: ::DWORD = 0x0004; +pub const ES_UPPERCASE: ::DWORD = 0x0008; +pub const ES_LOWERCASE: ::DWORD = 0x0010; +pub const ES_PASSWORD: ::DWORD = 0x0020; +pub const ES_AUTOVSCROLL: ::DWORD = 0x0040; +pub const ES_AUTOHSCROLL: ::DWORD = 0x0080; +pub const ES_NOHIDESEL: ::DWORD = 0x0100; +pub const ES_OEMCONVERT: ::DWORD = 0x0400; +pub const ES_READONLY: ::DWORD = 0x0800; +pub const ES_WANTRETURN: ::DWORD = 0x1000; +pub const ES_NUMBER: ::DWORD = 0x2000; + +// Edit Control Notification Codes +// +pub const EN_SETFOCUS: ::WORD = 0x0100; +pub const EN_KILLFOCUS: ::WORD = 0x0200; +pub const EN_CHANGE: ::WORD = 0x0300; +pub const EN_UPDATE: ::WORD = 0x0400; +pub const EN_ERRSPACE: ::WORD = 0x0500; +pub const EN_MAXTEXT: ::WORD = 0x0501; +pub const EN_HSCROLL: ::WORD = 0x0601; +pub const EN_VSCROLL: ::WORD = 0x0602; + +pub const EN_ALIGN_LTR_EC: ::WORD = 0x0700; +pub const EN_ALIGN_RTL_EC: ::WORD = 0x0701; + +// Edit control EM_SETMARGIN parameters +pub const EC_LEFTMARGIN: ::WORD = 0x0001; +pub const EC_RIGHTMARGIN: ::WORD = 0x0002; +pub const EC_USEFONTINFO: ::WORD = 0xffff; + +// wParam of EM_GET/SETIMESTATUS +pub const EMSIS_COMPOSITIONSTRING: ::WORD = 0x0001; + +// lParam for EMSIS_COMPOSITIONSTRING +pub const EIMES_GETCOMPSTRATONCE: ::WORD = 0x0001; +pub const EIMES_CANCELCOMPSTRINFOCUS: ::WORD = 0x0002; +pub const EIMES_COMPLETECOMPSTRKILLFOCUS: ::WORD = 0x0004; + +// Edit Control Messages +// +pub const EM_GETSEL: ::WORD = 0x00B0; +pub const EM_SETSEL: ::WORD = 0x00B1; +pub const EM_GETRECT: ::WORD = 0x00B2; +pub const EM_SETRECT: ::WORD = 0x00B3; +pub const EM_SETRECTNP: ::WORD = 0x00B4; +pub const EM_SCROLL: ::WORD = 0x00B5; +pub const EM_LINESCROLL: ::WORD = 0x00B6; +pub const EM_SCROLLCARET: ::WORD = 0x00B7; +pub const EM_GETMODIFY: ::WORD = 0x00B8; +pub const EM_SETMODIFY: ::WORD = 0x00B9; +pub const EM_GETLINECOUNT: ::WORD = 0x00BA; +pub const EM_LINEINDEX: ::WORD = 0x00BB; +pub const EM_SETHANDLE: ::WORD = 0x00BC; +pub const EM_GETHANDLE: ::WORD = 0x00BD; +pub const EM_GETTHUMB: ::WORD = 0x00BE; +pub const EM_LINELENGTH: ::WORD = 0x00C1; +pub const EM_REPLACESEL: ::WORD = 0x00C2; +pub const EM_GETLINE: ::WORD = 0x00C4; +pub const EM_LIMITTEXT: ::WORD = 0x00C5; +pub const EM_CANUNDO: ::WORD = 0x00C6; +pub const EM_UNDO: ::WORD = 0x00C7; +pub const EM_FMTLINES: ::WORD = 0x00C8; +pub const EM_LINEFROMCHAR: ::WORD = 0x00C9; +pub const EM_SETTABSTOPS: ::WORD = 0x00CB; +pub const EM_SETPASSWORDCHAR: ::WORD = 0x00CC; +pub const EM_EMPTYUNDOBUFFER: ::WORD = 0x00CD; +pub const EM_GETFIRSTVISIBLELINE: ::WORD = 0x00CE; +pub const EM_SETREADONLY: ::WORD = 0x00CF; +pub const EM_SETWORDBREAKPROC: ::WORD = 0x00D0; +pub const EM_GETWORDBREAKPROC: ::WORD = 0x00D1; +pub const EM_GETPASSWORDCHAR: ::WORD = 0x00D2; + +pub const EM_SETMARGINS: ::WORD = 0x00D3; +pub const EM_GETMARGINS: ::WORD = 0x00D4; +pub const EM_SETLIMITTEXT: ::WORD = EM_LIMITTEXT; +pub const EM_GETLIMITTEXT: ::WORD = 0x00D5; +pub const EM_POSFROMCHAR: ::WORD = 0x00D6; +pub const EM_CHARFROMPOS: ::WORD = 0x00D7; + +pub const EM_SETIMESTATUS: ::WORD = 0x00D8; +pub const EM_GETIMESTATUS: ::WORD = 0x00D9; + +// EDITWORDBREAKPROC code values +// +pub const WB_LEFT: ::WORD = 0; +pub const WB_RIGHT: ::WORD = 1; +pub const WB_ISDELIMITER: ::WORD = 2; + +pub const BN_CLICKED: ::WORD = 0; +pub const BN_PAINT: ::WORD = 1; +pub const BN_HILITE: ::WORD = 2; +pub const BN_UNHILITE: ::WORD = 3; +pub const BN_DISABLE: ::WORD = 4; +pub const BN_DOUBLECLICKED: ::WORD = 5; +pub const BN_PUSHED: ::WORD = BN_HILITE; +pub const BN_UNPUSHED: ::WORD = BN_UNHILITE; +pub const BN_DBLCLK: ::WORD = BN_DOUBLECLICKED; +pub const BN_SETFOCUS: ::WORD = 6; +pub const BN_KILLFOCUS: ::WORD = 7; +pub const BS_PUSHBUTTON: ::DWORD = 0x00000000; +pub const BS_DEFPUSHBUTTON: ::DWORD = 0x00000001; +pub const BS_CHECKBOX: ::DWORD = 0x00000002; +pub const BS_AUTOCHECKBOX: ::DWORD = 0x00000003; +pub const BS_RADIOBUTTON: ::DWORD = 0x00000004; +pub const BS_3STATE: ::DWORD = 0x00000005; +pub const BS_AUTO3STATE: ::DWORD = 0x00000006; +pub const BS_GROUPBOX: ::DWORD = 0x00000007; +pub const BS_USERBUTTON: ::DWORD = 0x00000008; +pub const BS_AUTORADIOBUTTON: ::DWORD = 0x00000009; +pub const BS_PUSHBOX: ::DWORD = 0x0000000A; +pub const BS_OWNERDRAW: ::DWORD = 0x0000000B; +pub const BS_TYPEMASK: ::DWORD = 0x0000000F; +pub const BS_LEFTTEXT: ::DWORD = 0x00000020; +pub const BS_TEXT: ::DWORD = 0x00000000; +pub const BS_ICON: ::DWORD = 0x00000040; +pub const BS_BITMAP: ::DWORD = 0x00000080; +pub const BS_LEFT: ::DWORD = 0x00000100; +pub const BS_RIGHT: ::DWORD = 0x00000200; +pub const BS_CENTER: ::DWORD = 0x00000300; +pub const BS_TOP: ::DWORD = 0x00000400; +pub const BS_BOTTOM: ::DWORD = 0x00000800; +pub const BS_VCENTER: ::DWORD = 0x00000C00; +pub const BS_PUSHLIKE: ::DWORD = 0x00001000; +pub const BS_MULTILINE: ::DWORD = 0x00002000; +pub const BS_NOTIFY: ::DWORD = 0x00004000; +pub const BS_FLAT: ::DWORD = 0x00008000; +pub const BS_RIGHTBUTTON: ::DWORD = BS_LEFTTEXT; +pub const CCHILDREN_SCROLLBAR: usize = 5; +pub const CDS_UPDATEREGISTRY: ::DWORD = 0x00000001; +pub const CDS_TEST: ::DWORD = 0x00000002; +pub const CDS_FULLSCREEN: ::DWORD = 0x00000004; +pub const CDS_GLOBAL: ::DWORD = 0x00000008; +pub const CDS_SET_PRIMARY: ::DWORD = 0x00000010; +pub const CDS_VIDEOPARAMETERS: ::DWORD = 0x00000020; +pub const CDS_ENABLE_UNSAFE_MODES: ::DWORD = 0x00000100; +pub const CDS_DISABLE_UNSAFE_MODES: ::DWORD = 0x00000200; +pub const CDS_RESET: ::DWORD = 0x40000000; +pub const CDS_RESET_EX: ::DWORD = 0x20000000; +pub const CDS_NORESET: ::DWORD = 0x10000000; +pub const CF_TEXT: ::UINT = 1; +pub const CF_BITMAP: ::UINT = 2; +pub const CF_METAFILEPICT: ::UINT = 3; +pub const CF_SYLK: ::UINT = 4; +pub const CF_DIF: ::UINT = 5; +pub const CF_TIFF: ::UINT = 6; +pub const CF_OEMTEXT: ::UINT = 7; +pub const CF_DIB: ::UINT = 8; +pub const CF_PALETTE: ::UINT = 9; +pub const CF_PENDATA: ::UINT = 10; +pub const CF_RIFF: ::UINT = 11; +pub const CF_WAVE: ::UINT = 12; +pub const CF_UNICODETEXT: ::UINT = 13; +pub const CF_ENHMETAFILE: ::UINT = 14; +pub const CF_HDROP: ::UINT = 15; +pub const CF_LOCALE: ::UINT = 16; +pub const CF_DIBV5: ::UINT = 17; +pub const CF_OWNERDISPLAY: ::UINT = 0x0080; +pub const CF_DSPTEXT: ::UINT = 0x0081; +pub const CF_DSPBITMAP: ::UINT = 0x0082; +pub const CF_DSPENHMETAFILE: ::UINT = 0x008E; +pub const CF_DSPMETAFILEPICT: ::UINT = 0x0083; +pub const CF_PRIVATEFIRST: ::UINT = 0x0200; +pub const CF_PRIVATELAST: ::UINT = 0x02FF; +pub const CF_GDIOBJFIRST: ::UINT = 0x0300; +pub const CF_GDIOBJLAST: ::UINT = 0x03FF; +pub const CS_VREDRAW: ::DWORD = 0x0001; +pub const CS_HREDRAW: ::DWORD = 0x0002; +pub const CS_DBLCLKS: ::DWORD = 0x0008; +pub const CS_OWNDC: ::DWORD = 0x0020; +pub const CS_CLASSDC: ::DWORD = 0x0040; +pub const CS_PARENTDC: ::DWORD = 0x0080; +pub const CS_NOCLOSE: ::DWORD = 0x0200; +pub const CS_SAVEBITS: ::DWORD = 0x0800; +pub const CS_BYTEALIGNCLIENT: ::DWORD = 0x1000; +pub const CS_BYTEALIGNWINDOW: ::DWORD = 0x2000; +pub const CS_GLOBALCLASS: ::DWORD = 0x4000; +pub const CS_IME: ::DWORD = 0x00010000; +pub const CS_DROPSHADOW: ::DWORD = 0x00020000; +pub const DFC_CAPTION: ::UINT = 1; +pub const DFC_MENU: ::UINT = 2; +pub const DFC_SCROLL: ::UINT = 3; +pub const DFC_BUTTON: ::UINT = 4; +pub const DFCS_CAPTIONCLOSE: ::UINT = 0x0000; +pub const DFCS_CAPTIONMIN: ::UINT = 0x0001; +pub const DFCS_CAPTIONMAX: ::UINT = 0x0002; +pub const DFCS_CAPTIONRESTORE: ::UINT = 0x0003; +pub const DFCS_CAPTIONHELP: ::UINT = 0x0004; +pub const DFCS_MENUARROW: ::UINT = 0x0000; +pub const DFCS_MENUCHECK: ::UINT = 0x0001; +pub const DFCS_MENUBULLET: ::UINT = 0x0002; +pub const DFCS_MENUARROWRIGHT: ::UINT = 0x0004; +pub const DFCS_SCROLLUP: ::UINT = 0x0000; +pub const DFCS_SCROLLDOWN: ::UINT = 0x0001; +pub const DFCS_SCROLLLEFT: ::UINT = 0x0002; +pub const DFCS_SCROLLRIGHT: ::UINT = 0x0003; +pub const DFCS_SCROLLCOMBOBOX: ::UINT = 0x0005; +pub const DFCS_SCROLLSIZEGRIP: ::UINT = 0x0008; +pub const DFCS_SCROLLSIZEGRIPRIGHT: ::UINT = 0x0010; +pub const DFCS_BUTTONCHECK: ::UINT = 0x0000; +pub const DFCS_BUTTONRADIOIMAGE: ::UINT = 0x0001; +pub const DFCS_BUTTONRADIOMASK: ::UINT = 0x0002; +pub const DFCS_BUTTONRADIO: ::UINT = 0x0004; +pub const DFCS_BUTTON3STATE: ::UINT = 0x0008; +pub const DFCS_BUTTONPUSH: ::UINT = 0x0010; +pub const DFCS_INACTIVE: ::UINT = 0x0100; +pub const DFCS_PUSHED: ::UINT = 0x0200; +pub const DFCS_CHECKED: ::UINT = 0x0400; +// if WINVER >= 0x0500 +pub const DFCS_TRANSPARENT: ::UINT = 0x0800; +pub const DFCS_HOT: ::UINT = 0x1000; +// end if WINVER >= 0x0500 +pub const DFCS_ADJUSTRECT: ::UINT = 0x2000; +pub const DFCS_FLAT: ::UINT = 0x4000; +pub const DFCS_MONO: ::UINT = 0x8000; +pub const CW_USEDEFAULT: ::c_int = 0x80000000u32 as ::c_int; +pub const DISP_CHANGE_SUCCESSFUL: ::LONG = 0; +pub const DISP_CHANGE_RESTART: ::LONG = 1; +pub const DISP_CHANGE_FAILED: ::LONG = -1; +pub const DISP_CHANGE_BADMODE: ::LONG = -2; +pub const DISP_CHANGE_NOTUPDATED: ::LONG = -3; +pub const DISP_CHANGE_BADFLAGS: ::LONG = -4; +pub const DISP_CHANGE_BADPARAM: ::LONG = -5; +pub const DISP_CHANGE_BADDUALVIEW: ::LONG = -6; +pub const EDD_GET_DEVICE_INTERFACE_NAME: ::DWORD = 0x00000001; +pub const ENUM_CURRENT_SETTINGS: ::DWORD = 0xFFFFFFFF; +pub const ENUM_REGISTRY_SETTINGS: ::DWORD = 0xFFFFFFFE; +pub const GW_HWNDFIRST: ::UINT = 0; +pub const GW_HWNDLAST: ::UINT = 1; +pub const GW_HWNDNEXT: ::UINT = 2; +pub const GW_HWNDPREV: ::UINT = 3; +pub const GW_OWNER: ::UINT = 4; +pub const GW_CHILD: ::UINT = 5; +pub const GW_ENABLEDPOPUP: ::UINT = 6; +pub const GW_MAX: ::UINT = 6; +pub const HTERROR: ::c_int = -2; +pub const HTTRANSPARENT: ::c_int = -1; +pub const HTNOWHERE: ::c_int = 0; +pub const HTCLIENT: ::c_int = 1; +pub const HTCAPTION: ::c_int = 2; +pub const HTSYSMENU: ::c_int = 3; +pub const HTGROWBOX: ::c_int = 4; +pub const HTSIZE: ::c_int = HTGROWBOX; +pub const HTMENU: ::c_int = 5; +pub const HTHSCROLL: ::c_int = 6; +pub const HTVSCROLL: ::c_int = 7; +pub const HTMINBUTTON: ::c_int = 8; +pub const HTMAXBUTTON: ::c_int = 9; +pub const HTLEFT: ::c_int = 10; +pub const HTRIGHT: ::c_int = 11; +pub const HTTOP: ::c_int = 12; +pub const HTTOPLEFT: ::c_int = 13; +pub const HTTOPRIGHT: ::c_int = 14; +pub const HTBOTTOM: ::c_int = 15; +pub const HTBOTTOMLEFT: ::c_int = 16; +pub const HTBOTTOMRIGHT: ::c_int = 17; +pub const HTBORDER: ::c_int = 18; +pub const HTREDUCE: ::c_int = HTMINBUTTON; +pub const HTZOOM: ::c_int = HTMAXBUTTON; +pub const HTSIZEFIRST: ::c_int = HTLEFT; +pub const HTSIZELAST: ::c_int = HTBOTTOMRIGHT; +pub const HTOBJECT: ::c_int = 19; +pub const HTCLOSE: ::c_int = 20; +pub const HTHELP: ::c_int = 21; +pub const LSFW_LOCK: ::UINT = 1; +pub const LSFW_UNLOCK: ::UINT = 2; +pub const MDITILE_VERTICAL: ::UINT = 0x0000; +pub const MDITILE_HORIZONTAL: ::UINT = 0x0001; +pub const MDITILE_SKIPDISABLED: ::UINT = 0x0002; +pub const MDITILE_ZORDER: ::UINT = 0x0004; +pub const MB_OK: ::DWORD = 0x00000000; +pub const MB_OKCANCEL: ::DWORD = 0x00000001; +pub const MB_ABORTRETRYIGNORE: ::DWORD = 0x00000002; +pub const MB_YESNOCANCEL: ::DWORD = 0x00000003; +pub const MB_YESNO: ::DWORD = 0x00000004; +pub const MB_RETRYCANCEL: ::DWORD = 0x00000005; +pub const MB_CANCELTRYCONTINUE: ::DWORD = 0x00000006; +pub const MB_ICONHAND: ::DWORD = 0x00000010; +pub const MB_ICONQUESTION: ::DWORD = 0x00000020; +pub const MB_ICONEXCLAMATION: ::DWORD = 0x00000030; +pub const MB_ICONASTERISK: ::DWORD = 0x00000040; +pub const MB_USERICON: ::DWORD = 0x00000080; +pub const MB_ICONWARNING: ::DWORD = MB_ICONEXCLAMATION; +pub const MB_ICONERROR: ::DWORD = MB_ICONHAND; +pub const MB_ICONINFORMATION: ::DWORD = MB_ICONASTERISK; +pub const MB_ICONSTOP: ::DWORD = MB_ICONHAND; +pub const MB_DEFBUTTON1: ::DWORD = 0x00000000; +pub const MB_DEFBUTTON2: ::DWORD = 0x00000100; +pub const MB_DEFBUTTON3: ::DWORD = 0x00000200; +pub const MB_DEFBUTTON4: ::DWORD = 0x00000300; +pub const MB_APPLMODAL: ::DWORD = 0x00000000; +pub const MB_SYSTEMMODAL: ::DWORD = 0x00001000; +pub const MB_TASKMODAL: ::DWORD = 0x00002000; +pub const MB_HELP: ::DWORD = 0x00004000; +pub const MB_NOFOCUS: ::DWORD = 0x00008000; +pub const MB_SETFOREGROUND: ::DWORD = 0x00010000; +pub const MB_DEFAULT_DESKTOP_ONLY: ::DWORD = 0x00020000; +pub const MB_TOPMOST: ::DWORD = 0x00040000; +pub const MB_RIGHT: ::DWORD = 0x00080000; +pub const MB_RTLREADING: ::DWORD = 0x00100000; +pub const MB_SERVICE_NOTIFICATION: ::DWORD = 0x00200000; +pub const MB_SERVICE_NOTIFICATION_NT3X: ::DWORD = 0x00040000; +pub const MB_TYPEMASK: ::DWORD = 0x0000000F; +pub const MB_ICONMASK: ::DWORD = 0x000000F0; +pub const MB_DEFMASK: ::DWORD = 0x00000F00; +pub const MB_MODEMASK: ::DWORD = 0x00003000; +pub const MB_MISCMASK: ::DWORD = 0x0000C000; +pub const MF_BITMAP: ::UINT = 0x00000004; +pub const MF_CHECKED: ::UINT = 0x00000008; +pub const MF_DISABLED: ::UINT = 0x00000002; +pub const MF_ENABLED: ::UINT = 0x00000000; +pub const MF_GRAYED: ::UINT = 0x00000001; +pub const MF_MENUBARBREAK: ::UINT = 0x00000020; +pub const MF_MENUBREAK: ::UINT = 0x00000040; +pub const MF_OWNERDRAW: ::UINT = 0x00000100; +pub const MF_POPUP: ::UINT = 0x00000010; +pub const MF_SEPARATOR: ::UINT = 0x00000800; +pub const MF_STRING: ::UINT = 0x00000000; +pub const MF_UNCHECKED: ::UINT = 0x00000000; +pub const SB_HORZ: ::c_int = 0; +pub const SB_VERT: ::c_int = 1; +pub const SB_CTL: ::c_int = 2; +pub const SB_BOTH: ::c_int = 3; +pub const SW_HIDE: ::c_int = 0; +pub const SW_SHOWNORMAL: ::c_int = 1; +pub const SW_NORMAL: ::c_int = 1; +pub const SW_SHOWMINIMIZED: ::c_int = 2; +pub const SW_SHOWMAXIMIZED: ::c_int = 3; +pub const SW_MAXIMIZE: ::c_int = 3; +pub const SW_SHOWNOACTIVATE: ::c_int = 4; +pub const SW_SHOW: ::c_int = 5; +pub const SW_MINIMIZE: ::c_int = 6; +pub const SW_SHOWMINNOACTIVE: ::c_int = 7; +pub const SW_SHOWNA: ::c_int = 8; +pub const SW_RESTORE: ::c_int = 9; +pub const SW_SHOWDEFAULT: ::c_int = 10; +pub const SW_FORCEMINIMIZE: ::c_int = 11; +pub const SW_MAX: ::c_int = 11; +pub const SWP_NOSIZE: ::UINT = 0x0001; +pub const SWP_NOMOVE: ::UINT = 0x0002; +pub const SWP_NOZORDER: ::UINT = 0x0004; +pub const SWP_NOREDRAW: ::UINT = 0x0008; +pub const SWP_NOACTIVATE: ::UINT = 0x0010; +pub const SWP_FRAMECHANGED: ::UINT = 0x0020; +pub const SWP_SHOWWINDOW: ::UINT = 0x0040; +pub const SWP_HIDEWINDOW: ::UINT = 0x0080; +pub const SWP_NOCOPYBITS: ::UINT = 0x0100; +pub const SWP_NOOWNERZORDER: ::UINT = 0x0200; +pub const SWP_NOSENDCHANGING: ::UINT = 0x0400; +pub const SWP_DRAWFRAME: ::UINT = SWP_FRAMECHANGED; +pub const SWP_NOREPOSITION: ::UINT = SWP_NOOWNERZORDER; +pub const SWP_DEFERERASE: ::UINT = 0x2000; +pub const SWP_ASYNCWINDOWPOS: ::UINT = 0x4000; +pub const VK_LBUTTON: ::c_int = 0x01; +pub const VK_RBUTTON: ::c_int = 0x02; +pub const VK_CANCEL: ::c_int = 0x03; +pub const VK_MBUTTON: ::c_int = 0x04; +pub const VK_XBUTTON1: ::c_int = 0x05; +pub const VK_XBUTTON2: ::c_int = 0x06; +pub const VK_BACK: ::c_int = 0x08; +pub const VK_TAB: ::c_int = 0x09; +pub const VK_CLEAR: ::c_int = 0x0C; +pub const VK_RETURN: ::c_int = 0x0D; +pub const VK_SHIFT: ::c_int = 0x10; +pub const VK_CONTROL: ::c_int = 0x11; +pub const VK_MENU: ::c_int = 0x12; +pub const VK_PAUSE: ::c_int = 0x13; +pub const VK_CAPITAL: ::c_int = 0x14; +pub const VK_KANA: ::c_int = 0x15; +pub const VK_HANGUEL: ::c_int = 0x15; +pub const VK_HANGUL: ::c_int = 0x15; +pub const VK_JUNJA: ::c_int = 0x17; +pub const VK_FINAL: ::c_int = 0x18; +pub const VK_HANJA: ::c_int = 0x19; +pub const VK_KANJI: ::c_int = 0x19; +pub const VK_ESCAPE: ::c_int = 0x1B; +pub const VK_CONVERT: ::c_int = 0x1C; +pub const VK_NONCONVERT: ::c_int = 0x1D; +pub const VK_ACCEPT: ::c_int = 0x1E; +pub const VK_MODECHANGE: ::c_int = 0x1F; +pub const VK_SPACE: ::c_int = 0x20; +pub const VK_PRIOR: ::c_int = 0x21; +pub const VK_NEXT: ::c_int = 0x22; +pub const VK_END: ::c_int = 0x23; +pub const VK_HOME: ::c_int = 0x24; +pub const VK_LEFT: ::c_int = 0x25; +pub const VK_UP: ::c_int = 0x26; +pub const VK_RIGHT: ::c_int = 0x27; +pub const VK_DOWN: ::c_int = 0x28; +pub const VK_SELECT: ::c_int = 0x29; +pub const VK_PRINT: ::c_int = 0x2A; +pub const VK_EXECUTE: ::c_int = 0x2B; +pub const VK_SNAPSHOT: ::c_int = 0x2C; +pub const VK_INSERT: ::c_int = 0x2D; +pub const VK_DELETE: ::c_int = 0x2E; +pub const VK_HELP: ::c_int = 0x2F; +pub const VK_LWIN: ::c_int = 0x5B; +pub const VK_RWIN: ::c_int = 0x5C; +pub const VK_APPS: ::c_int = 0x5D; +pub const VK_SLEEP: ::c_int = 0x5F; +pub const VK_NUMPAD0: ::c_int = 0x60; +pub const VK_NUMPAD1: ::c_int = 0x61; +pub const VK_NUMPAD2: ::c_int = 0x62; +pub const VK_NUMPAD3: ::c_int = 0x63; +pub const VK_NUMPAD4: ::c_int = 0x64; +pub const VK_NUMPAD5: ::c_int = 0x65; +pub const VK_NUMPAD6: ::c_int = 0x66; +pub const VK_NUMPAD7: ::c_int = 0x67; +pub const VK_NUMPAD8: ::c_int = 0x68; +pub const VK_NUMPAD9: ::c_int = 0x69; +pub const VK_MULTIPLY: ::c_int = 0x6A; +pub const VK_ADD: ::c_int = 0x6B; +pub const VK_SEPARATOR: ::c_int = 0x6C; +pub const VK_SUBTRACT: ::c_int = 0x6D; +pub const VK_DECIMAL: ::c_int = 0x6E; +pub const VK_DIVIDE: ::c_int = 0x6F; +pub const VK_F1: ::c_int = 0x70; +pub const VK_F2: ::c_int = 0x71; +pub const VK_F3: ::c_int = 0x72; +pub const VK_F4: ::c_int = 0x73; +pub const VK_F5: ::c_int = 0x74; +pub const VK_F6: ::c_int = 0x75; +pub const VK_F7: ::c_int = 0x76; +pub const VK_F8: ::c_int = 0x77; +pub const VK_F9: ::c_int = 0x78; +pub const VK_F10: ::c_int = 0x79; +pub const VK_F11: ::c_int = 0x7A; +pub const VK_F12: ::c_int = 0x7B; +pub const VK_F13: ::c_int = 0x7C; +pub const VK_F14: ::c_int = 0x7D; +pub const VK_F15: ::c_int = 0x7E; +pub const VK_F16: ::c_int = 0x7F; +pub const VK_F17: ::c_int = 0x80; +pub const VK_F18: ::c_int = 0x81; +pub const VK_F19: ::c_int = 0x82; +pub const VK_F20: ::c_int = 0x83; +pub const VK_F21: ::c_int = 0x84; +pub const VK_F22: ::c_int = 0x85; +pub const VK_F23: ::c_int = 0x86; +pub const VK_F24: ::c_int = 0x87; +pub const VK_NUMLOCK: ::c_int = 0x90; +pub const VK_SCROLL: ::c_int = 0x91; +pub const VK_OEM_NEC_EQUAL: ::c_int = 0x92; +pub const VK_OEM_FJ_JISHO: ::c_int = 0x92; +pub const VK_OEM_FJ_MASSHOU: ::c_int = 0x93; +pub const VK_OEM_FJ_TOUROKU: ::c_int = 0x94; +pub const VK_OEM_FJ_LOYA: ::c_int = 0x95; +pub const VK_OEM_FJ_ROYA: ::c_int = 0x96; +pub const VK_LSHIFT: ::c_int = 0xA0; +pub const VK_RSHIFT: ::c_int = 0xA1; +pub const VK_LCONTROL: ::c_int = 0xA2; +pub const VK_RCONTROL: ::c_int = 0xA3; +pub const VK_LMENU: ::c_int = 0xA4; +pub const VK_RMENU: ::c_int = 0xA5; +pub const VK_BROWSER_BACK: ::c_int = 0xA6; +pub const VK_BROWSER_FORWARD: ::c_int = 0xA7; +pub const VK_BROWSER_REFRESH: ::c_int = 0xA8; +pub const VK_BROWSER_STOP: ::c_int = 0xA9; +pub const VK_BROWSER_SEARCH: ::c_int = 0xAA; +pub const VK_BROWSER_FAVORITES: ::c_int = 0xAB; +pub const VK_BROWSER_HOME: ::c_int = 0xAC; +pub const VK_VOLUME_MUTE: ::c_int = 0xAD; +pub const VK_VOLUME_DOWN: ::c_int = 0xAE; +pub const VK_VOLUME_UP: ::c_int = 0xAF; +pub const VK_MEDIA_NEXT_TRACK: ::c_int = 0xB0; +pub const VK_MEDIA_PREV_TRACK: ::c_int = 0xB1; +pub const VK_MEDIA_STOP: ::c_int = 0xB2; +pub const VK_MEDIA_PLAY_PAUSE: ::c_int = 0xB3; +pub const VK_LAUNCH_MAIL: ::c_int = 0xB4; +pub const VK_LAUNCH_MEDIA_SELECT: ::c_int = 0xB5; +pub const VK_LAUNCH_APP1: ::c_int = 0xB6; +pub const VK_LAUNCH_APP2: ::c_int = 0xB7; +pub const VK_OEM_1: ::c_int = 0xBA; +pub const VK_OEM_PLUS: ::c_int = 0xBB; +pub const VK_OEM_COMMA: ::c_int = 0xBC; +pub const VK_OEM_MINUS: ::c_int = 0xBD; +pub const VK_OEM_PERIOD: ::c_int = 0xBE; +pub const VK_OEM_2: ::c_int = 0xBF; +pub const VK_OEM_3: ::c_int = 0xC0; +pub const VK_OEM_4: ::c_int = 0xDB; +pub const VK_OEM_5: ::c_int = 0xDC; +pub const VK_OEM_6: ::c_int = 0xDD; +pub const VK_OEM_7: ::c_int = 0xDE; +pub const VK_OEM_8: ::c_int = 0xDF; +pub const VK_OEM_AX: ::c_int = 0xE1; +pub const VK_OEM_102: ::c_int = 0xE2; +pub const VK_ICO_HELP: ::c_int = 0xE3; +pub const VK_ICO_00: ::c_int = 0xE4; +pub const VK_PROCESSKEY: ::c_int = 0xE5; +pub const VK_ICO_CLEAR: ::c_int = 0xE6; +pub const VK_PACKET: ::c_int = 0xE7; +pub const VK_OEM_RESET: ::c_int = 0xE9; +pub const VK_OEM_JUMP: ::c_int = 0xEA; +pub const VK_OEM_PA1: ::c_int = 0xEB; +pub const VK_OEM_PA2: ::c_int = 0xEC; +pub const VK_OEM_PA3: ::c_int = 0xED; +pub const VK_OEM_WSCTRL: ::c_int = 0xEE; +pub const VK_OEM_CUSEL: ::c_int = 0xEF; +pub const VK_OEM_ATTN: ::c_int = 0xF0; +pub const VK_OEM_FINISH: ::c_int = 0xF1; +pub const VK_OEM_COPY: ::c_int = 0xF2; +pub const VK_OEM_AUTO: ::c_int = 0xF3; +pub const VK_OEM_ENLW: ::c_int = 0xF4; +pub const VK_OEM_BACKTAB: ::c_int = 0xF5; +pub const VK_ATTN: ::c_int = 0xF6; +pub const VK_CRSEL: ::c_int = 0xF7; +pub const VK_EXSEL: ::c_int = 0xF8; +pub const VK_EREOF: ::c_int = 0xF9; +pub const VK_PLAY: ::c_int = 0xFA; +pub const VK_ZOOM: ::c_int = 0xFB; +pub const VK_NONAME: ::c_int = 0xFC; +pub const VK_PA1: ::c_int = 0xFD; +pub const VK_OEM_CLEAR: ::c_int = 0xFE; +// if _WIN32_WINNT >= 0x0500 +pub const APPCOMMAND_BROWSER_BACKWARD: ::c_short = 1; +pub const APPCOMMAND_BROWSER_FORWARD: ::c_short = 2; +pub const APPCOMMAND_BROWSER_REFRESH: ::c_short = 3; +pub const APPCOMMAND_BROWSER_STOP: ::c_short = 4; +pub const APPCOMMAND_BROWSER_SEARCH: ::c_short = 5; +pub const APPCOMMAND_BROWSER_FAVORITES: ::c_short = 6; +pub const APPCOMMAND_BROWSER_HOME: ::c_short = 7; +pub const APPCOMMAND_VOLUME_MUTE: ::c_short = 8; +pub const APPCOMMAND_VOLUME_DOWN: ::c_short = 9; +pub const APPCOMMAND_VOLUME_UP: ::c_short = 10; +pub const APPCOMMAND_MEDIA_NEXTTRACK: ::c_short = 11; +pub const APPCOMMAND_MEDIA_PREVIOUSTRACK: ::c_short = 12; +pub const APPCOMMAND_MEDIA_STOP: ::c_short = 13; +pub const APPCOMMAND_MEDIA_PLAY_PAUSE: ::c_short = 14; +pub const APPCOMMAND_LAUNCH_MAIL: ::c_short = 15; +pub const APPCOMMAND_LAUNCH_MEDIA_SELECT: ::c_short = 16; +pub const APPCOMMAND_LAUNCH_APP1: ::c_short = 17; +pub const APPCOMMAND_LAUNCH_APP2: ::c_short = 18; +pub const APPCOMMAND_BASS_DOWN: ::c_short = 19; +pub const APPCOMMAND_BASS_BOOST: ::c_short = 20; +pub const APPCOMMAND_BASS_UP: ::c_short = 21; +pub const APPCOMMAND_TREBLE_DOWN: ::c_short = 22; +pub const APPCOMMAND_TREBLE_UP: ::c_short = 23; +// if _WIN32_WINNT >= 0x0501 +pub const APPCOMMAND_MICROPHONE_VOLUME_MUTE: ::c_short = 24; +pub const APPCOMMAND_MICROPHONE_VOLUME_DOWN: ::c_short = 25; +pub const APPCOMMAND_MICROPHONE_VOLUME_UP: ::c_short = 26; +pub const APPCOMMAND_HELP: ::c_short = 27; +pub const APPCOMMAND_FIND: ::c_short = 28; +pub const APPCOMMAND_NEW: ::c_short = 29; +pub const APPCOMMAND_OPEN: ::c_short = 30; +pub const APPCOMMAND_CLOSE: ::c_short = 31; +pub const APPCOMMAND_SAVE: ::c_short = 32; +pub const APPCOMMAND_PRINT: ::c_short = 33; +pub const APPCOMMAND_UNDO: ::c_short = 34; +pub const APPCOMMAND_REDO: ::c_short = 35; +pub const APPCOMMAND_COPY: ::c_short = 36; +pub const APPCOMMAND_CUT: ::c_short = 37; +pub const APPCOMMAND_PASTE: ::c_short = 38; +pub const APPCOMMAND_REPLY_TO_MAIL: ::c_short = 39; +pub const APPCOMMAND_FORWARD_MAIL: ::c_short = 40; +pub const APPCOMMAND_SEND_MAIL: ::c_short = 41; +pub const APPCOMMAND_SPELL_CHECK: ::c_short = 42; +pub const APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE: ::c_short = 43; +pub const APPCOMMAND_MIC_ON_OFF_TOGGLE: ::c_short = 44; +pub const APPCOMMAND_CORRECTION_LIST: ::c_short = 45; +pub const APPCOMMAND_MEDIA_PLAY: ::c_short = 46; +pub const APPCOMMAND_MEDIA_PAUSE: ::c_short = 47; +pub const APPCOMMAND_MEDIA_RECORD: ::c_short = 48; +pub const APPCOMMAND_MEDIA_FAST_FORWARD: ::c_short = 49; +pub const APPCOMMAND_MEDIA_REWIND: ::c_short = 50; +pub const APPCOMMAND_MEDIA_CHANNEL_UP: ::c_short = 51; +pub const APPCOMMAND_MEDIA_CHANNEL_DOWN: ::c_short = 52; +// end if _WIN32_WINNT >= 0x0501 +// if _WIN32_WINNT >= 0x0600 +pub const APPCOMMAND_DELETE: ::c_short = 53; +pub const APPCOMMAND_DWM_FLIP3D: ::c_short = 54; +// end if _WIN32_WINNT >= 0x0600 +pub const WM_NULL: ::UINT = 0x0000; +pub const WM_CREATE: ::UINT = 0x0001; +pub const WM_DESTROY: ::UINT = 0x0002; +pub const WM_MOVE: ::UINT = 0x0003; +pub const WM_SIZE: ::UINT = 0x0005; +pub const WM_ACTIVATE: ::UINT = 0x0006; +pub const WM_SETFOCUS: ::UINT = 0x0007; +pub const WM_KILLFOCUS: ::UINT = 0x0008; +pub const WM_ENABLE: ::UINT = 0x000A; +pub const WM_SETREDRAW: ::UINT = 0x000B; +pub const WM_SETTEXT: ::UINT = 0x000C; +pub const WM_GETTEXT: ::UINT = 0x000D; +pub const WM_GETTEXTLENGTH: ::UINT = 0x000E; +pub const WM_PAINT: ::UINT = 0x000F; +pub const WM_CLOSE: ::UINT = 0x0010; +pub const WM_QUERYENDSESSION: ::UINT = 0x0011; +pub const WM_QUERYOPEN: ::UINT = 0x0013; +pub const WM_ENDSESSION: ::UINT = 0x0016; +pub const WM_QUIT: ::UINT = 0x0012; +pub const WM_ERASEBKGND: ::UINT = 0x0014; +pub const WM_SYSCOLORCHANGE: ::UINT = 0x0015; +pub const WM_SHOWWINDOW: ::UINT = 0x0018; +pub const WM_WININICHANGE: ::UINT = 0x001A; +pub const WM_SETTINGCHANGE: ::UINT = WM_WININICHANGE; +pub const WM_DEVMODECHANGE: ::UINT = 0x001B; +pub const WM_ACTIVATEAPP: ::UINT = 0x001C; +pub const WM_FONTCHANGE: ::UINT = 0x001D; +pub const WM_TIMECHANGE: ::UINT = 0x001E; +pub const WM_CANCELMODE: ::UINT = 0x001F; +pub const WM_SETCURSOR: ::UINT = 0x0020; +pub const WM_MOUSEACTIVATE: ::UINT = 0x0021; +pub const WM_CHILDACTIVATE: ::UINT = 0x0022; +pub const WM_QUEUESYNC: ::UINT = 0x0023; +pub const WM_GETMINMAXINFO: ::UINT = 0x0024; +pub const WM_PAINTICON: ::UINT = 0x0026; +pub const WM_ICONERASEBKGND: ::UINT = 0x0027; +pub const WM_NEXTDLGCTL: ::UINT = 0x0028; +pub const WM_SPOOLERSTATUS: ::UINT = 0x002A; +pub const WM_DRAWITEM: ::UINT = 0x002B; +pub const WM_MEASUREITEM: ::UINT = 0x002C; +pub const WM_DELETEITEM: ::UINT = 0x002D; +pub const WM_VKEYTOITEM: ::UINT = 0x002E; +pub const WM_CHARTOITEM: ::UINT = 0x002F; +pub const WM_SETFONT: ::UINT = 0x0030; +pub const WM_GETFONT: ::UINT = 0x0031; +pub const WM_SETHOTKEY: ::UINT = 0x0032; +pub const WM_GETHOTKEY: ::UINT = 0x0033; +pub const WM_QUERYDRAGICON: ::UINT = 0x0037; +pub const WM_COMPAREITEM: ::UINT = 0x0039; +pub const WM_GETOBJECT: ::UINT = 0x003D; +pub const WM_COMPACTING: ::UINT = 0x0041; +pub const WM_COMMNOTIFY: ::UINT = 0x0044; +pub const WM_WINDOWPOSCHANGING: ::UINT = 0x0046; +pub const WM_WINDOWPOSCHANGED: ::UINT = 0x0047; +pub const WM_POWER: ::UINT = 0x0048; +pub const WM_COPYDATA: ::UINT = 0x004A; +pub const WM_CANCELJOURNAL: ::UINT = 0x004B; +pub const WM_NOTIFY: ::UINT = 0x004E; +pub const WM_INPUTLANGCHANGEREQUEST: ::UINT = 0x0050; +pub const WM_INPUTLANGCHANGE: ::UINT = 0x0051; +pub const WM_TCARD: ::UINT = 0x0052; +pub const WM_HELP: ::UINT = 0x0053; +pub const WM_USERCHANGED: ::UINT = 0x0054; +pub const WM_NOTIFYFORMAT: ::UINT = 0x0055; +pub const WM_CONTEXTMENU: ::UINT = 0x007B; +pub const WM_STYLECHANGING: ::UINT = 0x007C; +pub const WM_STYLECHANGED: ::UINT = 0x007D; +pub const WM_DISPLAYCHANGE: ::UINT = 0x007E; +pub const WM_GETICON: ::UINT = 0x007F; +pub const WM_SETICON: ::UINT = 0x0080; +pub const WM_NCCREATE: ::UINT = 0x0081; +pub const WM_NCDESTROY: ::UINT = 0x0082; +pub const WM_NCCALCSIZE: ::UINT = 0x0083; +pub const WM_NCHITTEST: ::UINT = 0x0084; +pub const WM_NCPAINT: ::UINT = 0x0085; +pub const WM_NCACTIVATE: ::UINT = 0x0086; +pub const WM_GETDLGCODE: ::UINT = 0x0087; +pub const WM_SYNCPAINT: ::UINT = 0x0088; +pub const WM_NCMOUSEMOVE: ::UINT = 0x00A0; +pub const WM_NCLBUTTONDOWN: ::UINT = 0x00A1; +pub const WM_NCLBUTTONUP: ::UINT = 0x00A2; +pub const WM_NCLBUTTONDBLCLK: ::UINT = 0x00A3; +pub const WM_NCRBUTTONDOWN: ::UINT = 0x00A4; +pub const WM_NCRBUTTONUP: ::UINT = 0x00A5; +pub const WM_NCRBUTTONDBLCLK: ::UINT = 0x00A6; +pub const WM_NCMBUTTONDOWN: ::UINT = 0x00A7; +pub const WM_NCMBUTTONUP: ::UINT = 0x00A8; +pub const WM_NCMBUTTONDBLCLK: ::UINT = 0x00A9; +pub const WM_NCXBUTTONDOWN: ::UINT = 0x00AB; +pub const WM_NCXBUTTONUP: ::UINT = 0x00AC; +pub const WM_NCXBUTTONDBLCLK: ::UINT = 0x00AD; +pub const WM_INPUT_DEVICE_CHANGE: ::UINT = 0x00FE; +pub const WM_INPUT: ::UINT = 0x00FF; +pub const WM_KEYFIRST: ::UINT = 0x0100; +pub const WM_KEYDOWN: ::UINT = 0x0100; +pub const WM_KEYUP: ::UINT = 0x0101; +pub const WM_CHAR: ::UINT = 0x0102; +pub const WM_DEADCHAR: ::UINT = 0x0103; +pub const WM_SYSKEYDOWN: ::UINT = 0x0104; +pub const WM_SYSKEYUP: ::UINT = 0x0105; +pub const WM_SYSCHAR: ::UINT = 0x0106; +pub const WM_SYSDEADCHAR: ::UINT = 0x0107; +pub const WM_UNICHAR: ::UINT = 0x0109; +pub const WM_KEYLAST: ::UINT = 0x0109; +pub const WM_IME_STARTCOMPOSITION: ::UINT = 0x010D; +pub const WM_IME_ENDCOMPOSITION: ::UINT = 0x010E; +pub const WM_IME_COMPOSITION: ::UINT = 0x010F; +pub const WM_IME_KEYLAST: ::UINT = 0x010F; +pub const WM_INITDIALOG: ::UINT = 0x0110; +pub const WM_COMMAND: ::UINT = 0x0111; +pub const WM_SYSCOMMAND: ::UINT = 0x0112; +pub const WM_TIMER: ::UINT = 0x0113; +pub const WM_HSCROLL: ::UINT = 0x0114; +pub const WM_VSCROLL: ::UINT = 0x0115; +pub const WM_INITMENU: ::UINT = 0x0116; +pub const WM_INITMENUPOPUP: ::UINT = 0x0117; +pub const WM_GESTURE: ::UINT = 0x0119; +pub const WM_GESTURENOTIFY: ::UINT = 0x011A; +pub const WM_MENUSELECT: ::UINT = 0x011F; +pub const WM_MENUCHAR: ::UINT = 0x0120; +pub const WM_ENTERIDLE: ::UINT = 0x0121; +pub const WM_MENURBUTTONUP: ::UINT = 0x0122; +pub const WM_MENUDRAG: ::UINT = 0x0123; +pub const WM_MENUGETOBJECT: ::UINT = 0x0124; +pub const WM_UNINITMENUPOPUP: ::UINT = 0x0125; +pub const WM_MENUCOMMAND: ::UINT = 0x0126; +pub const WM_CHANGEUISTATE: ::UINT = 0x0127; +pub const WM_UPDATEUISTATE: ::UINT = 0x0128; +pub const WM_QUERYUISTATE: ::UINT = 0x0129; +pub const WM_CTLCOLORMSGBOX: ::UINT = 0x0132; +pub const WM_CTLCOLOREDIT: ::UINT = 0x0133; +pub const WM_CTLCOLORLISTBOX: ::UINT = 0x0134; +pub const WM_CTLCOLORBTN: ::UINT = 0x0135; +pub const WM_CTLCOLORDLG: ::UINT = 0x0136; +pub const WM_CTLCOLORSCROLLBAR: ::UINT = 0x0137; +pub const WM_CTLCOLORSTATIC: ::UINT = 0x0138; +pub const WM_MOUSEFIRST: ::UINT = 0x0200; +pub const WM_MOUSEMOVE: ::UINT = 0x0200; +pub const WM_LBUTTONDOWN: ::UINT = 0x0201; +pub const WM_LBUTTONUP: ::UINT = 0x0202; +pub const WM_LBUTTONDBLCLK: ::UINT = 0x0203; +pub const WM_RBUTTONDOWN: ::UINT = 0x0204; +pub const WM_RBUTTONUP: ::UINT = 0x0205; +pub const WM_RBUTTONDBLCLK: ::UINT = 0x0206; +pub const WM_MBUTTONDOWN: ::UINT = 0x0207; +pub const WM_MBUTTONUP: ::UINT = 0x0208; +pub const WM_MBUTTONDBLCLK: ::UINT = 0x0209; +pub const WM_MOUSEWHEEL: ::UINT = 0x020A; +pub const WM_XBUTTONDOWN: ::UINT = 0x020B; +pub const WM_XBUTTONUP: ::UINT = 0x020C; +pub const WM_XBUTTONDBLCLK: ::UINT = 0x020D; +pub const WM_MOUSEHWHEEL: ::UINT = 0x020E; +pub const WM_MOUSELAST: ::UINT = 0x020E; +pub const WM_PARENTNOTIFY: ::UINT = 0x0210; +pub const WM_ENTERMENULOOP: ::UINT = 0x0211; +pub const WM_EXITMENULOOP: ::UINT = 0x0212; +pub const WM_NEXTMENU: ::UINT = 0x0213; +pub const WM_SIZING: ::UINT = 0x0214; +pub const WM_CAPTURECHANGED: ::UINT = 0x0215; +pub const WM_MOVING: ::UINT = 0x0216; +pub const WM_POWERBROADCAST: ::UINT = 0x0218; +pub const WM_DEVICECHANGE: ::UINT = 0x0219; +pub const WM_MDICREATE: ::UINT = 0x0220; +pub const WM_MDIDESTROY: ::UINT = 0x0221; +pub const WM_MDIACTIVATE: ::UINT = 0x0222; +pub const WM_MDIRESTORE: ::UINT = 0x0223; +pub const WM_MDINEXT: ::UINT = 0x0224; +pub const WM_MDIMAXIMIZE: ::UINT = 0x0225; +pub const WM_MDITILE: ::UINT = 0x0226; +pub const WM_MDICASCADE: ::UINT = 0x0227; +pub const WM_MDIICONARRANGE: ::UINT = 0x0228; +pub const WM_MDIGETACTIVE: ::UINT = 0x0229; +pub const WM_MDISETMENU: ::UINT = 0x0230; +pub const WM_ENTERSIZEMOVE: ::UINT = 0x0231; +pub const WM_EXITSIZEMOVE: ::UINT = 0x0232; +pub const WM_DROPFILES: ::UINT = 0x0233; +pub const WM_MDIREFRESHMENU: ::UINT = 0x0234; +pub const WM_POINTERDEVICECHANGE: ::UINT = 0x238; +pub const WM_POINTERDEVICEINRANGE: ::UINT = 0x239; +pub const WM_POINTERDEVICEOUTOFRANGE: ::UINT = 0x23A; +pub const WM_TOUCH: ::UINT = 0x0240; +pub const WM_NCPOINTERUPDATE: ::UINT = 0x0241; +pub const WM_NCPOINTERDOWN: ::UINT = 0x0242; +pub const WM_NCPOINTERUP: ::UINT = 0x0243; +pub const WM_POINTERUPDATE: ::UINT = 0x0245; +pub const WM_POINTERDOWN: ::UINT = 0x0246; +pub const WM_POINTERUP: ::UINT = 0x0247; +pub const WM_POINTERENTER: ::UINT = 0x0249; +pub const WM_POINTERLEAVE: ::UINT = 0x024A; +pub const WM_POINTERACTIVATE: ::UINT = 0x024B; +pub const WM_POINTERCAPTURECHANGED: ::UINT = 0x024C; +pub const WM_TOUCHHITTESTING: ::UINT = 0x024D; +pub const WM_POINTERWHEEL: ::UINT = 0x024E; +pub const WM_POINTERHWHEEL: ::UINT = 0x024F; +pub const WM_IME_SETCONTEXT: ::UINT = 0x0281; +pub const WM_IME_NOTIFY: ::UINT = 0x0282; +pub const WM_IME_CONTROL: ::UINT = 0x0283; +pub const WM_IME_COMPOSITIONFULL: ::UINT = 0x0284; +pub const WM_IME_SELECT: ::UINT = 0x0285; +pub const WM_IME_CHAR: ::UINT = 0x0286; +pub const WM_IME_REQUEST: ::UINT = 0x0288; +pub const WM_IME_KEYDOWN: ::UINT = 0x0290; +pub const WM_IME_KEYUP: ::UINT = 0x0291; +pub const WM_MOUSEHOVER: ::UINT = 0x02A1; +pub const WM_MOUSELEAVE: ::UINT = 0x02A3; +pub const WM_NCMOUSEHOVER: ::UINT = 0x02A0; +pub const WM_NCMOUSELEAVE: ::UINT = 0x02A2; +pub const WM_WTSSESSION_CHANGE: ::UINT = 0x02B1; +pub const WM_TABLET_FIRST: ::UINT = 0x02c0; +pub const WM_TABLET_LAST: ::UINT = 0x02df; +pub const WM_DPICHANGED: ::UINT = 0x02E0; +pub const WM_CUT: ::UINT = 0x0300; +pub const WM_COPY: ::UINT = 0x0301; +pub const WM_PASTE: ::UINT = 0x0302; +pub const WM_CLEAR: ::UINT = 0x0303; +pub const WM_UNDO: ::UINT = 0x0304; +pub const WM_RENDERFORMAT: ::UINT = 0x0305; +pub const WM_RENDERALLFORMATS: ::UINT = 0x0306; +pub const WM_DESTROYCLIPBOARD: ::UINT = 0x0307; +pub const WM_DRAWCLIPBOARD: ::UINT = 0x0308; +pub const WM_PAINTCLIPBOARD: ::UINT = 0x0309; +pub const WM_VSCROLLCLIPBOARD: ::UINT = 0x030A; +pub const WM_SIZECLIPBOARD: ::UINT = 0x030B; +pub const WM_ASKCBFORMATNAME: ::UINT = 0x030C; +pub const WM_CHANGECBCHAIN: ::UINT = 0x030D; +pub const WM_HSCROLLCLIPBOARD: ::UINT = 0x030E; +pub const WM_QUERYNEWPALETTE: ::UINT = 0x030F; +pub const WM_PALETTEISCHANGING: ::UINT = 0x0310; +pub const WM_PALETTECHANGED: ::UINT = 0x0311; +pub const WM_HOTKEY: ::UINT = 0x0312; +pub const WM_PRINT: ::UINT = 0x0317; +pub const WM_PRINTCLIENT: ::UINT = 0x0318; +pub const WM_APPCOMMAND: ::UINT = 0x0319; +pub const WM_THEMECHANGED: ::UINT = 0x031A; +pub const WM_CLIPBOARDUPDATE: ::UINT = 0x031D; +pub const WM_DWMCOMPOSITIONCHANGED: ::UINT = 0x031E; +pub const WM_DWMNCRENDERINGCHANGED: ::UINT = 0x031F; +pub const WM_DWMCOLORIZATIONCOLORCHANGED: ::UINT = 0x0320; +pub const WM_DWMWINDOWMAXIMIZEDCHANGE: ::UINT = 0x0321; +pub const WM_DWMSENDICONICTHUMBNAIL: ::UINT = 0x0323; +pub const WM_DWMSENDICONICLIVEPREVIEWBITMAP: ::UINT = 0x0326; +pub const WM_GETTITLEBARINFOEX: ::UINT = 0x033F; +pub const WM_HANDHELDFIRST: ::UINT = 0x0358; +pub const WM_HANDHELDLAST: ::UINT = 0x035F; +pub const WM_AFXFIRST: ::UINT = 0x0360; +pub const WM_AFXLAST: ::UINT = 0x037F; +pub const WM_PENWINFIRST: ::UINT = 0x0380; +pub const WM_PENWINLAST: ::UINT = 0x038F; +pub const WM_APP: ::UINT = 0x8000; +pub const WM_USER: ::UINT = 0x0400; +pub const WMSZ_LEFT: ::UINT = 1; +pub const WMSZ_RIGHT: ::UINT = 2; +pub const WMSZ_TOP: ::UINT = 3; +pub const WMSZ_TOPLEFT: ::UINT = 4; +pub const WMSZ_TOPRIGHT: ::UINT = 5; +pub const WMSZ_BOTTOM: ::UINT = 6; +pub const WMSZ_BOTTOMLEFT: ::UINT = 7; +pub const WMSZ_BOTTOMRIGHT: ::UINT = 8; +pub const SMTO_NORMAL: ::UINT = 0x0000; +pub const SMTO_BLOCK: ::UINT = 0x0001; +pub const SMTO_ABORTIFHUNG: ::UINT = 0x0002; +pub const SMTO_NOTIMEOUTIFNOTHUNG: ::UINT = 0x0008; +pub const SMTO_ERRORONEXIT: ::UINT = 0x0020; +pub const MA_ACTIVATE: ::UINT = 1; +pub const MA_ACTIVATEANDEAT: ::UINT = 2; +pub const MA_NOACTIVATE: ::UINT = 3; +pub const MA_NOACTIVATEANDEAT: ::UINT = 4; +pub const ICON_SMALL: ::UINT = 0; +pub const ICON_BIG: ::UINT = 1; +pub const ICON_SMALL2: ::UINT = 2; +pub const SIZE_RESTORED: ::UINT = 0; +pub const SIZE_MINIMIZED: ::UINT = 1; +pub const SIZE_MAXIMIZED: ::UINT = 2; +pub const SIZE_MAXSHOW: ::UINT = 3; +pub const SIZE_MAXHIDE: ::UINT = 4; +pub const SIZENORMAL: ::UINT = SIZE_RESTORED; +pub const SIZEICONIC: ::UINT = SIZE_MINIMIZED; +pub const SIZEFULLSCREEN: ::UINT = SIZE_MAXIMIZED; +pub const SIZEZOOMSHOW: ::UINT = SIZE_MAXSHOW; +pub const SIZEZOOMHIDE: ::UINT = SIZE_MAXHIDE; +STRUCT!{struct NCCALCSIZE_PARAMS { + rgrc: [::RECT; 3], + lppos: PWINDOWPOS, +}} +pub type PNCCALCSIZE_PARAMS = *mut NCCALCSIZE_PARAMS; +pub type NPNCCALCSIZE_PARAMS = *mut NCCALCSIZE_PARAMS; +pub type LPNCCALCSIZE_PARAMS = *mut NCCALCSIZE_PARAMS; +pub const WVR_ALIGNTOP: ::UINT = 0x0010; +pub const WVR_ALIGNLEFT: ::UINT = 0x0020; +pub const WVR_ALIGNBOTTOM: ::UINT = 0x0040; +pub const WVR_ALIGNRIGHT: ::UINT = 0x0080; +pub const WVR_HREDRAW: ::UINT = 0x0100; +pub const WVR_VREDRAW: ::UINT = 0x0200; +pub const WVR_REDRAW: ::UINT = WVR_HREDRAW | WVR_VREDRAW; +pub const WVR_VALIDRECTS: ::UINT = 0x0400; +pub const HOVER_DEFAULT: ::UINT = 0xFFFFFFFF; +pub const WS_OVERLAPPED: ::DWORD = 0x00000000; +pub const WS_POPUP: ::DWORD = 0x80000000; +pub const WS_CHILD: ::DWORD = 0x40000000; +pub const WS_MINIMIZE: ::DWORD = 0x20000000; +pub const WS_VISIBLE: ::DWORD = 0x10000000; +pub const WS_DISABLED: ::DWORD = 0x08000000; +pub const WS_CLIPSIBLINGS: ::DWORD = 0x04000000; +pub const WS_CLIPCHILDREN: ::DWORD = 0x02000000; +pub const WS_MAXIMIZE: ::DWORD = 0x01000000; +pub const WS_CAPTION: ::DWORD = 0x00C00000; +pub const WS_BORDER: ::DWORD = 0x00800000; +pub const WS_DLGFRAME: ::DWORD = 0x00400000; +pub const WS_VSCROLL: ::DWORD = 0x00200000; +pub const WS_HSCROLL: ::DWORD = 0x00100000; +pub const WS_SYSMENU: ::DWORD = 0x00080000; +pub const WS_THICKFRAME: ::DWORD = 0x00040000; +pub const WS_GROUP: ::DWORD = 0x00020000; +pub const WS_TABSTOP: ::DWORD = 0x00010000; +pub const WS_MINIMIZEBOX: ::DWORD = 0x00020000; +pub const WS_MAXIMIZEBOX: ::DWORD = 0x00010000; +pub const WS_TILED: ::DWORD = WS_OVERLAPPED; +pub const WS_ICONIC: ::DWORD = WS_MINIMIZE; +pub const WS_SIZEBOX: ::DWORD = WS_THICKFRAME; +pub const WS_TILEDWINDOW: ::DWORD = WS_OVERLAPPEDWINDOW; +pub const WS_OVERLAPPEDWINDOW: ::DWORD = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX; +pub const WS_POPUPWINDOW: ::DWORD = WS_POPUP | WS_BORDER | WS_SYSMENU; +pub const WS_CHILDWINDOW: ::DWORD = WS_CHILD; +pub const WS_EX_DLGMODALFRAME: ::DWORD = 0x00000001; +pub const WS_EX_NOPARENTNOTIFY: ::DWORD = 0x00000004; +pub const WS_EX_TOPMOST: ::DWORD = 0x00000008; +pub const WS_EX_ACCEPTFILES: ::DWORD = 0x00000010; +pub const WS_EX_TRANSPARENT: ::DWORD = 0x00000020; +pub const WS_EX_MDICHILD: ::DWORD = 0x00000040; +pub const WS_EX_TOOLWINDOW: ::DWORD = 0x00000080; +pub const WS_EX_WINDOWEDGE: ::DWORD = 0x00000100; +pub const WS_EX_CLIENTEDGE: ::DWORD = 0x00000200; +pub const WS_EX_CONTEXTHELP: ::DWORD = 0x00000400; +pub const WS_EX_RIGHT: ::DWORD = 0x00001000; +pub const WS_EX_LEFT: ::DWORD = 0x00000000; +pub const WS_EX_RTLREADING: ::DWORD = 0x00002000; +pub const WS_EX_LTRREADING: ::DWORD = 0x00000000; +pub const WS_EX_LEFTSCROLLBAR: ::DWORD = 0x00004000; +pub const WS_EX_RIGHTSCROLLBAR: ::DWORD = 0x00000000; +pub const WS_EX_CONTROLPARENT: ::DWORD = 0x00010000; +pub const WS_EX_STATICEDGE: ::DWORD = 0x00020000; +pub const WS_EX_APPWINDOW: ::DWORD = 0x00040000; +pub const WS_EX_OVERLAPPEDWINDOW: ::DWORD = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE; +pub const WS_EX_PALETTEWINDOW: ::DWORD = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST; +pub const WS_EX_LAYERED: ::DWORD = 0x00080000; +pub const WS_EX_NOINHERITLAYOUT: ::DWORD = 0x00100000; +pub const WS_EX_NOREDIRECTIONBITMAP: ::DWORD = 0x00200000; +pub const WS_EX_LAYOUTRTL: ::DWORD = 0x00400000; +pub const WS_EX_COMPOSITED: ::DWORD = 0x02000000; +pub const WS_EX_NOACTIVATE: ::DWORD = 0x08000000; +pub type NAMEENUMPROCA = Option<unsafe extern "system" fn(::LPSTR, ::LPARAM) -> ::BOOL>; +pub type NAMEENUMPROCW = Option<unsafe extern "system" fn(::LPWSTR, ::LPARAM) -> ::BOOL>; +pub type DESKTOPENUMPROCA = NAMEENUMPROCA; +pub type DESKTOPENUMPROCW = NAMEENUMPROCW; +pub type WINSTAENUMPROCA = NAMEENUMPROCA; +pub type WINSTAENUMPROCW = NAMEENUMPROCW; +pub type WNDENUMPROC = Option<unsafe extern "system" fn(::HWND, ::LPARAM) -> ::BOOL>; +pub type WNDPROC = Option<unsafe extern "system" fn( + ::HWND, ::UINT, ::WPARAM, ::LPARAM, +) -> ::LRESULT>; +pub type DLGPROC = Option<unsafe extern "system" fn( + ::HWND, ::UINT, ::WPARAM, ::LPARAM, +) -> ::INT_PTR>; +pub type HOOKPROC = Option<unsafe extern "system" fn( + code: ::c_int, wParam: ::WPARAM, lParam: ::LPARAM, +) -> ::LRESULT>; +pub type TimerProc = Option<unsafe extern "system" fn( + hwnd: ::HWND, uMsg: ::UINT, idEvent: ::UINT_PTR, dwTime: ::DWORD, +)>; +pub type DRAWSTATEPROC = Option<unsafe extern "system" fn( + ::HDC, ::LPARAM, ::WPARAM, ::c_int, ::c_int, +) -> ::BOOL>; +pub type PROPENUMPROCA = Option<unsafe extern "system" fn(::HWND, ::LPCSTR, ::HANDLE) -> ::BOOL>; +pub type PROPENUMPROCW = Option<unsafe extern "system" fn(::HWND, ::LPCWSTR, ::HANDLE) -> ::BOOL>; +pub type GRAYSTRINGPROC = Option<unsafe extern "system" fn(::HDC, ::LPARAM, ::c_int) -> ::BOOL>; +pub type MSGBOXCALLBACK = Option<unsafe extern "system" fn(LPHELPINFO)>; +pub type WINEVENTPROC = Option<unsafe extern "system" fn( + ::HWINEVENTHOOK, ::DWORD, ::HWND, ::LONG, ::LONG, ::DWORD, ::DWORD, +)>; +pub type HDEVNOTIFY = ::PVOID; +pub type MENUTEMPLATEA = ::VOID; +pub type MENUTEMPLATEW = ::VOID; +STRUCT!{struct MSG { + hwnd: ::HWND, + message: ::UINT, + wParam: ::WPARAM, + lParam: ::LPARAM, + time: ::DWORD, + pt: ::POINT, +}} +pub type PMSG = *mut MSG; +pub type NPMSG = *mut MSG; +pub type LPMSG = *mut MSG; +STRUCT!{struct PAINTSTRUCT { + hdc: ::HDC, + fErase: ::BOOL, + rcPaint: ::RECT, + fRestore: ::BOOL, + fIncUpdate: ::BOOL, + rgbReserved: [::BYTE; 32], +}} +pub type PPAINTSTRUCT = *mut PAINTSTRUCT; +pub type NPPAINTSTRUCT = *mut PAINTSTRUCT; +pub type LPPAINTSTRUCT = *mut PAINTSTRUCT; +STRUCT!{struct WINDOWPLACEMENT { + length: ::UINT, + flags: ::UINT, + showCmd: ::UINT, + ptMinPosition: ::POINT, + ptMaxPosition: ::POINT, + rcNormalPosition: ::RECT, +}} +pub type PWINDOWPLACEMENT = *mut WINDOWPLACEMENT; +pub type LPWINDOWPLACEMENT = *mut WINDOWPLACEMENT; +STRUCT!{nodebug struct WNDCLASSEXW { + cbSize: ::UINT, + style: ::UINT, + lpfnWndProc: WNDPROC, + cbClsExtra: ::c_int, + cbWndExtra: ::c_int, + hInstance: ::HINSTANCE, + hIcon: ::HICON, + hCursor: ::HCURSOR, + hbrBackground: ::HBRUSH, + lpszMenuName: ::LPCWSTR, + lpszClassName: ::LPCWSTR, + hIconSm: ::HICON, +}} +pub type PWNDCLASSEXW = *mut WNDCLASSEXW; +pub type NPWNDCLASSEXW = *mut WNDCLASSEXW; +pub type LPWNDCLASSEXW = *mut WNDCLASSEXW; +STRUCT!{nodebug struct WNDCLASSW { + style: ::UINT, + lpfnWndProc: WNDPROC, + cbClsExtra: ::c_int, + cbWndExtra: ::c_int, + hInstance: ::HINSTANCE, + hIcon: ::HICON, + hCursor: ::HCURSOR, + hbrBackground: ::HBRUSH, + lpszMenuName: ::LPCWSTR, + lpszClassName: ::LPCWSTR, +}} +pub type PWNDCLASSW = *mut WNDCLASSW; +pub type NPWNDCLASSW = *mut WNDCLASSW; +pub type LPWNDCLASSW = *mut WNDCLASSW; +STRUCT!{struct MINMAXINFO { + ptReserved: ::POINT, + ptMaxSize: ::POINT, + ptMaxPosition: ::POINT, + ptMinTrackSize: ::POINT, + ptMaxTrackSize: ::POINT, +}} +STRUCT!{struct SCROLLBARINFO { + cbSize: ::DWORD, + rcScrollBar: ::RECT, + dxyLineButton: ::c_int, + xyThumbTop: ::c_int, + xyThumbBottom: ::c_int, + reserved: ::c_int, + rgstate: [::DWORD; CCHILDREN_SCROLLBAR + 1], +}} +pub type PSCROLLBARINFO = *mut SCROLLBARINFO; +pub type LPSCROLLBARINFO = *mut SCROLLBARINFO; +STRUCT!{struct SCROLLINFO { + cbSize: ::UINT, + fMask: ::UINT, + nMin: ::c_int, + nMax: ::c_int, + nPage: ::UINT, + nPos: ::c_int, + nTrackPos: ::c_int, +}} +pub type LPSCROLLINFO = *mut SCROLLINFO; +pub type LPCSCROLLINFO = *const SCROLLINFO; +STRUCT!{struct SIZE { + cx: ::LONG, + cy: ::LONG, +}} +pub type PSIZE = *mut SIZE; +pub type LPSIZE = *mut SIZE; +pub type SIZEL = SIZE; +pub type PSIZEL = *mut SIZEL; +pub type LPSIZEL = *mut SIZEL; +//1913 +pub const UNICODE_NOCHAR: ::WPARAM = 0xffff; +pub type HDWP = *mut ::HANDLE; +//2193 +pub const WHEEL_DELTA: ::DWORD = 120; +//2206 +pub const XBUTTON1: ::DWORD = 0x0001; +pub const XBUTTON2: ::DWORD = 0x0002; +//2392 +pub const MK_LBUTTON: ::WPARAM = 0x0001; +pub const MK_RBUTTON: ::WPARAM = 0x0002; +pub const MK_SHIFT: ::WPARAM = 0x0004; +pub const MK_CONTROL: ::WPARAM = 0x0008; +pub const MK_MBUTTON: ::WPARAM = 0x0010; +pub const MK_XBUTTON1: ::WPARAM = 0x0020; +pub const MK_XBUTTON2: ::WPARAM = 0x0040; +//2408 +pub const TME_HOVER: ::DWORD = 0x0000_0001; +pub const TME_LEAVE: ::DWORD = 0x0000_0002; +pub const TME_NONCLIENT: ::DWORD = 0x0000_0010; +pub const TME_QUERY: ::DWORD = 0x4000_0000; +pub const TME_CANCEL: ::DWORD = 0x8000_0000; +pub const HWND_BROADCAST: ::HWND = 0xFFFF as ::HWND; +pub const HWND_MESSAGE: ::HWND = -3isize as ::HWND; +STRUCT!{struct TRACKMOUSEEVENT { + cbSize: ::DWORD, + dwFlags: ::DWORD, + hwndTrack: ::HWND, + dwHoverTime: ::DWORD, +}} +pub type LPTRACKMOUSEEVENT = *mut TRACKMOUSEEVENT; +//2575 +STRUCT!{nodebug struct WINDOWPOS { + hwnd: ::HWND, + hwndInsertAfter: ::HWND, + x: ::c_int, + y: ::c_int, + cx: ::c_int, + cy: ::c_int, + flags: ::UINT, +}} +pub type LPWINDOWPOS = *mut WINDOWPOS; +pub type PWINDOWPOS = *mut WINDOWPOS; +//3082 +STRUCT!{struct CREATESTRUCTA { + lpCreateParams: ::LPVOID, + hInstance: ::HINSTANCE, + hMenu: ::HMENU, + hwndParent: ::HWND, + cy: ::c_int, + cx: ::c_int, + y: ::c_int, + x: ::c_int, + style: ::LONG, + lpszName: ::LPCSTR, + lpszClass: ::LPCSTR, + dwExStyle: ::DWORD, +}} +pub type LPCREATESTRUCTA = *mut CREATESTRUCTA; +STRUCT!{struct CREATESTRUCTW { + lpCreateParams: ::LPVOID, + hInstance: ::HINSTANCE, + hMenu: ::HMENU, + hwndParent: ::HWND, + cy: ::c_int, + cx: ::c_int, + y: ::c_int, + x: ::c_int, + style: ::LONG, + lpszName: ::LPCWSTR, + lpszClass: ::LPCWSTR, + dwExStyle: ::DWORD, +}} +pub type LPCREATESTRUCTW = *mut CREATESTRUCTW; +//3145 +STRUCT!{struct NMHDR { + hwndFrom: ::HWND, + idFrom: ::UINT_PTR, + code: ::UINT, // NM_ code +}} +pub type LPNMHDR = *mut NMHDR; +//3400 +pub const PM_NOREMOVE: ::UINT = 0x0000; +pub const PM_REMOVE: ::UINT = 0x0001; +pub const PM_NOYIELD: ::UINT = 0x0002; +pub const PM_QS_INPUT: ::UINT = QS_INPUT << 16; +pub const PM_QS_POSTMESSAGE: ::UINT = (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16; +pub const PM_QS_PAINT: ::UINT = QS_PAINT << 16; +pub const PM_QS_SENDMESSAGE: ::UINT = QS_SENDMESSAGE << 16; +// +pub const LWA_COLORKEY: ::DWORD = 0x00000001; +pub const LWA_ALPHA: ::DWORD = 0x00000002; +//3469 +pub const EWX_LOGOFF: ::UINT = 0x00000000; +pub const EWX_SHUTDOWN: ::UINT = 0x00000001; +pub const EWX_REBOOT: ::UINT = 0x00000002; +pub const EWX_FORCE: ::UINT = 0x00000004; +pub const EWX_POWEROFF: ::UINT = 0x00000008; +pub const EWX_FORCEIFHUNG: ::UINT = 0x00000010; +pub const EWX_QUICKRESOLVE: ::UINT = 0x00000020; +pub const EWX_RESTARTAPPS: ::UINT = 0x00000040; +pub const EWX_HYBRID_SHUTDOWN: ::UINT = 0x00400000; +pub const EWX_BOOTOPTIONS: ::UINT = 0x01000000; +//4054 (Win 7 SDK) +STRUCT!{struct FLASHWINFO { + cbSize: ::UINT, + hwnd: ::HWND, + dwFlags: ::DWORD, + uCount: ::UINT, + dwTimeout: ::DWORD, +}} +pub type PFLASHWINFO = *mut FLASHWINFO; +pub const FLASHW_STOP: ::DWORD = 0; +pub const FLASHW_CAPTION: ::DWORD = 0x00000001; +pub const FLASHW_TRAY: ::DWORD = 0x00000002; +pub const FLASHW_ALL: ::DWORD = FLASHW_CAPTION | FLASHW_TRAY; +pub const FLASHW_TIMER: ::DWORD = 0x00000004; +pub const FLASHW_TIMERNOFG: ::DWORD = 0x0000000C; +// 4674 +pub const HWND_TOP: ::HWND = 0 as ::HWND; +pub const HWND_BOTTOM: ::HWND = 1 as ::HWND; +pub const HWND_TOPMOST: ::HWND = -1isize as ::HWND; +pub const HWND_NOTOPMOST: ::HWND = -2isize as ::HWND; +//5499 +pub const MAPVK_VK_TO_VSC: ::UINT = 0; +pub const MAPVK_VSC_TO_VK: ::UINT = 1; +pub const MAPVK_VK_TO_CHAR: ::UINT = 2; +pub const MAPVK_VSC_TO_VK_EX: ::UINT = 3; +pub const MAPVK_VK_TO_VSC_EX: ::UINT = 4; +//5741 +pub const KEYEVENTF_EXTENDEDKEY: ::DWORD = 0x0001; +pub const KEYEVENTF_KEYUP: ::DWORD = 0x0002; +pub const KEYEVENTF_UNICODE: ::DWORD = 0x0004; +pub const KEYEVENTF_SCANCODE: ::DWORD = 0x0008; +pub const MOUSEEVENTF_MOVE: ::DWORD = 0x0001; +pub const MOUSEEVENTF_LEFTDOWN: ::DWORD = 0x0002; +pub const MOUSEEVENTF_LEFTUP: ::DWORD = 0x0004; +pub const MOUSEEVENTF_RIGHTDOWN: ::DWORD = 0x0008; +pub const MOUSEEVENTF_RIGHTUP: ::DWORD = 0x0010; +pub const MOUSEEVENTF_MIDDLEDOWN: ::DWORD = 0x0020; +pub const MOUSEEVENTF_MIDDLEUP: ::DWORD = 0x0040; +pub const MOUSEEVENTF_XDOWN: ::DWORD = 0x0080; +pub const MOUSEEVENTF_XUP: ::DWORD = 0x0100; +pub const MOUSEEVENTF_WHEEL: ::DWORD = 0x0800; +pub const MOUSEEVENTF_HWHEEL: ::DWORD = 0x01000; +pub const MOUSEEVENTF_MOVE_NOCOALESCE: ::DWORD = 0x2000; +pub const MOUSEEVENTF_VIRTUALDESK: ::DWORD = 0x4000; +pub const MOUSEEVENTF_ABSOLUTE: ::DWORD = 0x8000; +STRUCT!{struct MOUSEINPUT { + dx: ::LONG, + dy: ::LONG, + mouseData: ::DWORD, + dwFlags: ::DWORD, + time: ::DWORD, + dwExtraInfo: ::ULONG_PTR, +}} +pub type PMOUSEINPUT = *mut MOUSEINPUT; +pub type LPMOUSEINPUT = *mut MOUSEINPUT; +STRUCT!{struct KEYBDINPUT { + wVk: ::WORD, + wScan: ::WORD, + dwFlags: ::DWORD, + time: ::DWORD, + dwExtraInfo: ::ULONG_PTR, +}} +pub type PKEYBDINPUT = *mut KEYBDINPUT; +pub type LPKEYBDINPUT = *mut KEYBDINPUT; +STRUCT!{struct HARDWAREINPUT { + uMsg: ::DWORD, + wParamL: ::WORD, + wParamH: ::WORD, +}} +pub type PHARDWAREINPUT = *mut HARDWAREINPUT; +pub type LPHARDWAREINPUT= *mut HARDWAREINPUT; +pub const INPUT_MOUSE: ::DWORD = 0; +pub const INPUT_KEYBOARD: ::DWORD = 1; +pub const INPUT_HARDWARE: ::DWORD = 2; +#[cfg(target_arch = "x86")] +STRUCT!{struct INPUT { + type_: ::DWORD, + u: [u32; 6], +}} +#[cfg(target_arch = "x86_64")] +STRUCT!{struct INPUT { + type_: ::DWORD, + u: [u64; 4], +}} +UNION!{INPUT, u, mi, mi_mut, MOUSEINPUT} +UNION!{INPUT, u, ki, ki_mut, KEYBDINPUT} +UNION!{INPUT, u, hi, hi_mut, HARDWAREINPUT} +pub type PINPUT = *mut INPUT; +pub type LPINPUT = *mut INPUT; +// if WINVER >= 0x0601 +DECLARE_HANDLE!(HTOUCHINPUT, HTOUCHINPUT__); +STRUCT!{struct TOUCHINPUT { + x: ::LONG, + y: ::LONG, + hSource: ::HANDLE, + dwID: ::DWORD, + dwFlags: ::DWORD, + dwMask: ::DWORD, + dwTime: ::DWORD, + dwExtraInfo: ::ULONG_PTR, + cxContact: ::DWORD, + cyContact: ::DWORD, +}} +pub type PTOUCHINPUT = *mut TOUCHINPUT; +pub type PCTOUCHINPUT = *const TOUCHINPUT; +//Touch input flag values (TOUCHINPUT.dwFlags) +pub const TOUCHEVENTF_MOVE: ::DWORD = 0x0001; +pub const TOUCHEVENTF_DOWN: ::DWORD = 0x0002; +pub const TOUCHEVENTF_UP: ::DWORD = 0x0004; +pub const TOUCHEVENTF_INRANGE: ::DWORD = 0x0008; +pub const TOUCHEVENTF_PRIMARY: ::DWORD = 0x0010; +pub const TOUCHEVENTF_NOCOALESCE: ::DWORD = 0x0020; +pub const TOUCHEVENTF_PEN: ::DWORD = 0x0040; +pub const TOUCHEVENTF_PALM: ::DWORD = 0x0080; +//Touch input mask values (TOUCHINPUT.dwMask) +pub const TOUCHINPUTMASKF_TIMEFROMSYSTEM: ::DWORD = 0x0001; +pub const TOUCHINPUTMASKF_EXTRAINFO: ::DWORD = 0x0002; +pub const TOUCHINPUTMASKF_CONTACTAREA: ::DWORD = 0x0004; +//RegisterTouchWindow flag values +pub const TWF_FINETOUCH: ::ULONG = 0x00000001; +pub const TWF_WANTPALM: ::ULONG = 0x00000002; +// end if WINVER >= 0x0601 +//Indices for GetWindowLong etc. +pub const GWL_EXSTYLE: ::c_int = -20; +pub const GWL_STYLE: ::c_int = -16; +pub const GWL_WNDPROC: ::c_int = -4; +pub const GWLP_WNDPROC: ::c_int = -4; +pub const GWL_HINSTANCE: ::c_int = -6; +pub const GWLP_HINSTANCE: ::c_int = -6; +pub const GWL_HWNDPARENT: ::c_int = -8; +pub const GWLP_HWNDPARENT: ::c_int = -8; +pub const GWL_ID: ::c_int = -12; +pub const GWLP_ID: ::c_int = -12; +pub const GWL_USERDATA: ::c_int = -21; +pub const GWLP_USERDATA: ::c_int = -21; +//5976 +ENUM!{enum POINTER_INPUT_TYPE { + PT_POINTER = 0x00000001, + PT_TOUCH = 0x00000002, + PT_PEN = 0x00000003, + PT_MOUSE = 0x00000004, + PT_TOUCHPAD = 0x00000005, +}} +//6566 +// flags for MsgWaitForMultipleObjectsEx +pub const MWMO_WAITALL: ::DWORD = 0x0001; +pub const MWMO_ALERTABLE: ::DWORD = 0x0002; +pub const MWMO_INPUTAVAILABLE: ::DWORD = 0x0004; +//6573 +pub const QS_KEY: ::UINT = 0x0001; +pub const QS_MOUSEMOVE: ::UINT = 0x0002; +pub const QS_MOUSEBUTTON: ::UINT = 0x0004; +pub const QS_POSTMESSAGE: ::UINT = 0x0008; +pub const QS_TIMER: ::UINT = 0x0010; +pub const QS_PAINT: ::UINT = 0x0020; +pub const QS_SENDMESSAGE: ::UINT = 0x0040; +pub const QS_HOTKEY: ::UINT = 0x0080; +pub const QS_ALLPOSTMESSAGE: ::UINT = 0x0100; +pub const QS_RAWINPUT: ::UINT = 0x0400; +pub const QS_TOUCH: ::UINT = 0x0800; +pub const QS_POINTER: ::UINT = 0x1000; +pub const QS_MOUSE: ::UINT = QS_MOUSEMOVE | QS_MOUSEBUTTON; +pub const QS_INPUT: ::UINT = QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER; +pub const QS_ALLEVENTS: ::UINT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY; +pub const QS_ALLINPUT: ::UINT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER + | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE; +//6789 +pub const SM_CXSCREEN: ::c_int = 0; +pub const SM_CYSCREEN: ::c_int = 1; +pub const SM_CXVSCROLL: ::c_int = 2; +pub const SM_CYHSCROLL: ::c_int = 3; +pub const SM_CYCAPTION: ::c_int = 4; +pub const SM_CXBORDER: ::c_int = 5; +pub const SM_CYBORDER: ::c_int = 6; +pub const SM_CXDLGFRAME: ::c_int = 7; +pub const SM_CYDLGFRAME: ::c_int = 8; +pub const SM_CYVTHUMB: ::c_int = 9; +pub const SM_CXHTHUMB: ::c_int = 10; +pub const SM_CXICON: ::c_int = 11; +pub const SM_CYICON: ::c_int = 12; +pub const SM_CXCURSOR: ::c_int = 13; +pub const SM_CYCURSOR: ::c_int = 14; +pub const SM_CYMENU: ::c_int = 15; +pub const SM_CXFULLSCREEN: ::c_int = 16; +pub const SM_CYFULLSCREEN: ::c_int = 17; +pub const SM_CYKANJIWINDOW: ::c_int = 18; +pub const SM_MOUSEPRESENT: ::c_int = 19; +pub const SM_CYVSCROLL: ::c_int = 20; +pub const SM_CXHSCROLL: ::c_int = 21; +pub const SM_DEBUG: ::c_int = 22; +pub const SM_SWAPBUTTON: ::c_int = 23; +pub const SM_RESERVED1: ::c_int = 24; +pub const SM_RESERVED2: ::c_int = 25; +pub const SM_RESERVED3: ::c_int = 26; +pub const SM_RESERVED4: ::c_int = 27; +pub const SM_CXMIN: ::c_int = 28; +pub const SM_CYMIN: ::c_int = 29; +pub const SM_CXSIZE: ::c_int = 30; +pub const SM_CYSIZE: ::c_int = 31; +pub const SM_CXFRAME: ::c_int = 32; +pub const SM_CYFRAME: ::c_int = 33; +pub const SM_CXMINTRACK: ::c_int = 34; +pub const SM_CYMINTRACK: ::c_int = 35; +pub const SM_CXDOUBLECLK: ::c_int = 36; +pub const SM_CYDOUBLECLK: ::c_int = 37; +pub const SM_CXICONSPACING: ::c_int = 38; +pub const SM_CYICONSPACING: ::c_int = 39; +pub const SM_MENUDROPALIGNMENT: ::c_int = 40; +pub const SM_PENWINDOWS: ::c_int = 41; +pub const SM_DBCSENABLED: ::c_int = 42; +pub const SM_CMOUSEBUTTONS: ::c_int = 43; +pub const SM_CXFIXEDFRAME: ::c_int = SM_CXDLGFRAME; +pub const SM_CYFIXEDFRAME: ::c_int = SM_CYDLGFRAME; +pub const SM_CXSIZEFRAME: ::c_int = SM_CXFRAME; +pub const SM_CYSIZEFRAME: ::c_int = SM_CYFRAME; +pub const SM_SECURE: ::c_int = 44; +pub const SM_CXEDGE: ::c_int = 45; +pub const SM_CYEDGE: ::c_int = 46; +pub const SM_CXMINSPACING: ::c_int = 47; +pub const SM_CYMINSPACING: ::c_int = 48; +pub const SM_CXSMICON: ::c_int = 49; +pub const SM_CYSMICON: ::c_int = 50; +pub const SM_CYSMCAPTION: ::c_int = 51; +pub const SM_CXSMSIZE: ::c_int = 52; +pub const SM_CYSMSIZE: ::c_int = 53; +pub const SM_CXMENUSIZE: ::c_int = 54; +pub const SM_CYMENUSIZE: ::c_int = 55; +pub const SM_ARRANGE: ::c_int = 56; +pub const SM_CXMINIMIZED: ::c_int = 57; +pub const SM_CYMINIMIZED: ::c_int = 58; +pub const SM_CXMAXTRACK: ::c_int = 59; +pub const SM_CYMAXTRACK: ::c_int = 60; +pub const SM_CXMAXIMIZED: ::c_int = 61; +pub const SM_CYMAXIMIZED: ::c_int = 62; +pub const SM_NETWORK: ::c_int = 63; +pub const SM_CLEANBOOT: ::c_int = 67; +pub const SM_CXDRAG: ::c_int = 68; +pub const SM_CYDRAG: ::c_int = 69; +pub const SM_SHOWSOUNDS: ::c_int = 70; +pub const SM_CXMENUCHECK: ::c_int = 71; +pub const SM_CYMENUCHECK: ::c_int = 72; +pub const SM_SLOWMACHINE: ::c_int = 73; +pub const SM_MIDEASTENABLED: ::c_int = 74; +pub const SM_MOUSEWHEELPRESENT: ::c_int = 75; +pub const SM_XVIRTUALSCREEN: ::c_int = 76; +pub const SM_YVIRTUALSCREEN: ::c_int = 77; +pub const SM_CXVIRTUALSCREEN: ::c_int = 78; +pub const SM_CYVIRTUALSCREEN: ::c_int = 79; +pub const SM_CMONITORS: ::c_int = 80; +pub const SM_SAMEDISPLAYFORMAT: ::c_int = 81; +pub const SM_IMMENABLED: ::c_int = 82; +pub const SM_CXFOCUSBORDER: ::c_int = 83; +pub const SM_CYFOCUSBORDER: ::c_int = 84; +pub const SM_TABLETPC: ::c_int = 86; +pub const SM_MEDIACENTER: ::c_int = 87; +pub const SM_STARTER: ::c_int = 88; +pub const SM_SERVERR2: ::c_int = 89; +pub const SM_MOUSEHORIZONTALWHEELPRESENT: ::c_int = 91; +pub const SM_CXPADDEDBORDER: ::c_int = 92; +pub const SM_DIGITIZER: ::c_int = 94; +pub const SM_MAXIMUMTOUCHES: ::c_int = 95; +pub const SM_CMETRICS: ::c_int = 97; +pub const SM_REMOTESESSION: ::c_int = 0x1000; +pub const SM_SHUTTINGDOWN: ::c_int = 0x2000; +pub const SM_REMOTECONTROL: ::c_int = 0x2001; +pub const SM_CARETBLINKINGENABLED: ::c_int = 0x2002; +pub const SM_CONVERTIBLESLATEMODE: ::c_int = 0x2003; +pub const SM_SYSTEMDOCKED: ::c_int = 0x2004; +//8855 (Win 7 SDK) +STRUCT!{struct ICONINFO { + fIcon: ::BOOL, + xHotspot: ::DWORD, + yHotspot: ::DWORD, + hbmMask: ::HBITMAP, + hbmColor: ::HBITMAP, +}} +pub type PICONINFO = *mut ICONINFO; +//9066 +// Color indexes for use in GetSysColor and SetSysColor +// 0-18 (after incrementing) are also valid in RegisterClass's WNDCLASS +pub const COLOR_SCROLLBAR: ::c_int = 0; +pub const COLOR_BACKGROUND: ::c_int = 1; +pub const COLOR_ACTIVECAPTION: ::c_int = 2; +pub const COLOR_INACTIVECAPTION: ::c_int = 3; +pub const COLOR_MENU: ::c_int = 4; +pub const COLOR_WINDOW: ::c_int = 5; +pub const COLOR_WINDOWFRAME: ::c_int = 6; +pub const COLOR_MENUTEXT: ::c_int = 7; +pub const COLOR_WINDOWTEXT: ::c_int = 8; +pub const COLOR_CAPTIONTEXT: ::c_int = 9; +pub const COLOR_ACTIVEBORDER: ::c_int = 10; +pub const COLOR_INACTIVEBORDER: ::c_int = 11; +pub const COLOR_APPWORKSPACE: ::c_int = 12; +pub const COLOR_HIGHLIGHT: ::c_int = 13; +pub const COLOR_HIGHLIGHTTEXT: ::c_int = 14; +pub const COLOR_BTNFACE: ::c_int = 15; +pub const COLOR_BTNSHADOW: ::c_int = 16; +pub const COLOR_GRAYTEXT: ::c_int = 17; +pub const COLOR_BTNTEXT: ::c_int = 18; +pub const COLOR_INACTIVECAPTIONTEXT: ::c_int = 19; +pub const COLOR_BTNHIGHLIGHT: ::c_int = 20; +// Introduced in Windows 95 (winver 0x0400): +pub const COLOR_3DDKSHADOW: ::c_int = 21; +pub const COLOR_3DLIGHT: ::c_int = 22; +pub const COLOR_INFOTEXT: ::c_int = 23; +pub const COLOR_INFOBK: ::c_int = 24; +pub const COLOR_DESKTOP: ::c_int = COLOR_BACKGROUND; +pub const COLOR_3DFACE: ::c_int = COLOR_BTNFACE; +pub const COLOR_3DSHADOW: ::c_int = COLOR_BTNSHADOW; +pub const COLOR_3DHIGHLIGHT: ::c_int = COLOR_BTNHIGHLIGHT; +pub const COLOR_3DHILIGHT: ::c_int = COLOR_BTNHIGHLIGHT; +pub const COLOR_BTNHILIGHT: ::c_int = COLOR_BTNHIGHLIGHT; +// Introduced in Windows 2000 (winver 0x0500) +pub const COLOR_HOTLIGHT: ::c_int = 26; +pub const COLOR_GRADIENTACTIVECAPTION: ::c_int = 27; +pub const COLOR_GRADIENTINACTIVECAPTION: ::c_int = 28; +// Introduced in Windows XP (winver 0x0501) +pub const COLOR_MENUHILIGHT: ::c_int = 29; +pub const COLOR_MENUBAR: ::c_int = 30; +//10069 +pub const IDC_ARROW: ::LPCWSTR = 32512 as ::LPCWSTR; +pub const IDC_IBEAM: ::LPCWSTR = 32513 as ::LPCWSTR; +pub const IDC_WAIT: ::LPCWSTR = 32514 as ::LPCWSTR; +pub const IDC_CROSS: ::LPCWSTR = 32515 as ::LPCWSTR; +pub const IDC_UPARROW: ::LPCWSTR = 32516 as ::LPCWSTR; +pub const IDC_SIZE: ::LPCWSTR = 32640 as ::LPCWSTR; +pub const IDC_ICON: ::LPCWSTR = 32641 as ::LPCWSTR; +pub const IDC_SIZENWSE: ::LPCWSTR = 32642 as ::LPCWSTR; +pub const IDC_SIZENESW: ::LPCWSTR = 32643 as ::LPCWSTR; +pub const IDC_SIZEWE: ::LPCWSTR = 32644 as ::LPCWSTR; +pub const IDC_SIZENS: ::LPCWSTR = 32645 as ::LPCWSTR; +pub const IDC_SIZEALL: ::LPCWSTR = 32646 as ::LPCWSTR; +pub const IDC_NO: ::LPCWSTR = 32648 as ::LPCWSTR; +pub const IDC_HAND: ::LPCWSTR = 32649 as ::LPCWSTR; +pub const IDC_APPSTARTING: ::LPCWSTR = 32650 as ::LPCWSTR; +pub const IDC_HELP: ::LPCWSTR = 32651 as ::LPCWSTR; +//10492 +pub const IDI_APPLICATION: ::LPCWSTR = 32512 as ::LPCWSTR; +pub const IDI_HAND: ::LPCWSTR = 32513 as ::LPCWSTR; +pub const IDI_QUESTION: ::LPCWSTR = 32514 as ::LPCWSTR; +pub const IDI_EXCLAMATION: ::LPCWSTR = 32515 as ::LPCWSTR; +pub const IDI_ASTERISK: ::LPCWSTR = 32516 as ::LPCWSTR; +pub const IDI_WINLOGO: ::LPCWSTR = 32517 as ::LPCWSTR; +pub const IDI_SHIELD: ::LPCWSTR = 32518 as ::LPCWSTR; +pub const IDI_WARNING: ::LPCWSTR = IDI_EXCLAMATION; +pub const IDI_ERROR: ::LPCWSTR = IDI_HAND; +pub const IDI_INFORMATION: ::LPCWSTR = IDI_ASTERISK; +pub const SPI_GETBEEP: ::UINT = 0x0001; +pub const SPI_SETBEEP: ::UINT = 0x0002; +pub const SPI_GETMOUSE: ::UINT = 0x0003; +pub const SPI_SETMOUSE: ::UINT = 0x0004; +pub const SPI_GETBORDER: ::UINT = 0x0005; +pub const SPI_SETBORDER: ::UINT = 0x0006; +pub const SPI_GETKEYBOARDSPEED: ::UINT = 0x000A; +pub const SPI_SETKEYBOARDSPEED: ::UINT = 0x000B; +pub const SPI_LANGDRIVER: ::UINT = 0x000C; +pub const SPI_ICONHORIZONTALSPACING: ::UINT = 0x000D; +pub const SPI_GETSCREENSAVETIMEOUT: ::UINT = 0x000E; +pub const SPI_SETSCREENSAVETIMEOUT: ::UINT = 0x000F; +pub const SPI_GETSCREENSAVEACTIVE: ::UINT = 0x0010; +pub const SPI_SETSCREENSAVEACTIVE: ::UINT = 0x0011; +pub const SPI_GETGRIDGRANULARITY: ::UINT = 0x0012; +pub const SPI_SETGRIDGRANULARITY: ::UINT = 0x0013; +pub const SPI_SETDESKWALLPAPER: ::UINT = 0x0014; +pub const SPI_SETDESKPATTERN: ::UINT = 0x0015; +pub const SPI_GETKEYBOARDDELAY: ::UINT = 0x0016; +pub const SPI_SETKEYBOARDDELAY: ::UINT = 0x0017; +pub const SPI_ICONVERTICALSPACING: ::UINT = 0x0018; +pub const SPI_GETICONTITLEWRAP: ::UINT = 0x0019; +pub const SPI_SETICONTITLEWRAP: ::UINT = 0x001A; +pub const SPI_GETMENUDROPALIGNMENT: ::UINT = 0x001B; +pub const SPI_SETMENUDROPALIGNMENT: ::UINT = 0x001C; +pub const SPI_SETDOUBLECLKWIDTH: ::UINT = 0x001D; +pub const SPI_SETDOUBLECLKHEIGHT: ::UINT = 0x001E; +pub const SPI_GETICONTITLELOGFONT: ::UINT = 0x001F; +pub const SPI_SETDOUBLECLICKTIME: ::UINT = 0x0020; +pub const SPI_SETMOUSEBUTTONSWAP: ::UINT = 0x0021; +pub const SPI_SETICONTITLELOGFONT: ::UINT = 0x0022; +pub const SPI_GETFASTTASKSWITCH: ::UINT = 0x0023; +pub const SPI_SETFASTTASKSWITCH: ::UINT = 0x0024; +pub const SPI_SETDRAGFULLWINDOWS: ::UINT = 0x0025; +pub const SPI_GETDRAGFULLWINDOWS: ::UINT = 0x0026; +pub const SPI_GETNONCLIENTMETRICS: ::UINT = 0x0029; +pub const SPI_SETNONCLIENTMETRICS: ::UINT = 0x002A; +pub const SPI_GETMINIMIZEDMETRICS: ::UINT = 0x002B; +pub const SPI_SETMINIMIZEDMETRICS: ::UINT = 0x002C; +pub const SPI_GETICONMETRICS: ::UINT = 0x002D; +pub const SPI_SETICONMETRICS: ::UINT = 0x002E; +pub const SPI_SETWORKAREA: ::UINT = 0x002F; +pub const SPI_GETWORKAREA: ::UINT = 0x0030; +pub const SPI_SETPENWINDOWS: ::UINT = 0x0031; +pub const SPI_GETHIGHCONTRAST: ::UINT = 0x0042; +pub const SPI_SETHIGHCONTRAST: ::UINT = 0x0043; +pub const SPI_GETKEYBOARDPREF: ::UINT = 0x0044; +pub const SPI_SETKEYBOARDPREF: ::UINT = 0x0045; +pub const SPI_GETSCREENREADER: ::UINT = 0x0046; +pub const SPI_SETSCREENREADER: ::UINT = 0x0047; +pub const SPI_GETANIMATION: ::UINT = 0x0048; +pub const SPI_SETANIMATION: ::UINT = 0x0049; +pub const SPI_GETFONTSMOOTHING: ::UINT = 0x004A; +pub const SPI_SETFONTSMOOTHING: ::UINT = 0x004B; +pub const SPI_SETDRAGWIDTH: ::UINT = 0x004C; +pub const SPI_SETDRAGHEIGHT: ::UINT = 0x004D; +pub const SPI_SETHANDHELD: ::UINT = 0x004E; +pub const SPI_GETLOWPOWERTIMEOUT: ::UINT = 0x004F; +pub const SPI_GETPOWEROFFTIMEOUT: ::UINT = 0x0050; +pub const SPI_SETLOWPOWERTIMEOUT: ::UINT = 0x0051; +pub const SPI_SETPOWEROFFTIMEOUT: ::UINT = 0x0052; +pub const SPI_GETLOWPOWERACTIVE: ::UINT = 0x0053; +pub const SPI_GETPOWEROFFACTIVE: ::UINT = 0x0054; +pub const SPI_SETLOWPOWERACTIVE: ::UINT = 0x0055; +pub const SPI_SETPOWEROFFACTIVE: ::UINT = 0x0056; +pub const SPI_SETCURSORS: ::UINT = 0x0057; +pub const SPI_SETICONS: ::UINT = 0x0058; +pub const SPI_GETDEFAULTINPUTLANG: ::UINT = 0x0059; +pub const SPI_SETDEFAULTINPUTLANG: ::UINT = 0x005A; +pub const SPI_SETLANGTOGGLE: ::UINT = 0x005B; +pub const SPI_GETWINDOWSEXTENSION: ::UINT = 0x005C; +pub const SPI_SETMOUSETRAILS: ::UINT = 0x005D; +pub const SPI_GETMOUSETRAILS: ::UINT = 0x005E; +pub const SPI_SETSCREENSAVERRUNNING: ::UINT = 0x0061; +pub const SPI_SCREENSAVERRUNNING: ::UINT = SPI_SETSCREENSAVERRUNNING; +pub const SPI_GETFILTERKEYS: ::UINT = 0x0032; +pub const SPI_SETFILTERKEYS: ::UINT = 0x0033; +pub const SPI_GETTOGGLEKEYS: ::UINT = 0x0034; +pub const SPI_SETTOGGLEKEYS: ::UINT = 0x0035; +pub const SPI_GETMOUSEKEYS: ::UINT = 0x0036; +pub const SPI_SETMOUSEKEYS: ::UINT = 0x0037; +pub const SPI_GETSHOWSOUNDS: ::UINT = 0x0038; +pub const SPI_SETSHOWSOUNDS: ::UINT = 0x0039; +pub const SPI_GETSTICKYKEYS: ::UINT = 0x003A; +pub const SPI_SETSTICKYKEYS: ::UINT = 0x003B; +pub const SPI_GETACCESSTIMEOUT: ::UINT = 0x003C; +pub const SPI_SETACCESSTIMEOUT: ::UINT = 0x003D; +pub const SPI_GETSERIALKEYS: ::UINT = 0x003E; +pub const SPI_SETSERIALKEYS: ::UINT = 0x003F; +pub const SPI_GETSOUNDSENTRY: ::UINT = 0x0040; +pub const SPI_SETSOUNDSENTRY: ::UINT = 0x0041; +pub const SPI_GETSNAPTODEFBUTTON: ::UINT = 0x005F; +pub const SPI_SETSNAPTODEFBUTTON: ::UINT = 0x0060; +pub const SPI_GETMOUSEHOVERWIDTH: ::UINT = 0x0062; +pub const SPI_SETMOUSEHOVERWIDTH: ::UINT = 0x0063; +pub const SPI_GETMOUSEHOVERHEIGHT: ::UINT = 0x0064; +pub const SPI_SETMOUSEHOVERHEIGHT: ::UINT = 0x0065; +pub const SPI_GETMOUSEHOVERTIME: ::UINT = 0x0066; +pub const SPI_SETMOUSEHOVERTIME: ::UINT = 0x0067; +pub const SPI_GETWHEELSCROLLLINES: ::UINT = 0x0068; +pub const SPI_SETWHEELSCROLLLINES: ::UINT = 0x0069; +pub const SPI_GETMENUSHOWDELAY: ::UINT = 0x006A; +pub const SPI_SETMENUSHOWDELAY: ::UINT = 0x006B; +pub const SPI_GETWHEELSCROLLCHARS: ::UINT = 0x006C; +pub const SPI_SETWHEELSCROLLCHARS: ::UINT = 0x006D; +pub const SPI_GETSHOWIMEUI: ::UINT = 0x006E; +pub const SPI_SETSHOWIMEUI: ::UINT = 0x006F; +pub const SPI_GETMOUSESPEED: ::UINT = 0x0070; +pub const SPI_SETMOUSESPEED: ::UINT = 0x0071; +pub const SPI_GETSCREENSAVERRUNNING: ::UINT = 0x0072; +pub const SPI_GETDESKWALLPAPER: ::UINT = 0x0073; +pub const SPI_GETAUDIODESCRIPTION: ::UINT = 0x0074; +pub const SPI_SETAUDIODESCRIPTION: ::UINT = 0x0075; +pub const SPI_GETSCREENSAVESECURE: ::UINT = 0x0076; +pub const SPI_SETSCREENSAVESECURE: ::UINT = 0x0077; +pub const SPI_GETHUNGAPPTIMEOUT: ::UINT = 0x0078; +pub const SPI_SETHUNGAPPTIMEOUT: ::UINT = 0x0079; +pub const SPI_GETWAITTOKILLTIMEOUT: ::UINT = 0x007A; +pub const SPI_SETWAITTOKILLTIMEOUT: ::UINT = 0x007B; +pub const SPI_GETWAITTOKILLSERVICETIMEOUT: ::UINT = 0x007C; +pub const SPI_SETWAITTOKILLSERVICETIMEOUT: ::UINT = 0x007D; +pub const SPI_GETMOUSEDOCKTHRESHOLD: ::UINT = 0x007E; +pub const SPI_SETMOUSEDOCKTHRESHOLD: ::UINT = 0x007F; +pub const SPI_GETPENDOCKTHRESHOLD: ::UINT = 0x0080; +pub const SPI_SETPENDOCKTHRESHOLD: ::UINT = 0x0081; +pub const SPI_GETWINARRANGING: ::UINT = 0x0082; +pub const SPI_SETWINARRANGING: ::UINT = 0x0083; +pub const SPI_GETMOUSEDRAGOUTTHRESHOLD: ::UINT = 0x0084; +pub const SPI_SETMOUSEDRAGOUTTHRESHOLD: ::UINT = 0x0085; +pub const SPI_GETPENDRAGOUTTHRESHOLD: ::UINT = 0x0086; +pub const SPI_SETPENDRAGOUTTHRESHOLD: ::UINT = 0x0087; +pub const SPI_GETMOUSESIDEMOVETHRESHOLD: ::UINT = 0x0088; +pub const SPI_SETMOUSESIDEMOVETHRESHOLD: ::UINT = 0x0089; +pub const SPI_GETPENSIDEMOVETHRESHOLD: ::UINT = 0x008A; +pub const SPI_SETPENSIDEMOVETHRESHOLD: ::UINT = 0x008B; +pub const SPI_GETDRAGFROMMAXIMIZE: ::UINT = 0x008C; +pub const SPI_SETDRAGFROMMAXIMIZE: ::UINT = 0x008D; +pub const SPI_GETSNAPSIZING: ::UINT = 0x008E; +pub const SPI_SETSNAPSIZING: ::UINT = 0x008F; +pub const SPI_GETDOCKMOVING: ::UINT = 0x0090; +pub const SPI_SETDOCKMOVING: ::UINT = 0x0091; +pub const SPI_GETACTIVEWINDOWTRACKING: ::UINT = 0x1000; +pub const SPI_SETACTIVEWINDOWTRACKING: ::UINT = 0x1001; +pub const SPI_GETMENUANIMATION: ::UINT = 0x1002; +pub const SPI_SETMENUANIMATION: ::UINT = 0x1003; +pub const SPI_GETCOMBOBOXANIMATION: ::UINT = 0x1004; +pub const SPI_SETCOMBOBOXANIMATION: ::UINT = 0x1005; +pub const SPI_GETLISTBOXSMOOTHSCROLLING: ::UINT = 0x1006; +pub const SPI_SETLISTBOXSMOOTHSCROLLING: ::UINT = 0x1007; +pub const SPI_GETGRADIENTCAPTIONS: ::UINT = 0x1008; +pub const SPI_SETGRADIENTCAPTIONS: ::UINT = 0x1009; +pub const SPI_GETKEYBOARDCUES: ::UINT = 0x100A; +pub const SPI_SETKEYBOARDCUES: ::UINT = 0x100B; +pub const SPI_GETMENUUNDERLINES: ::UINT = SPI_GETKEYBOARDCUES; +pub const SPI_SETMENUUNDERLINES: ::UINT = SPI_SETKEYBOARDCUES; +pub const SPI_GETACTIVEWNDTRKZORDER: ::UINT = 0x100C; +pub const SPI_SETACTIVEWNDTRKZORDER: ::UINT = 0x100D; +pub const SPI_GETHOTTRACKING: ::UINT = 0x100E; +pub const SPI_SETHOTTRACKING: ::UINT = 0x100F; +pub const SPI_GETMENUFADE: ::UINT = 0x1012; +pub const SPI_SETMENUFADE: ::UINT = 0x1013; +pub const SPI_GETSELECTIONFADE: ::UINT = 0x1014; +pub const SPI_SETSELECTIONFADE: ::UINT = 0x1015; +pub const SPI_GETTOOLTIPANIMATION: ::UINT = 0x1016; +pub const SPI_SETTOOLTIPANIMATION: ::UINT = 0x1017; +pub const SPI_GETTOOLTIPFADE: ::UINT = 0x1018; +pub const SPI_SETTOOLTIPFADE: ::UINT = 0x1019; +pub const SPI_GETCURSORSHADOW: ::UINT = 0x101A; +pub const SPI_SETCURSORSHADOW: ::UINT = 0x101B; +pub const SPI_GETMOUSESONAR: ::UINT = 0x101C; +pub const SPI_SETMOUSESONAR: ::UINT = 0x101D; +pub const SPI_GETMOUSECLICKLOCK: ::UINT = 0x101E; +pub const SPI_SETMOUSECLICKLOCK: ::UINT = 0x101F; +pub const SPI_GETMOUSEVANISH: ::UINT = 0x1020; +pub const SPI_SETMOUSEVANISH: ::UINT = 0x1021; +pub const SPI_GETFLATMENU: ::UINT = 0x1022; +pub const SPI_SETFLATMENU: ::UINT = 0x1023; +pub const SPI_GETDROPSHADOW: ::UINT = 0x1024; +pub const SPI_SETDROPSHADOW: ::UINT = 0x1025; +pub const SPI_GETBLOCKSENDINPUTRESETS: ::UINT = 0x1026; +pub const SPI_SETBLOCKSENDINPUTRESETS: ::UINT = 0x1027; +pub const SPI_GETUIEFFECTS: ::UINT = 0x103E; +pub const SPI_SETUIEFFECTS: ::UINT = 0x103F; +pub const SPI_GETDISABLEOVERLAPPEDCONTENT: ::UINT = 0x1040; +pub const SPI_SETDISABLEOVERLAPPEDCONTENT: ::UINT = 0x1041; +pub const SPI_GETCLIENTAREAANIMATION: ::UINT = 0x1042; +pub const SPI_SETCLIENTAREAANIMATION: ::UINT = 0x1043; +pub const SPI_GETCLEARTYPE: ::UINT = 0x1048; +pub const SPI_SETCLEARTYPE: ::UINT = 0x1049; +pub const SPI_GETSPEECHRECOGNITION: ::UINT = 0x104A; +pub const SPI_SETSPEECHRECOGNITION: ::UINT = 0x104B; +pub const SPI_GETFOREGROUNDLOCKTIMEOUT: ::UINT = 0x2000; +pub const SPI_SETFOREGROUNDLOCKTIMEOUT: ::UINT = 0x2001; +pub const SPI_GETACTIVEWNDTRKTIMEOUT: ::UINT = 0x2002; +pub const SPI_SETACTIVEWNDTRKTIMEOUT: ::UINT = 0x2003; +pub const SPI_GETFOREGROUNDFLASHCOUNT: ::UINT = 0x2004; +pub const SPI_SETFOREGROUNDFLASHCOUNT: ::UINT = 0x2005; +pub const SPI_GETCARETWIDTH: ::UINT = 0x2006; +pub const SPI_SETCARETWIDTH: ::UINT = 0x2007; +pub const SPI_GETMOUSECLICKLOCKTIME: ::UINT = 0x2008; +pub const SPI_SETMOUSECLICKLOCKTIME: ::UINT = 0x2009; +pub const SPI_GETFONTSMOOTHINGTYPE: ::UINT = 0x200A; +pub const SPI_SETFONTSMOOTHINGTYPE: ::UINT = 0x200B; +pub const FE_FONTSMOOTHINGSTANDARD: ::UINT = 0x0001; +pub const FE_FONTSMOOTHINGCLEARTYPE: ::UINT = 0x0002; +pub const SPI_GETFONTSMOOTHINGCONTRAST: ::UINT = 0x200C; +pub const SPI_SETFONTSMOOTHINGCONTRAST: ::UINT = 0x200D; +pub const SPI_GETFOCUSBORDERWIDTH: ::UINT = 0x200E; +pub const SPI_SETFOCUSBORDERWIDTH: ::UINT = 0x200F; +pub const SPI_GETFOCUSBORDERHEIGHT: ::UINT = 0x2010; +pub const SPI_SETFOCUSBORDERHEIGHT: ::UINT = 0x2011; +pub const SPI_GETFONTSMOOTHINGORIENTATION: ::UINT = 0x2012; +pub const SPI_SETFONTSMOOTHINGORIENTATION: ::UINT = 0x2013; +pub const FE_FONTSMOOTHINGORIENTATIONBGR: ::UINT = 0x0000; +pub const FE_FONTSMOOTHINGORIENTATIONRGB: ::UINT = 0x0001; +pub const SPI_GETMINIMUMHITRADIUS: ::UINT = 0x2014; +pub const SPI_SETMINIMUMHITRADIUS: ::UINT = 0x2015; +pub const SPI_GETMESSAGEDURATION: ::UINT = 0x2016; +pub const SPI_SETMESSAGEDURATION: ::UINT = 0x2017; +//11264 +pub const CB_GETEDITSEL: ::UINT = 0x0140; +pub const CB_LIMITTEXT: ::UINT = 0x0141; +pub const CB_SETEDITSEL: ::UINT = 0x0142; +pub const CB_ADDSTRING: ::UINT = 0x0143; +pub const CB_DELETESTRING: ::UINT = 0x0144; +pub const CB_DIR: ::UINT = 0x0145; +pub const CB_GETCOUNT: ::UINT = 0x0146; +pub const CB_GETCURSEL: ::UINT = 0x0147; +pub const CB_GETLBTEXT: ::UINT = 0x0148; +pub const CB_GETLBTEXTLEN: ::UINT = 0x0149; +pub const CB_INSERTSTRING: ::UINT = 0x014A; +pub const CB_RESETCONTENT: ::UINT = 0x014B; +pub const CB_FINDSTRING: ::UINT = 0x014C; +pub const CB_SELECTSTRING: ::UINT = 0x014D; +pub const CB_SETCURSEL: ::UINT = 0x014E; +pub const CB_SHOWDROPDOWN: ::UINT = 0x014F; +pub const CB_GETITEMDATA: ::UINT = 0x0150; +pub const CB_SETITEMDATA: ::UINT = 0x0151; +pub const CB_GETDROPPEDCONTROLRECT: ::UINT = 0x0152; +pub const CB_SETITEMHEIGHT: ::UINT = 0x0153; +pub const CB_GETITEMHEIGHT: ::UINT = 0x0154; +pub const CB_SETEXTENDEDUI: ::UINT = 0x0155; +pub const CB_GETEXTENDEDUI: ::UINT = 0x0156; +pub const CB_GETDROPPEDSTATE: ::UINT = 0x0157; +pub const CB_FINDSTRINGEXACT: ::UINT = 0x0158; +pub const CB_SETLOCALE: ::UINT = 0x0159; +pub const CB_GETLOCALE: ::UINT = 0x015A; +pub const CB_GETTOPINDEX: ::UINT = 0x015b; +pub const CB_SETTOPINDEX: ::UINT = 0x015c; +pub const CB_GETHORIZONTALEXTENT: ::UINT = 0x015d; +pub const CB_SETHORIZONTALEXTENT: ::UINT = 0x015e; +pub const CB_GETDROPPEDWIDTH: ::UINT = 0x015f; +pub const CB_SETDROPPEDWIDTH: ::UINT = 0x0160; +pub const CB_INITSTORAGE: ::UINT = 0x0161; +//12141 +STRUCT!{nodebug struct NONCLIENTMETRICSA { + cbSize: ::UINT, + iBorderWidth: ::c_int, + iScrollWidth: ::c_int, + iScrollHeight: ::c_int, + iCaptionWidth: ::c_int, + iCaptionHeight: ::c_int, + lfCaptionFont: ::LOGFONTA, + iSmCaptionWidth: ::c_int, + iSmCaptionHeight: ::c_int, + lfSmCaptionFont: ::LOGFONTA, + iMenuWidth: ::c_int, + iMenuHeight: ::c_int, + lfMenuFont: ::LOGFONTA, + lfStatusFont: ::LOGFONTA, + lfMessageFont: ::LOGFONTA, + iPaddedBorderWidth: ::c_int, +}} +pub type LPNONCLIENTMETRICSA = *mut NONCLIENTMETRICSA; +STRUCT!{nodebug struct NONCLIENTMETRICSW { + cbSize: ::UINT, + iBorderWidth: ::c_int, + iScrollWidth: ::c_int, + iScrollHeight: ::c_int, + iCaptionWidth: ::c_int, + iCaptionHeight: ::c_int, + lfCaptionFont: ::LOGFONTW, + iSmCaptionWidth: ::c_int, + iSmCaptionHeight: ::c_int, + lfSmCaptionFont: ::LOGFONTW, + iMenuWidth: ::c_int, + iMenuHeight: ::c_int, + lfMenuFont: ::LOGFONTW, + lfStatusFont: ::LOGFONTW, + lfMessageFont: ::LOGFONTW, + iPaddedBorderWidth: ::c_int, +}} +pub type LPNONCLIENTMETRICSW = *mut NONCLIENTMETRICSW; +//12869 +pub const MONITOR_DEFAULTTONULL: ::DWORD = 0x00000000; +pub const MONITOR_DEFAULTTOPRIMARY: ::DWORD = 0x00000001; +pub const MONITOR_DEFAULTTONEAREST: ::DWORD = 0x00000002; +//12900 +pub const MONITORINFOF_PRIMARY: ::DWORD = 1; +pub const CCHDEVICENAME: usize = 32; +STRUCT!{struct MONITORINFO { + cbSize: ::DWORD, + rcMonitor: ::RECT, + rcWork: ::RECT, + dwFlags: ::DWORD, +}} +pub type LPMONITORINFO = *mut MONITORINFO; +STRUCT!{struct MONITORINFOEXA { + cbSize: ::DWORD, + rcMonitor: ::RECT, + rcWork: ::RECT, + dwFlags: ::DWORD, + szDevice: [::CHAR; ::CCHDEVICENAME], +}} +pub type LPMONITORINFOEXA = *mut MONITORINFOEXA; +STRUCT!{struct MONITORINFOEXW { + cbSize: ::DWORD, + rcMonitor: ::RECT, + rcWork: ::RECT, + dwFlags: ::DWORD, + szDevice: [::WCHAR; ::CCHDEVICENAME], +}} +pub type LPMONITORINFOEXW = *mut MONITORINFOEXW; +//12971 +pub type MONITORENUMPROC = Option<unsafe extern "system" fn( + ::HMONITOR, ::HDC, ::LPRECT, ::LPARAM, +) -> ::BOOL>; +//14098 +DECLARE_HANDLE!(HRAWINPUT, HRAWINPUT__); +pub fn GET_RAWINPUT_CODE_WPARAM(wParam: ::WPARAM) -> ::WPARAM { wParam & 0xff } +pub const RIM_INPUT: ::WPARAM = 0; +pub const RIM_INPUTSINK: ::WPARAM = 1; +STRUCT!{struct RAWINPUTHEADER { + dwType: ::DWORD, + dwSize: ::DWORD, + hDevice: ::HANDLE, + wParam: ::WPARAM, +}} +pub type PRAWINPUTHEADER = *mut RAWINPUTHEADER; +pub type LPRAWINPUTHEADER = *mut RAWINPUTHEADER; +pub const RIM_TYPEMOUSE: ::DWORD = 0; +pub const RIM_TYPEKEYBOARD: ::DWORD = 1; +pub const RIM_TYPEHID: ::DWORD = 2; +STRUCT!{struct RAWMOUSE { + usFlags: ::USHORT, + memory_padding: ::USHORT, // 16bit Padding for 32bit align in following union + usButtonFlags: ::USHORT, + usButtonData: ::USHORT, + ulRawButtons: ::ULONG, + lLastX: ::LONG, + lLastY: ::LONG, + ulExtraInformation: ::ULONG, +}} +pub type PRAWMOUSE = *mut RAWMOUSE; +pub type LPRAWMOUSE = *mut RAWMOUSE; +pub const RI_MOUSE_LEFT_BUTTON_DOWN: ::USHORT = 0x0001; +pub const RI_MOUSE_LEFT_BUTTON_UP: ::USHORT = 0x0002; +pub const RI_MOUSE_RIGHT_BUTTON_DOWN: ::USHORT = 0x0004; +pub const RI_MOUSE_RIGHT_BUTTON_UP: ::USHORT = 0x0008; +pub const RI_MOUSE_MIDDLE_BUTTON_DOWN: ::USHORT = 0x0010; +pub const RI_MOUSE_MIDDLE_BUTTON_UP: ::USHORT = 0x0020; +pub const RI_MOUSE_BUTTON_1_DOWN: ::USHORT = RI_MOUSE_LEFT_BUTTON_DOWN; +pub const RI_MOUSE_BUTTON_1_UP: ::USHORT = RI_MOUSE_LEFT_BUTTON_UP; +pub const RI_MOUSE_BUTTON_2_DOWN: ::USHORT = RI_MOUSE_RIGHT_BUTTON_DOWN; +pub const RI_MOUSE_BUTTON_2_UP: ::USHORT = RI_MOUSE_RIGHT_BUTTON_UP; +pub const RI_MOUSE_BUTTON_3_DOWN: ::USHORT = RI_MOUSE_MIDDLE_BUTTON_DOWN; +pub const RI_MOUSE_BUTTON_3_UP: ::USHORT = RI_MOUSE_MIDDLE_BUTTON_UP; +pub const RI_MOUSE_BUTTON_4_DOWN: ::USHORT = 0x0040; +pub const RI_MOUSE_BUTTON_4_UP: ::USHORT = 0x0080; +pub const RI_MOUSE_BUTTON_5_DOWN: ::USHORT = 0x0100; +pub const RI_MOUSE_BUTTON_5_UP: ::USHORT = 0x0200; +pub const RI_MOUSE_WHEEL: ::USHORT = 0x0400; +pub const MOUSE_MOVE_RELATIVE: ::USHORT = 0; +pub const MOUSE_MOVE_ABSOLUTE: ::USHORT = 1; +pub const MOUSE_VIRTUAL_DESKTOP: ::USHORT = 0x02; +pub const MOUSE_ATTRIBUTES_CHANGED: ::USHORT = 0x04; +pub const MOUSE_MOVE_NOCOALESCE: ::USHORT = 0x08; +STRUCT!{struct RAWKEYBOARD { + MakeCode: ::USHORT, + Flags: ::USHORT, + Reserved: ::USHORT, + VKey: ::USHORT, + Message: ::UINT, + ExtraInformation: ::ULONG, +}} +pub type PRAWKEYBOARD = *mut RAWKEYBOARD; +pub type LPRAWKEYBOARD = *mut RAWKEYBOARD; +pub const KEYBOARD_OVERRUN_MAKE_CODE: ::DWORD = 0xFF; +pub const RI_KEY_MAKE: ::DWORD = 0; +pub const RI_KEY_BREAK: ::DWORD = 1; +pub const RI_KEY_E0: ::DWORD = 2; +pub const RI_KEY_E1: ::DWORD = 4; +pub const RI_KEY_TERMSRV_SET_LED: ::DWORD = 8; +pub const RI_KEY_TERMSRV_SHADOW: ::DWORD = 0x10; +STRUCT!{struct RAWHID { + dwSizeHid: ::DWORD, + dwCount: ::DWORD, + bRawData: [::BYTE; 0], +}} +pub type PRAWHID = *mut RAWHID; +pub type LPRAWHID = *mut RAWHID; +STRUCT!{struct RAWINPUT { + header: RAWINPUTHEADER, + mouse: RAWMOUSE, +}} +UNION!(RAWINPUT, mouse, mouse, mouse_mut, RAWMOUSE); +UNION!(RAWINPUT, mouse, keyboard, keyboard_mut, RAWKEYBOARD); +UNION!(RAWINPUT, mouse, hid, hid_mut, RAWHID); +#[test] +fn test_RAWINPUT() { + use std::mem::{size_of, align_of}; + assert!(size_of::<RAWMOUSE>() >= size_of::<RAWMOUSE>()); + assert!(size_of::<RAWMOUSE>() >= size_of::<RAWKEYBOARD>()); + assert!(size_of::<RAWMOUSE>() >= size_of::<RAWHID>()); + assert!(align_of::<RAWMOUSE>() >= align_of::<RAWMOUSE>()); + assert!(align_of::<RAWMOUSE>() >= align_of::<RAWKEYBOARD>()); + assert!(align_of::<RAWMOUSE>() >= align_of::<RAWHID>()); +} +pub type PRAWINPUT = *mut RAWINPUT; +pub type LPRAWINPUT = *mut RAWINPUT; +pub const RID_INPUT: ::DWORD = 0x10000003; +pub const RID_HEADER: ::DWORD = 0x10000005; +pub const RIDI_PREPARSEDDATA: ::DWORD = 0x20000005; +pub const RIDI_DEVICENAME: ::DWORD = 0x20000007; +pub const RIDI_DEVICEINFO: ::DWORD = 0x2000000b; +STRUCT!{struct RID_DEVICE_INFO_MOUSE { + dwId: ::DWORD, + dwNumberOfButtons: ::DWORD, + dwSampleRate: ::DWORD, + fHasHorizontalWheel: ::BOOL, +}} +pub type PRID_DEVICE_INFO_MOUSE = *mut RID_DEVICE_INFO_MOUSE; +STRUCT!{struct RID_DEVICE_INFO_KEYBOARD { + dwType: ::DWORD, + dwSubType: ::DWORD, + dwKeyboardMode: ::DWORD, + dwNumberOfFunctionKeys: ::DWORD, + dwNumberOfIndicators: ::DWORD, + dwNumberOfKeysTotal: ::DWORD, +}} +pub type PRID_DEVICE_INFO_KEYBOARD = *mut RID_DEVICE_INFO_KEYBOARD; +STRUCT!{struct RID_DEVICE_INFO_HID { + dwVendorId: ::DWORD, + dwProductId: ::DWORD, + dwVersionNumber: ::DWORD, + usUsagePage: ::USHORT, + usUsage: ::USHORT, +}} +pub type PRID_DEVICE_INFO_HID = *mut RID_DEVICE_INFO_HID; +STRUCT!{struct RID_DEVICE_INFO { + cbSize: ::DWORD, + dwType: ::DWORD, + keyboard: RID_DEVICE_INFO_KEYBOARD, +}} +UNION!(RID_DEVICE_INFO, keyboard, mouse, mouse_mut, RID_DEVICE_INFO_MOUSE); +UNION!(RID_DEVICE_INFO, keyboard, keyboard, keyboard_mut, RID_DEVICE_INFO_KEYBOARD); +UNION!(RID_DEVICE_INFO, keyboard, hid, hid_mut, RID_DEVICE_INFO_HID); +#[test] +fn test_RID_DEVICE_INFO() { + use std::mem::{size_of, align_of}; + assert!(size_of::<RID_DEVICE_INFO_KEYBOARD>() >= size_of::<RID_DEVICE_INFO_MOUSE>()); + assert!(size_of::<RID_DEVICE_INFO_KEYBOARD>() >= size_of::<RID_DEVICE_INFO_KEYBOARD>()); + assert!(size_of::<RID_DEVICE_INFO_KEYBOARD>() >= size_of::<RID_DEVICE_INFO_HID>()); + assert!(align_of::<RID_DEVICE_INFO_KEYBOARD>() >= align_of::<RID_DEVICE_INFO_MOUSE>()); + assert!(align_of::<RID_DEVICE_INFO_KEYBOARD>() + >= align_of::<RID_DEVICE_INFO_KEYBOARD>()); + assert!(align_of::<RID_DEVICE_INFO_KEYBOARD>() >= align_of::<RID_DEVICE_INFO_HID>()); +} +pub type PRID_DEVICE_INFO = *mut RID_DEVICE_INFO; +pub type LPRID_DEVICE_INFO = *mut RID_DEVICE_INFO; +STRUCT!{struct RAWINPUTDEVICE { + usUsagePage: ::USHORT, + usUsage: ::USHORT, + dwFlags: ::DWORD, + hwndTarget: ::HWND, +}} +pub type PRAWINPUTDEVICE = *mut RAWINPUTDEVICE; +pub type LPRAWINPUTDEVICE = *mut RAWINPUTDEVICE; +pub type PCRAWINPUTDEVICE = *const RAWINPUTDEVICE; +pub const RIDEV_REMOVE: ::DWORD = 0x00000001; +pub const RIDEV_EXCLUDE: ::DWORD = 0x00000010; +pub const RIDEV_PAGEONLY: ::DWORD = 0x00000020; +pub const RIDEV_NOLEGACY: ::DWORD = 0x00000030; +pub const RIDEV_INPUTSINK: ::DWORD = 0x00000100; +pub const RIDEV_CAPTUREMOUSE: ::DWORD = 0x00000200; +pub const RIDEV_NOHOTKEYS: ::DWORD = 0x00000200; +pub const RIDEV_APPKEYS: ::DWORD = 0x00000400; +pub const RIDEV_EXINPUTSINK: ::DWORD = 0x00001000; +pub const RIDEV_DEVNOTIFY: ::DWORD = 0x00002000; +pub const RIDEV_EXMODEMASK: ::DWORD = 0x000000F0; +pub const GIDC_ARRIVAL: ::DWORD = 1; +pub const GIDC_REMOVAL: ::DWORD = 2; +STRUCT!{struct RAWINPUTDEVICELIST { + hDevice: ::HANDLE, + dwType: ::DWORD, +}} +pub type PRAWINPUTDEVICELIST = *mut RAWINPUTDEVICELIST; +STRUCT!{struct CHANGEFILTERSTRUCT { + cbSize: ::DWORD, + ExtStatus: ::DWORD, +}} +pub type PCHANGEFILTERSTRUCT = *mut CHANGEFILTERSTRUCT; +STRUCT!{struct DLGTEMPLATE { + style: ::DWORD, + dwExtendedStyle: ::DWORD, + cdit: ::WORD, + x: ::c_short, + y: ::c_short, + cx: ::c_short, + cy: ::c_short, +}} +pub type LPDLGTEMPLATEA = *mut DLGTEMPLATE; +pub type LPDLGTEMPLATEW = *mut DLGTEMPLATE; +pub type LPCDLGTEMPLATEA = *const DLGTEMPLATE; +pub type LPCDLGTEMPLATEW = *const DLGTEMPLATE; +STRUCT!{struct DRAWTEXTPARAMS { + cbSize: ::UINT, + iTabLength: ::c_int, + iLeftMargin: ::c_int, + iRightMargin: ::c_int, + uiLengthDrawn: ::UINT, +}} +pub type LPDRAWTEXTPARAMS = *mut DRAWTEXTPARAMS; +STRUCT!{struct ACCEL { + fVirt: ::BYTE, + key: ::WORD, + cmd: ::WORD, +}} +pub type LPACCEL = *mut ACCEL; +STRUCT!{struct MENUITEMINFOA { + cbSize: ::UINT, + fMask: ::UINT, + fType: ::UINT, + fState: ::UINT, + wID: ::UINT, + hSubMenu: ::HMENU, + hbmpChecked: ::HBITMAP, + hbmpUnchecked: ::HBITMAP, + dwItemData: ::ULONG_PTR, + dwTypeData: ::LPSTR, + cch: ::UINT, + hbmpItem: ::HBITMAP, +}} +pub type LPMENUITEMINFOA = *mut MENUITEMINFOA; +pub type LPCMENUITEMINFOA = *const MENUITEMINFOA; +STRUCT!{struct MENUITEMINFOW { + cbSize: ::UINT, + fMask: ::UINT, + fType: ::UINT, + fState: ::UINT, + wID: ::UINT, + hSubMenu: ::HMENU, + hbmpChecked: ::HBITMAP, + hbmpUnchecked: ::HBITMAP, + dwItemData: ::ULONG_PTR, + dwTypeData: ::LPWSTR, + cch: ::UINT, + hbmpItem: ::HBITMAP, +}} +pub type LPMENUITEMINFOW = *mut MENUITEMINFOW; +pub type LPCMENUITEMINFOW = *const MENUITEMINFOW; +STRUCT!{nodebug struct MSGBOXPARAMSA { + cbSize: ::UINT, + hwndOwner: ::HWND, + hInstance: ::HINSTANCE, + lpszText: ::LPCSTR, + lpszCaption: ::LPCSTR, + dwStyle: ::DWORD, + lpszIcon: ::LPCSTR, + dwContextHelpId: ::DWORD_PTR, + lpfnMsgBoxCallback: ::MSGBOXCALLBACK, + dwLanguageId: ::DWORD, +}} +pub type PMSGBOXPARAMSA = *mut MSGBOXPARAMSA; +pub type LPMSGBOXPARAMSA = *mut MSGBOXPARAMSA; +STRUCT!{nodebug struct MSGBOXPARAMSW { + cbSize: ::UINT, + hwndOwner: ::HWND, + hInstance: ::HINSTANCE, + lpszText: ::LPCWSTR, + lpszCaption: ::LPCWSTR, + dwStyle: ::DWORD, + lpszIcon: ::LPCWSTR, + dwContextHelpId: ::DWORD_PTR, + lpfnMsgBoxCallback: ::MSGBOXCALLBACK, + dwLanguageId: ::DWORD, +}} +pub type PMSGBOXPARAMSW = *mut MSGBOXPARAMSW; +pub type LPMSGBOXPARAMSW = *mut MSGBOXPARAMSW; +STRUCT!{struct HELPINFO { + cbSize: ::UINT, + iContextType: ::c_int, + iCtrlId: ::c_int, + hItemHandle: ::HANDLE, + dwContextId: ::DWORD, + MousePos: ::POINT, +}} +pub type LPHELPINFO = *mut HELPINFO; +#[allow(trivial_numeric_casts)] +pub fn GET_WHEEL_DELTA_WPARAM(wParam: ::WPARAM) -> ::c_short { + ::HIWORD(wParam as ::DWORD) as ::c_short +} +#[allow(trivial_numeric_casts)] +pub fn GET_KEYSTATE_WPARAM(wparam: ::WPARAM) -> ::c_int { + ::LOWORD(wparam as ::DWORD) as ::c_short as ::c_int +} +#[allow(trivial_numeric_casts)] +pub fn GET_XBUTTON_WPARAM(wparam: ::WPARAM) -> ::c_int { + ::HIWORD(wparam as ::DWORD) as ::c_int +} +pub const SIF_RANGE: ::UINT = 0x0001; +pub const SIF_PAGE: ::UINT = 0x0002; +pub const SIF_POS: ::UINT = 0x0004; +pub const SIF_DISABLENOSCROLL: ::UINT = 0x0008; +pub const SIF_TRACKPOS: ::UINT = 0x0010; +pub const SIF_ALL: ::UINT = SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS; +pub const SW_SCROLLCHILDREN: ::UINT = 0x0001; +pub const SW_INVALIDATE: ::UINT = 0x0002; +pub const SW_ERASE: ::UINT = 0x0004; +pub const SW_SMOOTHSCROLL: ::UINT = 0x0010; +pub const SB_LINEUP: ::c_int = 0; +pub const SB_LINELEFT: ::c_int = 0; +pub const SB_LINEDOWN: ::c_int = 1; +pub const SB_LINERIGHT: ::c_int = 1; +pub const SB_PAGEUP: ::c_int = 2; +pub const SB_PAGELEFT: ::c_int = 2; +pub const SB_PAGEDOWN: ::c_int = 3; +pub const SB_PAGERIGHT: ::c_int = 3; +pub const SB_THUMBPOSITION: ::c_int = 4; +pub const SB_THUMBTRACK: ::c_int = 5; +pub const SB_TOP: ::c_int = 6; +pub const SB_LEFT: ::c_int = 6; +pub const SB_BOTTOM: ::c_int = 7; +pub const SB_RIGHT: ::c_int = 7; +pub const SB_ENDSCROLL: ::c_int = 8; +pub const LR_DEFAULTCOLOR: ::UINT = 0x00000000; +pub const LR_MONOCHROME: ::UINT = 0x00000001; +pub const LR_COLOR: ::UINT = 0x00000002; +pub const LR_COPYRETURNORG: ::UINT = 0x00000004; +pub const LR_COPYDELETEORG: ::UINT = 0x00000008; +pub const LR_LOADFROMFILE: ::UINT = 0x00000010; +pub const LR_LOADTRANSPARENT: ::UINT = 0x00000020; +pub const LR_DEFAULTSIZE: ::UINT = 0x00000040; +pub const LR_VGACOLOR: ::UINT = 0x00000080; +pub const LR_LOADMAP3DCOLORS: ::UINT = 0x00001000; +pub const LR_CREATEDIBSECTION: ::UINT = 0x00002000; +pub const LR_COPYFROMRESOURCE: ::UINT = 0x00004000; +pub const LR_SHARED: ::UINT = 0x00008000; +pub const IMAGE_BITMAP: ::UINT = 0; +pub const IMAGE_ICON: ::UINT = 1; +pub const IMAGE_CURSOR: ::UINT = 2; +pub const IMAGE_ENHMETAFILE: ::UINT = 3; +pub const DT_TOP: ::UINT = 0x00000000; +pub const DT_LEFT: ::UINT = 0x00000000; +pub const DT_CENTER: ::UINT = 0x00000001; +pub const DT_RIGHT: ::UINT = 0x00000002; +pub const DT_VCENTER: ::UINT = 0x00000004; +pub const DT_BOTTOM: ::UINT = 0x00000008; +pub const DT_WORDBREAK: ::UINT = 0x00000010; +pub const DT_SINGLELINE: ::UINT = 0x00000020; +pub const DT_EXPANDTABS: ::UINT = 0x00000040; +pub const DT_TABSTOP: ::UINT = 0x00000080; +pub const DT_NOCLIP: ::UINT = 0x00000100; +pub const DT_EXTERNALLEADING: ::UINT = 0x00000200; +pub const DT_CALCRECT: ::UINT = 0x00000400; +pub const DT_NOPREFIX: ::UINT = 0x00000800; +pub const DT_INTERNAL: ::UINT = 0x00001000; +pub const DT_EDITCONTROL: ::UINT = 0x00002000; +pub const DT_PATH_ELLIPSIS: ::UINT = 0x00004000; +pub const DT_END_ELLIPSIS: ::UINT = 0x00008000; +pub const DT_MODIFYSTRING: ::UINT = 0x00010000; +pub const DT_RTLREADING: ::UINT = 0x00020000; +pub const DT_WORD_ELLIPSIS: ::UINT = 0x00040000; +pub const DT_NOFULLWIDTHCHARBREAK: ::UINT = 0x00080000; +pub const DT_HIDEPREFIX: ::UINT = 0x00100000; +pub const DT_PREFIXONLY: ::UINT = 0x00200000; +STRUCT!{struct KBDLLHOOKSTRUCT { + vkCode: ::DWORD, + scanCode: ::DWORD, + flags: ::DWORD, + time: ::DWORD, + dwExtraInfo: ::ULONG_PTR, +}} +pub type PKBDLLHOOKSTRUCT = *mut KBDLLHOOKSTRUCT; +pub type LPKBDLLHOOKSTRUCT = *mut KBDLLHOOKSTRUCT; +STRUCT!{struct MSLLHOOKSTRUCT { + pt: ::POINT, + mouseData: ::DWORD, + flags: ::DWORD, + time: ::DWORD, + dwExtraInfo: ::ULONG_PTR, +}} +pub type PMSLLHOOKSTRUCT = *mut MSLLHOOKSTRUCT; +pub type LPMSLLHOOKSTRUCT = *mut MSLLHOOKSTRUCT; +pub const WH_MIN: ::c_int = -1; +pub const WH_MSGFILTER: ::c_int = -1; +pub const WH_JOURNALRECORD: ::c_int = 0; +pub const WH_JOURNALPLAYBACK: ::c_int = 1; +pub const WH_KEYBOARD: ::c_int = 2; +pub const WH_GETMESSAGE: ::c_int = 3; +pub const WH_CALLWNDPROC: ::c_int = 4; +pub const WH_CBT: ::c_int = 5; +pub const WH_SYSMSGFILTER: ::c_int = 6; +pub const WH_MOUSE: ::c_int = 7; +pub const WH_HARDWARE: ::c_int = 8; +pub const WH_DEBUG: ::c_int = 9; +pub const WH_SHELL: ::c_int = 10; +pub const WH_FOREGROUNDIDLE: ::c_int = 11; +pub const WH_CALLWNDPROCRET: ::c_int = 12; +pub const WH_KEYBOARD_LL: ::c_int = 13; +pub const WH_MOUSE_LL: ::c_int = 14; +pub const WH_MAX: ::c_int = 14; +pub const WH_MINHOOK: ::c_int = WH_MIN; +pub const WH_MAXHOOK: ::c_int = WH_MAX; +pub const KLF_ACTIVATE: ::UINT = 1; +pub const KLF_SUBSTITUTE_OK: ::UINT = 2; +pub const KLF_UNLOADPREVIOUS: ::UINT = 4; +pub const KLF_REORDER: ::UINT = 8; +pub const KLF_REPLACELANG: ::UINT = 16; +pub const KLF_NOTELLSHELL: ::UINT = 128; +pub const KLF_SETFORPROCESS: ::UINT = 256; +//RedrawWindow() flags +pub const RDW_INVALIDATE: ::UINT = 0x0001; +pub const RDW_INTERNALPAINT: ::UINT = 0x0002; +pub const RDW_ERASE: ::UINT = 0x0004; +pub const RDW_VALIDATE: ::UINT = 0x0008; +pub const RDW_NOINTERNALPAINT: ::UINT = 0x0010; +pub const RDW_NOERASE: ::UINT = 0x0020; +pub const RDW_NOCHILDREN: ::UINT = 0x0040; +pub const RDW_ALLCHILDREN: ::UINT = 0x0080; +pub const RDW_UPDATENOW: ::UINT = 0x0100; +pub const RDW_ERASENOW: ::UINT = 0x0200; +pub const RDW_FRAME: ::UINT = 0x0400; +pub const RDW_NOFRAME: ::UINT = 0x0800; +STRUCT!{struct MEASUREITEMSTRUCT { + CtlType: ::UINT, + CtlID: ::UINT, + itemID: ::UINT, + itemWidth: ::UINT, + itemHeight: ::UINT, + itemData: ::ULONG_PTR, +}} +pub type LPMEASUREITEMSTRUCT = *mut MEASUREITEMSTRUCT; +STRUCT!{struct DRAWITEMSTRUCT { + CtlType: ::UINT, + CtlID: ::UINT, + itemID: ::UINT, + itemAction: ::UINT, + itemState: ::UINT, + hwndItem: ::HWND, + hDC: ::HDC, + rcItem: ::RECT, + itemData: ::ULONG_PTR, +}} +pub type LPDRAWITEMSTRUCT = *mut DRAWITEMSTRUCT; +STRUCT!{struct DELETEITEMSTRUCT { + CtlType: ::UINT, + CtlID: ::UINT, + itemID: ::UINT, + hwndItem: ::HWND, + itemData: ::ULONG_PTR, +}} +pub type LPDELETEITEMSTRUCT = *mut DELETEITEMSTRUCT; +STRUCT!{struct COMPAREITEMSTRUCT { + CtlType: ::UINT, + CtlID: ::UINT, + hwndItem: ::HWND, + itemID1: ::UINT, + itemData1: ::ULONG_PTR, + itemID2: ::UINT, + itemData2: ::ULONG_PTR, + dwLocaleId: ::DWORD, +}} +pub type LPCOMPAREITEMSTRUCT = *mut COMPAREITEMSTRUCT; +/* Image type */ +pub const DST_COMPLEX: ::UINT = 0x0000; +pub const DST_TEXT: ::UINT = 0x0001; +pub const DST_PREFIXTEXT: ::UINT = 0x0002; +pub const DST_ICON: ::UINT = 0x0003; +pub const DST_BITMAP: ::UINT = 0x0004; +pub const DI_MASK: ::UINT = 0x0001; +pub const DI_IMAGE: ::UINT = 0x0002; +pub const DI_NORMAL: ::UINT = 0x0003; +pub const DI_COMPAT: ::UINT = 0x0004; +pub const DI_DEFAULTSIZE: ::UINT = 0x0008; +// if WINVER >= 0x0601 +// GetSystemMetrics(SM_DIGITIZER) flag values +pub const NID_INTEGRATED_TOUCH: ::UINT = 0x00000001; +pub const NID_EXTERNAL_TOUCH: ::UINT = 0x00000002; +pub const NID_INTEGRATED_PEN: ::UINT = 0x00000004; +pub const NID_EXTERNAL_PEN: ::UINT = 0x00000008; +pub const NID_MULTI_INPUT: ::UINT = 0x00000040; +pub const NID_READY: ::UINT = 0x00000080; +// end if WINVER >= 0x0601 + +// System Menu Command Values +// +pub const SC_SIZE: ::WPARAM = 0xF000; +pub const SC_MOVE: ::WPARAM = 0xF010; +pub const SC_MINIMIZE: ::WPARAM = 0xF020; +pub const SC_MAXIMIZE: ::WPARAM = 0xF030; +pub const SC_NEXTWINDOW: ::WPARAM = 0xF040; +pub const SC_PREVWINDOW: ::WPARAM = 0xF050; +pub const SC_CLOSE: ::WPARAM = 0xF060; +pub const SC_VSCROLL: ::WPARAM = 0xF070; +pub const SC_HSCROLL: ::WPARAM = 0xF080; +pub const SC_MOUSEMENU: ::WPARAM = 0xF090; +pub const SC_KEYMENU: ::WPARAM = 0xF100; +pub const SC_ARRANGE: ::WPARAM = 0xF110; +pub const SC_RESTORE: ::WPARAM = 0xF120; +pub const SC_TASKLIST: ::WPARAM = 0xF130; +pub const SC_SCREENSAVE: ::WPARAM = 0xF140; +pub const SC_HOTKEY: ::WPARAM = 0xF150; +// if WINVER >= 0x0400 +pub const SC_DEFAULT: ::WPARAM = 0xF160; +pub const SC_MONITORPOWER: ::WPARAM = 0xF170; +pub const SC_CONTEXTHELP: ::WPARAM = 0xF180; +pub const SC_SEPARATOR: ::WPARAM = 0xF00F; +// endif WINVER >= 0x0400 diff --git a/third_party/rust/winapi-0.2.8/src/ws2def.rs b/third_party/rust/winapi-0.2.8/src/ws2def.rs new file mode 100644 index 0000000000..dcc4aaa6f1 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/ws2def.rs @@ -0,0 +1,279 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! This file contains the core definitions for the Winsock2 specification that can be used by +//! both user-mode and kernel mode modules. +pub type ADDRESS_FAMILY = ::USHORT; +pub const AF_UNSPEC: ::c_int = 0; +pub const AF_UNIX: ::c_int = 1; +pub const AF_INET: ::c_int = 2; +pub const AF_IMPLINK: ::c_int = 3; +pub const AF_PUP: ::c_int = 4; +pub const AF_CHAOS: ::c_int = 5; +pub const AF_NS: ::c_int = 6; +pub const AF_IPX: ::c_int = AF_NS; +pub const AF_ISO: ::c_int = 7; +pub const AF_OSI: ::c_int = AF_ISO; +pub const AF_ECMA: ::c_int = 8; +pub const AF_DATAKIT: ::c_int = 9; +pub const AF_CCITT: ::c_int = 10; +pub const AF_SNA: ::c_int = 11; +pub const AF_DECnet: ::c_int = 12; +pub const AF_DLI: ::c_int = 13; +pub const AF_LAT: ::c_int = 14; +pub const AF_HYLINK: ::c_int = 15; +pub const AF_APPLETALK: ::c_int = 16; +pub const AF_NETBIOS: ::c_int = 17; +pub const AF_VOICEVIEW: ::c_int = 18; +pub const AF_FIREFOX: ::c_int = 19; +pub const AF_UNKNOWN1: ::c_int = 20; +pub const AF_BAN: ::c_int = 21; +pub const AF_ATM: ::c_int = 22; +pub const AF_INET6: ::c_int = 23; +pub const AF_CLUSTER: ::c_int = 24; +pub const AF_12844: ::c_int = 25; +pub const AF_IRDA: ::c_int = 26; +pub const AF_NETDES: ::c_int = 28; +pub const AF_TCNPROCESS: ::c_int = 29; +pub const AF_TCNMESSAGE: ::c_int = 30; +pub const AF_ICLFXBM: ::c_int = 31; +pub const AF_BTH: ::c_int = 32; +pub const AF_LINK: ::c_int = 33; +pub const AF_MAX: ::c_int = 34; +pub const SOCK_STREAM: ::c_int = 1; +pub const SOCK_DGRAM: ::c_int = 2; +pub const SOCK_RAW: ::c_int = 3; +pub const SOCK_RDM: ::c_int = 4; +pub const SOCK_SEQPACKET: ::c_int = 5; +pub const SOL_SOCKET: ::c_int = 0xffff; +pub const SO_DEBUG: ::c_int = 0x0001; +pub const SO_ACCEPTCONN: ::c_int = 0x0002; +pub const SO_REUSEADDR: ::c_int = 0x0004; +pub const SO_KEEPALIVE: ::c_int = 0x0008; +pub const SO_DONTROUTE: ::c_int = 0x0010; +pub const SO_BROADCAST: ::c_int = 0x0020; +pub const SO_USELOOPBACK: ::c_int = 0x0040; +pub const SO_LINGER: ::c_int = 0x0080; +pub const SO_OOBINLINE: ::c_int = 0x0100; +pub const SO_DONTLINGER: ::c_int = !SO_LINGER; +pub const SO_EXCLUSIVEADDRUSE: ::c_int = !SO_REUSEADDR; +pub const SO_SNDBUF: ::c_int = 0x1001; +pub const SO_RCVBUF: ::c_int = 0x1002; +pub const SO_SNDLOWAT: ::c_int = 0x1003; +pub const SO_RCVLOWAT: ::c_int = 0x1004; +pub const SO_SNDTIMEO: ::c_int = 0x1005; +pub const SO_RCVTIMEO: ::c_int = 0x1006; +pub const SO_ERROR: ::c_int = 0x1007; +pub const SO_TYPE: ::c_int = 0x1008; +pub const SO_BSP_STATE: ::c_int = 0x1009; +pub const SO_GROUP_ID: ::c_int = 0x2001; +pub const SO_GROUP_PRIORITY: ::c_int = 0x2002; +pub const SO_MAX_MSG_SIZE: ::c_int = 0x2003; +pub const SO_CONDITIONAL_ACCEPT: ::c_int = 0x3002; +pub const SO_PAUSE_ACCEPT: ::c_int = 0x3003; +pub const SO_COMPARTMENT_ID: ::c_int = 0x3004; +pub const SO_RANDOMIZE_PORT: ::c_int = 0x3005; +pub const SO_PORT_SCALABILITY: ::c_int = 0x3006; +pub const WSK_SO_BASE: ::c_int = 0x4000; +pub const TCP_NODELAY: ::c_int = 0x0001; +STRUCT!{struct SOCKADDR { + sa_family: ADDRESS_FAMILY, + sa_data: [::CHAR; 14], +}} +pub type PSOCKADDR = *mut SOCKADDR; +pub type LPSOCKADDR = *mut SOCKADDR; +STRUCT!{struct SOCKET_ADDRESS { + lpSockaddr: LPSOCKADDR, + iSockaddrLength: ::INT, +}} +pub type PSOCKET_ADDRESS = *mut SOCKET_ADDRESS; +pub type LPSOCKET_ADDRESS = *mut SOCKET_ADDRESS; +STRUCT!{nodebug struct SOCKET_ADDRESS_LIST { + iAddressCount: ::INT, + Address: [SOCKET_ADDRESS; 0], +}} +pub type PSOCKET_ADDRESS_LIST = *mut SOCKET_ADDRESS_LIST; +pub type LPSOCKET_ADDRESS_LIST = *mut SOCKET_ADDRESS_LIST; +STRUCT!{struct CSADDR_INFO { + LocalAddr: SOCKET_ADDRESS, + RemoteAddr: SOCKET_ADDRESS, + iSocketType: ::INT, + iProtocol: ::INT, +}} +pub type PCSADDR_INFO = *mut CSADDR_INFO; +pub type LPCSADDR_INFO = *mut CSADDR_INFO; +STRUCT!{nodebug struct SOCKADDR_STORAGE_LH { + ss_family: ADDRESS_FAMILY, + __ss_pad1: [::CHAR; 6], + __ss_align: ::__int64, + __ss_pad2: [::CHAR; 112], +}} +pub type PSOCKADDR_STORAGE_LH = *mut SOCKADDR_STORAGE_LH; +pub type LPSOCKADDR_STORAGE_LH = *mut SOCKADDR_STORAGE_LH; +STRUCT!{nodebug struct SOCKADDR_STORAGE_XP { + ss_family: ::c_short, + __ss_pad1: [::CHAR; 6], + __ss_align: ::__int64, + __ss_pad2: [::CHAR; 112], +}} +pub type PSOCKADDR_STORAGE_XP = *mut SOCKADDR_STORAGE_XP; +pub type LPSOCKADDR_STORAGE_XP = *mut SOCKADDR_STORAGE_XP; +pub type SOCKADDR_STORAGE = SOCKADDR_STORAGE_LH; +pub type PSOCKADDR_STORAGE = *mut SOCKADDR_STORAGE; +pub type LPSOCKADDR_STORAGE = *mut SOCKADDR_STORAGE; +STRUCT!{struct SOCKET_PROCESSOR_AFFINITY { + Processor: ::PROCESSOR_NUMBER, + NumaNodeId: ::USHORT, + Reserved: ::USHORT, +}} +pub type PSOCKET_PROCESSOR_AFFINITY = *mut SOCKET_PROCESSOR_AFFINITY; +pub const IOC_UNIX: ::DWORD = 0x00000000; +pub const IOC_WS2: ::DWORD = 0x08000000; +pub const IOC_PROTOCOL: ::DWORD = 0x10000000; +pub const IOC_VENDOR: ::DWORD = 0x18000000; +pub const IOC_WSK: ::DWORD = IOC_WS2 | 0x07000000; +macro_rules! _WSAIO { ($x:expr, $y:expr) => { IOC_VOID | $x | $y } } +macro_rules! _WSAIOR { ($x:expr, $y:expr) => { IOC_OUT | $x | $y } } +macro_rules! _WSAIOW { ($x:expr, $y:expr) => { IOC_IN | $x | $y } } +macro_rules! _WSAIORW { ($x:expr, $y:expr) => { IOC_INOUT | $x | $y } } +pub const SIO_ASSOCIATE_HANDLE: ::DWORD = _WSAIOW!(IOC_WS2, 1); +pub const SIO_ENABLE_CIRCULAR_QUEUEING: ::DWORD = _WSAIO!(IOC_WS2, 2); +pub const SIO_FIND_ROUTE: ::DWORD = _WSAIOR!(IOC_WS2, 3); +pub const SIO_FLUSH: ::DWORD = _WSAIO!(IOC_WS2, 4); +pub const SIO_GET_BROADCAST_ADDRESS: ::DWORD = _WSAIOR!(IOC_WS2, 5); +pub const SIO_GET_EXTENSION_FUNCTION_POINTER: ::DWORD = _WSAIORW!(IOC_WS2, 6); +pub const SIO_GET_QOS: ::DWORD = _WSAIORW!(IOC_WS2, 7); +pub const SIO_GET_GROUP_QOS: ::DWORD = _WSAIORW!(IOC_WS2, 8); +pub const SIO_MULTIPOINT_LOOPBACK: ::DWORD = _WSAIOW!(IOC_WS2, 9); +pub const SIO_MULTICAST_SCOPE: ::DWORD = _WSAIOW!(IOC_WS2, 10); +pub const SIO_SET_QOS: ::DWORD = _WSAIOW!(IOC_WS2, 11); +pub const SIO_SET_GROUP_QOS: ::DWORD = _WSAIOW!(IOC_WS2, 12); +pub const SIO_TRANSLATE_HANDLE: ::DWORD = _WSAIORW!(IOC_WS2, 13); +pub const SIO_ROUTING_INTERFACE_QUERY: ::DWORD = _WSAIORW!(IOC_WS2, 20); +pub const SIO_ROUTING_INTERFACE_CHANGE: ::DWORD = _WSAIOW!(IOC_WS2, 21); +pub const SIO_ADDRESS_LIST_QUERY: ::DWORD = _WSAIOR!(IOC_WS2, 22); +pub const SIO_ADDRESS_LIST_CHANGE: ::DWORD = _WSAIO!(IOC_WS2, 23); +pub const SIO_QUERY_TARGET_PNP_HANDLE: ::DWORD = _WSAIOR!(IOC_WS2, 24); +pub const SIO_QUERY_RSS_PROCESSOR_INFO: ::DWORD = _WSAIOR!(IOC_WS2, 37); +pub const SIO_ADDRESS_LIST_SORT: ::DWORD = _WSAIORW!(IOC_WS2, 25); +pub const SIO_RESERVED_1: ::DWORD = _WSAIOW!(IOC_WS2, 26); +pub const SIO_RESERVED_2: ::DWORD = _WSAIOW!(IOC_WS2, 33); +pub const SIO_GET_MULTIPLE_EXTENSION_FUNCTION_POINTER: ::DWORD = _WSAIORW!(IOC_WS2, 36); +pub const IPPROTO_IP: ::c_int = 0; +ENUM!{enum IPPROTO { + IPPROTO_HOPOPTS = 0, // IPv6 Hop-by-Hop options + IPPROTO_ICMP = 1, + IPPROTO_IGMP = 2, + IPPROTO_GGP = 3, + IPPROTO_IPV4 = 4, + IPPROTO_ST = 5, + IPPROTO_TCP = 6, + IPPROTO_CBT = 7, + IPPROTO_EGP = 8, + IPPROTO_IGP = 9, + IPPROTO_PUP = 12, + IPPROTO_UDP = 17, + IPPROTO_IDP = 22, + IPPROTO_RDP = 27, + IPPROTO_IPV6 = 41, // IPv6 header + IPPROTO_ROUTING = 43, // IPv6 Routing header + IPPROTO_FRAGMENT = 44, // IPv6 fragmentation header + IPPROTO_ESP = 50, // encapsulating security payload + IPPROTO_AH = 51, // authentication header + IPPROTO_ICMPV6 = 58, // ICMPv6 + IPPROTO_NONE = 59, // IPv6 no next header + IPPROTO_DSTOPTS = 60, // IPv6 Destination options + IPPROTO_ND = 77, + IPPROTO_ICLFXBM = 78, + IPPROTO_PIM = 103, + IPPROTO_PGM = 113, + IPPROTO_L2TP = 115, + IPPROTO_SCTP = 132, + IPPROTO_RAW = 255, + IPPROTO_MAX = 256, + IPPROTO_RESERVED_RAW = 257, + IPPROTO_RESERVED_IPSEC = 258, + IPPROTO_RESERVED_IPSECOFFLOAD = 259, + IPPROTO_RESERVED_WNV = 260, + IPPROTO_RESERVED_MAX = 261, +}} +pub type PIPPROTO = *mut IPPROTO; +STRUCT!{struct SOCKADDR_IN { + sin_family: ADDRESS_FAMILY, + sin_port: ::USHORT, + sin_addr: ::IN_ADDR, + sin_zero: [::CHAR; 8], +}} +pub type PSOCKADDR_IN = *mut SOCKADDR_IN; +//645 +pub const IOCPARM_MASK: ::DWORD = 0x7f; +pub const IOC_VOID: ::DWORD = 0x20000000; +pub const IOC_OUT: ::DWORD = 0x40000000; +pub const IOC_IN: ::DWORD = 0x80000000; +pub const IOC_INOUT: ::DWORD = IOC_IN | IOC_OUT; +STRUCT!{struct WSABUF { + len: ::ULONG, + buf: *mut ::CHAR, +}} +pub type LPWSABUF = *mut WSABUF; +STRUCT!{struct WSAMSG { + name: LPSOCKADDR, + namelen: ::INT, + lpBuffers: LPWSABUF, + dwBufferCount: ::ULONG, + Control: WSABUF, + dwFlags: ::ULONG, +}} +pub type PWSAMSG = *mut WSAMSG; +pub type LPWSAMSG = *mut WSAMSG; +STRUCT!{struct ADDRINFOA { + ai_flags: ::c_int, + ai_family: ::c_int, + ai_socktype: ::c_int, + ai_protocol: ::c_int, + ai_addrlen: ::size_t, + ai_canonname: *mut ::c_char, + ai_addr: *mut SOCKADDR, + ai_next: *mut ADDRINFOA, +}} +pub type PADDRINFOA = *mut ADDRINFOA; +STRUCT!{struct ADDRINFOW { + ai_flags: ::c_int, + ai_family: ::c_int, + ai_socktype: ::c_int, + ai_protocol: ::c_int, + ai_addrlen: ::size_t, + ai_canonname: ::PWSTR, + ai_addr: *mut SOCKADDR, + ai_next: *mut ADDRINFOW, +}} +pub type PADDRINFOW = *mut ADDRINFOW; +STRUCT!{struct ADDRINFOEXA { + ai_flags: ::c_int, + ai_family: ::c_int, + ai_socktype: ::c_int, + ai_protocol: ::c_int, + ai_addrlen: ::size_t, + ai_canonname: *mut ::c_char, + ai_addr: *mut SOCKADDR, + ai_blob: *mut ::c_void, + ai_bloblen: ::size_t, + ai_provider: ::LPGUID, + ai_next: *mut ADDRINFOEXW, +}} +pub type PADDRINFOEXA = *mut ADDRINFOEXA; +pub type LPADDRINFOEXA = *mut ADDRINFOEXA; +STRUCT!{struct ADDRINFOEXW { + ai_flags: ::c_int, + ai_family: ::c_int, + ai_socktype: ::c_int, + ai_protocol: ::c_int, + ai_addrlen: ::size_t, + ai_canonname: ::PWSTR, + ai_addr: *mut SOCKADDR, + ai_blob: *mut ::c_void, + ai_bloblen: ::size_t, + ai_provider: ::LPGUID, + ai_next: *mut ADDRINFOEXW, +}} +pub type PADDRINFOEXW = *mut ADDRINFOEXW; +pub type LPADDRINFOEXW = *mut ADDRINFOEXW; diff --git a/third_party/rust/winapi-0.2.8/src/ws2ipdef.rs b/third_party/rust/winapi-0.2.8/src/ws2ipdef.rs new file mode 100644 index 0000000000..86d3ffae29 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/ws2ipdef.rs @@ -0,0 +1,42 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +pub const IPV6_HOPOPTS: ::c_int = 1; +pub const IPV6_HDRINCL: ::c_int = 2; +pub const IPV6_UNICAST_HOPS: ::c_int = 4; +pub const IPV6_MULTICAST_IF: ::c_int = 9; +pub const IPV6_MULTICAST_HOPS: ::c_int = 10; +pub const IPV6_MULTICAST_LOOP: ::c_int = 11; +pub const IPV6_ADD_MEMBERSHIP: ::c_int = 12; +pub const IPV6_JOIN_GROUP: ::c_int = IPV6_ADD_MEMBERSHIP; +pub const IPV6_DROP_MEMBERSHIP: ::c_int = 13; +pub const IPV6_LEAVE_GROUP: ::c_int = IPV6_DROP_MEMBERSHIP; +pub const IPV6_DONTFRAG: ::c_int = 14; +pub const IPV6_PKTINFO: ::c_int = 19; +pub const IPV6_HOPLIMIT: ::c_int = 21; +pub const IPV6_PROTECTION_LEVEL: ::c_int = 23; +pub const IPV6_RECVIF: ::c_int = 24; +pub const IPV6_RECVDSTADDR: ::c_int = 25; +pub const IPV6_CHECKSUM: ::c_int = 26; +pub const IPV6_V6ONLY: ::c_int = 27; +pub const IPV6_IFLIST: ::c_int = 28; +pub const IPV6_ADD_IFLIST: ::c_int = 29; +pub const IPV6_DEL_IFLIST: ::c_int = 30; +pub const IPV6_UNICAST_IF: ::c_int = 31; +pub const IPV6_RTHDR: ::c_int = 32; +pub const IPV6_RECVRTHDR: ::c_int = 38; +pub const IPV6_TCLASS: ::c_int = 39; +pub const IPV6_RECVTCLASS: ::c_int = 40; +STRUCT!{struct ipv6_mreq { + ipv6mr_multiaddr: in6_addr, + ipv6mr_interface: ::c_uint, +}} +STRUCT!{struct in6_addr { + s6_addr: [u8; 16], +}} +STRUCT!{struct sockaddr_in6 { + sin6_family: ::c_short, + sin6_port: ::c_ushort, + sin6_flowinfo: ::c_ulong, + sin6_addr: in6_addr, + sin6_scope_id: ::c_ulong, +}} diff --git a/third_party/rust/winapi-0.2.8/src/ws2spi.rs b/third_party/rust/winapi-0.2.8/src/ws2spi.rs new file mode 100644 index 0000000000..9df67c191e --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/ws2spi.rs @@ -0,0 +1,57 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! Definitions to be used with the WinSock service provider +pub const WSPDESCRIPTION_LEN: usize = 255; +STRUCT!{nodebug struct WSPDATA { + wVersion: ::WORD, + wHighVersion: ::WORD, + szDescription: [::WCHAR; WSPDESCRIPTION_LEN + 1], +}} +pub type LPWSPDATA = *mut WSPDATA; +STRUCT!{struct WSATHREADID { + ThreadHandle: ::HANDLE, + Reserved: ::DWORD_PTR, +}} +pub type LPWSATHREADID = *mut WSATHREADID; +pub type LPNSPV2STARTUP = Option<unsafe extern "system" fn( + lpProviderId: ::LPGUID, ppvClientSessionArg: *mut ::LPVOID, +) -> ::INT>; +pub type LPNSPV2CLEANUP = Option<unsafe extern "system" fn( + lpProviderId: ::LPGUID, pvClientSessionArg: ::LPVOID, +) -> ::INT>; +pub type LPNSPV2LOOKUPSERVICEBEGIN = Option<unsafe extern "system" fn( + lpProviderId: ::LPGUID, lpqsRestrictions: ::LPWSAQUERYSET2W, dwControlFlags: ::DWORD, + lpvClientSessionArg: ::LPVOID, lphLookup: ::LPHANDLE, +) -> ::INT>; +pub type LPNSPV2LOOKUPSERVICENEXTEX = Option<unsafe extern "system" fn( + hAsyncCall: ::HANDLE, hLookup: ::HANDLE, dwControlFlags: ::DWORD, lpdwBufferLength: ::LPDWORD, + lpqsResults: ::LPWSAQUERYSET2W +)>; +pub type LPNSPV2LOOKUPSERVICEEND = Option<unsafe extern "system" fn(hLookup: ::HANDLE) -> ::INT>; +pub type LPNSPV2SETSERVICEEX = Option<unsafe extern "system" fn( + hAsyncCall: ::HANDLE, lpProviderId: ::LPGUID, lpqsRegInfo: ::LPWSAQUERYSET2W, + essOperation: ::WSAESETSERVICEOP, dwControlFlags: ::DWORD, lpvClientSessionArg: ::LPVOID, +)>; +pub type LPNSPV2CLIENTSESSIONRUNDOWN = Option<unsafe extern "system" fn( + lpProviderId: ::LPGUID, pvClientSessionArg: ::LPVOID, +)>; +STRUCT!{nodebug struct NSPV2_ROUTINE { + cbSize: ::DWORD, + dwMajorVersion: ::DWORD, + dwMinorVersion: ::DWORD, + NSPv2Startup: LPNSPV2STARTUP, + NSPv2Cleanup: LPNSPV2CLEANUP, + NSPv2LookupServiceBegin: LPNSPV2LOOKUPSERVICEBEGIN, + NSPv2LookupServiceNextEx: LPNSPV2LOOKUPSERVICENEXTEX, + NSPv2LookupServiceEnd: LPNSPV2LOOKUPSERVICEEND, + NSPv2SetServiceEx: LPNSPV2SETSERVICEEX, + NSPv2ClientSessionRundown: LPNSPV2CLIENTSESSIONRUNDOWN, +}} +pub type PNSPV2_ROUTINE = *mut NSPV2_ROUTINE; +pub type LPNSPV2_ROUTINE = *mut NSPV2_ROUTINE; +pub type PCNSPV2_ROUTINE = *const NSPV2_ROUTINE; +pub type LPCNSPV2_ROUTINE = *const NSPV2_ROUTINE; +ENUM!{enum WSC_PROVIDER_INFO_TYPE { + ProviderInfoLspCategories, + ProviderInfoAudit, +}} diff --git a/third_party/rust/winapi-0.2.8/src/ws2tcpip.rs b/third_party/rust/winapi-0.2.8/src/ws2tcpip.rs new file mode 100644 index 0000000000..d60c84178c --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/ws2tcpip.rs @@ -0,0 +1,27 @@ +// Copyright © 2015, skdltmxn +// Licensed under the MIT License <LICENSE.md> +//! WinSock2 Extension for TCP/IP protocols +pub type LPLOOKUPSERVICE_COMPLETION_ROUTINE = Option<unsafe extern "system" fn( + dwError: ::DWORD, dwBytes: ::DWORD, lpOverlapped: ::LPWSAOVERLAPPED, +)>; +pub type socklen_t = ::c_int; +STRUCT!{struct ip_mreq { + imr_multiaddr: ::in_addr, + imr_interface: ::in_addr, +}} +pub const IP_OPTIONS: ::c_int = 1; +pub const IP_HDRINCL: ::c_int = 2; +pub const IP_TOS: ::c_int = 3; +pub const IP_TTL: ::c_int = 4; +pub const IP_MULTICAST_IF: ::c_int = 9; +pub const IP_MULTICAST_TTL: ::c_int = 10; +pub const IP_MULTICAST_LOOP: ::c_int = 11; +pub const IP_ADD_MEMBERSHIP: ::c_int = 12; +pub const IP_DROP_MEMBERSHIP: ::c_int = 13; +pub const IP_DONTFRAGMENT: ::c_int = 14; +pub const IP_ADD_SOURCE_MEMBERSHIP: ::c_int = 15; +pub const IP_DROP_SOURCE_MEMBERSHIP: ::c_int = 16; +pub const IP_BLOCK_SOURCE: ::c_int = 17; +pub const IP_UNBLOCK_SOURCE: ::c_int = 18; +pub const IP_PKTINFO: ::c_int = 19; +pub const IP_RECEIVE_BROADCAST: ::c_int = 22; diff --git a/third_party/rust/winapi-0.2.8/src/wtypes.rs b/third_party/rust/winapi-0.2.8/src/wtypes.rs new file mode 100644 index 0000000000..36c8059ac8 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/wtypes.rs @@ -0,0 +1,75 @@ +// Copyright © 2015, Connor Hilarides +// Licensed under the MIT License <LICENSE.md> +//! Mappings for the contents of wstypes.h +ENUM!{enum VARENUM { + VT_EMPTY = 0, + VT_NULL = 1, + VT_I2 = 2, + VT_I4 = 3, + VT_R4 = 4, + VT_R8 = 5, + VT_CY = 6, + VT_DATE = 7, + VT_BSTR = 8, + VT_DISPATCH = 9, + VT_ERROR = 10, + VT_BOOL = 11, + VT_VARIANT = 12, + VT_UNKNOWN = 13, + VT_DECIMAL = 14, + VT_I1 = 16, + VT_UI1 = 17, + VT_UI2 = 18, + VT_UI4 = 19, + VT_I8 = 20, + VT_UI8 = 21, + VT_INT = 22, + VT_UINT = 23, + VT_VOID = 24, + VT_HRESULT = 25, + VT_PTR = 26, + VT_SAFEARRAY = 27, + VT_CARRAY = 28, + VT_USERDEFINED = 29, + VT_LPSTR = 30, + VT_LPWSTR = 31, + VT_RECORD = 36, + VT_INT_PTR = 37, + VT_UINT_PTR = 38, + VT_FILETIME = 64, + VT_BLOB = 65, + VT_STREAM = 66, + VT_STORAGE = 67, + VT_STREAMED_OBJECT = 68, + VT_STORED_OBJECT = 69, + VT_BLOB_OBJECT = 70, + VT_CF = 71, + VT_CLSID = 72, + VT_VERSIONED_STREAM = 73, + VT_BSTR_BLOB = 0xfff, + VT_VECTOR = 0x1000, + VT_ARRAY = 0x2000, + VT_BYREF = 0x4000, + VT_RESERVED = 0x8000, + VT_ILLEGAL = 0xffff, +}} +pub const VT_ILLEGALMASKED: VARENUM = VT_BSTR_BLOB; +pub const VT_TYPEMASK: VARENUM = VT_BSTR_BLOB; +pub type DATE = ::c_double; +STRUCT!{struct CY { + int64: ::LONGLONG, +}} +STRUCT!{struct DECIMAL { + wReserved: ::USHORT, + scale: ::BYTE, + sign: ::BYTE, + Hi32: ::ULONG, + Lo64: ::ULONGLONG, +}} +pub const DECIMAL_NEG: ::BYTE = 0x80; +pub type LPDECIMAL = *mut DECIMAL; +pub type VARTYPE = ::c_ushort; +pub type wireBSTR = *mut ::FLAGGED_WORD_BLOB; +pub type BSTR = *mut ::OLECHAR; +pub type LPBSTR = *mut BSTR; +pub type VARIANT_BOOL = ::c_short; diff --git a/third_party/rust/winapi-0.2.8/src/wtypesbase.rs b/third_party/rust/winapi-0.2.8/src/wtypesbase.rs new file mode 100644 index 0000000000..8683c53813 --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/wtypesbase.rs @@ -0,0 +1,37 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//114 +pub type OLECHAR = ::WCHAR; +pub type LPOLESTR = *mut OLECHAR; +pub type LPCOLESTR = *const OLECHAR; +//147 +pub type DOUBLE = ::c_double; +//281 +pub type SCODE = ::LONG; +pub type PSCODE = *mut SCODE; +STRUCT!{struct BLOB { + cbSize: ::ULONG, + pBlobData: *mut ::BYTE, +}} +pub type LPBLOB = *mut BLOB; +STRUCT!{struct FLAGGED_WORD_BLOB { + fFlags: ::ULONG, + clSize: ::ULONG, + asData: [::c_ushort; 1], +}} +STRUCT!{struct BYTE_SIZEDARR { + clSize: ::ULONG, + pData: *mut ::BYTE, +}} +STRUCT!{struct WORD_SIZEDARR { + clSize: ::ULONG, + pData: *mut ::c_ushort, +}} +STRUCT!{struct DWORD_SIZEDARR { + clSize: ::ULONG, + pData: *mut ::ULONG, +}} +STRUCT!{struct HYPER_SIZEDARR { + clSize: ::ULONG, + pData: *mut i64, +}} diff --git a/third_party/rust/winapi-0.2.8/src/xinput.rs b/third_party/rust/winapi-0.2.8/src/xinput.rs new file mode 100644 index 0000000000..d18d4659aa --- /dev/null +++ b/third_party/rust/winapi-0.2.8/src/xinput.rs @@ -0,0 +1,118 @@ +// Copyright © 2015, Peter Atashian +// Licensed under the MIT License <LICENSE.md> +//! XInput procedure declarations, constant definitions and macros +pub const XINPUT_DEVTYPE_GAMEPAD: ::BYTE = 0x01; +pub const XINPUT_DEVSUBTYPE_GAMEPAD: ::BYTE = 0x01; +pub const XINPUT_DEVSUBTYPE_WHEEL: ::BYTE = 0x02; +pub const XINPUT_DEVSUBTYPE_ARCADE_STICK: ::BYTE = 0x03; +pub const XINPUT_DEVSUBTYPE_FLIGHT_SICK: ::BYTE = 0x04; +pub const XINPUT_DEVSUBTYPE_DANCE_PAD: ::BYTE = 0x05; +pub const XINPUT_DEVSUBTYPE_GUITAR: ::BYTE = 0x06; +pub const XINPUT_DEVSUBTYPE_DRUM_KIT: ::BYTE = 0x08; +pub const XINPUT_CAPS_VOICE_SUPPORTED: ::WORD = 0x0004; +pub const XINPUT_GAMEPAD_DPAD_UP: ::WORD = 0x0001; +pub const XINPUT_GAMEPAD_DPAD_DOWN: ::WORD = 0x0002; +pub const XINPUT_GAMEPAD_DPAD_LEFT: ::WORD = 0x0004; +pub const XINPUT_GAMEPAD_DPAD_RIGHT: ::WORD = 0x0008; +pub const XINPUT_GAMEPAD_START: ::WORD = 0x0010; +pub const XINPUT_GAMEPAD_BACK: ::WORD = 0x0020; +pub const XINPUT_GAMEPAD_LEFT_THUMB: ::WORD = 0x0040; +pub const XINPUT_GAMEPAD_RIGHT_THUMB: ::WORD = 0x0080; +pub const XINPUT_GAMEPAD_LEFT_SHOULDER: ::WORD = 0x0100; +pub const XINPUT_GAMEPAD_RIGHT_SHOULDER: ::WORD = 0x0200; +pub const XINPUT_GAMEPAD_A: ::WORD = 0x1000; +pub const XINPUT_GAMEPAD_B: ::WORD = 0x2000; +pub const XINPUT_GAMEPAD_X: ::WORD = 0x4000; +pub const XINPUT_GAMEPAD_Y: ::WORD = 0x8000; +pub const XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE: ::SHORT = 7849; +pub const XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE: ::SHORT = 8689; +pub const XINPUT_GAMEPAD_TRIGGER_THRESHOLD: ::BYTE = 30; +pub const XINPUT_FLAG_GAMEPAD: ::DWORD = 0x00000001; +pub const BATTERY_DEVTYPE_GAMEPAD: ::BYTE = 0x00; +pub const BATTERY_DEVTYPE_HEADSET: ::BYTE = 0x01; +pub const BATTERY_TYPE_DISCONNECTED: ::BYTE = 0x00; +pub const BATTERY_TYPE_WIRED: ::BYTE = 0x01; +pub const BATTERY_TYPE_ALKALINE: ::BYTE = 0x02; +pub const BATTERY_TYPE_NIMH: ::BYTE = 0x03; +pub const BATTERY_TYPE_UNKNOWN: ::BYTE = 0xFF; +pub const BATTERY_LEVEL_EMPTY: ::BYTE = 0x00; +pub const BATTERY_LEVEL_LOW: ::BYTE = 0x01; +pub const BATTERY_LEVEL_MEDIUM: ::BYTE = 0x02; +pub const BATTERY_LEVEL_FULL: ::BYTE = 0x03; +pub const XUSER_MAX_COUNT: ::DWORD = 4; +pub const XUSER_INDEX_ANY: ::DWORD = 0x000000FF; +pub const VK_PAD_A: ::WORD = 0x5800; +pub const VK_PAD_B: ::WORD = 0x5801; +pub const VK_PAD_X: ::WORD = 0x5802; +pub const VK_PAD_Y: ::WORD = 0x5803; +pub const VK_PAD_RSHOULDER: ::WORD = 0x5804; +pub const VK_PAD_LSHOULDER: ::WORD = 0x5805; +pub const VK_PAD_LTRIGGER: ::WORD = 0x5806; +pub const VK_PAD_RTRIGGER: ::WORD = 0x5807; +pub const VK_PAD_DPAD_UP: ::WORD = 0x5810; +pub const VK_PAD_DPAD_DOWN: ::WORD = 0x5811; +pub const VK_PAD_DPAD_LEFT: ::WORD = 0x5812; +pub const VK_PAD_DPAD_RIGHT: ::WORD = 0x5813; +pub const VK_PAD_START: ::WORD = 0x5814; +pub const VK_PAD_BACK: ::WORD = 0x5815; +pub const VK_PAD_LTHUMB_PRESS: ::WORD = 0x5816; +pub const VK_PAD_RTHUMB_PRESS: ::WORD = 0x5817; +pub const VK_PAD_LTHUMB_UP: ::WORD = 0x5820; +pub const VK_PAD_LTHUMB_DOWN: ::WORD = 0x5821; +pub const VK_PAD_LTHUMB_RIGHT: ::WORD = 0x5822; +pub const VK_PAD_LTHUMB_LEFT: ::WORD = 0x5823; +pub const VK_PAD_LTHUMB_UPLEFT: ::WORD = 0x5824; +pub const VK_PAD_LTHUMB_UPRIGHT: ::WORD = 0x5825; +pub const VK_PAD_LTHUMB_DOWNRIGHT: ::WORD = 0x5826; +pub const VK_PAD_LTHUMB_DOWNLEFT: ::WORD = 0x5827; +pub const VK_PAD_RTHUMB_UP: ::WORD = 0x5830; +pub const VK_PAD_RTHUMB_DOWN: ::WORD = 0x5831; +pub const VK_PAD_RTHUMB_RIGHT: ::WORD = 0x5832; +pub const VK_PAD_RTHUMB_LEFT: ::WORD = 0x5833; +pub const VK_PAD_RTHUMB_UPLEFT: ::WORD = 0x5834; +pub const VK_PAD_RTHUMB_UPRIGHT: ::WORD = 0x5835; +pub const VK_PAD_RTHUMB_DOWNRIGHT: ::WORD = 0x5836; +pub const VK_PAD_RTHUMB_DOWNLEFT: ::WORD = 0x5837; +pub const XINPUT_KEYSTROKE_KEYDOWN: ::WORD = 0x0001; +pub const XINPUT_KEYSTROKE_KEYUP: ::WORD = 0x0002; +pub const XINPUT_KEYSTROKE_REPEAT: ::WORD = 0x0004; +STRUCT!{struct XINPUT_GAMEPAD { + wButtons: ::WORD, + bLeftTrigger: ::BYTE, + bRightTrigger: ::BYTE, + sThumbLX: ::SHORT, + sThumbLY: ::SHORT, + sThumbRX: ::SHORT, + sThumbRY: ::SHORT, +}} +pub type PXINPUT_GAMEPAD = *mut XINPUT_GAMEPAD; +STRUCT!{struct XINPUT_STATE { + dwPacketNumber: ::DWORD, + Gamepad: ::XINPUT_GAMEPAD, +}} +pub type PXINPUT_STATE = *mut XINPUT_STATE; +STRUCT!{struct XINPUT_VIBRATION { + wLeftMotorSpeed: ::WORD, + wRightMotorSpeed: ::WORD, +}} +pub type PXINPUT_VIBRATION = *mut XINPUT_VIBRATION; +STRUCT!{struct XINPUT_CAPABILITIES { + Type: ::BYTE, + SubType: ::BYTE, + Flags: ::WORD, + Gamepad: ::XINPUT_GAMEPAD, + Vibration: ::XINPUT_VIBRATION, +}} +pub type PXINPUT_CAPABILITIES = *mut XINPUT_CAPABILITIES; +STRUCT!{struct XINPUT_BATTERY_INFORMATION { + BatteryType: ::BYTE, + BatteryLevel: ::BYTE, +}} +pub type PXINPUT_BATTERY_INFORMATION = *mut XINPUT_BATTERY_INFORMATION; +STRUCT!{struct XINPUT_KEYSTROKE { + VirtualKey: ::WORD, + Unicode: ::WCHAR, + UserIndex: ::BYTE, + HidCode: ::BYTE, +}} +pub type PXINPUT_KEYSTROKE = *mut XINPUT_KEYSTROKE; |