windows-devel.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Mon, 09 Dec 2013 21:35:20 +0200
changeset 1527 2e7183c46848
parent 1526 1e5c611f8ab3
child 1528 80dc24a59e2f
permissions -rw-r--r--
Fix header level.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1526
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
.. -*- coding: utf-8; -*-
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
.. include:: HEADER.rst
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
============================
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
 Development under Windows.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
============================
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
.. contents::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
Dependency Walker.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
==================
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
all dependent modules. For each module found, it lists all the functions that
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
are exported by that module, and which of those functions are actually being
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
called by other modules. Another view displays the minimum set of required
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
files, along with detailed information about each file including a full path
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
to the file, base address, version numbers, machine type, debug information,
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
and more.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
See:
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
 * http://www.dependencywalker.com/
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
Windows 2000 Resource Kit Tools.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
================================
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
  http://support.microsoft.com/kb/927229
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
                Windows 2000 Resource Kit Tools for administrative tasks
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
Sysinternals.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
=============
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
TODO
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
Application verifier.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
=====================
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
  http://www.microsoft.com/downloads/en/details.aspx?familyid=c4a25ab9-649d-4a1b-b4a7-c9d8b095df18
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
                download page
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
  http://msdn.microsoft.com/en-us/library/ms220948.aspx
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
                Application Verifier
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
Debugging with windbg.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
======================
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
  http://www.microsoft.com/whdc/devtools/debugging/default.mspx
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    48
                Download and Install Debugging Tools for Windows
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    49
  http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
                Debugging Tools for Windows 32-bit Version
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
                download page
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    52
  http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspx
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    53
                Debugging Tools for Windows 64-bit Version
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    54
                download page
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    56
Break on dll load/unload.
1527
2e7183c46848 Fix header level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1526
diff changeset
    57
-------------------------
1526
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    58
::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    59
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    60
  sxe ld <module>
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    61
  sxe ud <module>
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    62
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    63
Set breakpoint by pattern and/or on specific module.
1527
2e7183c46848 Fix header level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1526
diff changeset
    64
----------------------------------------------------
1526
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    65
::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    66
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
  bm <module>!<name>    # set breakpoints on 'module' with name 'name'
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
  bm *!<prefix>*        # set breakpoints on all names with prefix 'prefix'
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
  bm <module>!*         # set breakpoints on all names in module 'module'
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
``bp``, ``bm`` commands sets software breakpoints, debugger replaces the processor
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
instruction with a break instruction.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
Clear breakpoints.
1527
2e7183c46848 Fix header level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1526
diff changeset
    75
------------------
1526
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
  bc *
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
How to set WinDbg as a Default Windows Postmortem Debugger.
1527
2e7183c46848 Fix header level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1526
diff changeset
    81
-----------------------------------------------------------
1526
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    84
  cmd> WinDbg -I
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
How analyse crash.
1527
2e7183c46848 Fix header level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1526
diff changeset
    87
------------------
1526
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    89
When program crash and use enter in WinDbg execute::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    90
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    91
  !analyze -v
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    92
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    93
Adding symbols from Symbol Server.
1527
2e7183c46848 Fix header level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1526
diff changeset
    94
----------------------------------
1526
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    95
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    96
Execute in WinDbg::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    97
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    98
  .sympath SRV*D:\srv\symcache*http://msdl.microsoft.com/download/symbols
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    99
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   100
or Ctrl+S and add::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   101
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   102
  SRV*D:\srv\symcache*http://msdl.microsoft.com/download/symbols
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   103
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   104
See:
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   105
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   106
  http://support.microsoft.com/kb/311503
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   107
                Use the Microsoft Symbol Server to obtain debug symbol files
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   108
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   109
Using the SymChk.exe utility to download symbols.
1527
2e7183c46848 Fix header level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1526
diff changeset
   110
-------------------------------------------------
1526
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   111
::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   112
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   113
  symchk /r c:\windows\system32 /s SRV*c:\symbols\*http://msdl.microsoft.com/download/symbols
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   114
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   115
Debugging child process.
1527
2e7183c46848 Fix header level.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents: 1526
diff changeset
   116
