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