Glossary M

machine code

The ultimate result of the compilation of assembly language or any high-level language, such as C++ sequences of bytes that are loaded and executed by a microprocessor. Machine code is the only language that computers "understand"; all other programming languages represent ways of structuring human language so that humans can get computers to perform specific tasks.

Macintosh binary resource file

A Macintosh resource file that has been created from a Windows resource script (.RC) and compiled using the Windows Portability Library version of the Windows Resource Compiler (RC.EXE). By default, .RSC is the filename extension for Macintosh binary resource files.

Macintosh Resource Compiler

A command-line tool, MRC.EXE, controlled by a .R resource script file, that compiles an application's Macintosh-specific resources.

macro

  1. In C and C++, a name defined by the #define directive that specifies replacement text for subsequent invocations of the macro in the translation unit.

  2. In applications, a set of keystrokes and instructions recorded and saved under a short key code or macro name. When the key code is typed or the macro name is used, the program carries out the instructions of the macro.

macro definition

  1. In a C/C++ source file, the #define preprocessor directive, followed by an identifier, followed by an expression or statement. During compilation, every occurrence of the identifier as a token (that is, not in a comment or a literal string) is replaced with the expression.

  2. In general, a name and a set of instructions that are recorded in a program so that the instructions can be substituted for the name.

macro expansion

In C/C++, the process of replacing a macro name (defined with a #define directive) in the source code with the body of the macro during compilation.

main application window

Or main window. In an SDI application, the window that serves as the primary interface between the user and the application.

main frame window

The primary window responsible for coordinating the frame with its view. In an SDI application, the document frame window is also the main frame window. In an MDI application, document windows are child windows displayed in the main frame window. The styles and other characteristics of frame windows are inherited from the main frame-window class.

main message loop

The main loop in an application that retrieves messages from a message queue and dispatches them to the appropriate window procedures. The main message loop takes over when there is no secondary loop to handle a particular message. Every application for Windows has a main message loop. See also message queue.

major version number

In a software version number, the number on the left of the decimal point. For example, the major version number of Windows NT version 3.51 is 3. See also minor version number.

makefile

A file that contains all commands, macro definitions, options, and so on to specify how to build the projects in a project workspace. A makefile has the filename extension .MAK and usually has the same base name as the workspace configuration (.MDP) file.

manifest constant

Or symbolic constant. In C/C++, an identifier defined in a #define preprocessor directive to represent a constant value. For example, #define PI 3.14 declares a manifest constant named PI. In C++, the keyword const can be used in place of the #define directive for declaring a constant.

mapfile

A text file that contains information about the program being linked, including the groups in the program and a list of public symbols. The linker names the mapfile with the base name of the program and the filename extension .MAP.

MAPI

A set of functions that is part of the Win32 API that applications use to create, manipulate, transfer, and store various kinds of communications, such as e-mail messages. It provides application development tools for defining message purpose and content, and allows flexible management of stored messages. MAPI also provides a common development interface for creating communication-enabled and communication-aware applications independent of the underlying messaging system.

marshaling

In OLE, the process of packaging and sending interface parameters across process boundaries. See also Remote Procedure Call (RPC).

mask

  1. A binary value used to selectively screen out or let through certain bits in a data value.

  2. (verb) An operation used to select certain bits from a data value, by using a logical operator to combine the mask and the data value. For example, the mask 0x3F, when used with the logical-AND &&) operator, removes (masks off) the two uppermost bits in an 8-bit data value but does not affect the rest of the value.

mask bitmap

A bitmap that selectively lets through or screens out values in another bitmap. This is accomplished by combining the two bitmaps in a bitwise logical operation.

maximized window

An application window enlarged to fill the entire desktop, a document window enlarged to fill the entire application workspace, or a client window enlarged to fill the client area of the client window. See also minimized window.

MBCS

A character set in which each character is represented as either a 1-byte or 2-byte value. The standard ASCII character set is a subset of the MBCS, which is used for languages that require a set of more than 256 characters. See also double-byte character set (DBCS), lead byte, trail byte, Unicode.

MDI

