Official IRC channel: #winapi on Mozilla IRC
This crate provides types and constants for WinAPI FFI bindings. They are gathered by hand using the Windows 10 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.
As of version 0.2, this crate depends on Rust 1.1 (in order to lose the dependency on libc). If you need compatibility with Rust 1.0 you must continue to use older 0.1.x versions.
Cargo.toml:
[dependencies]
winapi = "0.2"
winmm-sys = "0.1"
example.rs:
extern crate winapi;
extern crate winmm;
fn func() {
winmm::PlaySoundA(...);
}
Bindings to library functions are in separate crates. The source to each crate is in the relevant subdirectory under the lib
directory.
These are the ones that actually have functions in them:
- advapi32-sys
- crypt32-sys
- d3d9-sys
- d3d11-sys
- dbghelp-sys
- dsound-sys
- dwmapi-sys
- dwrite-sys
- gdi32-sys
- hid-sys
- kernel32-sys
- ktmw32-sys
- mpr-sys
- odbc32-sys
- ole32-sys
- oleaut32-sys
- opengl32-sys
- psapi-sys
- secur32-sys
- shell32-sys
- user32-sys
- uuid-sys
- vssapi-sys
- winmm-sys
- ws2_32-sys
- xinput-sys
These are the ones that are reserved for future use:
- aclui-sys
- activeds-sys
- adsiid-sys
- advpack-sys
- ahadmin-sys
- alink-sys
- amstrmid-sys
- api-ms-win-net-isolation-l1-1-0-sys
- apidll-sys
- appmgmts-sys
- appmgr-sys
- appnotify-sys
- asycfilt-sys
- audiobaseprocessingobject-sys
- audioeng-sys
- audiomediatypecrt-sys
- authz-sys
- aux_ulib-sys
- avifil32-sys
- avrt-sys
- basesrv-sys
- bcrypt-sys
- bits-sys
- bluetoothapis-sys
- bthprops-sys
- bufferoverflow-sys
- bufferoverflowu-sys
- cabinet-sys
- certadm-sys
- certca-sys
- certcli-sys
- certidl-sys
- certpoleng-sys
- cfgmgr32-sys
- clfsmgmt-sys
- clfsw32-sys
- clusapi-sys
- comctl32-sys
- comdlg32-sys
- comppkgsup-sys
- compstui-sys
- comsvcs-sys
- corguids-sys
- correngine-sys
- credui-sys
- cryptdll-sys
- cryptnet-sys
- cryptui-sys
- cryptxml-sys
- cscapi-sys
- cscdll-sys
- d2d1-sys
- d3d10-sys
- d3d10_1-sys
- d3dcompiler-sys
- d3dcsx-sys
- d3dcsxd-sys
- davclnt-sys
- dbgeng-sys
- dciman32-sys
- dcomp-sys
- ddraw-sys
- devenum-sys
- deviceaccess-sys
- devmgr-sys
- dflayout-sys
- dhcpcsvc-sys
- dhcpcsvc6-sys
- dhcpsapi-sys
- difxapi-sys
- dinput8-sys
- dloadhelper-sys
- dmoguids-sys
- dnsapi-sys
- dnscrcli-sys
- dnslib-sys
- dnsperf-sys
- dnsrpc-sys
- dnsrslvr-sys
- dpx-sys
- drt-sys
- drtprov-sys
- drttransport-sys
- dsprop-sys
- dssec-sys
- dststlog-sys
- dsuiext-sys
- dtchelp-sys
- dxgi-sys
- dxguid-sys
- dxtmsft-sys
- dxtrans-sys
- dxva2-sys
- eappcfg-sys
- eappprxy-sys
- easregprov-sys
- efswrt-sys
- ehstorguids-sys
- elfapi-sys
- els-sys
- elscore-sys
- esent-sys
- evr-sys
- evr_vista-sys
- faultrep-sys
- feclient-sys
- fhsvcctl-sys
- fileextd-sys
- fltlib-sys
- fontsub-sys
- format-sys
- framedyd-sys
- framedyn-sys
- fwpuclnt-sys
- fxsutility-sys
- gdiplus-sys
- glmf32-sys
- glu32-sys
- gpedit-sys
- gpmuuid-sys
- hbaapi-sys
- hhsetup-sys
- hlink-sys
- htmlhelp-sys
- httpapi-sys
- iashlpr-sys
- icm32-sys
- icmui-sys
- iepmapi-sys
- iesetup-sys
- imagehlp-sys
- imgutil-sys
- imm32-sys
- infocardapi-sys
- inseng-sys
- int64-sys
- iphlpapi-sys
- iprop-sys
- irprops-sys
- iscsidsc-sys
- jetoledb-sys
- jsrt-sys
- kerbcli-sys
- ksproxy-sys
- ksuser-sys
- loadperf-sys
- locationapi-sys
- lz32-sys
- magnification-sys
- mapi32-sys
- mbnapi_uuid-sys
- mciole32-sys
- mdmregistration-sys
- mf-sys
- mf_vista-sys
- mfcore-sys
- mfplat-sys
- mfplat_vista-sys
- mfplay-sys
- mfreadwrite-sys
- mfsrcsnk-sys
- mfuuid-sys
- mgmtapi-sys
- mi-sys
- mincore-sys
- mincore_downlevel-sys
- mmc-sys
- mmdevapi-sys
- mprapi-sys
- mprsnap-sys
- mqoa-sys
- mqrt-sys
- msaatext-sys
- msacm32-sys
- mscms-sys
- mscoree-sys
- mscorsn-sys
- msctfmonitor-sys
- msdasc-sys
- msdelta-sys
- msdmo-sys
- msdrm-sys
- msi-sys
- msimg32-sys
- mspatcha-sys
- mspatchc-sys
- mspbase-sys
- msports-sys
- msrating-sys
- mstask-sys
- msv1_0-sys
- msvfw32-sys
- mswsock-sys
- msxml2-sys
- msxml6-sys
- mtx-sys
- mtxdm-sys
- muiload-sys
- ncrypt-sys
- nddeapi-sys
- ndfapi-sys
- ndproxystub-sys
- netapi32-sys
- netlib-sys
- netsh-sys
- newdev-sys
- ninput-sys
- normaliz-sys
- nt-sys
- ntdll-sys
- ntdsa-sys
- ntdsapi-sys
- ntdsatq-sys
- ntdsetup-sys
- ntfrsapi-sys
- ntlanman-sys
- ntmarta-sys
- ntquery-sys
- ntstc_libcmt-sys
- ntstc_msvcrt-sys
- ntvdm-sys
- objsel-sys
- odbcbcp-sys
- odbccp32-sys
- oemlicense-sys
- oleacc-sys
- olecli32-sys
- oledb-sys
- oledlg-sys
- olepro32-sys
- olesvr32-sys
- ondemandconnroutehelper-sys
- osptk-sys
- p2p-sys
- p2pgraph-sys
- patchwiz-sys
- pathcch-sys
- pdh-sys
- peerdist-sys
- photoacquireuid-sys
- portabledeviceguids-sys
- powrprof-sys
- prntvpt-sys
- propsys-sys
- quartz-sys
- query-sys
- qutil-sys
- qwave-sys
- rasapi32-sys
- rasdlg-sys
- rasuser-sys
- resutils-sys
- rometadata-sys
- rpcexts-sys
- rpcns4-sys
- rpcproxy-sys
- rpcrt4-sys
- rpcutil-sys
- rstrtmgr-sys
- rtm-sys
- rtutils-sys
- rtworkq-sys
- runtimeobject-sys
- samlib-sys
- samsrv-sys
- sapi-sys
- sas-sys
- sbtsv-sys
- scarddlg-sys
- scecli-sys
- scesrv-sys
- schannel-sys
- scrnsave-sys
- scrnsavw-sys
- searchsdk-sys
- security-sys
- sens-sys
- sensapi-sys
- sensorsapi-sys
- setupapi-sys
- sfc-sys
- shcore-sys
- shdocvw-sys
- shfolder-sys
- shlwapi-sys
- sisbkup-sys
- slc-sys
- slcext-sys
- slwga-sys
- snmpapi-sys
- spoolss-sys
- sporder-sys
- srclient-sys
- ssdpapi-sys
- sti-sys
- strmbase-sys
- strmiids-sys
- strsafe-sys
- structuredquery-sys
- svcguid-sys
- swdevice-sys
- synchronization-sys
- t2embed-sys
- tapi32-sys
- tapi32l-sys
- taskschd-sys
- tbs-sys
- tdh-sys
- thunk32-sys
- tlbref-sys
- traffic-sys
- transcodeimageuid-sys
- tsec-sys
- tspubplugincom-sys
- twain_32-sys
- twinapi-sys
- txfw32-sys
- ualapi-sys
- uiautomationcore-sys
- umpdddi-sys
- unicows-sys
- urlmon-sys
- userenv-sys
- usp10-sys
- uxtheme-sys
- vccomsup-sys
- vdmdbg-sys
- vds_uuid-sys
- version-sys
- vfw32-sys
- virtdisk-sys
- vscmgr-sys
- vss_uuid-sys
- vstorinterface-sys
- wbemuuid-sys
- wcmapi-sys
- wcmguid-sys
- wdsbp-sys
- wdsclientapi-sys
- wdsmc-sys
- wdspxe-sys
- wdstptc-sys
- webservices-sys
- websocket-sys
- wecapi-sys
- wer-sys
- wevtapi-sys
- wiaguid-sys
- wiaservc-sys
- wiautil-sys
- winbio-sys
- windows-data-pdf-sys
- windows-networking-sys
- windows-ui-sys
- windowscodecs-sys
- windowssideshowguids-sys
- winfax-sys
- winhttp-sys
- wininet-sys
- winsatapi-sys
- winscard-sys
- winspool-sys
- winsta-sys
- winstrm-sys
- wintrust-sys
- winusb-sys
- wlanapi-sys
- wlanui-sys
- wldap32-sys
- wmcodecdspuuid-sys
- wmdrmsdk-sys
- wmip-sys
- wmiutils-sys
- wmvcore-sys
- wnvapi-sys
- workspaceax-sys
- wow32-sys
- wsbapp_uuid-sys
- wsbonline-sys
- wscapi-sys
- wsclient-sys
- wsdapi-sys
- wsmsvc-sys
- wsnmp32-sys
- wsock32-sys
- wtsapi32-sys
- wuguid-sys
- xapobase-sys
- xaswitch-sys
- xaudio2-sys
- xinput9_1_0-sys
- xmllite-sys
- xolehlp-sys
- xpsprint-sys