How does it work?

MagNumDB is a database that contains about 350,000 items. These items are constants, names, values all extracted from more than 6,000 header files (.h, .hxx, .hpp, .idl, etc.) provided by standard Windows and Visual Studio SDKs and WDKs.

Some values have been extracted from the very special uuid.lib file that contains the value of thousands of guids and property keys, not present anywhere else in header files. It also contains around 36,0000 undocumented guids that I found in en envelope someone put in front of my door on a cold and dark night of april 2018.

 "C2P5"

To build this database, we have tried many existing parsers, things like CLANG or other fine tools, but they just don't suit our needs. They can't handle tens of thousands of files (or maybe with 128G of RAM?), they can't handle some specific (or just very old) Microsoft constructs, they don't remember the stack of #define directives that led to a definition, they only give you a final AST, not a partial one, etc.

So, in the end, we have written a C/C++ parser named C2P5 (for C/CPP/PreProcessor/Parser), tailored specifically for computing constants. C2P5 is capable of preprocessing, parsing and partially evaluating all header files as if they were included in a one big virtual project (that of course, does not compile) on a 32G RAM machine. It currently supports the following preprocessor and C/C++ constructs:

  • #define preprocessor that define constants
  • #define preprocessor that define expression to compute constants
  • C and C++ enum definitions
  • Special GUID constructs like DECLSPEC_UUID, DEFINE_GUIDSTRUCT, MIDL_INTERFACE, you name it
  • Some IDL constructs
  • Etc.