The standard user-interface architecture for Windows-based applications. A multiple document interface application enables the user to work with more than one document at the same time. Each document is displayed within the client area of the application's main window. See also child window, client area, single document interface (SDI).

member

In C/ C++, one of the elements of a structure, union, or (in C++) a class. In a class, both variables and functions are considered members of the class.

member function

In C++, a function declared inside a class definition. A class's member functions are used to get and set data members, display information to the user, and manipulate data according to the needs of the program. See also data member.

member variable

Any item of data that is associated with a particular object. Each instance of a class has its own copy of the instance variables defined in the class. Called instance variables in Java. See also static member variable.

member-access control

Part of the functionality of C++ that prevents data from being used in ways that the programmer did not intend. Member-access control is implemented by specifying class members as private, protected, or public.

memory allocation

Or allocation. A response by the operating system to a request from a program for memory. The two basic types of memory allocation are static allocation, in which memory is set aside when the program starts and remains allocated while the program is running, and dynamic allocation, in which memory is allocated and deallocated while the program is running.

memory block

A section of random-access memory temporarily assigned to a program by the operating system.

memory device context

A block of memory that represents a display surface. A memory device context can be used to prepare images in memory before copying them to the actual display surface of the compatible device.

memory leak

A loss of memory resources that occurs when memory is allocated on the heap and never deallocated to make it available for reuse.

memory model

The approach used to address the code and data used in a computer program. The memory model dictates how much memory can be used in a program for code and how much for data. Most computers with a flat address space support only a single memory model. Computers with a segmented address space usually support multiple memory models. For example, in the 16-bit Microsoft C small memory model, code, data, and data arrays can each be a maximum of 64K in total memory.

menu resource

A collection of information that defines the appearance and function of an application menu. This information includes the text strings that appear in an application's menu bar, menu-item identifiers, the arrangement of the menus and status of menu items.

menu-item identifier

Or menu-item ID. The command identifier chosen for a menu command during the creation of a menu item. Menu-item identifiers can be preassigned values (for example, assigned by the Microsoft Foundation Class Library) or values specified by the programmer. ID_EDIT_CLEAR_ALL is the preassigned menu-item ID for a Clear All command on the Edit menu.

message

A structure or set of parameters used for communicating information or a request. Messages can be passed between the operating system and an application, different applications, threads within an application, and windows within an application.

message box

A window that displays information to the user. For example, a message box can inform the user of a problem that the application has encountered while carrying out a task.

message cracker

A set of macros that extract useful information from the parameters of a message and hide the details of how information is packed.

message filter

A filter that an application uses to retrieve specific messages from the message queue (while ignoring other messages). The filter is a range of message identifiers (specified by a first and last identifier), a window handle, or both.

message handler

In Windows, an object, such as a view or frame window, that provides handler functions to process messages.

message handling

The act of responding to messages received from the operating system. Applications use message-handling functions to process messages.

message loop

A program loop that retrieves messages from a thread's message queue and dispatches them to the appropriate window procedures. See also message queue.

message map

A mechanism to route Windows messages and commands to the windows, documents, views, and other objects in an MFC application. Message maps map Windows messages, commands from menus, toolbar buttons, accelerators and control-notification messages. A collection of macros in a class's source (.CPP) file specify which functions will handle various messages for the class.

message packing

The use of functions to reduce storage requirements, required, for example, when using DDE under Win32s.

message pump

A program loop that retrieves messages from a thread's message queue, translates them, offers them to the dialog manager, informs the MDI manager about them, and dispatches them to the application. See also message queue.

message queue

A repository for window messages awaiting processing by a thread. The system message queue holds mouse and keyboard input waiting to be passed to a thread's message queue. A thread's message queue holds messages waiting to be retrieved by a thread's message loop.

message reflection

In MFC, a feature that allows notification messages to be handled in either a child control window or the parent window, or in both.

message-driven

Or event-driven. A programming model in which the state of the running program changes in response to user actions and other events. These events cause the operating system to send messages to the part of the application that can handle the event.

message-handler function

In Windows, a function that responds to a message using parameters that have been translated from wParam and lParam and passed to the function. A message-handler function might track mouse activity or call member functions of the document to update its data.

message-map entry

