winapi-rs
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.
Example
Cargo.toml:
[dependencies]
winapi = "*"
winmm-sys = "*"
example.rs:
extern crate winapi;
extern crate winmm;
fn func() {
winmm::PlaySoundA(...);
}
Functions
Bindings to library functions are in separate crates. The source to each crate is in the relevant subdirectory under the lib
directory.
Usable crates
These are the ones that actually have functions in them:
- advapi32-sys
- d3d9-sys
- gdi32-sys
- kernel32-sys
- ole32-sys
- opengl32-sys
- shell32-sys
- user32-sys
- uuid-sys
- winmm-sys
Reserved crates
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
- crypt32-sys
- cryptdll-sys
- cryptnet-sys
- cryptui-sys
- cryptxml-sys
- cscapi-sys
- cscdll-sys
- d2d1-sys
- d3d10-sys
- d3d10_1-sys
- d3d11-sys
- d3dcompiler-sys
- d3dcsx-sys
- d3dcsxd-sys
- davclnt-sys
- dbgeng-sys
- dbghelp-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
- dsound-sys
- dsprop-sys
- dssec-sys
- dststlog-sys
- dsuiext-sys
- dtchelp-sys
- dwmapi-sys
- dwrite-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
- hid-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
- ktmw32-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
- mpr-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
- odbc32-sys
- odbcbcp-sys
- odbccp32-sys
- oemlicense-sys
- oleacc-sys
- oleaut32-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
- psapi-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
- secur32-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
- vssapi-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
- ws2_32-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
- xinput-sys
- xinput9_1_0-sys
- xmllite-sys
- xolehlp-sys
- xpsprint-sys