------------------------
1526
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   117
::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   118
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   119
  .childdbg 1
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   120
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   121
Running at startup.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   122
===================
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   123
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   124
  HKCU\Software\Microsoft\Windows\CurrentVersion\Run
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   125
                Launches a program automatically when a particular user logs
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   126
                in. This key is used when you always want to launch a program
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   127
                when a particular user is using a system.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   128
  HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   129
                Launches a program the next time the user logs in and removes
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   130
                its value entry from the registry. This key is typically used
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   131
                by installation programs.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   132
  HKLM\Software\Microsoft\Windows\CurrentVersion\Run
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   133
                Launches a program automatically at system startup. This key
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   134
                is used when you always want to launch a program on a
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   135
                particular system.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   136
  HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   137
                Launches a program the next time the system starts and removes
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   138
                its value entry from the registry. This key is typically used
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   139
                by installation programs.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   140
  HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   141
                Launches a service (a standard NT service or a background
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   142
                process) automatically at startup. An example of a service is
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   143
                a Web server such as Microsoft Internet Information Server.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   144
  HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   145
                Launches a service (a standard NT service or a background
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   146
                process) the next time the system is started, then removes its
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   147
                value entry from the registry.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   148
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   149
Values to registry on Windows XP can be added by::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   150
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   151
  cmd> reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v run.bat /t REG_SZ /d "path\to\run.bat"
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   152
  cmd> reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run   <-- see what done
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   153
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   154
Cabinet file (.cab).
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   155
====================
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   156
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   157
Extract content from .cab file::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   158
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   159
  cmd# expand my.cab
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   160
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   161
See:
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   162
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   163
  http://support.microsoft.com/kb/198038
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   164
                INFO: Useful Tools for Package and Deployment Issues
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   165
  http://msdn.microsoft.com/en-us/library/aa367841%28VS.85%29.aspx
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   166
                The Makecab.exe utility is included in the Windows SDK
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   167
                Components for Windows Installer Developers.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   168
  http://web.archive.org/web/20070403215326/http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/cabsdk.exe
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   169
                download link from web archive
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   170
  http://msdn.microsoft.com/en-us/library/aa370834%28v=VS.85%29.aspx
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   171
                The components of the Windows Installer Software Development
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   172
                Kit are included in the Microsoft Windows Software Development
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   173
                Kit (SDK).
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   174
  http://msdn.microsoft.com/en-us/library/bb417343.aspx
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   175
                Microsoft Cabinet Format
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   176
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   177
Internet Explorer.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   178
==================
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   179
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   180
Debugging IE.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   181
-------------
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   182
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   183
Install IE 8.0 and press 'F12' key.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   184
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   185
  http://msdn.microsoft.com/library/dd565626.aspx
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   186
                Developer Tools User Interface Reference
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   187
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   188
Microsoft technologies.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   189
=======================
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   190
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   191
COM.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   192
----
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   193
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   194
The family of COM technologies includes COM+, Distributed COM (DCOM) and
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   195
ActiveX® Controls.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   196
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   197
  http://www.microsoft.com/com/default.mspx
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   198
                home page
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   199
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   200
OLE.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   201
----
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   202
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   203
OLE (Object Linking and Embedding) allows embedding and linking to documents and
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   204
other objects.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   205
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   206
OLE 1.0 released in 1990, OLE 2.0 released in 1993, in 1994 OLE custom controls
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   207
(OCXs) were introduced.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   208
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   209
OLE objects and containers are implemented on top of the Component Object Model.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   210
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   211
Next release after 2.0 introdused in 1996 and named as ActiveX.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   212
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   213
 * http://en.wikipedia.org/wiki/Object_Linking_and_Embedding
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   214
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   215
ActiveX.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   216
--------
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   217
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   218
Faced with the complexity of OLE 2.0 and with poor support for COM in MFC,
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   219
Microsoft rationalized the specifications to make them simpler, and rebranded
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   220
the technology as ActiveX in 1996.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   221
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   222
  http://msdn.microsoft.com/en-us/library/aa751968.aspx
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   223
                ActiveX Controls.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   224
  http://en.wikipedia.org/wiki/ActiveX
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   225
                Wikipedia article.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   226
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   227
ATL.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   228
----
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   229
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   230
The Active Template Library (ATL) is a set of template-based C++ classes
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   231
developed by Microsoft, intended to simplify the programming of Component Object
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   232
Model (COM) objects.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   233
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   234
  http://en.wikipedia.org/wiki/Active_Template_Library
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   235
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   236
MFC.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   237
----
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   238
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   239
MFC (Microsoft Foundation Classes) is a library that wraps portions of the
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   240
Windows API in C++ classes, including functionality that enables them to use a
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   241
default application framework. Classes are defined for many of the
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   242
handle-managed Windows objects and also for predefined windows and common
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   243
controls.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   244
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   245
A lightweight alternative to MFC is the Windows Template Library (WTL).
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   246
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   247
 * http://en.wikipedia.org/wiki/Microsoft_Foundation_Class_Library
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   248
 * http://ru.wikipedia.org/wiki/Microsoft_Foundation_Classes
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   249
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   250
Can I link to MFC statically.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   251
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   252
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   253
Yes, see:
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   254
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   255
 * http://msdn.microsoft.com/en-us/library/f22wcbea%28VS.80%29.aspx
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   256
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   257
Microsoft Visual C++ Redistributable Package.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   258
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   259
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   260
  http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=32bc1bee-a3f9-4c13-9c99-220b62a191ee&displayLang=en
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   261
                This package installs runtime components of C Runtime (CRT),
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   262
                Standard C++, ATL, MFC, OpenMP and MSDIA libraries.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   263
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   264
WTL.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   265
====
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   266
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   267
WTL (Windows Template Library) is a free software, object-oriented C++ template
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   268
library for Win32 development.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   269
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   270
WTL provides support for implementing various user interface elements, to MDI,
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   271
standard and common controls, common dialogs, property sheets and pages, GDI
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   272
objects, and other common UI elements, such as scrollable windows, splitter
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   273
windows, toolbars and command bars.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   274
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   275
Most of the WTL API is a mirror of the standard Win32 calls.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   276
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   277
 * http://sourceforge.net/projects/wtl
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   278
 * http://en.wikipedia.org/wiki/Windows_Template_Library
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   279
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   280
Windows style variable names.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   281
=============================
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   282
::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   283
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   284
  Prefix   |  Data type
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   285
  ---------+-----------------------------------------
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   286
  b        |  boolean
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   287
  by       |  byte or unsigned char
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   288
  c        |  char
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   289
  cx / cy  |  short used as size
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   290
  dw       |  DWORD, double word or unsigned long
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   291
  fn       |  function
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   292
  h        |  handle
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   293
  i        |  int (integer)
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   294
  l        |  Long
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   295
  n        |  short int
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   296
  p        |  a pointer variable containing the address of a variable
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   297
  s        |  string
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   298
  sz       |  ASCIIZ null-terminated string
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   299
  w        |  WORD unsigned int
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   300
  x, y     |  short used as coordinates
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   301
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   302
::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   303
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   304
  PrefixCategory  | Mean
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   305
  ----------------+----------------
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   306
  CS              | Class style
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   307
  CW              | Create window
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   308
  DT              | Draw text
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   309
  IDC             | Cursor ID
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   310
  IDI             | Icon ID
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   311
  WM              | Window message
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   312
  WS              | Window style
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   313
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   314
::
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   315
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   316
  Data type | Meaning
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   317
  ----------+-------------------------------------------------------------------
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   318
  FAR       | Same as far. Identifies an address that originally used the
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   319
            | segment:offset addressing schema. Now FAR simply identifies a
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   320
            | (default) 32-bit address but may be omitted entirely in many cases.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   321
            |
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   322
  PASCAL    | Same as Pascal. The Pascal convention demanded by Windows
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   323
            | defines the order in which arguments are found in the stack when
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   324
            | passed as calling parameters.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   325
            |
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   326
  WORD	    | Unsigned integer (16 bits)
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   327
            |
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   328
  UINT      | Unsigned integer, same as WORD
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   329
            |
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   330
  DWORD     | Double word, unsigned long int (32 bits)
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   331
            |
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   332
  LONG      | Signed long integer (32 bits)
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   333
            |
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   334
  LPSTR     | Long (far) pointer to character string
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   335
            |
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   336
  NEAR      | Obsolete, previously identified an address value within a 16KB
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   337
            | memory block.
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   338
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   339
See:
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   340
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   341
  http://www.tenouk.com/cnotation.html
1e5c611f8ab3 Join sections.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
   342
                C/C++ NOTATION STORY