An individual item in a message-map table that specifies the handler for a particular message. The framework searches the table for each incoming message and calls the handler for it automatically. See also message map.

message-map macro

One of the macros supplied by the Microsoft Foundation Class Library and used in a message map to specify which messages will be handled by which functions. Message-map macros are available to map Windows messages, command messages, and ranges of messages.

Messaging Application Programming Interface

A set of functions that is part of the Win32 API that applications use to create, manipulate, transfer, and store various kinds of communications, such as e-mail messages. It provides application development tools for defining message purpose and content, and allows flexible management of stored messages. MAPI also provides a common development interface for creating communication-enabled and communication-aware applications independent of the underlying messaging system.

metafile

A collection of structures that stores a picture in a device-independent format. A metafile defines an image as coded lines and shapes. Win32 uses enhanced-format metafiles, which have a .EMF filename extension. Windows metafiles, which have a .WMF filename extension, are used in Windows 3.x.

method

In object-oriented programming, a procedure that provides access to an object's data. In C++, public member functions are the equivalent of methods.

metric

  1. A dimension (width or height) of a display element, such as a cursor.

  2. One of the attributes of a font as described in a font specification. For example, the character placement and line-spacing metrics enable an application to compute device-independent line breaks that are portable across screens, printers, typesetters, and even platforms.

MFC

A set of C++ classes that encapsulate much of the functionality of applications written for the Microsoft Windows operating systems.

Microsoft Foundation Class Library

A set of C++ classes that encapsulate much of the functionality of applications written for the Microsoft Windows operating systems.

Microsoft Interface Definition Language

Microsoft’s implementation and extension of the OSF-DCE Interface Definition Language.

Microsoft Internet Information Server

A Web server integrated into Windows NT Server which provides FTP, HTTP, and Gopher services.

MIDL

Microsoft’s implementation and extension of the OSF-DCE Interface Definition Language.

MIIS

A Web server integrated into Windows NT Server which provides FTP, HTTP, and Gopher services.

MIME

A standard that allows binary data to be published and read on the Internet. The header of a file with binary data contains the MIME type of the data; this informs client programs (Web browsers and mail packages, for instance) that they will need to handle the data some way other than they handle straight text. For example, the header of a Web document containing a JPEG graphic contains the MIME type specific to the JPEG file format. This allows a browser to display the file with its JPEG viewer, if one is present.

mini-server application

A type of server that can only be launched from a container and that only supports embedding, not linking. Objects created by mini-servers are always stored within compound documents, never as individual files. Microsoft Draw is an example of a mini-server. See also full-server application.

minimal rebuild

A feature that permits the build engine to analyze dependencies within your project and to skip compilation of files that it detects are unaffected by a change, even if those files include changed headers.

minimized window

A window that has been shrunk to an icon. See also maximized window.

minor version number

In a software version number, the number on the right of the decimal point. For example, the minor version number of Microsoft Windows NT version 3.51 is 51. See also major version number.

mnemonics

In a graphical user interface, underlined letters in the text of menu and dialog-box items. When the menu and dialog-box items are active, the user can select the item by pressing the key that corresponds to the underlined letter. See also access key.

modal

A restrictive or limiting interaction created by a given condition of operation.  Modal often describes a secondary window that restricts a user's interaction with other windows. A secondary window can be modal with respect to its primary window or to the entire system. A modal dialog box must be closed by the user before the application continues. See also modeless, system modal dialog box.

modal loop

A message-processing loop during which the system retrieves and dispatches messages without allowing an application the opportunity to filter the messages in its main message loop.

modeless

Not restrictive or limiting interaction. "Modeless" often describes a secondary window that does not restrict a user's interaction with other windows. A modeless dialog box stays on the screen and is available for use at any time but also permits other user activities. See also modal.

modifier

  1. In C and C++, a reserved word in a declaration that qualifies the identifier. The storage-class specifier extern and the calling-convention keyword __declspec(thread) are examples of modifiers.

  2. Generally, anything that limits or restricts meaning, as in a modifier flag.

modifier key

A keyboard key that changes the action of normal input when it is pressed. For example, CTRL, ALT, and SHIFT are modifier keys.

module-definition file

