      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
     24
     25
     26
     27
     28
     29
     30
     31
     32
     33
     34
     35
     36
     37
     38
     39
     40
     41
     42
     43
     44
     45
     46
     47
     48
     49
     50
     51
     52
     53
     54
     55
     56
     57
     58
     59
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
     80
     81
     82
     83
     84
     85
     86
     87
     88
     89
     90
     91
     92
     93
     94
     95
     96
     97
     98
     99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428

    // 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 audioclient::*;
    pub use audiosessiontypes::*;
    pub use basetsd::*;
    pub use bcrypt::*;
    pub use cfg::*;
    pub use cfgmgr32::*;
    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 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 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 processsnapshot::*;
    pub use processthreadsapi::*;
    pub use propsys::*;
    pub use prsht::*;
    pub use psapi::*;
    pub use qos::*;
    pub use reason::*;
    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 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 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 winscard::*;
    pub use winsmcrd::*;
    pub use winsock2::*;
    pub use winspool::*;
    pub use winsvc::*;
    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 audioclient;
    pub mod audiosessiontypes;
    pub mod basetsd;
    pub mod bcrypt;
    pub mod cfg;
    pub mod cfgmgr32;
    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 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 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 processsnapshot;
    pub mod processthreadsapi;
    pub mod propsys;
    pub mod prsht;
    pub mod psapi;
    pub mod qos;
    pub mod reason;
    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 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 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 winscard;
    pub mod winsmcrd;
    pub mod winsock2;
    pub mod winspool;
    pub mod winsvc;
    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;
    //-------------------------------------------------------------------------------------------------
    // strmif.h
    //-------------------------------------------------------------------------------------------------
    pub type REFERENCE_TIME = LONGLONG;
    //-------------------------------------------------------------------------------------------------
    // propidl.h
    //-------------------------------------------------------------------------------------------------
    STRUCT!{struct PROPVARIANT {
        vt: VARTYPE,
        wReserved1: WORD,
        wReserved2: WORD,
        wReserved3: WORD,
        data: [u8; 16],
    }}
    //-------------------------------------------------------------------------------------------------
    // combaseapi.h
    // Base Component Object Model defintions.
    //-------------------------------------------------------------------------------------------------
    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__);
    //-------------------------------------------------------------------------------------------------
    // playsoundapi.h
    // ApiSet Contract for api-ms-win-mm-playsound-l1-1-0
    //-------------------------------------------------------------------------------------------------
    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;
    //-------------------------------------------------------------------------------------------------
    // winreg.h
    // Registry API procedure declarations, constant definitions and macros
    //-------------------------------------------------------------------------------------------------
    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;

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)