The parser remembers dynamic preprocessor definitions (#if, #ifdef, etc.) that are conditions for constants definitions and expression computation. All parsed items are saved in the database, as well as the associated conditions. There may be more than one item corresponding to a given name, if there are differences in their associated conditions stack.

C2P5 supports the following types of constants, regardless of the way they are defined in source files:

  • integer, signed or unsigned, from 8-bit to 128-bit
  • floating point number, single (32-bit) or double (64-bit)
  • globally unique identifier, or guid, uuid, CLSID, IID, etc.
  • string, in narrow, wide, or utf-8/16/32 formats
  • character, in narrow, wide, or utf-8/16/32 formats
  • pointer, a constant cast as a pointer
  • property key, or PROPERTYKEY, or PKEY, a combination of a guid (fmtid) and a 32-bit integer (id).

 Powered by

C2P5 and this MagNumDB web site are written in C# and use a Lucene database as a full-text search engine. C2P5 uses a custom ANTLR4cs C grammar for expression parsing, not for preprocessor parsing.

 

 Frequently Asked Questions

  • Q: Can I run custom queries?
    A: Yes. You can use Lucene's query syntax. Note the Database is case insensitive. Check out the list of columns with their corresponding database column names:

    • Index: the item's index.
    • Name: the item's name, or title. For enum values, it's prefixed with the enum's name.
      Corresponding database field: title.
    • Type: the item's type, expressed in a specific, universal system.
      Corresponding Lucene's field: valuetype, but use the value of the Storage type column for queries on items type.
    • Value: the item's value. For string values, it's displayed as is w/o quotes nor escaping.
      Corresponding database field: value. There is also a typedvalue field that can contain Lucene's Int32, Int64, Float, Double or String typed values.
    • Hex Value: the item's hexadecimal value, only valid for integer types.
      There is no corresponding database field.
    • Signed Value: the item's signed value, only valid for integer and double types. Useful when you found a unsigned number and want to get the corresponding signed value (uint -> int for example).
      There is no corresponding database field.
    • Source lines(s): the source lines from which the item was extracted. Comments and characters such as TAB, CR are preserved.
      Corresponding database field: source.
    • File path: the file path from which the item was extracted, terminated by the line index.
      Corresponding database field: filepath. There are also directory and filename fields. filename is useful to query for values in a given file.
    • Score: Lucene's score value. Items are returned sorted by score.
    • Guid formats: a utility columns that proposes all possible guid formats. Only valid for guid types.
      There is no corresponding database field
    • Char type: the character encoding (narrow, wide, etc.). Only valid for char and string values.
      Corresponding database field: chartype.
    • Storage type: the exact storage type in the database. Only used for specific queries.
      Corresponding database field: valuetype.
    • Conditions: the list of preprocessor conditions for a given item. If a condition is surrounded with a REVERSE function, it means the reverse condition of what's surrounded was the condition.
      Corresponding database field: conditions. There may be multiple conditions fields for one item.

    Some important points to note:

    • If you search for a negative number (like error codes expressed using signed integers), you can surround the search with double quotes, for example searching for "-2147009290" is equivalent to searching for 0x80073CF6, 80073CF6 (or even 3CF6 in this specific case). If you don't surround negative numbers with double quotes, the system will search for signed and unsigned corresponding values.
    • The full-text search uses items' name, value, hex value, guid formats, source lines, etc. so refine your search if you get back too many items.
    • You can search for guid binary values using just a part of their full definition. For example, if you search for '79eac9c5', it will get you 3 guid entries
    • Leading wild card search (*whatever) is allowed, but it may slow down the search significantly.

    Here are some example or custom queries:

    title:wm_user returns the WM_USER Windows message item, not all items that reference the WM_USER token.

    title:wm_u* returns all items (Windows messages probably) whose name starts with WM_U*.

    value:1024 AND title:wm_* returns all items (Windows messages probably) whose name starts with WM_U* and value is 1024. Note AND must be UPPERCASE for Lucene's to understand it as an AND operator.

    value:"00000002-0000-0000-C000-000000000046" returns the IMalloc IID guid value.

  • Q: I always get back 400 items at most. Why?
    A: The MagNumDb site currently limits the number of returned items to this value by design. This should be enough for most real search scenarios (like enums with a big list of values).

  • Q: Some values are empty. Why?
    A: The expression evaluator cannot always compute the final value, because it sometimes require contextual information (custom defines, compiler architecture, etc.) that the parser doesn't have. You can enable the Source line(s) column to check what's the corresponding source and try to work it out by yourself. The origin file path and line number is also included.

  • Q: Can I get all values for a given enum?
    A: Sure. For example, __VSHPROPID is the name of an enum, and a query like this: parent:__VSHPROPID will get all the enum's values (66 entries).

  • Q: I sometimes get back items whose name starts with "__magnumdb__enum_". Why?
    A: C allows unnamed enums. The MagNumDb parser just gives them a name, using the defining file name and a counter.

  • Q: I sometimes get back the same item/name twice or more with different values. For example:  TARGET_IS_NT60_OR_LATER. Why?
    A: This can be the case with defines. Their value may be different if they were surrounded by # directives (#if, #else, etc.) in the original source code. You can enable the Condition(s) column to check what are the corresponding conditions for a given item.
    Note: if a condition is surrounded with a funny REVERSE function token, it means the reverse condition of what's surrounded.

 Database Metrics

  • Last update date: Thursday August 29, 2019
  • Items count: 350276
  • Parsed files count: 7563
  • Windows SDK version: 10.0.18362.0
  • NetFx SDK version: 4.8
  • MSVC Tools version: 14.22.27905

 

 Contact

We welcome feedback.
Seen anything missing? A bug? A wrong value? Do you have any suggestion for improvements? Do you have an idea for a cool new feature?

Please contact us here

 About MagNumDB

MagNumDB  2017-2019 Simon Mourier V1.3.1. All rights reserved.

Profile for Simon Mourier at Stack Overflow, Q&A for professional and enthusiast programmers


All product names, logos, and brands are property of their respective owners. All company, product and service names used in this website are for identification purposes only.

All values, names, source code fragments displayed here have been extracted from files that are property of their respective owners.

THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND OTHER THAN AS SPECIFICALLY SET FORTH IN THE LICENSE AGREEMENT, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 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.

Index Score Name Type Value Hex value Signed value Guid formats Char type Storage type Source line(s) File path Condition(s)
Index Score Name Type Value Hex value Signed value Guid formats Char type Storage type Source line(s) File path Condition(s)
1 4.944705 wszREGACTIVE String Active Narrow System.TypedString
#define wszREGACTIVE		      TEXT("Active")
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\CertSrv.h(65,0)
  • If !defined( _CERTSRV_H_ )
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
2 4.944705 RcsResourceState::Active Int32 2 0x00000002 2 System.Int32
Active     = 2,
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\abi\windows.phone.restricted.cellular.rcspresence.idl(166,0)
3 4.944705 BluetoothLEScanningMode::Active Int32 1 0x00000001 1 System.Int32
Active  = 1
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\winrt\windows.devices.bluetooth.advertisement.idl(236,0)
4 4.944705 StoreQueueItemState::Active Int32 0 0x00000000 0 System.Int32
Active    = 0,
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\winrt\windows.services.store.idl(436,0)
5 4.944705 SelectionOptions::Active Int32 8 0x00000008 8 System.Int32
Active      = 0x8,
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\winrt\windows.ui.text.idl(367,0)
6 4.944705 ACTIVE Int32 1 0x00000001 1 System.Int32
#define ACTIVE    1
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\km\parallel.h(698,0)
7 3.29647 JOYTYPE_HIDEACTIVE Int32 1048576 0x00100000 1048576 System.Int32
#define JOYTYPE_HIDEACTIVE              0x00100000l /* Hide flags are active */
#define JOYTYPE_HIDEACTIVE              0x00100000l /* Hide flags are active */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\dinputd.h(277,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  • Ifndef JOY_HW_NONE
8 3.29647 XST_REQSENT Int32 5 0x00000005 5 System.Int32
#define     XST_REQSENT           5  /* active conversation states */
#define     XST_REQSENT           5  /* active conversation states */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\ddeml.h(90,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
9 3.29647 OLE_RELEASE_METHOD::OLE_NONE Int32 0 0x00000000 0 System.Int32
OLE_NONE,               /* 0  no method active                           */
    OLE_NONE,               /* 0  no method active                           */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\ole.h(190,0)
10 3.29647 MM_ACTIVEVOICE Int32 225 0x000000E1 -31 System.Int32
#define   MM_ACTIVEVOICE                225         /* ACTIVE VOICE CORPORATION */
#define   MM_ACTIVEVOICE                225         /* ACTIVE VOICE CORPORATION */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\mmreg.h(273,0)
  • If !defined(__midl)
  • Ifndef _INC_MMREG
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  • Ifndef NOMMIDS
11 3.29647 JET_errBackupInProgress Int32 -505 0xFFFFFE07 -505 System.Int32
#define JET_errBackupInProgress             -505  /* Backup is active already */
#define JET_errBackupInProgress             -505  /* Backup is active already */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\esent.h(3113,0)
  • If !defined(_JET_INCLUDED)
12 3.29647 JET_errLoggingDisabled Int32 -516 0xFFFFFDFC -516 System.Int32
#define JET_errLoggingDisabled              -516  /* Log is not active */
#define JET_errLoggingDisabled              -516  /* Log is not active */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\esent.h(3122,0)
  • If !defined(_JET_INCLUDED)
13 3.29647 WF_STAYACTIVE Int32 32 0x00000020 32 System.Int32
#define WF_STAYACTIVE       0x0020  // look active even though not active
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\atlmfc\include\afxwin.h(2156,0)
  • Ifndef RC_INVOKED
14 2.913695 GROUP_POLICY_OBJECT_TYPE::GPOTypeDS Int32 2 0x00000002 2 System.Int32
GPOTypeDS,                              // GPO in the Active Directory
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\GPEdit.h(209,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
15 2.913695 S_SERMACT Int32 -3 0xFFFFFFFD -3 System.Int32
#define S_SERMACT     (-3)  // Music active
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\winbase.h(858,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
16 2.913695 SCARD_PROTOCOL_UNDEFINED Int32 0 0x00000000 0 System.Int32
#define SCARD_PROTOCOL_UNDEFINED    0x00000000  // There is no active protocol.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\winsmcrd.h(74,0)
17 2.913695 SCARD_PROTOCOL_RAW Int32 65536 0x00010000 65536 System.Int32
#define SCARD_PROTOCOL_RAW          0x00010000  // Raw is the active protocol.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\winsmcrd.h(77,0)
18 2.913695 _ATL Int32 1 0x00000001 1 System.Int32
#define _ATL     1      // Active Template Library
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\atlmfc\include\atldef.h(512,0)
  • Ifndef RC_INVOKED
19 2.913695 PNRP_CLOUD_STATE::PNRP_CLOUD_STATE_ACTIVE Int32 2 0x00000002 2 System.Int32
PNRP_CLOUD_STATE_ACTIVE        = 2,    //  Cloud is active
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\pnrpdef.h(75,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
20 2.913695 PNRP_REGISTERED_ID_STATE::PNRP_REGISTERED_ID_STATE_OK Int32 1 0x00000001 1 System.Int32
PNRP_REGISTERED_ID_STATE_OK      = 1,    //  Id is active in cloud
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\pnrpdef.h(102,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
21 2.913695 RESTRICTIONS::REST_NOSETACTIVEDESKTOP Int32 1073741854 0x4000001E 1073741854 System.Int32
REST_NOSETACTIVEDESKTOP         = 0x4000001E,   // No Active desktop on Settings Menu
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\shlobj_core.h(2537,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
22 2.913695 BluetoothLEScanningMode Enum
enum BluetoothLEScanningMode
                {
                    Passive = 0,
                    Active  = 1
                };
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\winrt\windows.devices.bluetooth.advertisement.idl(233,0)
23 2.913695 GattSessionStatus Enum
enum GattSessionStatus
                {
                    Closed = 0,
                    Active = 1
                };
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\winrt\windows.devices.bluetooth.genericattributeprofile.idl(504,0)
24 2.913695 ACL_MODE::ACL_MODE_ENTER_ACTIVE Int32 4 0x00000004 4 System.Int32
ACL_MODE_ENTER_ACTIVE   = 0x4,  // About to enter Active mode.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\km\bthddi.h(2418,0)
  • If (NTDDI_VERSION >= NTDDI_VISTA)
25 2.913695 EVENT_TRACE_TYPE_CONFIG_SERVICES Int32 15 0x0000000F 15 System.Int32
#define EVENT_TRACE_TYPE_CONFIG_SERVICES        0x0F     // Active Services
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\evntrace.h(290,0)
  • If defined(_WINNT_) || defined(WINNT)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM | WINAPI_PARTITION_GAMES)
26 2.913695 TDI_CONNECTION_ACTIVE Int32 18 0x00000012 18 System.Int32
#define TDI_CONNECTION_ACTIVE   18          // Connection is still active.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\km\tdistat.h(35,0)
  • Ifndef NT
27 2.913695 VpnChannelActivityEventType Enum
enum VpnChannelActivityEventType
            {
                Idle   = 0,
                Active = 1
            };
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\winrt\windows.networking.vpn.idl(392,0)
28 2.913695 ClockState Enum
enum ClockState
                    {
                        Active  = 0,
                        Filling = 1,
                        Stopped = 2
                    };
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\winrt\windows.ui.xaml.media.animation.idl(693,0)
29 2.913695 __magnumdb__enum_msoci_h_1::msocrfExclusiveActivation Int32 128 0x00000080 -128 System.Int32
msocrfExclusiveActivation = 128, // comp becomes exclusively active
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VSSDK\VisualStudioIntegration\Common\Inc\office10\msoci.h(52,0)
30 2.913695 __magnumdb__enum_msoci_h_7::msogacActive Int32 0 0x00000000 0 System.Int32
msogacActive    = 0, // retrieve true active component
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VSSDK\VisualStudioIntegration\Common\Inc\office10\msoci.h(205,0)
31 2.913695 __magnumdb__enum_msouser_h_8::msoimodActiveds Int32 36 0x00000024 36 System.Int32
msoimodActiveds,        // activeds.dll - Active Directory dll
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VSSDK\VisualStudioIntegration\Common\Inc\office10\msouser.h(1209,0)
32 2.884411 NERR_NotLocalDomain Int32 2320 0x00000910 2320 System.Int32
#define NERR_NotLocalDomain     (NERR_BASE+220) /* The computer is not active in this domain. */
#define NERR_NotLocalDomain     (NERR_BASE+220) /* The computer is not active in this domain. */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\lmerr.h(293,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
33 2.884411 NERR_ActiveConns Int32 2402 0x00000962 2402 System.Int32
#define NERR_ActiveConns        (NERR_BASE+302) /* Active connections still exist. */
#define NERR_ActiveConns        (NERR_BASE+302) /* Active connections still exist. */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\lmerr.h(383,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
34 2.884411 NRC_ACTSES Int32 15 0x0000000F 15 System.Int32
#define NRC_ACTSES      0x0f    /* no deletions, name has active sessions     */
#define NRC_ACTSES      0x0f    /* no deletions, name has active sessions     */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\nb30.h(269,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
35 2.884411 JET_wrnRemainingVersions Int32 321 0x00000141 321 System.Int32
#define JET_wrnRemainingVersions             321  /* The version store is still active */
#define JET_wrnRemainingVersions             321  /* The version store is still active */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\esent.h(3074,0)
  • If !defined(_JET_INCLUDED)
36 2.884411 JET_errTooManyActiveUsers Int32 -1059 0xFFFFFBDD -1059 System.Int32
#define JET_errTooManyActiveUsers           -1059 /* Too many active database users */
#define JET_errTooManyActiveUsers           -1059 /* Too many active database users */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\esent.h(3278,0)
  • If !defined(_JET_INCLUDED)
37 2.884411 DIBUTTON_FPS_STRAFE Int32 150995975 0x09000407 150995975 System.Int32
#define DIBUTTON_FPS_STRAFE                     0x09000407 /* Enable strafing while active */
#define DIBUTTON_FPS_STRAFE                     0x09000407 /* Enable strafing while active */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\dinput.h(3444,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
38 2.472353 NERR_DevInUse Int32 2404 0x00000964 2404 System.Int32
#define NERR_DevInUse           (NERR_BASE+304) /* The device is being accessed by an active process. */
#define NERR_DevInUse           (NERR_BASE+304) /* The device is being accessed by an active process. */
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\lmerr.h(385,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
39 2.472353 NVME_IDENTIFY_CNS_CODES::NVME_IDENTIFY_CNS_ACTIVE_NAMESPACES Int32 2 0x00000002 2 System.Int32
NVME_IDENTIFY_CNS_ACTIVE_NAMESPACES             = 2,       // A list of up to 1024 active namespace IDs is returned to the host containing active namespaces with a namespace identifier greater than the value specified in the Namespace Identifier (CDW1.NSID) field.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\nvme.h(659,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_STORAGE)
40 2.330956 SCARD_PROTOCOL_T0 Int32 1 0x00000001 1 System.Int32
#define SCARD_PROTOCOL_T0           0x00000001  // T=0 is the active protocol.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\winsmcrd.h(75,0)
41 2.330956 SCARD_PROTOCOL_T1 Int32 2 0x00000002 2 System.Int32
#define SCARD_PROTOCOL_T1           0x00000002  // T=1 is the active protocol.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\winsmcrd.h(76,0)
42 2.330956 MUTZ_FORCE_INTRANET_FLAGS Int32 8192 0x00002000 8192 System.Int32
#define MUTZ_FORCE_INTRANET_FLAGS    0x00002000 // Force the intranet flags to be active
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\urlmon.h(7015,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
43 2.330956 _ATL_VER Int32 3584 0x00000E00 3584 System.Int32
#define _ATL_VER 0x0E00 // Active Template Library version 14.00
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\atlmfc\include\atldef.h(513,0)
  • Ifndef RC_INVOKED
44 2.330956 WLAN_AVAILABLE_NETWORK_CONSOLE_USER_PROFILE Int32 4 0x00000004 4 System.Int32
#define WLAN_AVAILABLE_NETWORK_CONSOLE_USER_PROFILE         0x00000004  // The profile is the active console user's per user profile
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\wlanapi.h(442,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
45 2.330956 WLAN_CONNECTION_NOTIFICATION_CONSOLE_USER_PROFILE Int32 4 0x00000004 4 System.Int32
#define WLAN_CONNECTION_NOTIFICATION_CONSOLE_USER_PROFILE    0x00000004     // The profile is the active console user's per user profile
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\wlanapi.h(838,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
46 2.330956 MSIRUNMODE::MSIRUNMODE_LOGENABLED Int32 4 0x00000004 4 System.Int32
MSIRUNMODE_LOGENABLED      =  4, // log file active, enabled prior to install session
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\MsiQuery.h(129,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
47 2.330956 PNRP_CLOUD_STATE::PNRP_CLOUD_STATE_NO_NET Int32 5 0x00000005 5 System.Int32
PNRP_CLOUD_STATE_NO_NET        = 5,    //  Was active, but now has lost access to net
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\pnrpdef.h(78,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
48 2.330956 REO_INPLACEACTIVE Int32 33554432 0x02000000 33554432 System.Int32
#define REO_INPLACEACTIVE	(0x02000000L)	// Object in place active (RO)
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\RichOle.h(66,0)
49 2.330956 SHELL_LINK_DATA_FLAGS::SLDF_RUN_WITH_SHIMLAYER Int32 131072 0x00020000 131072 System.Int32
SLDF_RUN_WITH_SHIMLAYER                     = 0x00020000,   // activate target of this link with shim layer active
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\shlobj_core.h(421,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  • If (NTDDI_VERSION >= NTDDI_WINXP)
50 2.330956 RcsResourceState Enum
enum RcsResourceState
                    {
                        Unknown    = 0,
                        Pending    = 1,
                        Active     = 2,
                        Terminated = 3
                    };
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\abi\windows.phone.restricted.cellular.rcspresence.idl(162,0)
51 2.330956 VoipPhoneCallState Enum
enum VoipPhoneCallState
            {
                Ended    = 0,
                Held     = 1,
                Active   = 2,
                Incoming = 3,
                Outgoing = 4
            };
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\winrt\Windows.Applicationmodel.Calls.idl(490,0)
52 2.330956 E_DAO_TooManyActiveUsers UInt32 2148142247 0x800A0CA7 -2146825049 System.UInt32
#define E_DAO_TooManyActiveUsers			DBDAOERR(3239) //Too many active users.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\dbdaoerr.h(269,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
53 2.330956 E_DAO_NoTransport UInt32 2148142516 0x800A0DB4 -2146824780 System.UInt32
#define E_DAO_NoTransport					DBDAOERR(3508) //There is no active transport for the Synchronizer.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\dbdaoerr.h(538,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
54 2.330956 E_DAO_ProcessStillActive UInt32 2148142549 0x800A0DD5 -2146824747 System.UInt32
#define E_DAO_ProcessStillActive			DBDAOERR(3541) //Synchronizer could not be shut down properly and is still active.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\dbdaoerr.h(571,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
55 2.330956 E_DAO_VtoNoActiveConnection UInt32 2148142676 0x800A0E54 -2146824620 System.UInt32
#define E_DAO_VtoNoActiveConnection			DBDAOERR(3668) //Can not perform this operation because there is no active connection.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\dbdaoerr.h(698,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
56 2.330956 DDRAWISURF_SETGAMMA Int32 32768 0x00008000 -32768 System.Int32
#define DDRAWISURF_SETGAMMA             0x00008000L // gamma ramp for this surface is active
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\ddrawi.h(1588,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
57 2.330956 SMB_ERR_TOO_MANY_UIDS Int32 90 0x0000005A 90 System.Int32
#define SMB_ERR_TOO_MANY_UIDS       90  // Too many UIDs active in session
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\km\cifs.h(4148,0)
58 2.330956 NET_DMA_TRANSFER_STATUS::NetDmaTransferStatusActive Int32 0 0x00000000 0 System.Int32
NetDmaTransferStatusActive = 0,     // 000 = Active, transfer completed successfully. This was -not- the last pending descriptor
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\km\netdma.h(92,0)
  • REVERSE(If (NTDDI_VERSION >= NTDDI_WIN8) && !defined(ENABLE_LEGACY_NETDMA))
  • Elif NTDDI_VERSION >= NTDDI_VISTASP1
59 2.330956 VoipCallState Enum
enum VoipCallState
                {
                    Ended    = 0,
                    Held     = 1,
                    Active   = 2,
                    Incoming = 3,
                    Outgoing = 4
                };
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\winrt\windows.phone.networking.voip.idl(165,0)
60 2.330956 StoreQueueItemState Enum
enum StoreQueueItemState
            {
                Active    = 0,
                Completed = 1,
                Canceled  = 2,
                Error     = 3,
                Paused    = 4
            };
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\winrt\windows.services.store.idl(434,0)
61 2.330956 SelectionOptions Enum
enum SelectionOptions
            {
                StartActive = 0x1,
                AtEndOfLine = 0x2,
                Overtype    = 0x4,
                Active      = 0x8,
                Replace     = 0x10
            };
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\winrt\windows.ui.text.idl(362,0)
62 2.330956 OLE_NOTIFICATION::OLE_CHANGED_STATE Int32 4 0x00000004 4 System.Int32
OLE_CHANGED_STATE,  // the item state (open, active, etc.) has changed
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\atlmfc\include\afxole.h(115,0)
63 2.330956 TTF_ALWAYSTIP Int32 1073741824 0x40000000 1073741824 System.Int32
#define TTF_ALWAYSTIP       0x40000000L // always show the tip even if not active
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\atlmfc\include\afxwin.h(2172,0)
  • Ifndef RC_INVOKED
64 2.330956 __magnumdb__enum_msoci_h_1::msocrfMaster Int32 512 0x00000200 512 System.Int32
msocrfMaster			= 512,   // comp is always active and gets first shot at evrything
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VSSDK\VisualStudioIntegration\Common\Inc\office10\msoci.h(55,0)
65 2.330956 __magnumdb__enum_msouser_h_3::msonaQueryAcbAware Int32 5 0x00000005 5 System.Int32
msonaQueryAcbAware,				// Asks the app if it's fully aware of the Active ClipBoard
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VSSDK\VisualStudioIntegration\Common\Inc\office10\msouser.h(100,0)
66 2.060294 NVME_IDENTIFY_CNS_CODES Enum
typedef enum {

    NVME_IDENTIFY_CNS_SPECIFIC_NAMESPACE            = 0,
    NVME_IDENTIFY_CNS_CONTROLLER                    = 1,
    NVME_IDENTIFY_CNS_ACTIVE_NAMESPACES             = 2,       // A list of up to 1024 active namespace IDs is returned to the host containing active namespaces with a namespace identifier greater than the value specified in the Namespace Identifier (CDW1.NSID) field.
    NVME_IDENTIFY_CNS_DESCRIPTOR_NAMESPACE          = 3,
    NVME_IDENTIFY_CNS_NVM_SET                       = 4,

} NVME_IDENTIFY_CNS_CODES;
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\nvme.h(655,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PKG_STORAGE)
67 2.039587 QUERY_USER_NOTIFICATION_STATE::QUNS_NOT_PRESENT Int32 1 0x00000001 1 System.Int32
QUNS_NOT_PRESENT               = 1,    // The user is not present.  Heuristic check for modes like: screen saver, locked machine, non-active FUS session
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\shellapi.h(980,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  • If (WINVER >= 0x0400)
  • If (NTDDI_VERSION >= NTDDI_VISTA)
68 2.039587 PNRP_REGISTERED_ID_STATE Enum
typedef enum _PNRP_REGISTERED_ID_STATE
{
    PNRP_REGISTERED_ID_STATE_OK      = 1,    //  Id is active in cloud
    PNRP_REGISTERED_ID_STATE_PROBLEM = 2     //  Id is no longer registered in cloud

} PNRP_REGISTERED_ID_STATE;
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\pnrpdef.h(100,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
69 2.039587 E_DAO_TooManySessions UInt32 2148142206 0x800A0C7E -2146825090 System.UInt32
#define E_DAO_TooManySessions				DBDAOERR(3198) //Couldn't start session.  Too many sessions already active.
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\dbdaoerr.h(228,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
70 2.039587 __magnumdb__enum_msoci_h_7 Enum
enum
	{
	msogacActive    = 0, // retrieve true active component
	msogacTracking   = 1, // retrieve tracking component
	msogacTrackingOrActive = 2, // retrieve tracking component if one exists,
	};
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VSSDK\VisualStudioIntegration\Common\Inc\office10\msoci.h(203,0)
71 1.648235 NERR_AlreadyCloudDomainJoined Int32 2700 0x00000A8C 2700 System.Int32
#define NERR_AlreadyCloudDomainJoined      (NERR_BASE+600) /*This device is joined to Azure AD. To join an Active Directory domain, you must first go to settings and choose to disconnect your device from your work or school.*/
#define NERR_AlreadyCloudDomainJoined      (NERR_BASE+600) /*This device is joined to Azure AD. To join an Active Directory domain, you must first go to settings and choose to disconnect your device from your work or school.*/
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\shared\lmerr.h(590,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
72 1.648235 PNRP_CLOUD_STATE Enum
typedef enum _PNRP_CLOUD_STATE 
{
    PNRP_CLOUD_STATE_VIRTUAL       = 0,    //  Not initialized
    PNRP_CLOUD_STATE_SYNCHRONISING = 1,    //  The cache is initializing
    PNRP_CLOUD_STATE_ACTIVE        = 2,    //  Cloud is active
    PNRP_CLOUD_STATE_DEAD          = 3,    //  Initialized but has had a problem
    PNRP_CLOUD_STATE_DISABLED      = 4,    //  Cloud is not disbaled in registery
    PNRP_CLOUD_STATE_NO_NET        = 5,    //  Was active, but now has lost access to net
    PNRP_CLOUD_STATE_ALONE         = 6     //  Cloud is in standalone mode
} PNRP_CLOUD_STATE;
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\pnrpdef.h(71,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
73 1.456848 GROUP_POLICY_OBJECT_TYPE Enum
typedef enum _GROUP_POLICY_OBJECT_TYPE {
    GPOTypeLocal = 0,                       // Default GPO on the local machine
    GPOTypeRemote,                          // GPO on a remote machine
    GPOTypeDS,                              // GPO in the Active Directory
    GPOTypeLocalUser,                       // User-specific GPO on the local machine 
    GPOTypeLocalGroup                       // Group-specific GPO on the local machine 
} GROUP_POLICY_OBJECT_TYPE, *PGROUP_POLICY_OBJECT_TYPE;
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\GPEdit.h(206,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
74 1.456848 OLE_NOTIFICATION Enum
enum OLE_NOTIFICATION
{
	OLE_CHANGED,        // representation of a draw aspect has changed
	OLE_SAVED,          // the item has committed its storage
	OLE_CLOSED,         // the item has closed
	OLE_RENAMED,        // the item has changed its moniker
	OLE_CHANGED_STATE,  // the item state (open, active, etc.) has changed
	OLE_CHANGED_ASPECT, // the item draw aspect has changed
};
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.22.27905\atlmfc\include\afxole.h(109,0)
75 1.442206 __magnumdb__enum_msoci_h_1 Enum
enum
	{
	msocrfNeedIdleTime         = 1,  // needs idle time
	msocrfNeedPeriodicIdleTime = 2,  // needs idle time every N milliseconds
	msocrfPreTranslateKeys     = 4,  // must process keyboard msgs
	msocrfPreTranslateAll      = 8,  // must process all msgs
	msocrfNeedSpecActiveNotifs = 16, // needs to be notified for special
	msocrfNeedTopActiveNotifs  = msocrfNeedSpecActiveNotifs, // old name
	msocrfNeedAllActiveNotifs  = 32, // needs to be notified for every
	msocrfExclusiveBorderSpace = 64, // needs exclusive border space when 
	msocrfExclusiveActivation = 128, // comp becomes exclusively active 
	msocrfNeedAllMacEvents	= 256,	 // needs all mac events
	msocrfMaster			= 512,   // comp is always active and gets first shot at evrything
	};
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VSSDK\VisualStudioIntegration\Common\Inc\office10\msoci.h(33,0)
76 1.165478 QUERY_USER_NOTIFICATION_STATE Enum
typedef enum
{
    QUNS_NOT_PRESENT               = 1,    // The user is not present.  Heuristic check for modes like: screen saver, locked machine, non-active FUS session
    QUNS_BUSY                      = 2,    // The user is busy.  Heuristic check for modes like: full-screen app
    QUNS_RUNNING_D3D_FULL_SCREEN   = 3,    // full-screen (exlusive-mode) D3D app
    QUNS_PRESENTATION_MODE         = 4,    // Windows presentation mode (laptop feature) is turned on
    QUNS_ACCEPTS_NOTIFICATIONS     = 5,    // notifications can be freely sent
    QUNS_QUIET_TIME                = 6,    // We are in OOBE quiet period
    QUNS_APP                       = 7,    // App-mode application
} QUERY_USER_NOTIFICATION_STATE;
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\shellapi.h(978,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  • If (WINVER >= 0x0400)
  • If (NTDDI_VERSION >= NTDDI_VISTA)
  • If (NTDDI_VERSION >= NTDDI_WIN7)
  • If (NTDDI_VERSION >= NTDDI_WIN8)
77 1.165478 ACL_MODE Enum
typedef enum _ACL_MODE {
    ACL_MODE_ACTIVE         = 0x0,  // Defined in Blutooth Specification
    ACL_MODE_HOLD           = 0x1,  // Defined in Blutooth Specification
    ACL_MODE_SNIFF          = 0x2,  // Defined in Blutooth Specification
    ACL_MODE_PARK           = 0x3,  // Defined in Blutooth Specification
    ACL_MODE_ENTER_ACTIVE   = 0x4,  // About to enter Active mode.
    ACL_MODE_ENTER_HOLD     = 0x5,  // About to enter Hold mode.
    ACL_MODE_ENTER_SNIFF    = 0x6,  // About to enter Sniff mode.
    ACL_MODE_ENTER_PARK     = 0x7,  // About to enter Park mode.
    ACL_DISCONNECTED        = 0x8,  // Disconnected or sent Disconnect.
} ACL_MODE;
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\km\bthddi.h(2413,0)
  • If (NTDDI_VERSION >= NTDDI_VISTA)
78 1.165478 NET_DMA_TRANSFER_STATUS Enum
typedef enum _NET_DMA_TRANSFER_STATUS
{
    NetDmaTransferStatusActive = 0,     // 000 = Active, transfer completed successfully. This was -not- the last pending descriptor
    NetDmaTransferStatusIdle = 1,       // 001 = Idle, transfer completed successfully. This was the last pending descriptor
    NetDmaTransferStatusSuspend = 2,    // 010 = Suspend completed (no hard error). DMA channel is in Halt state
    NetDmaTransferStatusHalted = 3,     // 011 = Halted, operation aborted
    NetDmaTransferStatusArmed = 4       // 100 = Armed, first descriptor has not yet completed and Completed Descriptor Address is not valid
} NET_DMA_TRANSFER_STATUS, *PNET_DMA_TRANSFER_STATUS;
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\km\netdma.h(90,0)
  • REVERSE(If (NTDDI_VERSION >= NTDDI_WIN8) && !defined(ENABLE_LEGACY_NETDMA))
  • Elif NTDDI_VERSION >= NTDDI_VISTASP1
79 1.019793 __magnumdb__enum_msouser_h_3 Enum
enum
	{
	msonaStartHelpMode = 0,			// User entered Quick tip mode (Shift-F1).  App should update any internal state
	msonaEndHelpMode,					// Quick tip was displayed.  App should restore cursor.
	msonaBeforePaletteRealize,		// Office is going to realize one or more palettes, see comment below
	msonaQueryDisablePip,			// Gives the app the chance to refuse a .PIP file, should it not want one.
	msonaQueryInsertPicture,		// Asks the app if we can insert a picture
	msonaQueryAcbAware,				// Asks the app if it's fully aware of the Active ClipBoard
	msonaBeforeInitTFCBalloons,	// tells the app that TFC balloons are about to be initialized
	msonaAfterInitTFCBalloons,		// tells the app that TFC balloon initialization is over
	msonaAddinBeforeConnect,
	msonaAddinAfterConnect,
	msonaAddinBeforeDisconnect,
	msonaAddinAfterDisconnect
	};
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VSSDK\VisualStudioIntegration\Common\Inc\office10\msouser.h(93,0)
80 0.8241175 OLE_RELEASE_METHOD Enum
typedef enum
{
    OLE_NONE,               /* 0  no method active                           */
    OLE_NONE,               /* 0  no method active                           */
    OLE_DELETE,             /* 1  object delete                              */
    OLE_DELETE,             /* 1  object delete                              */
    OLE_LNKPASTE,           /* 2  PasteLink(auto reconnect)                  */
    OLE_LNKPASTE,           /* 2  PasteLink(auto reconnect)                  */
    OLE_EMBPASTE,           /* 3  paste(and update)                          */
    OLE_EMBPASTE,           /* 3  paste(and update)                          */
    OLE_SHOW,               /* 4  Show                                       */
    OLE_SHOW,               /* 4  Show                                       */
    OLE_RUN,                /* 5  Run                                        */
    OLE_RUN,                /* 5  Run                                        */
    OLE_ACTIVATE,           /* 6  Activate                                   */
    OLE_ACTIVATE,           /* 6  Activate                                   */
    OLE_UPDATE,             /* 7  Update                                     */
    OLE_UPDATE,             /* 7  Update                                     */
    OLE_CLOSE,              /* 8  Close                                      */
    OLE_CLOSE,              /* 8  Close                                      */
    OLE_RECONNECT,          /* 9  Reconnect                                  */
    OLE_RECONNECT,          /* 9  Reconnect                                  */
    OLE_SETUPDATEOPTIONS,   /* 10 setting update options                     */
    OLE_SETUPDATEOPTIONS,   /* 10 setting update options                     */
    OLE_SERVERUNLAUNCH,     /* 11 server is being unlaunched                 */
    OLE_SERVERUNLAUNCH,     /* 11 server is being unlaunched                 */
    OLE_LOADFROMSTREAM,     /* 12 LoadFromStream(auto reconnect)             */
    OLE_LOADFROMSTREAM,     /* 12 LoadFromStream(auto reconnect)             */
    OLE_SETDATA,            /* 13 OleSetData                                 */
    OLE_SETDATA,            /* 13 OleSetData                                 */
    OLE_REQUESTDATA,        /* 14 OleRequestData                             */
    OLE_REQUESTDATA,        /* 14 OleRequestData                             */
    OLE_OTHER,              /* 15 other misc async operations                */
    OLE_OTHER,              /* 15 other misc async operations                */
    OLE_CREATE,             /* 16 create                                     */
    OLE_CREATE,             /* 16 create                                     */
    OLE_CREATEFROMTEMPLATE, /* 17 CreatefromTemplate                         */
    OLE_CREATEFROMTEMPLATE, /* 17 CreatefromTemplate                         */
    OLE_CREATELINKFROMFILE, /* 18 CreateLinkFromFile                         */
    OLE_CREATELINKFROMFILE, /* 18 CreateLinkFromFile                         */
    OLE_COPYFROMLNK,        /* 19 CopyFromLink(auto reconnect)               */
    OLE_COPYFROMLNK,        /* 19 CopyFromLink(auto reconnect)               */
    OLE_CREATEFROMFILE,     /* 20 CreateFromFile                             */
    OLE_CREATEFROMFILE,     /* 20 CreateFromFile                             */
    OLE_CREATEINVISIBLE     /* 21 CreateInvisible                            */
    OLE_CREATEINVISIBLE     /* 21 CreateInvisible                            */
} OLE_RELEASE_METHOD;
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\ole.h(188,0)
81 0.7284238 MSIRUNMODE Enum
typedef enum tagMSIRUNMODE
{
	MSIRUNMODE_ADMIN           =  0, // admin mode install, else product install
	MSIRUNMODE_ADVERTISE       =  1, // installing advertisements, else installing or updating product
	MSIRUNMODE_MAINTENANCE     =  2, // modifying an existing installation, else new installation
	MSIRUNMODE_ROLLBACKENABLED =  3, // rollback is enabled
	MSIRUNMODE_LOGENABLED      =  4, // log file active, enabled prior to install session
	MSIRUNMODE_OPERATIONS      =  5, // spooling execute operations, else in determination phase
	MSIRUNMODE_REBOOTATEND     =  6, // reboot needed after successful installation (settable)
	MSIRUNMODE_REBOOTNOW       =  7, // reboot needed to continue installation (settable)
	MSIRUNMODE_CABINET         =  8, // installing files from cabinets and files using Media table
	MSIRUNMODE_SOURCESHORTNAMES=  9, // source LongFileNames suppressed via PID_MSISOURCE summary property
	MSIRUNMODE_TARGETSHORTNAMES= 10, // target LongFileNames suppressed via SHORTFILENAMES property
	MSIRUNMODE_RESERVED11      = 11, // future use
	MSIRUNMODE_WINDOWS9X       = 12, // operating systems is Windows9?, else Windows NT
	MSIRUNMODE_ZAWENABLED      = 13, // operating system supports demand installation
	MSIRUNMODE_RESERVED14      = 14, // future use
	MSIRUNMODE_RESERVED15      = 15, // future use
	MSIRUNMODE_SCHEDULED       = 16, // custom action call from install script execution
	MSIRUNMODE_ROLLBACK        = 17, // custom action call from rollback execution script
	MSIRUNMODE_COMMIT          = 18, // custom action call from commit execution script
} MSIRUNMODE;
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\MsiQuery.h(123,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
82 0.7284238 __magnumdb__enum_msouser_h_8 Enum
enum
{
	msoimodUser,		// System User
	msoimodGdi,			// System GDI
	msoimodWinnls,		// System International utilities
	
	msoimodShell,		// System Shell
	msoimodCommctrl,	// System Common controls
	msoimodOleAuto,		// System OLE automation
	msoimodCommdlg,		// System common dialogs
	msoimodVersion,		// System version APIs
	msoimodWinmm,		// System multimedia
	msoimodMapi,		// Mail
	msoimodHlink,		// Hyperlink APIs
	msoimodUrlmon,		// Url moniker APIs
	msoimodJet,			// Jet database
	msoimodOleAcc,		// OLE Accessibility
	msoimodWinsock,		// Network Sockets
	msoimodMpr,			// Windows Network
	msoimodOdma,		// odma
	msoimodWininet,		// internet stuff
	msoimodRpcrt4,		// RPC
	msoimodDarwin,		// Darwin
	msoimodCrypt32,	// crypto dll - digital signing
	msoimodWintrust,	// wintrust.dll - digital signing
	msoimodCryptdlg,	// cryptdlg.dll - digital signing
	msoimodSigner,		// signer.dll - digital signing
	msoimodSoftpub,	// softpub.dll - digital signing
	msoimodAdvapi32,	// advapi32.dll - digital signing
	msoimodVbe,
	msoimodRichEdit,    // Richedit dll 
	msoimodMsoHev,		// Msohev.dll
	msoimodMssign32,	// mssign32.dll - digital signing
	msoimodOlepro32,    // olepro32.dll - OleCreateFontIndirect & OldCreatePictureIndirect
	msoimodCryptui,	// cryptui.dll - IE5 digital signing
	msoimodIE5Crypt32,	// IE5 crypto dll - digital signing
	msoimodWinspool,    // winspool.drv
	msoimodKernel32,    // kernel32.dll
	msoimodShlwapi,		// shlwapi.dll
	msoimodActiveds,        // activeds.dll - Active Directory dll
	msoimodWFF,         // ippwff.dll - IWebFolderForms dll
	msoimodNetapi32,        // netapi32.dll - Network API
	msoimodWtsapi32,	// WTS Api's
	msoimodMscat32,     // mscat32.dll - digital signing
	msoimodMax,
};
%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VSSDK\VisualStudioIntegration\Common\Inc\office10\msouser.h(1169,0)
83 0.5827391 SHELL_LINK_DATA_FLAGS Enum
typedef enum {
    SLDF_DEFAULT                                = 0x00000000,
    SLDF_HAS_ID_LIST                            = 0x00000001,   // Shell link saved with ID list
    SLDF_HAS_LINK_INFO                          = 0x00000002,   // Shell link saved with LinkInfo
    SLDF_HAS_NAME                               = 0x00000004,
    SLDF_HAS_RELPATH                            = 0x00000008,
    SLDF_HAS_WORKINGDIR                         = 0x00000010,
    SLDF_HAS_ARGS                               = 0x00000020,
    SLDF_HAS_ICONLOCATION                       = 0x00000040,
    SLDF_UNICODE                                = 0x00000080,   // the strings are unicode
    SLDF_FORCE_NO_LINKINFO                      = 0x00000100,   // disable LINKINFO tracking information (used to track network drives and compute UNC paths if one exists)
    SLDF_HAS_EXP_SZ                             = 0x00000200,   // the link contains expandable env strings
    SLDF_RUN_IN_SEPARATE                        = 0x00000400,   // Run the 16-bit target exe in a separate VDM/WOW
    SLDF_HAS_LOGO3ID                            = 0x00000800,   // not used anymore
    SLDF_HAS_DARWINID                           = 0x00001000,   // MSI (Darwin) link that can be installed on demand
    SLDF_RUNAS_USER                             = 0x00002000,   // Run target as a different user
    SLDF_HAS_EXP_ICON_SZ                        = 0x00004000,   // contains expandable env string for icon path
    SLDF_NO_PIDL_ALIAS                          = 0x00008000,   // disable IDList alias mapping when parsing the IDList from the path
    SLDF_FORCE_UNCNAME                          = 0x00010000,   // make GetPath() prefer the UNC name to the local name
    SLDF_RUN_WITH_SHIMLAYER                     = 0x00020000,   // activate target of this link with shim layer active
    SLDF_FORCE_NO_LINKTRACK                     = 0x00040000,   // disable ObjectID tracking information
    SLDF_ENABLE_TARGET_METADATA                 = 0x00080000,   // enable caching of target metadata into link
    SLDF_DISABLE_LINK_PATH_TRACKING             = 0x00100000,   // disable EXP_SZ_LINK_SIG tracking
    SLDF_DISABLE_KNOWNFOLDER_RELATIVE_TRACKING  = 0x00200000,   // disable KnownFolder tracking information (EXP_KNOWN_FOLDER)
    SLDF_NO_KF_ALIAS                            = 0x00400000,   // disable Known Folder alias mapping when loading the IDList during deserialization
    SLDF_ALLOW_LINK_TO_LINK                     = 0x00800000,   // allows this link to point to another shell link - must only be used when it is not possible to create cycles
    SLDF_UNALIAS_ON_SAVE                        = 0x01000000,   // unalias the IDList when saving
    SLDF_PREFER_ENVIRONMENT_PATH                = 0x02000000,   // the IDList is not persisted, instead it is recalculated from the path with environmental variables at load time
    SLDF_KEEP_LOCAL_IDLIST_FOR_UNC_TARGET       = 0x04000000,   // if target is a UNC location on a local machine, keep the local target in addition to the remote one
    SLDF_PERSIST_VOLUME_ID_RELATIVE             = 0x08000000,   // persist target idlist in its volume ID-relative form to avoid dependency on drive letters
    SLDF_VALID                                  = 0x0FFFF7FF,   // bits that are valid for ::SetFlags()
    SLDF_VALID                                  = 0x07FFF7FF,   // bits that are valid for ::SetFlags()
    SLDF_VALID                                  = 0x003FF7FF,   // bits that are valid for ::SetFlags()
    SLDF_RESERVED                               = (int) 0x80000000,   // Reserved-- so we can use the low word as an index value in the future
} SHELL_LINK_DATA_FLAGS;
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\shlobj_core.h(399,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  • If (NTDDI_VERSION < NTDDI_VISTA)
  • If (NTDDI_VERSION >= NTDDI_WINXP)
  • If (NTDDI_VERSION >= NTDDI_VISTA)
  • If (NTDDI_VERSION >= NTDDI_WIN7)
  • If (NTDDI_VERSION >= NTDDI_WIN8)
  • REVERSE(If (NTDDI_VERSION >= NTDDI_WIN8))
  • REVERSE(If (NTDDI_VERSION >= NTDDI_WIN7))
84 0.2913695 RESTRICTIONS Enum
typedef enum RESTRICTIONS
{
    REST_NONE                       = 0x00000000,
    REST_NORUN                      = 0x00000001,
    REST_NOCLOSE                    = 0x00000002,
    REST_NOSAVESET                  = 0x00000004,
    REST_NOFILEMENU                 = 0x00000008,
    REST_NOSETFOLDERS               = 0x00000010,
    REST_NOSETTASKBAR               = 0x00000020,
    REST_NODESKTOP                  = 0x00000040,
    REST_NOFIND                     = 0x00000080,
    REST_NODRIVES                   = 0x00000100,
    REST_NODRIVEAUTORUN             = 0x00000200,
    REST_NODRIVETYPEAUTORUN         = 0x00000400,
    REST_NONETHOOD                  = 0x00000800,
    REST_STARTBANNER                = 0x00001000,
    REST_RESTRICTRUN                = 0x00002000,
    REST_NOPRINTERTABS              = 0x00004000,
    REST_NOPRINTERDELETE            = 0x00008000,
    REST_NOPRINTERADD               = 0x00010000,
    REST_NOSTARTMENUSUBFOLDERS      = 0x00020000,
    REST_MYDOCSONNET                = 0x00040000,
    REST_NOEXITTODOS                = 0x00080000,
    REST_ENFORCESHELLEXTSECURITY    = 0x00100000,
    REST_LINKRESOLVEIGNORELINKINFO  = 0x00200000,
    REST_NOCOMMONGROUPS             = 0x00400000,
    REST_SEPARATEDESKTOPPROCESS     = 0x00800000,
    REST_NOWEB                      = 0x01000000,
    REST_NOTRAYCONTEXTMENU          = 0x02000000,
    REST_NOVIEWCONTEXTMENU          = 0x04000000,
    REST_NONETCONNECTDISCONNECT     = 0x08000000,
    REST_STARTMENULOGOFF            = 0x10000000,
    REST_NOSETTINGSASSIST           = 0x20000000,
    REST_NOINTERNETICON             = 0x40000001,
    REST_NORECENTDOCSHISTORY        = 0x40000002,
    REST_NORECENTDOCSMENU           = 0x40000003,
    REST_NOACTIVEDESKTOP            = 0x40000004,
    REST_NOACTIVEDESKTOPCHANGES     = 0x40000005,
    REST_NOFAVORITESMENU            = 0x40000006,
    REST_CLEARRECENTDOCSONEXIT      = 0x40000007,
    REST_CLASSICSHELL               = 0x40000008,
    REST_NOCUSTOMIZEWEBVIEW         = 0x40000009,
    REST_NOHTMLWALLPAPER            = 0x40000010,
    REST_NOCHANGINGWALLPAPER        = 0x40000011,
    REST_NODESKCOMP                 = 0x40000012,
    REST_NOADDDESKCOMP              = 0x40000013,
    REST_NODELDESKCOMP              = 0x40000014,
    REST_NOCLOSEDESKCOMP            = 0x40000015,
    REST_NOCLOSE_DRAGDROPBAND       = 0x40000016,   // Disable Close and Drag & Drop on ALL Bands
    REST_NOMOVINGBAND               = 0x40000017,   // Disable Moving ALL Bands
    REST_NOEDITDESKCOMP             = 0x40000018,
    REST_NORESOLVESEARCH            = 0x40000019,
    REST_NORESOLVETRACK             = 0x4000001A,
    REST_FORCECOPYACLWITHFILE       = 0x4000001B,
    REST_NOLOGO3CHANNELNOTIFY       = 0x4000001C,
    REST_NOFORGETSOFTWAREUPDATE     = 0x4000001D,
    REST_NOSETACTIVEDESKTOP         = 0x4000001E,   // No Active desktop on Settings Menu
    REST_NOUPDATEWINDOWS            = 0x4000001F,   // No Windows Update on Settings Menu
    REST_NOCHANGESTARMENU           = 0x40000020,   // No Context menu or Drag and Drop on Start menu
    REST_NOFOLDEROPTIONS            = 0x40000021,   // No Folder Options on Settings Menu
    REST_HASFINDCOMPUTERS           = 0x40000022,   // Show Start/Search/Computers
    REST_INTELLIMENUS               = 0x40000023,
    REST_RUNDLGMEMCHECKBOX          = 0x40000024,
    REST_ARP_ShowPostSetup          = 0x40000025,   // ARP: Show Post-Setup page
    REST_NOCSC                      = 0x40000026,   // Disable the ClientSide caching on SM
    REST_NOCONTROLPANEL             = 0x40000027,   // Remove the Control Panel only from SM|Settings
    REST_ENUMWORKGROUP              = 0x40000028,   // Enumerate workgroup in root of nethood
    REST_ARP_NOARP                  = 0x40000029,   // ARP: Don't Allow ARP to come up at all
    REST_ARP_NOREMOVEPAGE           = 0x4000002A,   // ARP: Don't allow Remove page
    REST_ARP_NOADDPAGE              = 0x4000002B,   // ARP: Don't allow Add page
    REST_ARP_NOWINSETUPPAGE         = 0x4000002C,   // ARP: Don't allow opt components page
    REST_GREYMSIADS                 = 0x4000002D,    // SM: Allow the greying of Darwin Ads in SM
    REST_NOCHANGEMAPPEDDRIVELABEL   = 0x4000002E,   // Don't enable the UI which allows users to rename mapped drive labels
    REST_NOCHANGEMAPPEDDRIVECOMMENT = 0x4000002F,   // Don't enable the UI which allows users to change mapped drive comments
    REST_MaxRecentDocs              = 0x40000030,
    REST_NONETWORKCONNECTIONS       = 0x40000031,   // No Start Menu | Settings |Network Connections
    REST_FORCESTARTMENULOGOFF       = 0x40000032,   // Force logoff on the Start Menu
    REST_NOWEBVIEW                  = 0x40000033,   // Disable Web View
    REST_NOCUSTOMIZETHISFOLDER      = 0x40000034,   // Disable Customize This Folder
    REST_NOENCRYPTION               = 0x40000035,   // Don't allow file encryption
    REST_DONTSHOWSUPERHIDDEN        = 0x40000037,   // don't show super hidden files
    REST_NOSHELLSEARCHBUTTON        = 0x40000038,
    REST_NOHARDWARETAB              = 0x40000039,   // No Hardware tab on Drives or in control panel
    REST_NORUNASINSTALLPROMPT       = 0x4000003A,   // Don't bring up "Run As" prompt for install programs
    REST_PROMPTRUNASINSTALLNETPATH  = 0x4000003B,   // Force the  "Run As" prompt for install programs on unc/network shares
    REST_NOMANAGEMYCOMPUTERVERB     = 0x4000003C,   // No Manage verb on My Computer
    REST_DISALLOWRUN                = 0x4000003E,   // don't allow certain apps to be run
    REST_NOWELCOMESCREEN            = 0x4000003F,   // don't allow the welcome screen to be displayed.
    REST_RESTRICTCPL                = 0x40000040,   // only allow certain cpls to be run
    REST_DISALLOWCPL                = 0x40000041,   // don't allow certain cpls to be run
    REST_NOSMBALLOONTIP             = 0x40000042,   // No Start Menu Balloon Tip
    REST_NOSMHELP                   = 0x40000043,   // No Help on the Start Menu
    REST_NOWINKEYS                  = 0x40000044,   // No Windows-X Hot keys
    REST_NOENCRYPTONMOVE            = 0x40000045,   // Don't automatically try to encrypt files that are moved to encryped directories
    REST_NOLOCALMACHINERUN          = 0x40000046,   // ignore HKLM\sw\ms\win\cv\Run and all of it's sub keys
    REST_NOCURRENTUSERRUN           = 0x40000047,   // ignore HKCU\sw\ms\win\cv\Run and all of it's sub keys
    REST_NOLOCALMACHINERUNONCE      = 0x40000048,   // ignore HKLM\sw\ms\win\cv\RunOnce and all of it's sub keys
    REST_NOCURRENTUSERRUNONCE       = 0x40000049,   // ignore HKCU\sw\ms\win\cv\RunOnce and all of it's sub keys
    REST_FORCEACTIVEDESKTOPON       = 0x4000004A,   // Force ActiveDesktop to be turned ON all the time.
    REST_NOVIEWONDRIVE              = 0x4000004C,   // disallows CreateViewObject() on specified drives (CFSFolder only)
    REST_NONETCRAWL                 = 0x4000004D,   // disables the crawling of the WNet namespace.
    REST_NOSHAREDDOCUMENTS          = 0x4000004E,   // don't auto share the Shared Documents/create link
    REST_NOSMMYDOCS                 = 0x4000004F,   // Don't show the My Documents item on the Start Menu.
    REST_NOSMMYPICS                 = 0x40000050,   // Don't show the My Pictures item on the Start Menu
    REST_ALLOWBITBUCKDRIVES         = 0x40000051,   // Bit mask indicating which which drives have bit bucket support
    REST_NONLEGACYSHELLMODE         = 0x40000052,   // new consumer shell modes
    REST_NOCONTROLPANELBARRICADE    = 0x40000053,   // The webview barricade in Control Panel
    REST_NOSTARTPAGE                = 0x40000054,   // Whistler Start Page on desktop.
    REST_NOAUTOTRAYNOTIFY           = 0x40000055,   // Whistler auto-tray notify feature
    REST_NOTASKGROUPING             = 0x40000056,   // Whistler taskbar button grouping feature
    REST_NOCDBURNING                = 0x40000057,   // whistler cd burning feature
    REST_MYCOMPNOPROP               = 0x40000058,   // disables Properties on My Computer's context menu
    REST_MYDOCSNOPROP               = 0x40000059,   // disables Properties on My Documents' context menu
    REST_NOSTARTPANEL               = 0x4000005A,   // Windows start panel (New start menu) for Whistler.
    REST_NODISPLAYAPPEARANCEPAGE    = 0x4000005B,   // disable Themes and Appearance tabs in the Display Control Panel.
    REST_NOTHEMESTAB                = 0x4000005C,   // disable the Themes tab in the Display Control Panel.
    REST_NOVISUALSTYLECHOICE        = 0x4000005D,   // disable the visual style drop down in the Appearance tab of the Display Control Panel.
    REST_NOSIZECHOICE               = 0x4000005E,   // disable the size drop down in the Appearance tab of the Display Control Panel.
    REST_NOCOLORCHOICE              = 0x4000005F,   // disable the color drop down in the Appearance tab of the Display Control Panel.
    REST_SETVISUALSTYLE             = 0x40000060,   // Load the specified file as the visual style.
    REST_STARTRUNNOHOMEPATH         = 0x40000061,   // dont use the %HOMEPATH% env var for the Start-Run dialog
    REST_NOUSERNAMEINSTARTPANEL     = 0x40000062,   // don't show the username is the startpanel.
    REST_NOMYCOMPUTERICON           = 0x40000063,   // don't show my computer anywhere, hide its contents
    REST_NOSMNETWORKPLACES          = 0x40000064,   // don't show network places in startpanel.
    REST_NOSMPINNEDLIST             = 0x40000065,   // don't show the pinned list in startpanel.
    REST_NOSMMYMUSIC                = 0x40000066,   // don't show MyMusic folder in startpanel
    REST_NOSMEJECTPC                = 0x40000067,   // don't show "Undoc PC" command in startmenu
    REST_NOSMMOREPROGRAMS           = 0x40000068,   // don't show "More Programs" button in StartPanel.
    REST_NOSMMFUPROGRAMS            = 0x40000069,   // don't show the MFU programs list in StartPanel.
    REST_NOTRAYITEMSDISPLAY         = 0x4000006A,   // disables the display of the system tray
    REST_NOTOOLBARSONTASKBAR        = 0x4000006B,   // disables toolbar display on the taskbar
    REST_NOSMCONFIGUREPROGRAMS      = 0x4000006F,   // No Configure Programs on Settings Menu
    REST_HIDECLOCK                  = 0x40000070,   // don't show the clock
    REST_NOLOWDISKSPACECHECKS       = 0x40000071,   // disable the low disk space checking
    REST_NOENTIRENETWORK            = 0x40000072,   // removes the "Entire Network" link (i.e. from "My Network Places")
    REST_NODESKTOPCLEANUP           = 0x40000073,   // disable the desktop cleanup wizard
    REST_BITBUCKNUKEONDELETE        = 0x40000074,   // disables recycling of files
    REST_BITBUCKCONFIRMDELETE       = 0x40000075,   // always show the delete confirmation dialog when deleting files
    REST_BITBUCKNOPROP              = 0x40000076,   // disables Properties on Recycle Bin's context menu
    REST_NODISPBACKGROUND           = 0x40000077,   // disables the Desktop tab in the Display CPL
    REST_NODISPSCREENSAVEPG         = 0x40000078,   // disables the Screen Saver tab in the Display CPL
    REST_NODISPSETTINGSPG           = 0x40000079,   // disables the Settings tab in the Display CPL
    REST_NODISPSCREENSAVEPREVIEW    = 0x4000007A,   // disables the screen saver on the Screen Saver tab in the Display CPL
    REST_NODISPLAYCPL               = 0x4000007B,   // disables the Display CPL
    REST_HIDERUNASVERB              = 0x4000007C,   // hides the "Run As..." context menu item
    REST_NOTHUMBNAILCACHE           = 0x4000007D,   // disables use of the thumbnail cache
    REST_NOSTRCMPLOGICAL            = 0x4000007E,   // dont use StrCmpLogical() instead use default CompareString()
    REST_NOPUBLISHWIZARD            = 0x4000007F,   // disables publishing wizard (WPW)
    REST_NOONLINEPRINTSWIZARD       = 0x40000080,   // disables online prints wizard (OPW)
    REST_NOWEBSERVICES              = 0x40000081,   // disables the web specified services for both OPW and WPW
    REST_ALLOWUNHASHEDWEBVIEW       = 0x40000082,   // allow the user to be promted to accept web view templates that don't already have an md5 hash in the registry
    REST_ALLOWLEGACYWEBVIEW         = 0x40000083,   // allow legacy webview template to be shown.
    REST_REVERTWEBVIEWSECURITY      = 0x40000084,   // disable added webview security measures (revert to w2k functionality).
    REST_INHERITCONSOLEHANDLES      = 0x40000086,   // ShellExec() will check for the current process and target process being console processes to inherit handles
    REST_SORTMAXITEMCOUNT           = 0x40000087,   // Do not sort views with more items than this key. Useful for viewing big amount of files in one folder.
    REST_NOREMOTERECURSIVEEVENTS    = 0x40000089,   // Dont register network change events recursively to avoid network traffic
    REST_NOREMOTECHANGENOTIFY       = 0x40000091,   // Do not notify for remote changy notifies
    REST_NOSIMPLENETIDLIST          = 0x40000092,   // No simple network IDLists
    REST_NOENUMENTIRENETWORK        = 0x40000093,   // Don't enumerate entire network if we happen to get to it (in conjunction with REST_NOENTIRENETWORK)
    REST_NODETAILSTHUMBNAILONNETWORK= 0x40000094,   // Disable Thumbnail for Network files in DUI Details pane
    REST_NOINTERNETOPENWITH         = 0x40000095,   // dont allow looking on the internet for file associations
    REST_DONTRETRYBADNETNAME        = 0x4000009B,   // In Network Places: if provider returns ERROR_BAD_NET_NAME, give up
    REST_ALLOWFILECLSIDJUNCTIONS    = 0x4000009C,   // re-enable legacy support for file.{guid} junctions in FileSystem Folder
    REST_NOUPNPINSTALL              = 0x4000009D,   // disable "install UPnP" task in My Net Places
    REST_ARP_DONTGROUPPATCHES       = 0x400000AC,   //List individual patches in Add/Remove Programs
    REST_ARP_NOCHOOSEPROGRAMSPAGE   = 0x400000AD,   //Choose programs page

    REST_NODISCONNECT               = 0x41000001,   // No Disconnect option in Start menu
    REST_NOSECURITY                 = 0x41000002,   // No Security option in start menu
    REST_NOFILEASSOCIATE            = 0x41000003,   // Do not allow user to change file association
    REST_ALLOWCOMMENTTOGGLE         = 0x41000004,   // Allow the user to toggle the positions of the Comment and the Computer Name
    REST_USEDESKTOPINICACHE         = 0x41000005,   // Cache desktop.ini entries from network folders
} RESTRICTIONS;
%ProgramFiles(x86)%\Windows Kits\10\Include\10.0.18362.0\um\shlobj_core.h(2479,0)
  • If WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
  • If (NTDDI_VERSION < NTDDI_VISTA)
  • If (NTDDI_VERSION >= NTDDI_WINXP) || defined(IE_BACKCOMPAT_VERSION)
  • If (NTDDI_VERSION >= NTDDI_WINXP)
  • If (NTDDI_VERSION >= NTDDI_WIN2KSP3)
  • If (NTDDI_VERSION >= NTDDI_WIN2KSP4)
  • If (NTDDI_VERSION >= NTDDI_WINXPSP1) || defined(IE_BACKCOMPAT_VERSION)
  • If (NTDDI_VERSION >= NTDDI_WINXPSP2 && NTDDI_VERSION < NTDDI_VISTA)
  • If (NTDDI_VERSION >= NTDDI_WINXPSP2)