A text file that contains one or more statements describing various attributes of an executable module. Module-definition files usually have a .DEF filename extension. See also dynamic-link library file.

moniker

An object that supports the IMoniker interface, which includes the IPersistStream interface; thus, monikers can be saved to and loaded from streams. Monikers can be saved to persistent storage, and they support binding.

Mosaic

A World Wide Web browser written by NCSA.

most recently used

A file list, control of which is supported by the CRecentFileList class in MFC. Files can be added to or deleted from the MRU file list. The file list can be read from or written to the registry or an .INI file, and the menu displaying the MRU file list is updatable.

mount

To make a volume (a physical disk) accessible to a computer's file system. The volume could be a local drive or one accessed through a network connection. The term usually describes accessing disks in Apple Macintosh and UNIX-based computers.

mouse capture

The act of channeling mouse input to a specific window without regard to the position of the mouse-cursor hot spot.

mouse event

An input event that occurs whenever the user moves the mouse, or presses or releases a mouse button. Windows converts mouse input events into messages and posts them to the appropriate thread's message queue. See also mouse message.

mouse message

A message sent to a window when a mouse event occurs while the cursor is within the borders of the window, or when the window has captured the mouse. Mouse messages are divided into two groups: client-area messages and nonclient-area messages. See also mouse capture.

Moving Picture Experts Group

Compression algorithms for both video and sound. There are multiple standard levels for MPEG (MPEG1, MPEG2, and so on). Movies saved in the MPEG format are highly compressed and consume much less disk space than would normally be required.

MP

The Internet Engineering Task Force (IETF) standard for aggregating multiple ISDN B channels using synchronous PPP framing.

MPEG

Compression algorithms for both video and sound. There are multiple standard levels for MPEG (MPEG1, MPEG2, and so on). Movies saved in the MPEG format are highly compressed and consume much less disk space than would normally be required.

MRC

A command-line tool, MRC.EXE, controlled by a .R resource script file, that compiles an application's Macintosh-specific resources.

MRU

A file list, control of which is supported by the CRecentFileList class in MFC. Files can be added to or deleted from the MRU file list. The file list can be read from or written to the registry or an .INI file, and the menu displaying the MRU file list is updatable.

multibyte character set

A character set in which each character is represented as either a 1-byte or 2-byte value. The standard ASCII character set is a subset of the MBCS, which is used for languages that require a set of more than 256 characters. See also double-byte character set (DBCS), lead byte, trail byte, Unicode.

multiline edit control

A text box that displays more than one line of text. In a multiline edit control, data that is too long to fit on one line can either wrap to the next line or extend beyond the right boundary of the box.ox. See also single-line edit control.

Multilink PPP

The Internet Engineering Task Force (IETF) standard for aggregating multiple ISDN B channels using synchronous PPP framing.

multiple document interface

The standard user-interface architecture for Windows-based applications. A multiple document interface application enables the user to work with more than one document at the same time. Each document is displayed within the client area of the application's main window. See also child window, client area, single document interface (SDI).

multiple document types

More than one kind of document — for example, a text document and a graphics document. In an application (such as Microsoft Excel) that supports multiple document types, each document type puts its own menus into the menu bar and changes the main frame window's caption.

multiple-selection list box

A list box in which more than one item can be selected at the same time.

Multipurpose Internet Mail Extensions

A standard that allows binary data to be published and read on the Internet. The header of a file with binary data contains the MIME type of the data; this informs client programs (Web browsers and mail packages, for instance) that they will need to handle the data some way other than they handle straight text. For example, the header of a Web document containing a JPEG graphic contains the MIME type specific to the JPEG file format. This allows a browser to display the file with its JPEG viewer, if one is present.

multithreaded application

An application capable of carrying out multiple, independent paths of execution (or threads) at the same time. For example, an application may have additional threads to handle background or maintenance tasks so that the user doesn't have to wait for a task to complete before continuing to work with the application. See also user-interface thread, worker thread, apartment-model threading, free threading model, single threading model.

mutex object

In interprocess communication, a synchronization object whose state is signaled when it is not owned by a thread and nonsignaled when it is owned. Only one thread at a time can own a mutex.