This crate provides types and constants for WinAPI FFI bindings. They are gathered by hand using the very latest official SDK from Microsoft. I aim to replace all existing Windows FFI in other crates with this set of crates through the "Embrace, extend, and extinguish" technique.
If this crate is missing something you need, feel free to create an issue, open a pull request, or contact me via other means.
Cargo.toml:
[dependencies]
winapi = "*"
winmm-sys = "*"
example.rs:
extern crate winapi;
extern crate "winmm-sys" as winmm;
fn func() {
winmm::PlaySoundA(...);
}
Bindings to library functions are in separate crates. The source to each crate is in the relevant subdirectory. Crossed out crates are currently empty and reserved for future use. Feel free to get in touch with me if you are interested in any of these crates.
aclui-sysactiveds-sysadsiid-sys- advapi32-sys
advpack-sysahadmin-sysalink-sysamstrmid-sysapi-ms-win-net-isolation-l1-1-0-sysapidll-sysappmgmts-sysappmgr-sysappnotify-sysasycfilt-sysaudiobaseprocessingobject-sysaudioeng-sysaudiomediatypecrt-sysauthz-sysaux_ulib-sysavifil32-sysavrt-sysbasesrv-sysbcrypt-sysbits-sysbluetoothapis-sysbthprops-sysbufferoverflow-sysbufferoverflowu-syscabinet-syscertadm-syscertca-syscertcli-syscertidl-syscertpoleng-syscfgmgr32-sysclfsmgmt-sysclfsw32-sysclusapi-syscomctl32-syscomdlg32-syscomppkgsup-syscompstui-syscomsvcs-syscorguids-syscorrengine-syscredui-syscrypt32-syscryptdll-syscryptnet-syscryptui-syscryptxml-syscscapi-syscscdll-sysd2d1-sysd3d10-sysd3d10_1-sysd3d11-sysd3d9-sysd3dcompiler-sysd3dcsx-sysd3dcsxd-sysdavclnt-sysdbgeng-sysdbghelp-sysdciman32-sysdcomp-sysddraw-sysdevenum-sysdeviceaccess-sysdevmgr-sysdflayout-sysdhcpcsvc-sysdhcpcsvc6-sysdhcpsapi-sysdifxapi-sysdinput8-sysdloadhelper-sysdmoguids-sysdnsapi-sysdnscrcli-sysdnslib-sysdnsperf-sysdnsrpc-sysdnsrslvr-sysdpx-sysdrt-sysdrtprov-sysdrttransport-sysdsound-sysdsprop-sysdssec-sysdststlog-sysdsuiext-sysdtchelp-sysdwmapi-sysdwrite-sysdxgi-sysdxguid-sysdxtmsft-sysdxtrans-sysdxva2-syseappcfg-syseappprxy-syseasregprov-sysefswrt-sysehstorguids-syselfapi-sysels-syselscore-sysesent-sysevr-sysevr_vista-sysfaultrep-sysfeclient-sysfhsvcctl-sysfileextd-sysfltlib-sysfontsub-sysformat-sysframedyd-sysframedyn-sysfwpuclnt-sysfxsutility-sys- gdi32-sys
gdiplus-sysglmf32-sysglu32-sysgpedit-sysgpmuuid-syshbaapi-syshhsetup-syshid-syshlink-syshtmlhelp-syshttpapi-sysiashlpr-sysicm32-sysicmui-sysiepmapi-sysiesetup-sysimagehlp-sysimgutil-sysimm32-sysinfocardapi-sysinseng-sysint64-sysiphlpapi-sysiprop-sysirprops-sysiscsidsc-sysjetoledb-sysjsrt-syskerbcli-sys- kernel32-sys
ksproxy-sysksuser-sysktmw32-sysloadperf-syslocationapi-syslz32-sysmagnification-sysmapi32-sysmbnapi_uuid-sysmciole32-sysmdmregistration-sysmf-sysmf_vista-sysmfcore-sysmfplat-sysmfplat_vista-sysmfplay-sysmfreadwrite-sysmfsrcsnk-sysmfuuid-sysmgmtapi-sysmi-sysmincore-sysmincore_downlevel-sysmmc-sysmmdevapi-sysmpr-sysmprapi-sysmprsnap-sysmqoa-sysmqrt-sysmsaatext-sysmsacm32-sysmscms-sysmscoree-sysmscorsn-sysmsctfmonitor-sysmsdasc-sysmsdelta-sysmsdmo-sysmsdrm-sysmsi-sysmsimg32-sysmspatcha-sysmspatchc-sysmspbase-sysmsports-sysmsrating-sysmstask-sysmsv1_0-sysmsvfw32-sysmswsock-sysmsxml2-sysmsxml6-sysmtx-sysmtxdm-sysmuiload-sysncrypt-sysnddeapi-sysndfapi-sysndproxystub-sysnetapi32-sysnetlib-sysnetsh-sysnewdev-sysninput-sysnormaliz-sysnt-sysntdll-sysntdsa-sysntdsapi-sysntdsatq-sysntdsetup-sysntfrsapi-sysntlanman-sysntmarta-sysntquery-sysntstc_libcmt-sysntstc_msvcrt-sysntvdm-sysobjsel-sysodbc32-sysodbcbcp-sysodbccp32-sysoemlicense-sys- ole32-sys
oleacc-sysoleaut32-sysolecli32-sysoledb-sysoledlg-sysolepro32-sysolesvr32-sysondemandconnroutehelper-sysopengl32-sysosptk-sysp2p-sysp2pgraph-syspatchwiz-syspathcch-syspdh-syspeerdist-sysphotoacquireuid-sysportabledeviceguids-syspowrprof-sysprntvpt-syspropsys-syspsapi-sysquartz-sysquery-sysqutil-sysqwave-sysrasapi32-sysrasdlg-sysrasuser-sysresutils-sysrometadata-sysrpcexts-sysrpcns4-sysrpcproxy-sysrpcrt4-sysrpcutil-sysrstrtmgr-sysrtm-sysrtutils-sysrtworkq-sysruntimeobject-syssamlib-syssamsrv-syssapi-syssas-syssbtsv-sysscarddlg-sysscecli-sysscesrv-sysschannel-sysscrnsave-sysscrnsavw-syssearchsdk-syssecur32-syssecurity-syssens-syssensapi-syssensorsapi-syssetupapi-syssfc-sysshcore-sysshdocvw-sys- shell32-sys
shfolder-sysshlwapi-syssisbkup-sysslc-sysslcext-sysslwga-syssnmpapi-sysspoolss-syssporder-syssrclient-sysssdpapi-syssti-sysstrmbase-sysstrmiids-sysstrsafe-sysstructuredquery-syssvcguid-sysswdevice-syssynchronization-syst2embed-systapi32-systapi32l-systaskschd-systbs-systdh-systhunk32-systlbref-systraffic-systranscodeimageuid-systsec-systspubplugincom-systwain_32-systwinapi-systxfw32-sysualapi-sysuiautomationcore-sysumpdddi-sysunicows-sysurlmon-sys- user32-sys
userenv-sysusp10-sysuuid-sysuxtheme-sysvccomsup-sysvdmdbg-sysvds_uuid-sysversion-sysvfw32-sysvirtdisk-sysvscmgr-sysvss_uuid-sysvssapi-sysvstorinterface-syswbemuuid-syswcmapi-syswcmguid-syswdsbp-syswdsclientapi-syswdsmc-syswdspxe-syswdstptc-syswebservices-syswebsocket-syswecapi-syswer-syswevtapi-syswiaguid-syswiaservc-syswiautil-syswinbio-syswindows-data-pdf-syswindows-networking-syswindows-ui-syswindowscodecs-syswindowssideshowguids-syswinfax-syswinhttp-syswininet-sys- winmm-sys
winsatapi-syswinscard-syswinspool-syswinsta-syswinstrm-syswintrust-syswinusb-syswlanapi-syswlanui-syswldap32-syswmcodecdspuuid-syswmdrmsdk-syswmip-syswmiutils-syswmvcore-syswnvapi-sysworkspaceax-syswow32-sysws2_32-syswsbapp_uuid-syswsbonline-syswscapi-syswsclient-syswsdapi-syswsmsvc-syswsnmp32-syswsock32-syswtsapi32-syswuguid-sysxapobase-sysxaswitch-sysxaudio2-sysxinput-sysxinput9_1_0-sysxmllite-sysxolehlp-sysxpsprint-sys