Acknowledgments

Many of the definitions included in this glossary are published in the Microsoft Press Computer Dictionary, Copyright 1994 and are reprinted with the permission of the publisher, Microsoft Press.

The Microsoft Press Computer Dictionary is available for purchase by calling 1-800-MSPRESS. Microsoft Press books are available through booksellers and distributors worldwide. For further information about international editions, contact your local Microsoft Corporation office. Or contact Microsoft Press International directly at fax (425) 936-7329.

Nonalphabetic Terms |
Glossary A | Glossary N
Glossary B | Glossary O
Glossary C | Glossary P
Glossary D | Glossary Q
Glossary E | Glossary R
Glossary F | Glossary S
Glossary G | Glossary T
Glossary H | Glossary U
Glossary I | Glossary V
Glossary J | Glossary W
Glossary K | Glossary X
Glossary L | Glossary Y
Glossary M | Glossary Z


Glossary - Nonalphabetic Terms

& (ampersand)

  1. Bitwise-AND operator. Two ampersands (&&) denote the logical-AND operator.

  2. In C++, the reference operator, as in void AddIt(int&x). This indicates that the address of x is used directly, and changes in value affect the original variable. Java does not allow reference operators. See also parameter passing.

  3. In C/C++, the address-of operator, as in pPtr = &nArray[2]. Java does not allow address-of operators.

  4. Indicates special characters in HTML code.

.APS

A binary version of the current resource file that is created by the Microsoft Visual C++ and used for quick loading of resources. Microsoft Visual C++ gives this file an .APS filename extension.

.BAT

An unformatted text file that contains one or more commands, either internal operating-system commands or program names. A batch file is executable and can be run from the command line.

.BMP

A file that contains a collection of structures that specify or contain the following elements:

  • A header that describes the resolution of the device on which the rectangle of pixels was created, the dimensions of the rectangle, the size of the array of bits, and so on.

  • A logical palette.

  • An array of bits that defines the relationship between pixels in the bitmapped image and entries in the logical palette.

Bitmap files usually have a .BMP filename extension. See also bitmap, device-independent bitmap file.

.BSC

A file created from source browser information (.SBR) files, using the Microsoft Browse Information File Maintenance Utility (BSCMAKE). Browse information files can be examined in browse windows and usually have a .BSC extension.

.bss

A predefined data section of an executable file that contains uninitialized data, including all variables declared as static within a function or source module. The linker combines all the .bss sections in the object (.OBJ) and library (.LIB) files into one .bss section in the executable file.

.C

A text file containing C language code.

.CLW

A file that ClassWizard generates, containing information needed to edit existing classes or add new classes to a project. ClassWizard also uses the ClassWizard file to store information needed to create and edit message maps and dialog data maps, and to create prototype member functions. ClassWizard files have a .CLW filename extension.

.COM

An executable binary (program) file whose code is limited to a single 64-kilobyte segment. Compact executable files usually have a .COM filename extension and are often used for utility programs and short routines. See also executable file.

.CPP

Or .CXX file. A text file containing C++ source code.

.CUR

A file that contains an image that defines the shape of a cursor on the screen. Cursor resource files usually have a .CUR filename extension.

.DEF

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.

.DIB

A file containing an array of bits combined with several structures that specify the width and height of the bitmapped image (in pixels), the color format of the device where the image was created, and the resolution of the device used to create that image. The DIB file format ensures that bitmap graphics created in one application can be loaded and displayed in another application exactly the way they appear in the originating application. See also bitmap, bitmap file.

.DLG

A file that contains dialog-box source code. Note that a dialog file is not required for a Visual C++ project because Visual C++ keeps this code in the resource-definition file.

.DLL

A file that contains one or more functions that are compiled, linked, and stored separately from the processes that use them. In Win32, the operating system maps the dynamic-link libraries (DLLs) into the address space of a process when the process is starting up or while it is running. The process then executes functions in the DLL. Dynamic-link library files usually have a .DLL filename extension.

.DSP

Formerly known as the .MAK file. The project build file that specifies how to build a particular project in a project workspace. The file contains source file names and locations, build settings, and debug settings, including breakpoints and watches. In terms of source control, .DSP files can be shared.

.DSW

A file created and maintained by Visual C++ that contains information formerly stored as part of the .MDP file. The file contains information about the project workspace such as a list of all the projects. This file is used by Visual C++ and should not be edited by the user. In terms of source control, the .DSW file can be shared.

.EXE

A program file created from one or more source code files translated into machine code and linked together. The MS-DOS, Windows, and Windows NT operating systems use the .EXE filename extension to indicate that the file is a runnable program.

.EXP

A file that contains information about exported functions and data items. The Microsoft 32-Bit Library Manager tool (LIB.EXE) generates the exports file from the module-definition (.DEF) file. The linker uses the exports file to build the dynamic-link library (.DLL) file. Exports files have a .EXP filename extension.

.H

An external source file, identified at the beginning of a program, that contains commonly used data types and variables used by functions in the program. The #include directive is used to tell the compiler to insert the contents of a header file into the program. See also C++ header file.

.HLP

A file that contains text and graphics needed to communicate online information about an application. Each help file contains one or more topics a user can select by clicking hot spots, using the keyword search, or browsing through topics. Help files have a .HLP filename extension. See also Help topic.

.HM

A file that defines Help context IDs corresponding to the IDs of dialog boxes, menu commands, and other resources in an application. A custom build rule on a project’s RESOURCE.H file in AppWizard projects calls the MAKEHM tool to generate the .HM file based on any change in the contents of the RESOURCE.H file (the MAKEHELP.BAT file performed this function in prior versions of Visual C++). The Help map file has a .HM filename extension. See also Help project file.

.HPJ

A project file that controls how the Windows Help Compiler creates a Help (.HLP) file from topic files. The Microsoft Help Workshop is used to create a Help project file. The filename extension of a Help project file is .HPJ.

.HPP

Or .HXX file. An external source file, identified at the beginning of a C++ program, that contains commonly used data types and variables used by functions in a program. The #include directive is used to tell the compiler to insert the contents of a header file into the program.

.ICO

In Windows, a file that contains a bitmap of an icon. Icon files usually have a .ICO filename extension.

.ILK

A state file generated to hold status information for later incremental links of the program. The file has the same base name as the executable file or dynamic-link library and the filename extension .ILK. The incremental status file is created the first time the Incremental Linker (LINK.EXE) runs in incremental mode. LINK updates the file during subsequent incremental builds. LINK is the only tool that uses the .ILK file. See also incremental link.

.INI

In Windows, a file that an application uses to store information that otherwise would be lost when the application closes. Initialization files typically contain information such as user preferences for the configuration of the application. Initialization files usually have a .INI filename extension.

.LIB

A Common Object File Format (COFF) file generated by the Microsoft 32-bit library manager tool, LIB, for standard and import libraries. The default filename extension for these files is .LIB. See also dynamic-link library file, static-link library.

.MAK

(VC++ version 4 and earlier) A file that contains all commands, macro definitions, options, and so on to specify how to build the projects in a project workspace. The makefile can be used to build using an application other than Visual C++. A makefile has the filename extension .MAK and usually has the same base name as the workspace configuration (.MDP) file. Visual C++ 6.0 converts .MAK files to .DSP files.

.MAP

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.

.OBJ

A file containing object code and/or data generated by a compiler or an assembler from the source code of a program. Object files generated by the Visual C++ compiler have a .OBJ filename extension. See also Common Object File Format (COFF).

.ODL

In OLE Automation, text files containing a description of an application's interface. Object description language scripts are compiled into type libraries using the MkTypLib tool included with the OLE Software Development Kit.

.OGX

A C++ Component Gallery component that has been exported to a file so it can be shared. The resulting file contains classes and resources for the component.

.OLB

A dynamic-link library with a type library resource. An object library file typically has a .OLB filename extension.

.OPT

The workspace options file, which stores information about the physical layout and characterisitics you’ve determined for Visual C++, such as window layout. In terms of source control, the .OPT file is not shareable.

.PBI

In a profiling operation, a file that provides condensed information to the Visual C++ profiler (PROFILE). The PREP program generates a profiler batch input file the first time the profiler is run on a program. The default filename extension for profiler batch input files is .PBI. See also profiler batch output file, profiler batch text file.

.PBO

An intermediate file generated by the Visual C++ profiler (PROFILE) and used to transfer information between profiling steps. See also profiler, profiler batch input file, profiler batch text file.

.PBT

In a profiling operation, the file generated by the PREP program and used as input to the PLIST program to generate a human-readable profile of the source code. See also profiler, profiler batch input file, profiler batch output file.

.PCH

A file containing compiled code for a portion of a project. Subsequent builds combine this file with the uncompiled code, thus shortening the overall compile time. The default filename extension for a precompiled header file is .PCH.

.PDB

A file used by the build tools to store information about a user's program. The program database file speeds linking during the debugging phase of development by keeping the debugging information separate from the object files.

.RC

Or resource script file. A text file containing descriptions of resources from which the resource compiler creates a binary resource file. For Microsoft Windows applications, resource-definition files usually have a .RC filename extension. For Apple Macintosh applications, such files are typically named with a .R extension and written with the Apple Rez script language. See also compiled resource file.

.REG

In OLE applications, a text file description of the classes supported by a server application. When a server application is installed in a system, the contents of its registration entry file are merged with the system registry. Registration entry files usually have a .REG filename extension.

.RES

Or binary resource file. A binary file that contains a Windows-based application's resource data and is created by the resource compiler from the resource-definition (.RC) file. Compiled resource files usually have a .RES filename extension. See also Macintosh binary resource file, resource compiler.

.RSC

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.

.RTF

A file that contains encoded, formatted text and graphics for easy transfer between applications. The rich-text encoding format is commonly used by document-processing programs such as Microsoft Word for Windows and for generating online Help files. Rich-text format files usually have a .RTF filename extension.

.SBR file

An intermediate file that the compiler creates for use by the Microsoft Browse Information Maintenance Utility (BSCMAKE). There is one .SBR file for each object (.OBJ) file. BSCMAKE uses the .SBR files to create a browse information (.BSC) file.

.TLB

Or OLE library. An OLE compound document file containing standard descriptions of data types, modules, and interfaces that can be used to fully expose objects for OLE Automation. The type library file usually has a .TLB filename extension and can be used by other applications to get information about the automation server.

.TXT

A human-readable file composed of text characters. A text file is usually identified by a file extension of .TXT. See also binary file, rich-text format file.

.WAV

A Microsoft standard file format for storing waveform audio data. Wave files have a .WAV filename extension.

.WRI

A document file that is associated with the Windows Write text editor. The default filename extension for Windows Write files is .WRI

@ (at sign)

  1. In e-mail addresses, separates the user name from the domain name. See also address.

  2. Points to the input command file used by CL or LINK, as in LINK @LINK.RSP. See also command file.

16-bit application

A program written for a system (such as MS-DOS or Microsoft Windows version 3.1) that uses a 16-bit segmented architecture, in which each memory address points to a 16-bit word.

16-bit character

A character that is 2 bytes in size, unlike an ANSI character, which is 1 byte in size. Sixteen-bit characters are found in Unicode sets, multibyte character sets (MBCS), and double-byte character sets (DBCS).

32-bit application

A program written for a system (such as Microsoft Windows NT or Windows 95) that uses a 32-bit architecture, in which each memory address points to a 32-bit word.

8.3 filename convention

The naming convention for filenames in MS-DOS that allows up to eight characters, with an optional period and three-character extension. See also base name, filename extension.


Glossary A

A5-relative reference

An address designated by a 16-bit offset from the A5 register in the 680x0-based Apple Macintosh. An A5-relative reference is similar to the "near data" address in Intel-based machines.

ABC width

Or ABC character spacing. The amount of spacing required for a single glyph in a font. "A" spacing is added to the current position before drawing the glyph. "B" spacing is the width of the black part of the glyph. "C" spacing is added to the current position to account for the white space to the right of the glyph. The total advanced width is given by A+B+C. See also overhang, underhang.

abnormal termination

In exception handling, the condition that occurs when a program leaves the try block of a try-finally statement before the code executes to the closing brace. For example, statements such as return, goto, continue, and break can cause abnormal termination.

absolute position

The ordinal position of a record in a recordset. In ODBC, absolute position is one-based; in DAO, it is zero-based.

absolute symbol

A symbol that contains a constant value for an address in memory not associated with a program address.

absolute time

An expression of time that stays the same regardless of the time zone.

abstract class

Or abstract base class. In C++, a class that cannot be instantiated but is used as a base from which other classes can be derived. An abstract class contains at least one pure virtual function; if its derived classes do not implement these pure virtual functions, then they, too, become abstract classes.

abstract declarator

A declarator that does not declare a name — the identifier is left out. For example,

char *

declares the type "pointer to type char."

abstract declarator

A declarator that does not declare a name[.--]the identifier is left out. For example, in C++, [lb]char *[\lb] declares the type "pointer to type char."

accelerator key

Or keyboard accelerator, shortcut key, keyboard shortcut. A keystroke or combination of keystrokes that invokes a particular command. See also accelerator table, access key.

accelerator table

Or accelerator resource. A data structure that contains a list of accelerator keys and the command identifiers associated with them.

access control

The keywords public, private, mutable, and protected that restrict member usage of variables, member functions, and local types. Access is granted by a class. Access control is assigned to class members and does not depend on type.

access key

Or mnemonic key. The key that corresponds to an underlined letter on a menu or dialog-box item. An access key can be used to invoke the command associated with that menu item or dialog-box item. See also accelerator key.

access mode

A mode that determines the manner in which entry to a file, directory, or other data source object is permitted, as well as the manner in which changes are made to the data. See also direct mode, transacted mode.

access privileges

In object-oriented programming, the degree to which a class grants outside access to its data and functions. See also friend.

access token

A group of security attributes permanently attached to a process when a user logs on to the operating system. An access token contains privileges and security identifiers for a user, global group, or local group. The privileges regulate the use of some system services and the security identifiers regulate access to objects that are protected by access-control lists (ACLs). There are two kinds of access tokens: primary and impersonation. See also impersonation token, primary token, privilege, security identifier (SID).

access-control list

A list of security protections that applies to an object (a file, process, event, or anything else having a security descriptor). An entry in an ACL is an access-control entry (ACE). There are two types of access-control lists: discretionary and system. See also security descriptor.

ACF

A special file having two parts: an interface header similar to the interface header in an IDL file, and a body that contains configuration attributes for types and functions defined in the interface body of the IDL file.

ACL

A list of security protections that applies to an object (a file, process, event, or anything else having a security descriptor). An entry in an ACL is an access-control entry (ACE). There are two types of access-control lists: discretionary and system. See also security descriptor.

activation

The process of making a window or other object operational. Activation of a window, for example, changes the color of the title bar, moves the window to the top of the Z order, and enables keyboard focus. In OLE, the term "activation" is often used to refer to in-place activation of embedded objects.

active content

Generic term for active documents, active scripts, and active objects.

active document

Generic term for documents that include active content. Examples of active documents are an HTML page, a Java applet, an OLE document-object, and a document that contains ActiveX controls.

active HTML document

A Web page that contains ActiveX controls, active scripts, or Java applets.

active HTML documents

Web pages containing ActiveX controls, script, or Java applets.

active script

Executable scripts embedded in HTML, such as JScript or VBScript.

active state

  1. In OLE, the state of an OLE object in a compound document when the user can edit the embedded object without leaving the container document's window.

  2. In general, the state of a program, document, device, or portion of the screen that is currently operational.

Active Template Library

A set of compact, template-based C++ classes that simplify the programming of Component Object Model objects. ATL provides the mechanism to use and create COM objects.

ActiveX

All component technologies built on Microsoft's Component Object Model (COM), other than Object Linking and Embedding.

ActiveX control

The new name for programmable elements formerly known variously as OLE Controls, OCXs, or OLE Custom Controls. Controls previously built with the MFC Control Developer's Kit meet the ActiveX control specification.

ActiveX scripting

Microsoft technology for connecting third-party script engines to applications.

ActiveX server extension

A dynamic-link library (DLL) that creates server extensions on any ISAPI-compliant Web server.

ActiveX server filter

A dynamic-link library (DLL) that intercepts and processes notifications directed to any ISAPI-compliant Web server.

ActiveX server framework

Microsoft tools for creating extensions to ISAPI-compliant Web server software. See also ActiveX server extension, ActiveX server filter, ActiveX scripting.

ActiveX Server framework

Server-side technology extensions, including ISAPI, ActiveX server controls, Active server applications, ActiveX server filters, and ActiveX server scripts.

actual argument

  1. Or actual parameter. A unit of information (variable, constant, pointer, etc.) passed in a macro call or inside the parentheses of a function call that the called function then converts to its formal parameter.

  2. In the Visual C++ documentation, the argument passed to a C++ template class.

actual parameter list

The arguments specified in a particular method or function call. See also formal parameter list.

address

The path to a value, object, document, page, or other destination. An address can be a memory location, a URL (address to an Internet site) or a UNC network path (address to a file on a local area network). An address may also contain more specific information such as a database object, a bookmark in a file, or a spreadsheet cell range to which the main address points.

address space

  1. Or memory space. The portion of memory allocated to a given process. See also heap.

  2. Or memory space. More generally, the range of memory locations to which a microprocessor can refer. Effectively, a computer's address space is the amount of memory a microprocessor could use if all the memory was available.

address-of (&) operator

In C/C++, a unary operator that gives the address of its operand, which can be either a function name or an l-value. The result of the address-of operation is a pointer to the operand. The type addressed by the pointer is the type of the operand. Note that the ampersand (&) character is also used by the bitwise-AND (&) operator. See also bitwise operator, indirection (*) operator.

ADSP

A network protocol for interprocess communication between Apple Macintosh computers and other platforms.

advise sink

An interface of a COM object that can receive notifications of changes in an embedded object or linked object. Containers that need to be notified of changes in objects implement an advise sink. Notifications originate in the server, which uses an advisory holder object to cache and manage notifications to containers. See also container application, object handler.

AFXDLL

Redistributable dynamic-link libraries (DLLs) containing the entire 32-bit Microsoft Foundation Class Library. AFXDLL enables you to build an application without statically linking to the MFC object-code libraries. The architecture is useful in building MFC extension DLLs and in sharing the class library between multiple executable files, thus saving disk space and memory.

aggregate object

In the Component Object Model, an object whose implementation of certain interfaces is provided by one or more of its contained objects.

aggregate type

Or complex type, nonscalar type. In C/C++, a structure, union, or array data type. In C++, a class can also be an aggregate type, provided it does not have constructors, nonpublic members, base classes, or virtual functions.

aggregation

A composition technique for implementing COM objects. With aggregation, a new object can reuse one or more existing objects. This reuse is achieved by exposing one or more of the interfaces in the original object.

aliasing

  1. In programming, to use an alternate name to refer to a memory location that is already referred to by a different name, or to allow two pointers to point to the same memory location. The alternate name is an "alias."

  2. In computer graphics, a rendering technique that assigns to pixels the color of the primitive being rendered, regardless of whether that primitive covers all or only a portion of the pixel's area. This results in a jagged, or "stairstep," appearance of certain design elements, such as diagonal lines, curves, and circles.

  3. More generally, to substitute one name, or alias, for another name, or for a group of names. For example, a long Macintosh filename could be aliased with an MS-DOS 8.3-format filename.

alpha value

In mixing models, the component used to control color blending. See also red, green, blue, alpha (RGBA).

ambient property

A run-time property that is managed and exposed by the container. Typically, an ambient property represents a characteristic of a form, such as background color, that is communicated to a control so the control can assume the look and feel of its surrounding environment. See also run-time property.

ambiguity

  1. In derived classes, a condition that occurs when an expression can refer to more than one data type, object, or function. Use of the scope resolution (::) operator resolves the ambiguity.

  2. In syntax, a condition that can occur with a type cast, especially a function-style type cast. For example, it is unclear whether the expression char *aName( String( s ) ) is a function declaration or an object declaration with a function-style cast as the initializer.

  3. More generally, two or more meanings for a single expression, which is anathema to a binary system.

ambiguous expression

  1. An expression whose value depends on a particular order of evaluation where the language does not define one. For example, the values received by func( i, ++i ) depend on whether its parameters are passed from right to left or from left to right.

  2. An expression that cannot be evaluated because the types used in the expression are not unique.

American National Standards Institute

An organization of American industry and business groups dedicated to the development of trade and communication standards. ANSI sets standards for C and other programming langages to eliminate variations that could cause problems in transporting a program from one type of computer system or environment to another.

American Standard Code for Information Interchange

The dominant standard for coding information on computers and related equipment. The ASCII coding scheme assigns numeric values to letters, numbers, punctuation marks, and certain other characters, enabling computers and computer programs to exchange information. See also ANSI character set, Unicode.

anchor

The HTML element that connects Web documents. Anchors either jump to another location, or are jumped to by other anchors. They are similar in function to bookmarks.

animation control

A window that displays animation in Audio Video Interleaved format.

anonymous structure

An unnamed structure variable declared within another structure. Members of an anonymous structure are accessed as if they were members in the containing structure.

anonymous union

In C++, a union without a tag or declarators. An anonymous union declares an unnamed object and cannot have member functions or private or protected members.

ANSI

An organization of American industry and business groups dedicated to the development of trade and communication standards. ANSI sets standards for C and other programming langages to eliminate variations that could cause problems in transporting a program from one type of computer system or environment to another.

ANSI C

The American National Standards Institute's 1990 version of the C language, which specifies the formal syntax and semantics of the language, the standard libraries that are included, and the way in which the compiler is to translate the program. ANSI compliance promotes portability of programs across different platforms.

ANSI character set

An 8-bit character set that contains the 7-bit ASCII standard character set as well as currency and mathematical symbols, accented characters, and other characters not normally found on the keyboard. Microsoft Windows version 3.1 and its applications use the ANSI character set internally. See also OEM character set, Unicode.

ANSI string

A string composed of characters from the ANSI character set.

apartment-model threading

A threading model that can be used only on the thread that created it. Compare free threading model, single threading model.

API

A set of routines that an application uses to request and carry out lower-level services performed by a computer’s operating system. For computers running a graphical user interface, an API manages an application's windows, icons, menus, and dialog boxes.

App Studio precompiled file

A binary version of the current resource file that is created by the Microsoft Visual C++ and used for quick loading of resources. Microsoft Visual C++ gives this file an .APS filename extension.

Apple Shared Library Manager

A library of code and resources that can be used simultaneously by more than one Macintosh application. (ASLM is not supported on the Power Macintosh.) See also stand-alone code.

applet

  1. An HTML-based program that the browser temporarily downloads to a user's hard drive, where it runs when the Web page is open. Most often, "applet" refers to programs developed with Java.

  2. Any small application.

AppleTalk

A simple local area network developed by Apple Computer that can be used by both Apple and non-Apple computers for communicating and sharing resources such as printers and file servers.

AppleTalk Data Stream Protocol

A network protocol for interprocess communication between Apple Macintosh computers and other platforms.

application class

The class, derived from the MFC class CWinApp, that encapsulates the initialization, running, and termination of a Windows-based application. An application must have exactly one object of an application class. See also application object.

Application Configuration File

A special file having two parts: an interface header similar to the interface header in an IDL file, and a body that contains configuration attributes for types and functions defined in the interface body of the IDL file.

application framework

Or framework. A group of C++ classes in the Microsoft Foundation Class Library that provides the essential components of an application for Windows. The application framework defines the skeleton, or framework, of an application and supplies standard user-interface implementations that can be placed onto the skeleton. See also class library.

application object

The single instance of the application class. The application object controls documents, views, frame windows, and templates, and specifies application behavior such as initialization and cleanup for every instance of the application.

application programming interface

A set of routines that an application uses to request and carry out lower-level services performed by a computer’s operating system. For computers running a graphical user interface, an API manages an application's windows, icons, menus, and dialog boxes.

application queue

In Microsoft Windows, a repository for messages awaiting processing by a particular application. As Windows removes messages from its system message queue, it dispatches the messages that contain application input to the relevant application queue. See also message loop, message queue.

Archie

A tool for finding files stored on anonymous FTP sites. You need to know the exact file name or a substring of it. See also Very Easy Rodent-Oriented Net-wide Index to Computerized Archives (Veronica).

archive

  1. An object, derived from the MFC class CArchive, that provides a type-safe buffering mechanism for writing or reading serializable objects to or from a CFile object — a disk file or a memory file (perhaps representing the Clipboard). A given CArchive object either stores (writes, serializes) data or loads (reads, deserializes) data, but never both. See also serialization.

  2. In general, a stored backup copy of data or a program, or the act of storing a backup copy of data or a program.

argument

A value or an expression used with an operator or passed to a subprogram (subroutine, procedure, or function). The program then carries out operations using the arguments. Synonymous with parameter.

arithmetic shift

A shift operation whose left operand is a signed quantity. In a right-shift operation, the sign bit is propagated into the bits vacated by the shift. See also logical shift.

array

An aggregate data type in which all the data items (elements) are of the same type. The elements are accessed by specifying the name of the array and a subscript (index), which represents the element's offset from the base address of the array. For example, myArray[3] represents the fourth element in the array. See also subscript ([ ]) operator.

artificial reference counting

A technique used to safeguard an object before calling a function or method that could prematurely destroy it. See also reference counting.

ASCII

The dominant standard for coding information on computers and related equipment. The ASCII coding scheme assigns numeric values to letters, numbers, punctuation marks, and certain other characters, enabling computers and computer programs to exchange information. See also ANSI character set, Unicode.

ASCII character

A character that is part of the American Standard Code for Information Interchange (ASCII). The ASCII character set is a standard 7-bit code for representing characters — letters, digits, punctuation, and control instructions — with binary values.

ASLM

A library of code and resources that can be used simultaneously by more than one Macintosh application. (ASLM is not supported on the Power Macintosh.) See also stand-alone code.

aspect ratio

The ratio of a pixel's width to height on a particular device. Information about a device's aspect ratio is used in the creation, selection, and display of fonts.

assertion

A Boolean statement in the debug version of a program that tests a condition that should, if the program is operating correctly, evaluate as true. If the condition is false, an error has occurred and the program will typically issue an error message that gives the user the option to abort the program, activate the debugger, or ignore the error.

assignment operator

An operator used to assign a value to a variable or a data structure. An example of an assignment operator is the simple assignment (=) operator, which assigns the value of its right operand to its left operand.

assignment statement

A statement that assigns a value to a variable or data structure. An assignment statement is usually composed of a destination variable, an assignment operator, and an expression to be assigned.

associativity

The order (either right to left or left to right) in which expressions are evaluated when adjacent operators have equal precedence and subexpressions are not enclosed in parentheses. For example, the expression 10 < 20 < 5 evaluates to 1 (true) because the less-than (<) relational operator has left-to-right associativity, causing the expression to be evaluated (10 < 20) < 5.

asynchronous call

A call to a function that is executed separately so that the caller can continue processing instructions without waiting for the function to return. Contrast with synchronous call.

asynchronous moniker

A protocol for Internet-enabled applications and ActiveX controls that retains responsiveness of the user interface during file downloads. See also bind context, composite moniker.

asynchronous operation

  1. Or overlapped I/O. In programming for Windows, a task that proceeds in the background, allowing the thread that requested the task to continue to perform other tasks. See also synchronous operation.

  2. More generally, an operation that proceeds independently of any timing mechanism such as a clock.

asynchronous processing

In ODBC, a method of processing transactions in which the database driver returns control to an application before a function call completes; the application can continue nondatabase processing while the driver completes the function in progress. See also synchronous processing.

ATL

A set of compact, template-based C++ classes that simplify the programming of Component Object Model objects. ATL provides the mechanism to use and create COM objects.

atomic operation

An operation that never has its execution suspended while partially completed. See also synchronous operation.

attribute

Any keyword of the Interface Definition Language that describes a property, method, or remote procedure call.

audio-video interleaved

A Microsoft technology for displaying full-motion video in a window. An AVI file interleaves waveform audio and video data and has a .AVI filename extension.

authentication

The process of determining the identity of a user attempting to access a system. Note that the user can be a person, a computer, or a process.

authentication token

A portable device used for authenticating a user. Authentication tokens operate by challenge/response, time-based code sequences, or other techniques.

automatic object

Objects that are local to each invocation of a block. See also automatic variable.

automatic storage class

Or auto storage class. In C++, the storage class for objects and variables that are local to the block of code where they are declared. The automatic storage class can be declared explicitly, by using the keywords auto or register, or implicitly, by default. See also local variable, static storage class.

automation client

In OLE Automation, an application that can manipulate exposed objects belonging to another application (called the OLE Automation server). The client drives the server application by accessing the objects' properties and functions. Microsoft Visual Basic is an example of an OLE Automation client application. See also automation server.

AVI

A Microsoft technology for displaying full-motion video in a window. An AVI file interleaves waveform audio and video data and has a .AVI filename extension.


Glossary B

backbone

A high-performance network connecting other networks.

background color

The color of the client area of an empty window or display screen, on which all drawing and color display take place. See also background mode, foreground color.

background mode

A mode that defines how background colors are mixed with existing window or screen colors for bitmap and text operations. The background mode can be either opaque (the default) or transparent.

backward compatibility

  1. Ensuring that existing applications will continue to work in the new environment.

  2. Ensuring that the new release of an application will be able to handle files created by a previous version of the product.

bandwidth

The amount of data that can travel through a circuit, usually indicated in bits per second (bps). A measure of capacity, not speed.

bandwidth on demand

In ISDN, the ability to aggregate B channels as the data traffic exceeds preset thresholds.

base address

In relation to memory locations, the portion of a two-part address that remains constant and provides a reference point, or base, from which the location of a byte of data can be calculated. A base address is accompanied by an offset value that is added to the base to determine the exact location (the absolute address) of the information.

base class

In C++, a class from which other classes are derived by inheritance. See also abstract class, derived class, virtual base class.

base line

In the printing and on-screen display of characters, an invisible, horizontal line within a character cell of a given font. Most characters sit on the base line, although some characters, such as g and j, descend below it.

base name

The portion of the filename that precedes the extension. For example, SAMPLE is the base name of the file SAMPLE.ASM. See also filename extension.

base priority

In multitasking, the priority level that provides the basis for calculating a thread's dynamic priority for CPU time. A thread inherits its base priority from the process in which the thread was created. The scheduler, which determines the order in which threads should execute, can temporarily boost the priority of a thread, but it cannot reduce the priority below this base priority.

BASED_CODE

A 16-bit MFC macro that ensures that data will be placed in the code segment instead of the data segment. Under Win32, this macro expands to nothing and is provided for backward compatibility.

basic input-output system

A set of routines that work closely with the hardware and the operating system to support the transfer of information between elements of the system, such as memory, disks, and the monitor.

basic rate interface

An ISDN service that consists of two 64-Kbps bearer channels (B channels) and one 16-Kbps signaling channel (D channel) referred to as 2B+D.

batch file

An unformatted text file that contains one or more commands, either internal operating-system commands or program names. A batch file is executable and can be run from the command line.

bearer channel

Or B channel. A fundamental component of ISDN interfaces. The channel carries 64,000 bits per second in either direction, is circuit switched, and may be able to carry either voice or data, depending on how the local telephone company provides its ISDN service.

big-endian

One of two byte-ordering conventions used on different machines. In big-endian addressing, the address points to the most significant byte of the word. Scalar Processor ARChitecture (SPARC) and Motorola 680x0 machines are big-endian machines. See also little-endian.

binary

  1. The base-2 counting system, whose digits are 0 and 1.

  2. An executable file — one that is in binary, or machine-readable, form. See also binary file.

  3. A means of opening a file for input and output (binary mode versus text mode).

binary file

Or binaries. A file that consists of binary data or executable code. For example, a C++ executable file is a binary file. See also text file.

binary large object

  1. Or binary data object. A large piece of data, such as a bitmap. A BLOB is characterized by large field values, an unpredictable table size, and data that is formless from the perspective of a program.

  2. A keyword designating the BLOB structure, which contains information about a block of data.

binary operator

An operator that takes two operands. In C, binary operators are the multiplicative operators (*, /, %), additive operators (+, -), shift operators (<<, >>), relational operators (<, >, <=, >=, ==, !=), bitwise operators (&, |, ^), logical operators (&&, ||), the sequential-evaluation operator (,) the assignment operator (=), and the compound-assignment operators (+=, *=, etc.). See also ternary operator, unary operator.

bind context

A COM object that is used in moniker operations to hold references the objects activated when a moniker is bound. See also asynchronous moniker, binding, generic composite moniker, and moniker.

binding

  1. The association of two pieces of information with one another, most often used in terms of a symbol (such as the name of a variable) with some descriptive information (such as a memory address, a data type, or an actual value).

  2. In networking, a process that establishes the initial communication channel between the protocol driver and the network adapter card driver.

  3. In OLE, the process of getting a compound-document object into a running state so that it can be activated. See also activation.

  4. A Windows Sockets keyword that identifies the bind socket library routine. The bind routine associates a local address with a socket.

BIOS

A set of routines that work closely with the hardware and the operating system to support the transfer of information between elements of the system, such as memory, disks, and the monitor.

bit field

A structure member whose width is specified in bits, or binary digits, rather than being specified implicitly as characteristic of the data type. When viewed in binary form, each bit or group of bits in the bit field corresponds to a specific field of information.

bitmap

  1. Or pixel image, pixel map. An array of bits that contains data describing the colors found in a rectangular region on the screen (or the rectangular region found on a page of printed paper).

  2. Or bit image. A sequential collection of bits that represents, in memory, an image to be displayed on the screen or printed. See also bitmap file.

bitmap file

  • A file that contains a collection of structures that specify or contain the following elements:

  • A header that describes the resolution of the device on which the rectangle of pixels was created, the dimensions of the rectangle, the size of the array of bits, and so on.

  • A logical palette.

  • An array of bits that defines the relationship between pixels in the bitmapped image and entries in the logical palette.

Bitmap files usually have a .BMP filename extension. See also bitmap, device-independent bitmap file.

bitmap-stretching mode

A mode that defines how information is removed from or combined together in bitmaps that are stretched or compressed. For example, a particular bitmap-stretching mode may preserve black pixels at the expense of colored or white pixels.

bitwise operator

An operator that works on individual bits of its operands. The bitwise-NOT (~) operator produces the bitwise complement of its operand. For example, ~1010 = 0101. The binary operators — bitwise-AND (&), bitwise-OR (|), and bitwise-XOR (^) — compare each bit of the first operand to the corresponding bit of the second operand. For example, 1010 & 0110 = 0010. See also logical operator.

BLOB

  1. Or binary data object. A large piece of data, such as a bitmap. A BLOB is characterized by large field values, an unpredictable table size, and data that is formless from the perspective of a program.

  2. A keyword designating the BLOB structure, which contains information about a block of data.

BOND

In ISDN, the ability to aggregate B channels as the data traffic exceeds preset thresholds.

bookmark

A marker that uniquely identifies a specific record or row in a database, a specific line in source code, or an item or location in a word-processing file. The HTML equivalent of a bookmark is an anchor with the NAME attribute; this type of anchor is used as a destination for hyperlinks. When creating HTML documents in Word for Windows, for example, you use bookmarks to create anchors with the NAME attribute.

Boolean

A binary algebra that uses the logical operators AND, OR, XOR, and NOT, and whose outcomes consist of logical values (either TRUE or FALSE). The keyword boolean indicates that the expression or constant expression associated with the identifier takes the value TRUE or FALSE. See also conditional expression.

bounding rectangle

Or bounding box. A rectangular area that defines the outer limits of a rounded shape such as an ellipse, arc, or pie.

breakpoint

A location in a program where execution is stopped to allow the developer to examine the program's code, variables, and register values and, as necessary, to make changes, continue execution, or terminate execution.

BRI

An ISDN service that consists of two 64-Kbps bearer channels (B channels) and one 16-Kbps signaling channel (D channel) referred to as 2B+D.

bridge

  1. A device that connects two segments or components of a network that use the same protocols. Used to overcome limitations on the physical length of a segment. See also brouter, router.

  2. In ISDN, a hardware device used for forwarding data between two networks. A bridge reads each packet’s address information, which is written into the packet at the data-link layer of the OSI model. Unlike a router, a bridge is not interested in the address on the remote LAN, but only in whether or not the packet should be forwarded.

brouter

A device combining the functions of a bridge and a router by connecting two segments of a network and connecting two networks or a network to the Internet. See also bridge, router.

browse buttons

  1. In Windows Help, a pair of buttons used to browse backwards and forwards through a sequence of Help topics. A browse sequence typically consists of two or more related topics that are intended to be read sequentially.

  2. In dialog boxes, buttons used to view a list of network servers, directories, files, etc.

browse information file

A file created from source browser information (.SBR) files, using the Microsoft Browse Information File Maintenance Utility (BSCMAKE). Browse information files can be examined in browse windows and usually have a .BSC extension.

browser

A program used to view formatted Web documents.

brush

A graphics object used to paint the interior of shapes and paths. A brush describes an 8- by 8-pixel bitmap. See also logical brush, physical brush.

BSCMAKE

The Microsoft Browse Information File Maintenance utility. BSCMAKE uses source browser information (.SBR) files created by the compiler using the /FR or /Fr option, which are used to create browse information (.BSC) files.

buffer

  1. (noun) An intermediate repository of data — a reserved portion of memory in which data is temporarily held pending an opportunity to complete its transfer to or from a storage device or another location in memory.

  2. (verb) To store or collect in a buffer.

build

  1. (noun) The process of compiling and linking source code to generate an executable program, library, Help file, or other run-time file. The files produced from the build process are also sometimes referred to as a "build."

  2. (verb) To compile and link source code in order to generate an executable program, Help file, or other run-time file.

build tag

A string assigned to a topic that the Help project file can specify to include or not include in a build. Build tags can be made up of any alphanumeric characters and are not case-sensitive. They provide a means of supporting different versions of a Help system without the need to create different source files for each version. Topics without build tags are always included in a build, along with all tagged topics not expressly excluded from that particular build in the build expression.

built-in type

A data type that is intrinsic to the programming language. Contrast with user-defined types.

bulk record field exchange

When bulk row fetching is implemented, the mechanism by which MFC ODBC classes transfer data between the field data members of a recordset object and the corresponding columns of an external data source. See also record field exchange (RFX), DAO record field exchange (DFX), dialog data exchange (DDX).

bulk RFX

When bulk row fetching is implemented, the mechanism by which MFC ODBC classes transfer data between the field data members of a recordset object and the corresponding columns of an external data source. See also record field exchange (RFX), DAO record field exchange (DFX), dialog data exchange (DDX).

bulk row fetching

In ODBC, the process of retrieving multiple rows from the data source in a single fetch operation. The number of rows retrieved depends on the recordset object's setting for the rowset size.

button control

A graphical control that enables a user to provide input to an application. Windows provides five kinds of button controls: pushbuttons, check boxes, radio buttons, group boxes, and owner-draw buttons.

byte

A unit of information consisting of 8 bits. A byte, or "binary term," is the smallest collection of bits that can be accessed directly.

bytecode

Machine-independent code generated by the Java compiler and executed by the Java interpreter or compiled at the last minute by a JIT compiler.


Glossary C

C calling convention

The C standard for calling a function — that is, pushing arguments onto the stack from right to left (in reverse order from the way they appear in the argument list). After the function returns, the calling function removes the arguments from the stack. The C calling convention permits a variable number of arguments to be passed. See also calling convention.

C linkage specifier

A declaration of a function or object as extern "C", indicating to the C++ compiler that the function name that follows the linkage specifier is an undecorated C function. C linkage allows existing C code to be used in new C++ applications. See also linkage specification.

C source file

A text file containing C language code.

C++ exception handling

Built-in support provided by the C++ language for handling anomalous situations, known as "exceptions," that may occur during the execution of a program. With C++ exception handling, a program can communicate unexpected events to a higher execution context that is better able to recover from such abnormal events. These exceptions are handled by code that is outside the normal flow of control. See also structured exception handling (SEH).

C++ header file

Or .HXX file. An external source file, identified at the beginning of a C++ program, that contains commonly used data types and variables used by functions in a program. The #include directive is used to tell the compiler to insert the contents of a header file into the program.

C++ source file

Or .CXX file. A text file containing C++ source code.

cache

A special memory subsystem in which frequently used data values and instructions are duplicated for quick access.

call level interface

A library of function calls that support SQL statements and conform to the SQL Access Group Call Level Interface specification. These calls are typically used for dynamic access to data. ODBC is a call level interface.

call stack

An ordered list of functions that have been called but have not returned, with the currently executing function listed first. Each call is optionally shown with the arguments and types passed to it. During a debug session, you can view the functions that have been called but have not returned.

callback function

An application-defined function that a system or subsystem (Windows, for example) calls. Typically, this happens when an event occurs or when windows or fonts are being enumerated. Examples of callback functions include window procedures, dialog-box procedures, and hook procedures. Callback functions are also used to process dynamic data exchange (DDE) transactions.

calling convention

A convention that determines the order in which arguments passed to functions are pushed on the stack (the calling sequence), whether the calling or called function removes the arguments from the stack, and the name-decorating convention the compiler uses to identify individual functions. See also C calling convention, calling sequence.

calling sequence

Determines the order in which parameters are pushed onto the stack during a function call and which code block is responsible for the stack pointer. Typically, the C compiler generates code that pushes parameters on the stack from right to left, beginning with the last parameter. See also calling convention.

caret

  1. Or insertion point. A flashing line, block, or bitmap that marks the location at which inserted text will appear in a window's client area.

  2. (^) When preceding a single uppercase letter, indicates a control character. For example, ^C is the same as CTRL+C.

  3. (^) A regular expression used to indicate either the beginning of a line or, when used within brackets, to indicate an exception.

carriage return character

A control character that tells a computer or printer to return to the beginning of the current line. This character can have a different textual representation on different platforms, but it always has the ASCII value of 13. See also carriage return–linefeed (CR-LF) pair.

carriage return–linefeed (CR-LF) pair

The combination of a carriage return character (ASCII 13) and a linefeed character (ASCII 10), represented in C/C++ by the newline (\n) character.

casting

Explicit or implicit conversion of one data type to another.

catch block

Or catch handler. In C++, a block of exception-handling code preceded by the keyword catch. The code in the catch block is executed only if the code in the try block throws an exception of the type specified in the catch statement. See also C++ exception handling, throw expression.

CGI

A mechanism that allows a Web server to run a program or script on the server and send the output to a Web browser. See also Internet Server Application Programming Interface (ISAPI).

Challenge Handshake Authentication Protocol

In ISDN, a type of signaling authentication that uses a pair of secret codes consisting of up to 16 characters. CHAP is shared by communications devices on both ends.

CHAP

In ISDN, a type of signaling authentication that uses a pair of secret codes consisting of up to 16 characters. CHAP is shared by communications devices on both ends.

character constant

A member of the "source character set," the character set in which a program is written, surrounded by single quotation marks ( '[\.thsp]). Character constants are used to represent characters in the "execution character set" on the machine where the program executes.

character index

The number of characters from the beginning of an edit control.

character-mode application

An application that does not provide its own graphical user interface (GUI). The Win32 API provides consoles for managing input and output for character-mode applications. See also console application.

checksum

An error-detection scheme that involves creating a sum of the bits in a set of bytes of data and using that sum to later check for a change in the data. Checksums are commonly used in communications software to check for data transmission errors.

child control

A child window used in conjunction with another window (its parent) to carry out simple input and output (I/O) tasks.

child process

A process initiated by another process (the parent process). The child process can operate independently from the parent process. Further, the parent process can suspend or terminate without affecting the child process.

child window

A window that has the WS_CHILD or WS_CHILDWINDOW style and is confined to the client area of its parent window, which initiates and defines the child window. Typically, an application uses child windows to divide the client area of a parent window into functional areas. See also child control, sibling window.

chord

A closed figure bounded by the intersection of an ellipse and a line segment. In Windows, a chord is outlined by using the current pen and filled by using the current brush.

CISC

A processor that uses complex instructions at the assembly language level, allowing flexible ways of calculating such elements as memory addresses. A single instruction set may comprise several simpler instructions. Contrast with RISC.

CL environment variable

An environment variable used to specify files and options for the compiler/linker so you do not have to specify them on the command line.

CL.EXE

Or CL. A driver program that controls the Microsoft C and C++ compilers and linker. The compilers produce Common Object File Format (COFF) object files. The linker produces executable (.EXE) files, dynamic-link libraries (DLLs), or static-link libraries.

class

A type that defines the interface of a particular kind of object. A class definition defines instance variables and methods, class variables and methods, and specifies the immediate superclass (or superclasses) and the interfaces that the class implements.

class declaration

In C++, the mechanism for declaring an aggregate data structure of type class. A class declaration provides a list of its members (such as functions, data, and other classes), specifies any friends of the class, and defines the level of visibility for all members.

class factory

An object that creates one or more instances of an object identified by a given CLSID. A class factory object implements the IClassFactory interface. A class factory is one of the most frequently used types of class objects in OLE.

class identifier

A universally unique identifier (UUID) that identifies a type of OLE object. Each type of OLE object (item) has its CLSID in the registry so that it can be loaded and programmed by other applications. For example, a spreadsheet may create worksheet items, chart items, and macrosheet items. Each of these item types has its own CLSID that uniquely identifies it to the system. See also registration entry file.

class library

A set of related C++ classes that can be used in an application, either as originally defined or as the source for other derived classes. The Microsoft Foundation Class Library included in Visual C++ is an example of a class library that defines a framework for integrating the user interface of an application for Windows with the rest of the application.

class method

In Java, any method that can be invoked using the name of a particular class. Since the declaration uses the keyword static, these are called static member functions in C++. Class methods, which are defined in class definitions, affect the class as a whole, not a particular instance of the class. Compare with instance method.

class scope

In C++, the degree of visibility afforded to a name (function or variable, for example) when it is declared within a class declaration. The name is accessible from outside the class by using the scope-resolution (::) operator. See also file scope, function scope, function-prototype scope, local scope.

class variable

In Java, a data item associated with a particular class as a whole, not with particular instances of the class. Class variables are defined in class definitions. Equivalent to static member variables in C++, since the declaration uses the keyword static. In C++, a class variable must be explicitly defined, external to the class declaration. See also instance variable.

ClassWizard file

A file that ClassWizard generates, containing information needed to edit existing classes or add new classes to a project. ClassWizard also uses the ClassWizard file to store information needed to create and edit message maps and dialog data maps, and to create prototype member functions. ClassWizard files have a .CLW filename extension.

CLI

A library of function calls that support SQL statements and conform to the SQL Access Group Call Level Interface specification. These calls are typically used for dynamic access to data. ODBC is a call level interface.

client

An application or a process that requests a service from some other process, or from an in-process server. See also client/server.

client area

Or client rectangle. The portion of a window where the application displays output such as text or graphics.

client coordinates

An ordered pair (x,y) of numbers, relative to the origin (usually the upper-left corner of a window's client area), that designates a point in the client area. See also window rectangle.

client item

An object that provides an interface between an OLE item and the container application, and that is of a class derived from the MFC class COleClientItem. Client items are maintained by the container application and give the container application access to the presentation data and the native data. Client items also provide site(location) information to the server application for in-place activation. See also embedded item, linked item, server item.

client object

An object issuing a request for a service. A given object may be a client for some requests and a server for other requests. See also server object.

client/server

  1. The most commonly used model for distributed applications. Client applications request services from a server application. A server can have many clients at the same time, and a client can request data from multiple servers. An application can be both a client and a server. See also client.

  2. In network architecture, a model for a local area network where clients initiate communication with the server, which carries out the requests in the form of replies. For example, the clients may be workstations communicating with a file server on which all of their data is stored. See also client.

clip path

A graphics object that an application can select into a device context. A clip path is always created by an application and it is used for clipping to one or more irregular shapes. For example, an application can use the lines and curves that form the outlines of characters in a string of text to define a clip path. See also clipping region.

clipboard

An area of storage, or buffer, where data objects or their references are placed when a user carries out a cut or copy operation.

clipboard format

The data format of a memory object on the clipboard. Applications can use the standard clipboard formats provided by Windows or register their own custom formats. A clipboard format is identified by a unique, unsigned integer value, called the "format name."

clipboard owner

Or owner application. The application associated with the information on the clipboard. It is possible for there to be no clipboard owner. See also clipboard viewer.

clipboard viewer

A window that displays the contents of the clipboard. See also clipboard owner.

clipboard-viewer chain

A link between all of the running clipboard-viewer applications, enabling them to all receive the messages that Windows sends to the current clipboard viewer.

clipping

  1. In Windows, the process of limiting output to a region or path within the client area in a window. For example, word processing and spreadsheet applications clip keyboard input to keep it from appearing in the margins of a page or spreadsheet.

  2. In Open GL, eliminating the portion of a geometric primitive that is outside the half-space defined by a clipping plane.

clipping precision

A 16-bit value that defines how to clip characters that are partially outside the clipping region.

clipping region

In Windows, the portion of a window's client area where the system permits drawing.

CLSID

A universally unique identifier (UUID) that identifies a type of OLE object. Each type of OLE object (item) has its CLSID in the registry so that it can be loaded and programmed by other applications. For example, a spreadsheet may create worksheet items, chart items, and macrosheet items. Each of these item types has its own CLSID that uniquely identifies it to the system. See also registration entry file.

code page

A character set, which can include numbers, punctuation marks, and other glyphs. Different languages and locales may use different code pages. For example, code page 1252 is used for American English and most European languages. See also locale.

COFF

In 32-bit programming, a format for executable and object files that is portable across platforms. The Microsoft implementation of COFF is derived from the UNIX specification for COFF, but includes additional headers for compatibility with MS-DOS and 16-bit Windows. This Microsoft version is sometimes called the "portable executable (PE) file format."

collection class

In object-oriented programming, a class that can hold and process groups of class objects or groups of standard types. A collection class is characterized by its "shape" ( the way the objects are organized and stored) and by the types of its elements. MFC provides three basic collection shapes: lists, arrays, and maps (also known as dictionaries). See also collection object.

collection object

An object in a collection class.

color palette

An array containing the RGB values that identify the colors that can currently be displayed or drawn on the output device. Color palettes are used by devices that are capable of generating many colors but can only display or draw a subset of these at any given time. See also logical color palette.

COM

An open architecture for cross-platform development of client/server applications based on object-oriented technology as agreed upon by Digital Equipment Corporation and Microsoft Corporation. The Component Object Model defines an interface (similar to an abstract base class), IUnknown, from which all COM-compatible classes are derived.

combo-box control

In Windows, a child window that consists of a list box combined with either a static control or an edit control. The list-box portion of the control can either be displayed at all times or drop down when the user selects the drop-down arrow next to the control.

COMDAT record

A Common Object File Format (COFF) record that contains initialized common block data and makes packaged functions visible to the linker. See also packaged function.

command file

A text file that contains options and filenames you would otherwise type on the command line or specify using the CL or LINK environment variable. Since the command line is typically limited to 128 characters, a command file allows you to specify a large set of options or a very long file list to the compiler, linker, or resource compiler, for instance.

command handler

In MFC, a member function of an object which handles a request. Command handler member functions take no parameters and return void.

command identifier

Or command ID. In MFC, an identifier that associates a command message with the user-interface object (such as a menu item, toolbar button, or accelerator key) that generated the command. Typically, command IDs are named for the functionality of the user-interface object they are assigned to. For example, a Clear All item in the Edit menu might be assigned an ID such as ID_EDIT_CLEAR_ALL.

command line

A string of text typed at the command prompt, or executed from a command file, that specifies a task or tasks for the operating system or an application to perform.

command message

  1. In Windows, a notification message from a user-interface object, such as a menu, toolbar button, or accelerator key. The framework processes command messages differently from other messages and such messages can be handled by a wider variety of object — documents, document templates, and the application object itself, in addition to windows and views.

  2. In Media Control Interface (MCI), a symbolic constant that represents a unique command for an MCI device. Command messages have associated data structures that provide information a device requires to carry out a request.

comment delimiters

Characters used to denote text in a program that is not source code, thus telling the compiler to ignore it. C++ allows the traditional comment delimiters:

/* this is a comment */

as well as a single-line comment delimiter:

// everything else on this line is a comment

commit size

The amount of a resource that is allocated (or "committed") for a particular use. For example, in the header of a COFF file, the Windows NT–specific field Heap Commit Size specifies the size of the local heap that the linker and loader should allocate for that file. See also reserve size.

common data record

A Common Object File Format (COFF) record that contains initialized common block data and makes packaged functions visible to the linker. See also packaged function.

common dialog box

A dialog box predefined in Windows that supports standard operations, such as the Open command on the File menu. An application displays a common dialog box by calling a single function rather than by supplying a dialog box procedure and using a resource file containing a dialog box template.

Common Gateway Interface

A mechanism that allows a Web server to run a program or script on the server and send the output to a Web browser. See also Internet Server Application Programming Interface (ISAPI).

Common Object File Format

In 32-bit programming, a format for executable and object files that is portable across platforms. The Microsoft implementation of COFF is derived from the UNIX specification for COFF, but includes additional headers for compatibility with MS-DOS and 16-bit Windows. This Microsoft version is sometimes called the "portable executable (PE) file format."

compact executable file

An executable binary (program) file whose code is limited to a single 64-kilobyte segment. Compact executable files usually have a .COM filename extension and are often used for utility programs and short routines. See also executable file.

compilation

The translation of source code into object code.

compilation unit

The smallest unit of code that can be independently compiled, usually a source code file. See also translation unit.

compile time

The point at which a program is being compiled, or the amount of time required to perform a compilation of a program.

compile-time error

A syntactic or semantic error that prevents a program from being compiled.

compiled resource file

Or binary resource file. A binary file that contains a Windows-based application's resource data and is created by the resource compiler from the resource-definition (.RC) file. Compiled resource files usually have a .RES filename extension. See also Macintosh binary resource file, resource compiler.

compiler

A program that translates source code, such as C++ or Pascal, into directly executable machine code.

compiler/linker driver

Or CL. A driver program that controls the Microsoft C and C++ compilers and linker. The compilers produce Common Object File Format (COFF) object files. The linker produces executable (.EXE) files, dynamic-link libraries (DLLs), or static-link libraries.

complete object

An instance of a derived class from which no other classes are derived. A complete object is an object that is not a subobject representing a base class.

Complex Instruction Set Computer

A processor that uses complex instructions at the assembly language level, allowing flexible ways of calculating such elements as memory addresses. A single instruction set may comprise several simpler instructions. Contrast with RISC.

component object

An object that conforms to COM. Clients deal with a component object only through a pointer to an interface. See also interface, reference counting, marshaling, aggregation.

Component Object Model

An open architecture for cross-platform development of client/server applications based on object-oriented technology as agreed upon by Digital Equipment Corporation and Microsoft Corporation. The Component Object Model defines an interface (similar to an abstract base class), IUnknown, from which all COM-compatible classes are derived.

composite moniker

A moniker that consists of two or more monikers that are treated as a unit. A composite moniker can be nongeneric, meaning that its component monikers have special knowledge of each other, or generic, meaning that its component monikers know nothing about each other except that they are monikers. See also generic composite moniker.

compositing

The process of superimposing one image on another to create a single image.

compound document

Or container document. A document within a container application that contains data of different formats, such as sound clips, spreadsheets, text, and bitmaps. Each piece of integrated data (or "compound-document object") can exist within the compound document as a linked item or an embedded item.

compound file

The OLE implementation of the structured-storage model, which specifies how data is saved to and retrieved from storage. Conceptually, a compound file is a number of individual files (or stream objects) multiplexed into one physical file (or storage object) that still allows access to each individual file.

Compressed SLIP

SLIP with data compression for a more efficient connection. See also Serial Line Internet Protocol (SLIP).

conditional expression

Or Boolean expression, logical expression. An expression that yields a Boolean value (true or false). Such expressions can involve comparisons, using relational operators such as the less-than (<) and greater-than (>) operators, and logical combination of Boolean expressions, using Boolean operators such as bitwise AND (&) and logical OR (||).

connectable object

A COM object that supports event communication from the server to the client. The connectable object fires events by calling interfaces implemented on client objects. See also advise sink, connection point.

connection point

In OLE, a mechanism consisting of the object calling the interface, called the "source," and the object implementing the interface, called the "sink." The connection point implements an outgoing interface that is able to initiate actions, such as firing events and change notifications, on other objects. By exposing a connection point, a source allows sinks to establish connections to the source. See also connectable object.

connection string

Or connect string. In ODBC, a string expression used to open an external database.

console

An interface that provides input and output to character-mode applications. This processor-independent mechanism makes it easy to port existing character-mode applications or to create new character-mode tools and applications.

console application

  1. A character-mode application that uses a console window for its input and output. If necessary, the operating system will create a new console window, which exists until the application terminates.

  2. More generally, a program that runs from the operating system's command line, in character-mode, rather than from a graphical user interface.

constant

An object or variable that is not modifiable. In C++, the keyword const can be used to define constant values. See also manifest constant.

constant expression

An expression that is evaluated at compile time instead of run time. The constant expression can be used in any place that a constant can be used, but it must evaluate to a constant that is in the range of representable values for that type.

constructor

In C++, a special initialization function that is called automatically whenever an instance of a class is declared. This function prevents errors that result from the use of uninitialized objects. The constructor must have the same name as the class itself and must not return a value. See also copy constructor, default constructor, destructor.

container application

Or OLE container. An application that can incorporate embedded or linked items into its own documents. The documents managed by a container application are able to store and display OLE Visual Editing items as well as data created by the application itself. A container application allows users to insert new items or edit existing items. See also server application.

containment

A composition technique for accessing one or more COM objects via a single interface. It allows one object to reuse some or all of the interface implementations of one or more other objects. The outer object manages requests to other objects, delegating implementation when it uses the services of one of the contained objects. Contrast with aggregation.

context identifier (ID)

Or context reference. A unique number or string that corresponds to a particular object in the application — for example, to a menu command, form, control, or screen region. Context IDs are used to create links between the application and the corresponding Help topics.

context number

The number used to identify a Windows Help topic. If context numbers are not explicitly assigned to topics, the Help compiler generates default values by converting topic strings into context numbers. The [MAP] section of a Help project (.HPJ) file associates a context string and a context number. See also context string.

context string

A unique character string formatted as hidden text in a rich-text format (.RTF) file. Context strings link "hot spots" to target topics. The [MAP] section of a Help project (.HPJ) file associates a context string and a context number. See also context number.

control

An embeddable, reusable COM object that supports, at a minimum, the IOleControl interface. Controls are typically created for the user interface, but they also support communication with a control container. They can be reused by multiple clients, depending upon licensing restrictions.

control bar

A window that can contain buttons, edit boxes, check boxes, or other kinds of Windows controls. A control bar is usually aligned with the top or bottom of a frame window and provides quick, one-step command actions. Control bars include toolbars, status bars, and dialog bars.

control container

An application that supports the embedding of controls by implementing the IOleControlSite interface. See also control.

control identifier (ID)

A 16-bit value that an application uses to uniquely identify a child control. This ID is used in notification messages to the parent window when events, such as input from the user, occur in the control.

control property

A run-time property that is exposed and managed by the control itself. For example, the font and text size used by the control are control properties. See also run-time property.

controlling object

The object that manages access to the contained aggregate objects. See also containment.

conversion function

  1. In C++, a special member function that makes an explicit conversion from a given class type to another data type by using the operator type-name( ) syntax. Conversion functions are often called "cast operators" because they are the functions called when a cast operator is used.

  2. More generally, any function that converts one data type or format to another data type or format.

cookie

A unique identifier that is opaque (not aliased to anything else). The cookie may be an index, a hash value, or a pointer to some object in memory, but only the subsystem knows this. To the subsystem user, the cookie is just the name of a resource.

coordinate space

A planar space based on the Cartesian coordinate system.

coordinated universal time

A global time standard equivalent to Greenwich mean time (GMT).

copy constructor

In C++, a constructor with one parameter, whose type is a reference to another instance of the class. If a class is declared without a copy constructor, the compiler will generate one automatically. The copy constructor is used when an instance is created from another instance (for example, an assignment from one instance of the class to another).

CRC

An error-detecting method that uses a polynomial code. The method is sometimes referred to as the polynomial code.

critical section

A segment of code which is not reentrant; that is, it does not support concurrent access by multiple threads. Often, a critical section is used to protect shared resources

cross compilation

A compilation of source code that takes place on one hardware platform but generates object code for another. For example, object code for the Power Macintosh can be compiled on an Intel-based Windows platform. See also compilation, object code.

CSLIP

SLIP with data compression for a more efficient connection. See also Serial Line Internet Protocol (SLIP).

cursor resource file

A file that contains an image that defines the shape of a cursor on the screen. Cursor resource files usually have a .CUR filename extension.

custom control

A special-format dynamic-link library (DLL) or object file that adds features and functionality to a Windows-based application user interface. A custom control can be a variation on an existing Windows dialog-box control (for example, a text box suitable for use with a pen and digitizing tablet) or an entirely new category of control. See also ActiveX control.

custom interface

An interface that uses no built-in mechanisms for marshaling, providing user-defined (custom) marshaling instead.

custom resource

Or application-defined resource. A resource that a developer creates and adds to an application's executable file that contains data required by the application. See also standard resource.

cyclic redundancy check

An error-detecting method that uses a polynomial code. The method is sometimes referred to as the polynomial code.


Glossary D

DAG

In programming, an abstract data type often used to represent arbitrary relationships between objects. The graph consists of nodes (data objects) connected by paths that have direction; there are no cycles in the graph. In object-oriented program design, DAGs are useful for depicting inheritance relationships among classes.

DAO

A high-level set of objects that insulates developers from the physical details of reading and writing records. In a database application, for example, these objects include databases, table definitions, query definitions, fields, indexes, etc.

DAO record field exchange

The mechanism by which the MFC DAO classes transfer data between the field data members of a recordset object and the corresponding columns of an external data source. See also record field exchange (RFX), bulk record field exchange (Bulk RFX), dialog data exchange (DDX).

Data Access Objects

A high-level set of objects that insulates developers from the physical details of reading and writing records. In a database application, for example, these objects include databases, table definitions, query definitions, fields, indexes, etc.

data binding

A notification mechanism that links control properties through the container to a data source, such as a database field.

data declaration

A statement within a program that specifies the characteristics of a variable. Most programming languages allow (or require) specification of a variable's name and data type and possibly its initial value as well. Array declarations usually require a size specification in addition to the name and type, and record declarations must specify the elements of the record. See also data type, type declaration.

data definition language

Or database design language, data design language. A language, usually a part of a database management system, that defines all attributes and properties of a database, especially record layouts, field definitions, key fields (and, sometimes, keying methodology), file locations, and storage strategy.

data field

  1. A well-defined portion of a data record, such as a column in a database table.

  2. The physical representation of a unit of data.

data file

A file consisting of data — text, numbers, or graphics, for example. Such a file is distinct from a program file of executable instructions.

data fork

The portion of an Apple Macintosh file that contains user-supplied information. See also resource fork.

data handle

In Microsoft Windows, a 32-bit value used to provide access to data in a dynamic data exchange (DDE) object.

data link

A connection that passes values between two objects or locations.

data map

In MFC, a mechanism that automates the process of gathering values from a dialog box by providing functions to initialize the controls in the dialog box with the proper values, retrieve the data, and validate the data.

data member

A data object defined as part of a class. See also member function.

data segment

The portion of memory or auxiliary storage that contains the data needed by an application or a portion of an application. Usually, the data segment is readable and writable.

data source

In ODBC, a specific set of data, the information required to access that data, and the location of the data source, which can be described using a data source name. From a program's point of view, the data source includes the data, the DBMS, the network (if any), and ODBC.

data source name

The name of a data source that applications use to request a connection to the data source. For example, a data source name can be registered with ODBC through the ODBC Administrator program.

data structure

An organizational scheme, such as a record or an array, applied to data so that it can be interpreted and so that specific operations can be performed on that data.

data symbol

The name that identifies the memory location of a global or static data object. The concept of data symbol includes all data objects except local (stack-allocated) or dynamically allocated data.

data transfer object

An object that implements the IDataObject interface and contains data to be transferred from one object or application to another through either the Clipboard or drag-and-drop operations.

data type

In programming, a definition of a set of data that specifies the possible range of values of the set, the operations that can be performed on the values, and the way in which the values are stored in memory. See also aggregate type, scalar type.

data-access application

An application used to access data, typically in a database. See also database application.

database application

An application that manages files consisting of a number of records (or tables), each of which is constructed of fields (columns) of a particular type, together with a collection of operations that facilitate searching, sorting, recombination, and similar activities. See also data-access application, relational database.

database form

A structured window, box, or other self-contained presentation element built into a database application that allows the user to perform a variety of data-access tasks, including data entry, read-only examination of data, and data updates. The form acts as a visual filter for the underlying data it is presenting, generally offering the advantages of better data organization and greater ease of viewing.

database management system

A layer of software between the physical database and the user. The DBMS manages all requests for database action (for example, queries or updates) from the user. Thus, the user is spared the necessity of keeping track of the physical details of file locations and formats, indexing schemes, and so on. In addition, a DBMS may permit centralized control of security and data-integrity requirements.

database schema

A description of the current structure of tables and views in a database. The schema describes the columns in each table and the data type of each column.

datagram

Describes a communications protocol or transport in which data packets are routed independently of each other and may follow different routes and arrive in a different order from which they were sent. UDP and IPX are examples of transport-layer datagram protocols. Contrast with streaming.

datagram socket

A connectionless socket that provides a bidirectional flow of data. Datagram data may arrive out of order and possibly duplicated, but record boundaries in the data are preserved, as long as the records are smaller than the receiver's internal size limit. An example of a datagram socket is an application that keeps system clocks on the network synchronized. See also stream socket, transport protocol.

DBCS

A character set that can be used to represent Far Eastern languages that use ideographic characters. Like a multibyte character set (MBCS), a DBCS contains both single- and double-byte characters. DBCS characters are addressed using two bytes. The DBCS single-byte characters conform to the 8-bit national standards for each country and correspond closely to the ASCII character set. See also lead byte, trail byte, Unicode.

DBMS

A layer of software between the physical database and the user. The DBMS manages all requests for database action (for example, queries or updates) from the user. Thus, the user is spared the necessity of keeping track of the physical details of file locations and formats, indexing schemes, and so on. In addition, a DBMS may permit centralized control of security and data-integrity requirements.

DC

A data structure defining the graphic objects, their associated attributes, and the graphic modes affecting output on a device. See also graphic object, metafile.

DCE

The Open Software Foundation’s specification for a set of integrated services, including remote procedure calls, distributed file systems, and security services. The OSF-DCE RPC standard is the basis for Microsoft RPC.

DDB

There are two types of DDBs: discardable and nondiscardable. A discardable DDB is a bitmap that is discarded if the bitmap is not selected into a device context and if system memory is low. Device-dependent bitmaps are supported only for compatibility with applications written for earlier Windows versions. A developer writing a new application, or porting an application written for a previous version of Windows to the Win32 platform, should use device-independent bitmaps.

DDE

A form of interprocess communications that uses shared memory to exchange data between applications. DDE can be used for one-time data transfers and for ongoing exchanges by applications that send updates to one another as new data becomes available. See also client/server, OLE Automation.

DDL

Or database design language, data design language. A language, usually a part of a database management system, that defines all attributes and properties of a database, especially record layouts, field definitions, key fields (and, sometimes, keying methodology), file locations, and storage strategy.

DDV

In MFC, a method for checking data as it is transferred from the controls in a dialog box. DDV is an easy way to validate data entry in a dialog box. See also dialog data exchange (DDX).

DDX

In MFC, a method for transferring data between the controls of a dialog box and their associated variables. DDX is an easy way to initialize the controls in a dialog box and to gather data input by the user. See also dialog data validation (DDV).

dead key

On some non-English keyboards, a key that is used with another key to create an accented character. A dead key, when pressed, produces no visible character but indicates that the diacritic it represents is to be combined with the character produced by the next letter key pressed.

deadlock

A state in which every process in a set of processes is waiting for an event or resource that only another process in the set can provide. For example, in data communications, a deadlock can occur when both the sending and receiving sockets are waiting on each other, or for a common resource.

debug memory allocator

A memory allocation function that allows you to validate and track the memory allocated for your objects on the global heap. For example, the Debug version of the Microsoft Foundation Class Library has memory allocation functions.

debug monitor

Or remote monitor. A small program that resides on the target machine and controls the execution of the remote program and communication with the Microsoft Visual C++ debugger. See also remote debugging.

debug terminal

A dumb terminal or computer other than the developer's primary machine, to which debugging output is sent.

debug version

  1. A version of a program built with symbolic debugging information. See also release version.

  2. Or debug library. A library version (for example, of the Microsoft Foundation Class Library) that includes diagnostic aids and performs various integrity checks to aid in debugging a program. See also release version.

debugger

A program designed to help find errors in another program by allowing the programmer to step through the program, examine data, and check conditions. There are two basic types of debuggers. Machine-level debuggers display the actual machine instructions (disassembled into assembly language) and allow the programmer to look at registers and memory locations. Source-level debuggers let programmers look at the original source code, examine variables and data structures by name, and so on.

debugging event

An incident in the process being debugged that causes the kernel to notify the debugger. Debugging events include creating a process, creating a thread, loading a dynamic-link library (DLL), unloading a DLL, sending an output string, and generating an exception.

debugging information

Symbolic information used by a debugger, especially information in the Microsoft Symbolic Debugging Information format that is used by the Microsoft CodeView debugger. Also, any data (information) generated by the debugging process.

declaration

A statement that binds an identifier to the information that relates to it. For example, to declare a constant means to bind the name of the constant with its value. To declare a variable means to bind the variable's name with a location in memory and with the information about the variable's data type. Declaration usually occurs within the source code of a program; the actual binding can take place at compile time or run time. Declaration can be performed explicitly (by specifying the identifier and relevant information in a declare statement) or implicitly (by using the undeclared identifier in a statement), depending on the language being used.

declaration statement

A statement used to declare the names and data types of constants, variables, user-defined data types, and procedures. In C++, the declaration statement can also be an executable statement. For example:

int i = fCount( );

declares an integer variable i and assigns it the value returned from the call to fCount( ).

declarator

The part of a declaration that names an object, type, or function. In C/C++, declarators appear in a declaration as one or more names separated by commas; each name can have an associated initializer.

decorated name

Or type-safe name, mangled name. In C++, a compiler-generated string that contains an undecorated (literal) name followed by a string of characters that the compiler and linker use to retain type information. Name decoration is necessary to resolve ambiguities that arise in C++ from having more than one function, for example, with the same name.

decrement (--) operator

An operator that specifies that its integral or floating-point operand be decreased by the integer value 1. A decremented pointer points to the previous object. In the prefix form (--i), the decrement takes place before the value is used in expression evaluation; in the postfix form (i--), the decrement takes place after the value is used in expression evaluation. See also increment (++) operator.

default argument

In a C++ function definition, an argument with an assigned value that specifies the value an argument should assume if none is supplied in the function call.

default constructor

In C++, a constructor that either accepts no arguments or for which all arguments have a default value. The default constructor can be defined by the user or generated by the compiler. See also constructor, copy constructor.

default message processing

Message processing carried out by a default window procedure on any window messages for which there is not an explicit procedure defined in the application. In applications based on the Microsoft Foundation Class Library, DefWindowProc is the default window procedure.

default object handler

A DLL provided with Automation that acts as a surrogate for the real object in the processing space of the container application. With the default object handler, it is possible to look at an object's stored data without actually activating the object. The default object handler performs other tasks, such as instantiating an object from its cached state when the object is loaded into memory.

default value

A value that the system or software assumes, unless the user makes an explicit choice.

default window procedure

A system-defined function that defines certain fundamental behavior shared by all windows. A default window procedure provides default processing for nonclient–area messages, system commands, system keystrokes, and other messages that the application-defined window procedure does not specifically handle. See also window procedure.

definition

A construct that initializes and allocates storage for a variable, function, or class. For a function, the definition specifies the name, formal parameters, body, and return type; for a class, the definition specifies its data members and functions. See also declaration.

delayed rendering

Formatting data when it is requested, rather than when it first becomes available. For example, when placing a Clipboard format on the Clipboard, a window can delay transferring the data to that format until the data is needed. This is useful if the application supports several Clipboard formats, some or all of which are time-consuming to render.

delimiter

A special character that sets off, or separates, individual items in a program or in a set of data. Programming languages typically delimit such variable-length elements as comments, strings, and program blocks. Databases use two forms of delimiters: field delimiters and record delimiters. Characters used as delimiters include commas, semicolons, tabs, carriage returns, and colons.

derived class

In object-oriented programming, a class that is created from another class, called the "base class." A derived class inherits all the features of its base class. See also inheritance, polymorphism.

descendant

  1. In object-oriented programming, a class that is derived from another class. See also base class, derived class, inheritance.

  2. Generally, a process or task that is called by another process or task and whose characteristics and behavior are determined, at least in part, by the originating process or task. See also child process, child window.

descendant window

A child window that is derived from a parent window. A child window has only one parent window, but a parent can have any number of child windows. Each child window, in turn, can have child windows. In this chain of windows, each child window is called a descendant window of the original parent window.

description block

In a makefile, a dependency line that specifies a block of commands to run if the listed targets and their dependents are out of date.

deserialization

Re-creating an object by reading its state from persistent storage (usually a file) and reconstructing it in memory. See also serialization.

Desktop Management Interface

A protocol-independent, multiplatform interface for workstation and network components.

desktop window

A system-defined window that paints the background of the screen and serves as the base for all windows displayed by all Windows-based applications.

destructor

In C++, a member function that is automatically called when a class object is destroyed (either by being explicitly deallocated or by going out of scope). Its purpose is to perform any cleanup work necessary before an object is destroyed. The destructor's name is the class name with a tilde (~) as a prefix. See also constructor.

Visual C++ Project file

Formerly known as the .MAK file. The project build file that specifies how to build a particular project in a project workspace. The file contains source file names and locations, build settings, and debug settings, including breakpoints and watches. In terms of source control, .DSP files can be shared.

Visual C++ Workspace file

A file created and maintained by Visual C++ that contains information formerly stored as part of the .MDP file. The file contains information about the project workspace such as a list of all the projects. This file is used by Visual C++ and should not be edited by the user. In terms of source control, the .DSW file can be shared.

development environment

In Microsoft Visual Studio, an integrated set of Windows-based tools for completing, testing, and refining an application. Microsoft Visual Studio includes such features as various editors, project build facilities, compiler, an incremental linker (for C++), class viewer, and an integrated debugger.

device context

A data structure defining the graphic objects, their associated attributes, and the graphic modes affecting output on a device. See also graphic object, metafile.

device driver

A low-level software component that permits device-independent software applications to communicate with a device such as a mouse, keyboard, monitor, or printer.

device-dependent bitmap

There are two types of DDBs: discardable and nondiscardable. A discardable DDB is a bitmap that is discarded if the bitmap is not selected into a device context and if system memory is low. Device-dependent bitmaps are supported only for compatibility with applications written for Windows versions earlier than 3.0. A developer writing a new application, or porting an application written for a previous version of Windows to the Win32 platform, should use device-independent bitmaps.

device-independent

A characteristic of software and files that generate the same output regardless of the hardware involved. A device-independent program could, for example, issue the same command to draw a rectangle regardless of whether the output device was a printer, a plotter, or a screen display.

device-independent bitmap file

A file containing an array of bits combined with several structures that specify the width and height of the bitmapped image (in pixels), the color format of the device where the image was created, and the resolution of the device used to create that image. The DIB file format ensures that bitmap graphics created in one application can be loaded and displayed in another application exactly the way they appear in the originating application. See also bitmap, bitmap file.

device-mode setting

A user-selected setting that contains information used by the relevant device driver. For example, device-mode settings for a laser printer setup could specify whether printing is to be in landscape or portrait mode, the size of paper used, and the quality of printing.

DFX

The mechanism by which the MFC DAO classes transfer data between the field data members of a recordset object and the corresponding columns of an external data source. See also record field exchange (RFX), bulk record field exchange (Bulk RFX), dialog data exchange (DDX).

diagnostic services

Services that facilitate program debugging. Diagnostic services include functions and macros to resolve assertions, errors, and exceptions; trace memory allocations; and resolve leaks; and report debug messages to the user — all during run time. In Microsoft Visual C++, most of these services require the debug version of the C run-time library.

dial on demand

In ISDN, a dial-up router function that activates a remote link only when data needs to be sent.

dialog bar

A control bar that contains standard Windows controls. A dialog bar has dialog-box characteristics in that it contains controls and supports tabbing between them, and it uses a dialog template to represent the bar. Dialog bars can be aligned to the top, bottom, left, or right side of a frame window. See also status bar.

dialog box

In Windows, a child window used to retrieve user input. A dialog box usually contains one or more controls, such as buttons, list boxes, combo boxes, and edit boxes, with which the user enters text, chooses options, or directs the action of the command.

dialog data exchange

In MFC, a method for transferring data between the controls of a dialog box and their associated variables. DDX is an easy way to initialize the controls in a dialog box and to gather data input by the user. See also dialog data validation (DDV).

dialog data validation

In MFC, a method for checking data as it is transferred from the controls in a dialog box. DDV is an easy way to validate data entry in a dialog box. See also dialog data exchange (DDX).

dialog editor

A resource editor that allows you to place and arrange controls in a dialog-box template and to test the dialog box. The editor displays the dialog box exactly as the user will see it. While using the dialog editor, you can define message handlers and manage data gathering and validation with the ClassWizard.

dialog file

A file that contains dialog-box source code. Note that a dialog file is not required for a Visual C++ project because Visual C++ keeps this code in the resource-definition file.

dialog template

A template used by Windows to create a dialog window and display it. The template specifies the characteristics of the dialog box, including its overall size, initial location, and style, and the types and positions of its controls. A dialog template is usually stored as a resource, but templates can also be stored directly in memory. See also dialog file, dialog editor, resource-definition file.

dialog unit

A unit of horizontal or vertical distance within a dialog box. A horizontal DLU is the average width of the current dialog-box font divided by 4. A vertical DLU is the average height of the current dialog-box font divided by 8.

dialog-based architecture

An application that uses dialog boxes for user input. See also SDI, MDI.

digital signature

An electronic identifier used for security. It verifies that the document originated from the individual whose signature is attached to it and that it has not been altered since it was signed. Usually accomplished using some form of encryption.

dimension

The zero-based number or numbers inside brackets in an array declaration that define the array’s size. For example, char p[10] declares a one-dimensional character array that has ten elements. To declare arrays of two or more dimensions, place each dimension in its own set of brackets, as in char x[10] [20].

dimmed

Or disabled, grayed, unavailable. The state and visual appearance of controls or menu items whose functionality is not presently available to a user.

direct mode

A file-access mode that saves changes to the document as they are made. See also transacted mode.

directed acyclic graph

In programming, an abstract data type often used to represent arbitrary relationships between objects. The graph consists of nodes (data objects) connected by paths that have direction; there are no cycles in the graph. In object-oriented program design, DAGs are useful for depicting inheritance relationships among classes.

dirty

Indicates that a file, object, or data item has been changed since the last time it was saved. Usually describes a flag or bit that is set to 1 when data changes and back to 0 when the data is saved to disk.

disjoint figure

A figure that consists of a set of points that are not logically sequential or physically adjacent to each other.

disk drive

A physical device that reads from or writes to disks. Disk drives are referenced by letters, typically A: for the first floppy-disk drive, B: for the second floppy-disk drive, C: for the first fixed-disk drive, D: for the second fixed-disk drive, and so on. Each drive (whether physical or logical) on an operating system is assigned a unique letter to distinguish it from other drives.

dispatch identifier (ID)

A 32-bit attribute value for identifying methods and properties in OLE Automation. All of the accessor functions for a single property have the same dispatch ID. The low-order 16 bits of the dispatch ID contain the distance from the top of the dispatch map; the high-order 16 bits contain the distance from the most derived class.

dispatch interface

In OLE Automation, the external programming interface of some grouping of functionality exposed by the automation server. For example, a dispatch interface might expose an application's mouse clicking and text data entry functions. See also type library file.

dispatch map

In MFC, a set of macros that expands into the declarations and calls needed to expose methods and properties for OLE Automation. The dispatch map designates the internal and external names of object functions and properties, as well as the data types of the function arguments and properties.

display device context

A device context, created by Windows, that an application uses to paint and draw on a video display. Windows prepares a display device context for each window, or the screen, setting the drawing objects, colors, and modes for the device.

Distributed Computing Environment

The Open Software Foundation’s specification for a set of integrated services, including remote procedure calls, distributed file systems, and security services. The OSF-DCE RPC standard is the basis for Microsoft RPC.

Distributed Management Environment

A strategy developed to manage distributed heterogeneous networks that conform to DCE.

dithering

A technique for increasing the perceived range of colors in an image at the cost of spatial resolution. Adjacent pixels are assigned differing color values; when viewed from a distance, these colors seem to blend into a single intermediate color. The technique is similar to the half-toning used in black-and-white publications to achieve shades of gray.

DLU

A unit of horizontal or vertical distance within a dialog box. A horizontal DLU is the average width of the current dialog-box font divided by 4. A vertical DLU is the average height of the current dialog-box font divided by 8.

DME

A strategy developed to manage distributed heterogeneous networks that conform to DCE.

DMI

A protocol-independent, multiplatform interface for workstation and network components.

dockable toolbar

A toolbar that can be attached, or "docked," to any side of its parent window, or "floated" in its own mini-frame window. See also docked toolbar, floating toolbar.

docked toolbar

A toolbar that is attached, or "docked," to any side of its parent window. See also dockable toolbar, floating toolbar.

document

  1. (noun) Any self-contained piece of work created with an application program and, if saved on disk, given a unique filename by which it can be retrieved.

  2. (verb) To explain or annotate something, such as comments within a program or a description of a problem in a bug report.

document item

An object of a class derived from the CDocItem class, encapsulating some component of a document's data. Document items are used to represent OLE items in both client and server documents. See also client item, server item.

document object

An object that defines, stores, and manages an application's data. When the user opens an existing or new document, the application framework creates a document object to manage the data stored in the document.

document template

In MFC, a template used for the creation of documents, views, and frame windows. A single application object manages one or more document templates, each of which is used to create and manage one or more documents (depending on whether the application is SDI or MDI). Applications that support more than one type of document, such as spreadsheets as well as text, have multiple document template objects.

document window

In windowing environments, an on-screen window (enclosed work area) in which the user can create, view, or work on a document.

document/view architecture

A design methodology that focuses on what the user sees and needs rather than on the application or what the application requires. This design is implemented by a set of classes that manage, store and present application-specific data. These classes can manipulate disk-based data files (document objects), display a document's data (view objects), and automatically use a particular type of window (window objects).

domain name

  1. In general networking, a logical grouping of machines for network administration purposes.

  2. In TCP/IP, the unique name that identifies an Internet or network site. Domain names always have two or more parts, separated by dots (for example, microsoft.com or www.microsoft.com). The part on the left is the most specific, and the part on the right is the most general. A given machine may have more than one domain name, but a given domain name points to only one machine.

dots per inch

A measure of screen and printer resolution that is expressed as the number of dots per horizontal or vertical inch that a device can print or display .

double-byte character set

A character set that can be used to represent Far Eastern languages that use ideographic characters. Like a multibyte character set (MBCS), a DBCS contains both single- and double-byte characters. DBCS characters are addressed using two bytes. The DBCS single-byte characters conform to the 8-bit national standards for each country and correspond closely to the ASCII character set. See also lead byte, trail byte, Unicode.

doubleword

Or DWORD. A unit of data consisting of 4 contiguous bytes that are processed as a single unit by a computer's microprocessor.

DPI

A measure of screen and printer resolution that is expressed as the number of dots per horizontal or vertical inch that a device can print or display .

drag-and-drop

A technique for moving or copying data between applications, between windows within an application, or within a single window in an application. The user selects the data to be transferred and drags the data to the desired destination.

driver

  1. A hardware device that controls or regulates another device. A line driver, for example, boosts signals transmitted over a communications line, and a bus driver amplifies and regulates signals transmitted over a bus (data pathway).

  2. A program that controls a device such as a printer or a mouse. See also device driver.

drop source

In a drag-and-drop operation, the window from which the user selects data for transfer. See also drop target.

drop target

In a drag-and-drop operation, the destination window where the user drops the data being transferred. See also drop source.

drop-down combo box

A combo box that contains a drop-down list and a selection field that the user can edit.

drop-down list

A list in a combo box that displays the current setting, but can be opened to display a list of choices. The user can select an item from the list to update the current setting.

drop-down menu

A menu that is displayed when the user selects a particular entry from a menu bar. See also pop-up menu.

DSN

The name of a data source that applications use to request a connection to the data source. For example, a data source name can be registered with ODBC through the ODBC Administrator program.

dual interface

An interface that derives from IDispatch and supports both late-binding via IDispatch and early-binding (VTBL binding) via direct COM methods for each of its automation methods.

DUMPBIN

The Microsoft COFF Binary File Dumper (DUMPBIN.EXE). DUMPBIN displays information about 32-bit Common Object File Format (COFF) binary files. DUMPBIN can be used to examine COFF object files, standard libraries of COFF objects, executable files, and dynamic-link libraries (DLLs). DUMPBIN is a 32-bit tool that runs only from a command prompt.

dynamic binding

Especially in OLE, the conversion of symbolic addresses to memory addresses during program execution. More commonly called dynamic linking in Win32. Contrast with static binding.

dynamic creation

The process of creating an object of a specific class at run time. Do not confuse this dynamic creation of an object with the creation of a dynamic object, using the C++ new operator. Dynamic creation is not supported directly by the C++ language. Objects derived from the MFC class CObject can have this functionality.

dynamic data exchange

A form of interprocess communications that uses shared memory to exchange data between applications. DDE can be used for one-time data transfers and for ongoing exchanges by applications that send updates to one another as new data becomes available. See also client/server, OLE Automation.

dynamic link

A program link, to a library or to an object, that is established when the program is loaded into memory (load-time dynamic linking) or while it is running (run-time dynamic linking). See also dynamic-link library file, static link.

dynamic priority

A thread priority value used by the scheduler in making scheduling decisions. The value for each thread can never be lower than the thread's base priority, but it can be raised and then lowered to enhance responsiveness to input or other significant events.

dynamic splitter window

A split-window style in which additional panes are created and destroyed as the user splits and unsplits views. Microsoft Excel and Microsoft Word are examples of applications that offer the dynamic splitter style. See also static splitter window.

dynamic-link library file

A file that contains one or more functions that are compiled, linked, and stored separately from the processes that use them. In Win32, the operating system maps the dynamic-link libraries (DLLs) into the address space of a process when the process is starting up or while it is running. The process then executes functions in the DLL. Dynamic-link library files usually have a .DLL filename extension.

dynaset

A recordset (or set of records) with dynamic properties that is the result of a query on a database document. A dynaset can be used to add, change, and delete records from the underlying database table or tables. See also snapshot.


Glossary E

edit buffer

In MFC database classes, a buffer that contains the current record during an update. Update operations may use this buffer to manage changes to the data source.

edit control

Or edit box, text box. A rectangular control window that a user can use to type and edit text. See also static control.

EDITBIN

Or COFF Binary File Editor. The Microsoft 32-Bit binary file editor for modifying 32-bit Common Object File Format (COFF) binary files. Use EDITBIN to modify object files, executable files, and dynamic-link libraries (DLLs). You can also use EDITBIN to convert the format of an Object Model Format (OMF) input file to COFF.

embedded item

Or embedded object. A type of compound-document item in which all the information needed to manage the item is stored in the container document, but which is created and edited by a server application. Embedded items can be edited or activated in-place. See also linked item.

encapsulation

In object-oriented programming, the process of hiding the internal workings of a class to support or enforce abstraction. A class's interface, which is public, describes what a class can do, while the implementation, which is private or protected, describes how it works.

encryption

The transformation of data into a form unintelligible to anyone without a secret decryption key and algorithm. Its purpose is to ensure privacy by keeping the information hidden from anyone for whom it is not intended.

end of file

A value returned by an I/O routine when the end of a file (or, in some cases, an error) is encountered. The iostream library function eof returns TRUE on the end-of-file condition. When a file is opened in text mode, a logical end of file occurs whenever a CTRL+Z character is encountered.

entry point

A starting address for a function, executable file, or dynamic-link library.

environment variable

A symbolic variable that represents an element of the user's operating system environment, such as a path, a directory name, or a configuration string. For example, the environment variable PATH represents the directories to search for executable files.

EOF

A value returned by an I/O routine when the end of a file (or, in some cases, an error) is encountered. The iostream library function eof returns TRUE on the end-of-file condition. When a file is opened in text mode, a logical end of file occurs whenever a CTRL+Z character is encountered.

epilog code

See prolog/epilog code sequence.

error message

A message from the system or a program advising the user of a problem that requires human intervention in order to be solved.

escape sequence

In C/C++, a character combination consisting of a backslash (\) followed by a letter or by a combination of digits. An escape sequence is regarded as a single character and is therefore valid as a character constant. Escape sequences are typically used to provide literal representations of nonprinting characters, such as the newline character (\n) and characters that have special meanings in the C/C++ language, such as the double quotation mark (\").

event

  1. In OLE, a notification message sent from one object to another (e.g. from a control to its container) in response to a state change or a user action.

  2. More generally, any action or occurrence, often generated by the user, to which a program might respond. Typical events include keystrokes, mouse movements, and button clicks.

event object

A synchronization object that allows one thread to notify another that an event has occurred. Event objects are useful when a thread needs to know when to perform its task. For example, a thread that copies data to a data archive would need to be notified when new data is available. By using an event object to notify the copy thread when new data is available, the thread can perform its task as soon as possible.

exception

An abnormal condition or error that occurs during the execution of a program and that requires the execution of software outside the normal flow of control. Examples of exceptions are running out of memory, resource allocation errors, and failure to find files. See also C++ exception handling, structured exception handling (SEH).

exception handler

A block of code that reacts to a specific type of exception. If the exception is for an error from which the program can recover, the program can resume executing after the exception handler has executed. In this case, execution will resume where the exception was handled, not at the place where it was generated.

executable file

A program file created from one or more source code files translated into machine code and linked together. The MS-DOS, Windows, and Windows NT operating systems use the .EXE filename extension to indicate that the file is a runnable program.

execution character set

The character set on the machine where the program executes. For Microsoft C and C++, the execution set is the standard ASCII character set. See also source character set.

explicit initializer

An initial value that is explicitly stated when a program variable is declared. In C++, a single initializer can be supplied with the simple-assignment (=) operator, as follows:

int nCount = 0;

or an initializer list can be supplied, enclosed in parentheses:

CString strFileName("FILE.DAT");
CRect *pRect = new CRect(10, 15, 24, 97);

explicit linking

The process in which an executable file must make function calls to load and unload a DLL and to access the DLL’s exported functions. The client executable must call the exported functions through a function pointer. Contrast with implicit linking.

exported function

One called by other executing entities, such as DLLs or executable files. Typically, a DLL will need to export functions to allow its clients to control it. Functions can be exported by using either a module-definition (.DEF) file or the __declspec (dllexport) storage-class modifier, a Microsoft-specific extension to the C language. This modifier ensures that other applications and dynamic-link libraries will be able to obtain, dynamically at runtime, the address of the variable or function to which it applies. See also imported function.

exports file

A file that contains information about exported functions and data items. The Microsoft 32-Bit Library Manager tool (LIB.EXE) generates the exports file from the module-definition (.DEF) file. The linker uses the exports file to build the dynamic-link library (.DLL) file. Exports files have a .EXP filename extension.

exposed interface

In C++, the public members of a class that are accessible to client code.

expression

A sequence of tokens that can be evaluated.

expression statement

An expression followed by a semicolon (;). All expressions in an expression statement are evaluated and all side effects are completed before the next statement is executed. The most common expression statements are assignments and function calls.

extended property

A run-time property, such as a control's position and size, that is exposed and managed by the container instead of by the control. The implementation of extended properties makes them indistinguishable from normal properties.

external linkage

Specifies the way the names of objects and functions are shared between translation units. With external linkage, names can refer to program elements in any translation unit in the program — the program element is shared among the translation units and the same name in another translation unit is guaranteed to refer to the same object or class. Names with external linkage are sometimes termed "global." The keyword extern before a name declaration ensures external linkage. See also internal linkage.

external name

  1. In OLE Automation, an identifier that a class exposes to other applications. Automation clients use the external name to request an object of this class from an automation server.

  2. In C/C++, an identifier declared with global scope or declared using the extern storage class.

extraction (>>) operator

Or get-from operator, input operator. In C++, the right-shift operator, overloaded (in the iostream library) to accept input. The left operand must be the predefined input stream cin and the right operand must be a variable. See also insertion (<<) operator.


Glossary F

F1 Help

Context-sensitive Windows Help that the user obtains by pressing the F1 key. F1 Help opens Help on a topic associated with the currently selected item in the application. MFC supplies F1 Help for windows, dialog boxes, message boxes, menus, and toolbar buttons.

FAQ

Documents that list and answer the most common questions on a particular subject.

far pointer

Or long pointer. In 16-bit programming, a 32-bit pointer, which is a pointer that can point anywhere in memory because it specifies both the segment and the offset for a memory location. In 32-bit programming, all pointers are 32 bits wide and there is no need to distinguish between near and far pointers.

FAT

The file system that MS-DOS uses to store information on disks. The file allocation table, which the operating system creates when it formats a disk, holds information about the location of each file as it is stored. See also New Technology file system (NTFS), high-performance file system (HPFS).

fatal error

Or unrecoverable error, catastrophic error. An error that causes the system or a program to fail abruptly with no hope of recovery. An example of a fatal error is an uncaught exception that cannot be handled.

favorite

A reference in Internet Explorer to a page to which the user may want to return. Corresponds to "bookmark" in other browsers.

field data member

A data member of a recordset object that corresponds to a particular column (or field) in the query that the recordset represents. Collectively, these field data members make up a buffer that holds the fields of the current record. When the user scrolls to a new record, the database framework replaces the previous record's values with the values of the new current record.

file allocation table file system

The file system that MS-DOS uses to store information on disks. The file allocation table, which the operating system creates when it formats a disk, holds information about the location of each file as it is stored. See also New Technology file system (NTFS), high-performance file system (HPFS).

file buffer

A reserved portion of memory used to temporarily store data, pending an instruction to complete its transfer to or from a file.

file exception

An exception (abnormal condition or error) that occurs during the course of opening, reading from, or writing to a file. See also C++ exception handling.

file handle

A unique identifier that Windows assigns to a file when the file is opened or created. A file handle is valid until the file is closed.

file input/output (I/O)

The mechanism for making data persistent between program work sessions by creating files, reading from files, and writing to files.

file moniker

A name based on a path in the file system. A file moniker can be used to identify an object that is saved in its own file. See also moniker, item moniker, generic composite moniker.

file pointer

A pointer that specifies the next byte to be read or or the location to receive the next byte written in a file.

file scope

Or global scope. The degree of visibility of an identifier (C/C++ name) when it is declared outside all blocks or classes. The identifier is accessible anywhere in the translation unit after its declaration. See also class scope, function scope, function-prototype scope, local scope, external linkage.

file status

Information on whether the file exists, its creation and modification dates and times, its logical size in bytes, its attributes, and its path. See also file time.

file time

A 64-bit value that gives the file creation time, last access time, or last write time, as represented by the number of 100-nanosecond intervals that have elapsed since January 1, 1601. Windows records each file time in coordinated universal time (UTC) format. See also file status, system time.

File Transfer Protocol

A method of retrieving files to your home directory or directly to your computer using TCP/IP. Many Internet sites have established publicly accessible repositories of materials that can be obtained using FTP with the account name "anonymous." Thus, these sites are called "anonymous ftp servers."

filename extension

In the MS-DOS 8.3 filename convention, an optional period (.) followed by up to three characters that can be appended to the eight-character base filename. See also base name.

final class

In Java, a class that can have no subclasses.

final method

In Java, a method that cannot be overridden.

final variable

In Java, a variable whose value cannot be changed. Corresponds to the C++ constant.

firewall

Or proxy server. A system or combination of systems that enforces a one-way barrier between two or more networks, usually used for security purposes. Firewalls accomplish all communication between the network and outside.

fixup

  1. Information generated by the linker for addresses that cannot be determined at link time. For example, the linker creates fixups for addresses within the executable that are relative to the executable's base address and for addresses of dynamically loaded DLLs. The Windows loader uses this information to resolve these addresses when the program or DLL is loaded. See also relocation information.

  2. A record (FIXUPP) generated by the assembler for each address it cannot determine (for example, addresses of external symbols). The fixup contains the information the linker will need to determine the address.

flag

Broadly, a marker of some type used by a computer in processing or interpreting information. Such a signal indicates the existence or status of a particular condition. Depending on its use, a flag can be code, embedded in data, that identifies some condition, such as the beginning or end of a word or a message, or it can be one or more bits set internally by hardware of software to indicate an event of some type, such as an error or the result of comparing two values.

floating toolbar

A toolbar that can appear anywhere on the user's display and is always on top of all other windows. Its size or position can be modified when floating. See also dockable toolbar, docked toolbar.

floating type

A general category of arithmetic data types that are capable of storing a floating-point value (a number that may have a fractional part). The data types float, double, and long double are floating types. See also integral type.

floating-point function

A function that returns a value defined as a floating-point type — that is, a float, double, or long double. See also floating-point number.

floating-point number

Or real number. A value that may contain an integer component, a fractional component, or both. In C/C++, the data types float, double, and long double can store floating-point numbers.

flow control

In data communications, a mechanism to prevent the sender from transmitting data faster than the receiver can handle the incoming data. Flow control usually depends on a set of protocols established at the beginning of the transmission session that define how and when a sender may transmit.

focus

A temporary property of a user-interface object, such as a window, view, dialog box, or button, that permits the object to receive keyboard input from the user. The focus is usually conveyed through highlighting. See also top-level window.

font mapper

In Windows, an operating system component used to find the physical font that most closely matches a specified logical font. The font mapper uses an internal algorithm that compares the attributes of the requested logical font against the attributes of available physical fonts. This mapping occurs when the font is actually used for the first time. See also logical font, physical font.

font resource

A group of individual fonts representing characters in a given character set that have various combinations of heights, widths, and pitches. The Windows operating system maintains a font table containing all the fonts that applications can use. You can load font resources and add the fonts in each resource to this table by using the AddFontResource Windows function.

foreground color

The color that is currently selected for drawing or displaying text on screen. In monochrome displays, the foreground color is the color of a bitmap or other graphic. See also background color.

foreground window

Or active window. The window with which the user is currently working. The foreground window is identified by color changes to the title bar and border. See also topmost window, top-level window, focus.

form view

A program window whose client area contains dialog-box controls to permit entering, viewing, or altering data, generally in a form-based data-access application.

form-based application

An application whose user interface is based on a form containing controls in which a user examines, enters, or edits data.

formal argument

Or formal parameter. An argument that is declared in the function header and used in the body of a function. Calling functions pass values to called functions in "actual arguments." The called function accesses the values using its corresponding formal arguments.

formal parameter list

The parameters specified in a particular method or function definition. Contrasts with the actual parameter list, which appears in the declaration.

format

  1. As a noun, the structure or appearance of a unit of data, such as a file, fields in a database record, a cell in a spreadsheet, or the text in a word-processing document.

  2. As a verb, to change the appearance or organization of the selected material. To format a disk is to prepare a disk for use by organizing its storage space into a collection of data "compartments," each capable of being addressed by the operating system.

format string

A string that can contain specifications for various kinds of type formats as well as literal characters. For example, in the C statement

printf( "Total Expenses:  $%.2f \n",  Sum );

the format string (enclosed in double quotation marks) contains the literal string Total Expenses:  $, the formatting characters %.2f to print the value of Sum as a decimal number with two digits to the right of the decimal point, and the \n character to begin a new line.

formatting rectangle

In Windows, a construct for formatting the text displayed in the window rectangle. An application can make the formatting rectangle larger than the window rectangle (limiting the visibility of the edit control's text) or smaller than the window rectangle (thereby creating extra white space around the text).

forward reference

In C/C++, a reference to a class, variable, or function that has been declared but not yet defined.

frame window

In MFC, the window that coordinates the interactions of the application with a document and its view. The frame window provides a visible frame around a view, with an optional status bar and standard window controls such as a control menu, buttons to minimize and maximize the window, and controls for resizing the window. The frame window is responsible for managing the layout of its child windows and other client-area elements such as control bars and views. The frame window also forwards commands to its views and can respond to notification messages from control windows. In OLE, a frame window is the outermost main window where the container application's main menu resides. See also main frame window.

free threading model

A model in which an object that can be used on any thread at any time. Compare apartment-model threading, single threading model.

Frequently Asked Questions

Documents that list and answer the most common questions on a particular subject.

friend

A keyword used within a class declaration to specify that a function or another class has access to the private and protected members of the first class. The function or class specified with the friend keyword is considered a "friend" of the first class.

FTP

A method of retrieving files to your home directory or directly to your computer using TCP/IP. Many Internet sites have established publicly accessible repositories of materials that can be obtained using FTP with the account name "anonymous." Thus, these sites are called "anonymous ftp servers."

full link

A non-incremental build of program files in which an incremental status (.ILK) file is generated. The incremental status file has the same base name as the executable (.EXE) file or dynamic-link library (.DLL) file targeted by the link, and a .ILK filename extension. During subsequent incremental builds, the linker uses and updates the incremental status file. See also incremental link.

full-server application

In OLE, an application that can be run either as a stand-alone application or launched by a container application. A full-server application can store documents as files on disk and supports both embedding and linking. See also mini-server application, server application.

fully qualified path

Or absolute path. The location of a file or directory on a volume, including a drive letter and any intervening directory names. See also relative path.

function

  1. A block of code, consisting of a return type, function name, optional parameters, and statements, that performs one or more specific tasks within the source program and returns a value to the caller.

  2. The purpose of or the action carried out by a program, routine, or other object.

function body

The portion of a function definition that contains the declarations of its local variables and executable statements. See also function declaration.

function call

A postfix expression followed by parentheses containing a possibly empty, comma-separated list of expressions which constitute the actual arguments to the function.

function counting

A run-time analysis of a program in which the profiler records how many times each function was called, which is its "hit count." See also function profiling, function timing, function coverage, line counting.

function coverage

A run-time analysis of a program in which the profiler reports whether a function was called. This analysis shows which sections of code (functions) are not being executed. See also function counting, function profiling, function timing, line coverage.

function declaration

A statement consisting of a return type, followed by the function name, followed by a list of the names and types of formal parameters enclosed in parentheses. In C++, a function must be declared before it can be called. See also formal argument.

function definition

Specifies the name of the function, the types and number of parameters it expects to receive, and its return type. A function definition also includes a function body with declarations of the function's local variables and the statements that determine what the function does. Function definitions differ from function declarations in that they supply function bodies — the code that makes up the function.

function overloading

In C++, specifying more than one function of the same name but with different parameters, in the same scope. These functions, called overloaded functions, enable programmers to supply different semantics for a function, depending on the types and number of arguments. For example an overloaded function could be called print, regardless of whether it printed a single string, a list of integers, or all the data members of a class. The arguments supplied in the function call determine which print function is called. See also function overriding.

function overriding

In C++, redefining a member function of a base class from within a derived class. An overriding function has exactly the same name, parameters, and return type as the overriden function. See also function overloading.

function profiling

A run-time analysis of code execution by function, in which the profiler detects inefficiencies by counting and timing functions. See also function counting, function coverage, function timing, line profiling.

function scope

In C/C++, the degree of visibility of a label. Labels are accessible only within the function where they are declared. See also class scope, file scope, function-prototype scope, local scope.

function set

One or more functions or data objects that can be exported by a shared library so that they are available to other programs.

function template

  1. A mechanism for specifying a set of functions that are based on the same code but act on different types or classes. When a templated function is first called for each type, the compiler creates an "instantiation," a specialized version of the templated function for the type.

  2. A complete member function definition with an empty function body that ClassWizard writes in the source files that contain the class of which the member is a function.

function timing

A run-time analysis of a program in which the profiler records how many times each function was called (the hit count) as well as how much time was spent in each function and any called functions. See also function counting, function coverage, function profiling.

function-prototype scope

Or prototype scope. In C++, the degree of visibility of an identifier when it is declared within a function prototype. The identifier is accessible only to the function declarator (delimited by parentheses). Such identifiers are effectively comments, to make the parameters of the prototyped function readily apparent to a reader. See also class scope, file scope, function scope, local scope.

functionality

The features, operations, functions, or capability supported by a program or program component. Some examples of common functionality are serialization, in-place activation, OLE, and ODBC.

fundamental type

A data type that is built into the language. In C/C++, fundamental types can be divided into three categories: integral, floating, and void. Integral types are capable of handling whole numbers. Floating types are capable of specifying values that have fractional parts. The void type describes an empty set of values.


Glossary G

garbage collector

A process that periodically frees the memory used by objects that are no longer needed.

gateway

A host computer that connects networks that communicate using different protocols. For example, a gateway connects a company’s local area network to the Internet.

GDI

An executable program that processes graphical function calls from a Windows-based application and passes those calls to the appropriate device driver, which performs the hardware-specific functions that generate output. By acting as a buffer between applications and output devices, GDI presents a device-independent view of the world for the application while interacting in a device-dependent format with the device.

general protection fault

An exception that is raised when an application attempts to read from or write to an area of memory that is not owned by the application. Usually, an application must be terminated after a general protection fault.

generic composite moniker

A path and name that uniquely identifies an object. Its sequence begins with a file moniker and continues with one or more item monikers. See also composite moniker, item moniker, file moniker.

GIF

A form of graphics compression. See also Joint Photographic Experts Group (JPEG).

global

Universal, in the sense of being related to an entire file, document, program, or other entity. For example, a global variable is one that is accessible from anywhere in the program.

global variable

A variable that is accessible from anywhere in a program. A global variable has storage and maintains a value throughout the program's execution. See also file scope.

glyph

The bitmap, collection of points, or collection of graphic commands that define a single character or symbol in a font. See also bitmap.

Gopher

A client/server application that allows the user to browse large amounts of information. It presents the information to the user in a menu format. The original Gopher server was developed at the University of Minnesota.

GPF

An exception that is raised when an application attempts to read from or write to an area of memory that is not owned by the application. Usually, an application must be terminated after a general protection fault.

graphic object

One of the drawing tools, such as a pen, brush, bitmap, palette, and so on, that Windows provides for use in device contexts.

graphics device interface

An executable program that processes graphical function calls from a Windows-based application and passes those calls to the appropriate device driver, which performs the hardware-specific functions that generate output. By acting as a buffer between applications and output devices, GDI presents a device-independent view of the world for the application while interacting in a device-dependent format with the device.

Graphics Interchange Format

A form of graphics compression. See also Joint Photographic Experts Group (JPEG).

group-box control

A labeled rectangle used to define a group of related controls (usually check boxes or radio buttons) in a dialog box. The group box itself does not set any options; it is simply a graphical device used to improve the usability of complex dialog boxes. See also radio group.

guarded body of code

A set of one or more statements for which an exception or termination handler provides protection.


Glossary H

handler

  1. In OLE, a DLL that resides in a client process and performs some tasks on behalf of the server, while delegating other tasks back to the server itself.

  2. In general, a routine that manages a common and relatively simple condition or operation, such as error recovery or data movement. See also message handler.

hash value

The value of a key that has been numerically manipulated to directly calculate either the location of its associated record in a table or the starting point for a search for the associated record. If the key value is a character string, each possible character is assigned a numeric code to permit the numerical manipulation. The manipulation performed on the key value is known as the hashing function.

head

  1. The beginning of an item, such as a list, nonscrolling region, string, or transmission queue.

  2. In hardware, the read/write mechanism in a disk drive or magnetic tape drive, or the printing mechanism in a printer.

header control

In MFC, a window usually positioned above columns of text or numbers. The header control contains a title for each column, and it can be divided into parts. The user can drag the dividers that separate the parts to set the width of each column.

header file

An external source file, identified at the beginning of a program, that contains commonly used data types and variables used by functions in the program. The #include directive is used to tell the compiler to insert the contents of a header file into the program. See also C++ header file.

heap

  1. Or free store. A portion of memory reserved for a program to use for the temporary storage of data structures whose existence or size cannot be determined until the program is running. The program can request free memory from the heap to hold such elements, use it as necessary, and later free the memory.

  2. In sorting, a partially ordered complete binary tree.

heap allocation

Reserving memory for the needs of the program. See also heap, stack.

Help context

A string and a number (Help context ID) that an application passes during a call to Windows Help in order to locate and display a Help topic. See also Help map file, Help project file.

Help file

A file that contains text and graphics needed to communicate online information about an application. Each help file contains one or more topics a user can select by clicking hot spots, using the keyword search, or browsing through topics. Help files have a .HLP filename extension. See also Help topic.

Help map file

A file that defines Help context IDs corresponding to the IDs of dialog boxes, menu commands, and other resources in an application. A custom build rule on a project’s RESOURCE.H file in AppWizard projects calls the MAKEHM tool to generate the .HM file based on any change in the contents of the RESOURCE.H file (the MAKEHELP.BAT file performed this function in prior versions of Visual C++). The Help map file has a .HM filename extension. See also Help project file.

Help project file

A project file that controls how the Windows Help Compiler creates a Help (.HLP) file from topic files. The Microsoft Help Workshop is used to create a Help project file. The filename extension of a Help project file is .HPJ.

Help topic

The primary unit of information in a Help (.HLP) file. A topic is a self-contained body of text and graphics, similar to a page in a book. Unlike a page, however, a topic can hold as much information as you require. If there is more information in a topic than the Help window can display, scroll bars appear to let the user scroll through the information.

helper function

A function that calls a sequence of other functions or interface methods publicly available in the OLE SDK and MFC templates. Helper functions are a convenient way to call frequently used sequences of function or method calls that accomplish common tasks.

hexadecimal

Or hex. The base-16 counting system, whose digits are 0 through F. The letters A through F represent the decimal numbers 10 through 15. Two hex digits are needed to represent 1 byte. See also binary.

hidden text

In a document file, special characters that are not normally printed or displayed on the screen. For example, in a rich-text format (.RTF) file for a Help topic, the following hidden text string generates a jump to another Help topic:

Jump textcontextstring@d:\path\file.hlp

high order

In a group of bits or bytes, the one that carries the most weight or significance. Within a byte, the leftmost bit is the high-order bit. Within a group of bytes, the byte-ordering convention (big-endian or little-endian) determines the position of the high-order byte.

high-performance file system

A fixed-disk file system that organizes the disk into volumes, rather than partitions and logical drives. HPFS supports long, mixed-case filenames and extended attributes, and implements several levels of caching, for improved operating-system performance. The IBM OS/2 operating system supports HPFS. See also file allocation table file system, New Technology file system (NTFS).

highlighting

Altering the appearance of displayed characters as a means of calling attention to them — for example, by displaying them with higher intensity or by using reverse video (dark on light instead of light on dark, or vice versa). Highlighting is often used to denote characters to be deleted, copied, or otherwise acted upon.

hit count

The number of times a function or line of source code is called (or hit), as reported by the profiler when analyzing a program at run time. See also function profiling, line counting, line profiling.

hit-test code

A code that determines the location of the cursor. For example, HTLEFT means the cursor is in the left border of the window; HTMAXBUTTON means the cursor is in a Maximize button.

home page

The main page of a Web site as generated by the developer of the site. Although the home page is often the first page a visitor to the site sees, it is not the same as start page.

hook

  1. A point in the Windows message-handling mechanism where an application can install a subroutine to monitor the message traffic in the system and process certain types of messages before they reach the target window procedure.

  2. More generally, a location in a routine or program at which the programmer can connect or insert other routines for the purpose of debugging or enhancing functionality.

hook procedure

An application-installed procedure that monitors the system for events associated with either a specific thread or all threads in the system. For example, the hook code WH_GETMESSAGE installs a hook procedure that monitors messages posted to a message queue. See also callback function.

hot key

  1. In Windows, an application-defined key combination used to obtain high-priority keyboard input from the user. For example, an application can have a hot key that allows the user to cancel a lengthy operation.

  2. A key combination that the user can create to perform an action quickly. See also accelerator key.

hot spot

The pixel in a cursor that marks the exact screen location affected by a mouse action, such as a button click. Mouse messages include the coordinates of the hot spot.

hourglass cursor

A cursor displayed in the form of an hourglass that indicates that the program is performing a lengthy task. The cursor can be displayed as a large hourglass, or as a smaller hourglass with an arrow.

HPFS

A fixed-disk file system that organizes the disk into volumes, rather than partitions and logical drives. HPFS supports long, mixed-case filenames and extended attributes, and implements several levels of caching, for improved operating-system performance. The IBM OS/2 operating system supports HPFS. See also file allocation table file system, New Technology file system (NTFS).

HTML

A markup language derived from SGML. Used to create a text document with formatting specifications that tells a software browser how to display the page or pages included in the document.

HTTP

The Internet protocol used by World Wide Web browsers and servers to exchange information. The protocol makes it possible for a user to use a client program to enter a URL (or click a hyperlink) and retrieve text, graphics, sound, and other digital information from a Web server. HTTP defines a set of commands and uses ASCII text strings for a command language. An HTTP transaction consists of a connection, a request, a response, and a close.

HTTP server

Or Web server. A server that runs a Hypertext Transfer Protocol service or application. This protocol defines the procedures used when connecting a Web browser to a Web server.

hyperlink

The means used to jump to another Web page. It consists of both the display text the user sees and the URL of the reference. See also hypertext link.

hyperlink address

The path to an object, document, or page. A hyperlink address can be a URL or a UNC network path. Can also contain display text or sublocation information (for example, a database object, Word bookmark, or Microsoft Excel cell range to which the address points).

hyperlink base

A partial path based on a user-defined path. Use a hyperlink base if you want to move either the file that contains the hyperlink or the destination file separately and still maintain the hyperlink.

hypertext link

In a Web document, this is a reference to another Web document. The user does not actually see a URL in the document; instead, a highlighted reference contains a pointer to a link. The user clicks on the highlighted reference and the desired Web page is automatically retrieved. See also hyperlink.

Hypertext Markup Language

A markup language derived from SGML. Used to create a text document with formatting specifications that tells a software browser how to display the page or pages included in the document.

hypertext reference

Attribute of the HTML anchor element that identifies the anchor as a hyperlink. Its value determines the destination of the hyperlink.

Hypertext Transfer Protocol

The Internet protocol used by World Wide Web browsers and servers to exchange information. The protocol makes it possible for a user to use a client program to enter a URL (or click a hyperlink) and retrieve text, graphics, sound, and other digital information from a Web server. HTTP defines a set of commands and uses ASCII text strings for a command language. An HTTP transaction consists of a connection, a request, a response, and a close.


Glossary I

ICMP

An extension to the Internet Protocol that allows for the generation of error messages, test packets and informational messages related to IP.

icon file

In Windows, a file that contains a bitmap of an icon. Icon files usually have a .ICO filename extension.

icon resource

An icon that is stored in an application's resource-definition file. At run time, an application can call the LoadIcon Windows function to retrieve the handle of the icon. Icon resources can be used to avoid device dependence, simplify localization, and enable applications to share icon shapes.

IDL

The OSF-DCE standard language for specifying the interface for remote procedure calls. See also MIDL.

idle state

The state of a modal dialog box or menu when it has finished processing a message and it has no more messages waiting in its active message queue.

idle time

The period during which the application has an empty message queue. Idle time permits the processing of background tasks.

IEEE

A professional organization of computer hardware and software engineers. The institute has developed standards for many aspects of computer technology, such as network connectivity, and formats for representing floating-point numbers.

IETF

The primary working body developing standards for the Internet.

IID

A globally unique identifier associated with an interface. Some functions take IIDs as parameters to allow the caller to specify which interface pointer should be returned. See also UUID.

image list

In MFC, a collection of same-sized images contained in a single, wide bitmap. Image lists are used to efficiently manage large sets of icons or bitmaps.

immediate rendering

In a data-transfer operation, making data immediately available to an application, versus making it available when requested (delayed rendering).

impersonation token

In Windows NT, an access token that has been created to capture the security information of a client process, allowing a server to "impersonate" the client process in security operations. See also primary token, privilege, security identifier (SID).

implementation

A description of the data structure used to represent an object’s core state, definitions of the methods that can access the data structure, and information about the intended type of the object. Can also refer to a single function, where the function definition provides the implementation for that function.

implementation file

In MFC, the source code file (usually a C++ source file with a .CPP or .CXX filename extension) that contains a single class definition along with the code that implements that class's member functions. See also interface file.

implementation-defined

Behavior that depends on the implementation, with the range of possible behaviors often delineated by a standard.

implicit linking

Reference resolution to DLL functions by an executable file, where the executable file links to an import library (.LIB file) provided by the DLL maker. The operating system loads the DLL as the executable using it is loaded and before it starts executing. The client executable calls the DLL’s exported functions just as if the functions were contained in the executable. Contrast with explicit linking.

import file

A file that describes the functions and data to be exported when an export (.EXP) file is referenced by a linked program. The Incremental Linker (LINK.EXE) uses the export file to build a program that contains exports (usually a dynamic-link library), and it uses the import library to resolve references to those exports in other programs. Import library files usually have a .LIB filename extension. See also library file.

imported function

One called inside another executing entity, such as a DLL or executable file. Functions can be imported either through use of a .LIB import library, or by using the __declspec (dllimport) storage-class modifier, a Microsoft-specific extension to the C language. This modifier explicitly defines the client's interface to other services. See also exported function.

in-memory file

A file that behaves like a disk file except that its bytes are stored in RAM. An in-memory file is a useful means of transferring raw bytes or serialized objects between independent processes.

in-place activation

Or in-place editing, visual editing. The ability to activate an object within the context of its container document, as opposed to opening it in a separate window.

in-process server

An object server implemented as a DLL that runs in the process space of the object's client. See also local server, remote server.

increment (++) operator

An operator that specifies that its integral or floating-point operand be increased by the integer value 1. An incremented pointer points to the next object. In the prefix form (++i]), the increment takes place before the value is used in expression evaluation; in the postfix form (i++), the increment takes place after the value is used in expression evaluation. See also decrement (--) operator.

incremental link

The process of rebuilding only those program files that have a timestamp that is more recent than the last link, or updating only those parts of the program that have changed. An incrementally linked program is functionally equivalent to a program that is linked nonincrementally, but it differs from a nonincremental program in that it is prepared for subsequent incremental links and is larger as a result. See also incremental status file, full link.

incremental status file

A state file generated to hold status information for later incremental links of the program. The file has the same base name as the executable file or dynamic-link library and the filename extension .ILK. The incremental status file is created the first time the Incremental Linker (LINK.EXE) runs in incremental mode. LINK updates the file during subsequent incremental builds. LINK is the only tool that uses the .ILK file. See also incremental link.

Indexed Sequential Access Method

Pronounced "EYE-sam." A scheme for decreasing the time necessary to locate a data record within a large database, given a unique key for the record. The key is the field in the record used to reference the record.

indirect memory operand

In an assembly-language instruction, a memory operand whose value is treated as an address that points to the location of the desired data.

indirection (*) operator

Or dereferencing operator. In C/C++, a unary operator (*) that accesses a value indirectly, through a pointer. The operand must be a pointer value. The result of the operation is the value stored at the address to which the operand points. If the operand points to a function, the result is a function designator. If it points to a storage location, the result is an l-value designating the storage location. See also address-of (&) operator.

infix notation

Placing of operators between operands, as in (x+y)*z. C++ and Java binary operators use infix notation exclusively. Compare prefix notation, postfix notation.

inheritance

In object-oriented programming, a method for deriving new classes from existing classes. The derived class inherits the description of its base class(es), but can be extended by adding new member variables and functions and by using virtual functions. A class can inherit from a single base class (single inheritance) or from any number of direct base classes (multiple inheritance). A class derived using multiple inheritance has the attributes of all of its base classes.

inheritance hierarchy

A classification of items in which each item except the top one (known as the root) is a specialized form of the item above it. Each item can have one or more items below it in the hierarchy. In the Java class hierarchy, the root is the java.lang.Object class. In MFC, the root is the CObject class. See also root.

initialization file

In Windows, a file that an application uses to store information that otherwise would be lost when the application closes. Initialization files typically contain information such as user preferences for the configuration of the application. Initialization files usually have a .INI filename extension.

initializer

The portion of a declarator that specifies an initial value for an object or a variable.

inline assembler

  1. A feature of the Visual C++ compiler that allows the use of assembly-language instructions in C/C++ source programs without extra assembly and link steps. The inline assembler is built into the compiler; therefore, a separate assembler is not needed. Inline assembly code can use any C/C++ variable or function name that is in scope.

  2. Assembly-language code that is inserted into C/C++ source code. The _asm keyword preceding an assembly-language statement or block of statements invokes the inline assembler at compile time.

inline file

A file that contains text specified in the makefile. The name of file can be used in commands as input (for example, a LINK command file), or it can pass commands to the operating system. The file is created on disk when a command that creates the file is run.

inline function

  1. In C++, a function defined in the body of a class declaration. Inline functions are typically one- or two-line functions used to return information about an object's state.

  2. A function whose declaration is preceded by the keyword inline, instructing the compiler to replace calls to that function with the code of the function body. This substitution occurs only at the compiler's discretion. For example, the compiler does not expand a function inline if its address is taken or if it is too large to expand inline.

insertion (<<) operator

Or output operator, put-to operator. In C++, the left-shift operator, overloaded (in the iostream library) to provide formatted output. The left operand must be one of the predefined output streams (cout or cerr) and the right operand can be any valid C++ expression. See also extraction (>>) operator, overloaded operator.

inside-out

In OLE, a model for in-place objects (for example, windows) that the user can activate with a single click. An inside-out object remains visible to the user when its user interface is deactivated. See also outside-in.

instance

  1. In general, an object of a particular class.

  2. In Java, an instance of a class is created using the new operator followed by the class name.

  3. In C++, an instance can be created by defining it on the stack. In this case, the new keyword is not used. You can also instantiate an OLE object by calling the OLE API CoCreateInstance.

instance handle

A handle that Windows assigns to each copy of a loaded application or dynamic-link library (DLL) in a multitasking system. Every window class requires an instance handle to identify the application or DLL that registered the class. See also task handle.

instance method

Any method that can be invoked using an instance of a class, but not using the class name. Instance methods are defined in class definitions. Called nonstatic member functions in C++. See also class method.

instance 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 member variables in C++. See also class variable.

instantiation

The act of creating an object of a data type, usually a class.

Institute of Electrical and Electronics Engineers

A professional organization of computer hardware and software engineers. The institute has developed standards for many aspects of computer technology, such as network connectivity, and formats for representing floating-point numbers.

integral type

A general category of arithmetic data types that are capable of storing an integer (whole number). The data types char, short, int, long, and enum are integral types. The optional keywords signed and unsigned can precede or follow any of the integral types except enum, or these keywords can also be used alone as type specifiers, in which case they are understood as signed int and unsigned int, respectively. See also floating type.

Integrated Services Digital Network

A type of digital communications service offered by telephone companies. It can carry data, voice, and video over specially conditioned high-speed telephone lines delivering two 64,000 bps bearer channels and one 16,000 bps data signaling channel.

interface

  1. In the Component Object Model, a set of related functions; a description of an abstract type.

  2. In Java, a group of methods that can be implemented by several classes, regardless of where the classes are in the class hierarchy.

  3. An IDL keyword used by the MIDL compiler for generating interface declarations.

Interface Definition Language

The OSF-DCE standard language for specifying the interface for remote procedure calls. See also MIDL.

interface file

In MFC, the source header (.H) file that contains a single class declaration and any other information needed to use the class. See also implementation file.

interface identifier

A globally unique identifier associated with an interface. Some functions take IIDs as parameters to allow the caller to specify which interface pointer should be returned. See also UUID.

internal linkage

Specifies that the names of objects and functions should refer only to program elements inside their own translation units. The names are not shared with other translation units. The keyword static before a name declaration ensures internal linkage. See also external linkage.

Internet

A collection of computer networks that connects millions of computers around the world.

Internet Control Message Protocol

An extension to the Internet Protocol that allows for the generation of error messages, test packets and informational messages related to IP.

Internet Engineering Task Force

The primary working body developing standards for the Internet.

Internet Protocol

The basic protocol of the Internet. It enables the delivery of individual packets from one host to another. It makes no guarantees about whether or not the packet will be delivered, how long it will take, or if multiple packets will arrive in the order they were sent. Protocols built on top of this add the notions of connection and reliability.

Internet Relay Chat

A multi-user system where people convene on "channels" (a virtual place, usually with a topic of conversation) to talk in groups or privately on the Internet.

Internet server application

Internet server extension DLL.

Internet Server Application Programming Interface

A set of functions for Internet servers, such as a Windows NT Server running Microsoft Internet Information Server (MIIS).

Internet server extension DLL

Or Internet server application (ISA). A DLL that can be loaded and called by some HTTP servers. Used to enhance the capabilities of applications that extend a Web server.

Internet server extensions

An application that processes server requests, including Common Gateway Interface (CGI) and ISAPI applications.

Internet server filter

A routine that receives notification of server events such as URL mapping and logon requests, and filters, examines, or changes data to and from the browser or Web server.

Internet Service Provider

A company that provides access to end users of the Internet, as opposed to Network Service Providers (NSP's).

Internetwork Packet Exchange

A Novell NetWare communication protocol that uses datagram sockets to route information packets over local-area and wide-area networks.

interpreter

A program that can execute code that is not native to the machine it is being run on. Java programs are often run by an interpreter that decodes the bytecodes that make up the program. See also JIT compiler.

intranet

A network within an organization, usually connected to the Internet via a firewall, that uses protocols such as HTTP or FTP to enhance productivity and share information.

intrinsic function

  1. In certain high-level programming languages, such as FORTRAN, a function that is part of the language. The compiler automatically links intrinsic functions to the program without any additional effort on the programmer's part. Programs that use intrinsic functions are faster because they do not have the overhead of function calls, but they may be larger due to the additional code generated.

  2. In Microsoft C++, a library function, such as strcmp or strcpy, that has an intrinsic form. Use of the #pragma intrinsic compiler directive generates these functions as inline code rather than as function calls.

IP

The basic protocol of the Internet. It enables the delivery of individual packets from one host to another. It makes no guarantees about whether or not the packet will be delivered, how long it will take, or if multiple packets will arrive in the order they were sent. Protocols built on top of this add the notions of connection and reliability.

IP address

The Internet protocol address which is a 32-bit address assigned to a host. The IP address has a host component and a network component.

IP number

An Internet address that is a unique number consisting of 4 parts separated by dots, sometimes called a "dotted quad" (for example, 198.204.112.1). Every Internet computer has an IP number and most computers also have one or more domain names that are plain-language substitutes for the dotted quad.

IPE

A Novell NetWare communication protocol that uses datagram sockets to route information packets over local-area and wide-area networks.

IRC

A multi-user system where people convene on "channels" (a virtual place, usually with a topic of conversation) to talk in groups or privately on the Internet.

ISA

Internet server extension DLL.

ISAM

Pronounced "EYE-sam." A scheme for decreasing the time necessary to locate a data record within a large database, given a unique key for the record. The key is the field in the record used to reference the record.

ISAPI

A set of functions for Internet servers, such as a Windows NT Server running Microsoft Internet Information Server (MIIS).

ISAPI filter

An Internet server filter packaged as a dynamic-link library that runs on ISAPI-enabled servers.

ISDN

A type of digital communications service offered by telephone companies. It can carry data, voice, and video over specially conditioned high-speed telephone lines delivering two 64,000 bps bearer channels and one 16,000 bps data signaling channel.

ISO/OSI

International Organization for Standardization/Open Systems Interconnection

ISP

A company that provides access to end users of the Internet, as opposed to Network Service Providers (NSPs).

item moniker

A moniker based on a string that identifies an object in a container. Item monikers can identify objects smaller than a file, including embedded objects in a compound document, or a pseudo-object. See also moniker, file moniker, generic composite moniker, pseudo-object.


Glossary J

Java

A programming language similar to C++. Java is currently popular because it is compiled to machine-independent bytecode. This allows programmers to write one kind of program code for all platforms (Macintosh, Windows 3.x, Windows NT, Windows 95, UNIX). Software components written in Java for the Web are called applets. Java applets access code libraries on local clients and can download additional class files from the server.

JIT compiler

Just-In-Time compiler for Java. The JIT compiler takes the Java bytecode (which is machine-independent) and compiles it on demand into native code for the target machine, giving faster execution. Since JIT compilers operate on the client machine, they preserve the platform-independence of the compiled Java program.

JIT debugging

A technique that catches faults that occur while the program is running outside the debugging environment and can start the debugging. You must set this option in the development environment before executing your program.

join

A database operation that combines records from two or more tables, based on an exact match of key values in these tables. Once a recordset has been created based on a join, it functions as if the records were all in one table.

Joint Photographic Experts Group

An algorithm for graphics file storage, supported by many Web browsers. JPEG was developed for compressing and storing photographic images and is best used for graphics containing many colors, such as scanned photos. Most files that are compressed using JPEG are stored in a file format called JFIF (JPEG File Interchange Format). See also Graphics Interchange Format (GIF).

JPEG

An algorithm for graphics file storage, supported by many Web browsers. JPEG was developed for compressing and storing photographic images and is best used for graphics containing many colors, such as scanned photos. Most files that are compressed using JPEG are stored in a file format called JFIF (JPEG File Interchange Format). See also Graphics Interchange Format (GIF).

jump

A word, phrase, or button in a Help topic that, when clicked, takes the user to another topic screen in the Help system.

jump statement

A statement that either transfers control immediately to another location in the function or returns control from the function. In C++, the jump statements are break, continue, return, and goto.

Just-in-Time debugging

A technique that catches faults that occur while the program is running outside the development environment. You must set this option in the development environment before executing your program.


Glossary K

kernel

The core component of the operating system. The kernel schedules activities (threads) for the computer processor to perform, and it handles interrupts and exceptions. If the computer has multiple processors, the kernel synchronizes activity among the processors to optimize performance.

key value

A field or expression used to identify a record; often used as the index field for a database table.

keyword

Or reserved word. A word that has special meaning to a program or in a programming language. Reserved words usually include those used for control statements, data declarations, and the like. A reserved word can be used only in certain predefined circumstances; it cannot be used in naming functions, variables, structures, labels, classes, or user-generated tools such as macros.


Glossary L

l-value

The value on the left side of an assignment statement that represents a storage region's memory location. The l-value is an expression that evaluates to a type other than void and designates a location in memory (a variable, array, or structure element, for example). See also r-value.

label

  1. In a C or C++ function body, a unique name followed by a colon (:). Labels can denote statements to which a goto statement can branch. In a switch statement, the labels preceded by the keyword case list values to be compared to the expression at the top of the switch statement. See also labeled statement.

  2. In user-interface design, application-defined text associated with a graphical element such as a button or check box.

  3. In OLE, text describing an object that is linked or embedded as an icon.

labeled statement

In C/C++, a statement preceded by a label. A labeled statement allows program control to be transferred to it from a goto statement or back to the top of a switch statement.

language identifier (ID)

A 16-bit value that identifies a language and, where appropriate, the variant of the language being used. A language identifier is a combination of a sublanguage identifier and a primary language identifier. For example, if the primary language identifier specifies English, the sublanguage identifier might specify Australian English. See also locale identifier (LCID).

LCID

A 32-bit value identifying the language and sublanguage for a locale. The locale identifier is used to customize string handling. See also code page, language identifier (ID).

lead byte

In double-byte character sets and multibyte character sets, the first byte of a two-byte character. The lead byte signals that both it and the following byte are to be interpreted as a single character. See also trail byte.

left outer join

A database term that describes the relationship between two tables on which a query is run. If two tables are connected with a left outer join, the resulting recordset contains all records from the table on the left but only those records from the table on the right where the joined fields are equal. See also right outer join.

lexical analyzer

Or lexer. The part of a compiler, interpreter, or other translator that parses character sequences (separated by white space) in the source code into individual tokens. See also parser.

library assert

A macro that identifies program errors during development. The argument given to ASSERT should be chosen so that it holds true only if the program is operating as intended.

library file

A Common Object File Format (COFF) file generated by the Microsoft 32-bit library manager tool, LIB, for standard and import libraries. The default filename extension for these files is .LIB. See also dynamic-link library file, static-link library.

library version

  1. One of the available configurations of a library. For example, a library might have a static version and a dynamic-link version, both of which are available as debug and release versions. The library version used during linking is usually determined by the project type and settings.

  2. One of the publicly released versions of a library — for example, Microsoft Foundation Class Library version 4.0.

licensing

A COM feature that provides control over object creation. Licensed objects can be created only by clients that are authorized to use them. Licensing may afford different levels of functionality depending on the type of license.

lifetime

The time during program execution that a variable, function, object, or session exists and is available for use, or the duration of the program itself.

Lightweight Remote Procedure Call

In OLE, a protocol for interprocess communication on a single machine. See also Remote Procedure Call (RPC).

line counting

A run-time analysis of a program in which the profiler reports how many times each line of source code was executed. See also function counting, line coverage, line profiling.

line coverage

A run-time analysis of a program in which the profiler reports which lines of source code were executed at least once. See also function coverage, line counting, line profiling.

line profiling

A run-time analysis of a program in which the profiler reports information about the execution of the lines of source code, including line counting and line coverage. Line profiling is useful for checking the validity of an algorithm. See also function profiling.

line-continuation character

The backslash character (\) when it is placed at the end of a line. The line-continuation character causes the compiler to ignore the following newline character and to treat the next line as a continuation of the current line.

linefeed character

A control character that advances a printer or insertion point to a new line. This character can have a different textual representation on different platforms, but it always has the ASCII value of 10. See also carriage return–linefeed (CR-LF) pair.

link

  1. The Microsoft 32-Bit Incremental Linker (LINK.EXE). See also linker.

  2. To combine object files and libraries to form an executable file or dynamic-link library.

  3. In OLE, a connection between two documents. A link has three properties: the name of its source data, its type (or class, as it is known internally), and its updating basis (either automatic or manual). Also, as a verb, it means to connect two documents with a link.

link object

A COM object that is created when a linked COM object is created or loaded. The link object is provided by Automation. See also linked object, link source.

link source

The object serving the data that is the source of a linked object. A link source may be a file or a portion of a file, such as a selected range of cells within a file (also called a pseudo-object).

link time

The period of time required by the linker to combine (link) object files and libraries during compilation of a program, or the point in time when these files are combined. See also linker.

linkage specification

The protocol for linking functions (or procedures) written in different languages. Function calling conventions are affected by the linkage specification selected. An example of a linkage specification is extern "C". See also external linkage, internal linkage.

linked item

Or linked object. In OLE, an item in a compound document whose data is stored in a separate file rather than in the document's file. A linked item must be edited in a separate window. See also embedded item.

linked list

In programming, a data structure consisting of nodes or elements connected by pointers. A singly linked list has one pointer in each node, pointing to the next node in the list; a doubly linked list has two pointers in each node, pointing to the next and previous nodes. In a circular list, the first and last nodes of the list are linked together.

linked object

A COM object whose source data physically resides where it was initially created. Only a moniker that represents the source data and the appropriate presentation data are kept with the compound document. Changes made to the link source are automatically reflected in the linked object. See also link source.

linker

A utility that combines object files and libraries to create an executable file or dynamic-link library. During the linking process, the linker resolves external references such as a call to a library routine by the program.

linking and embedding

Two methods available in OLE for storing items inside a compound document when those items were created in another application. An embedded item is stored as part of the compound document that contains it. A linked item stores its data in a separate file. See also Object Linking and Embedding (OLE).

list view control

A Windows Common Control that displays a collection of items each consisting of an icon and a label.

list-box control

In Windows, a child window that contains a list of items that can be selected by the user. List boxes can permit the selection of one item or multiple items. See also combo-box control.

listserv

An Internet application that automatically "serves" mailing lists by sending electronic newsletters to a stored database of Internet user addresses. Although some listservs are moderated, users can often handle their own subscribe/unsubscribe actions without requiring anyone at the server location to personally handle the transaction.

literal

A value, used in a program statement, that is expressed directly rather than as a named constant or the contents of a variable. For example, in the statements

i = 25;
c = 'a';
cout << "Hello";

the values 25, 'a', and "Hello" are literals. See also manifest constant, string literal.

little-endian

One of two byte-ordering conventions used on different machines. In little-endian addressing, the address points to the least significant byte of the word. Intel 80x86 and DEC RISC computers are little-endian machines. See also big-endian.

load time

The period of time required to place a program's executable files into memory prior to execution, or the point in time when the files are loaded.

loaded state

In OLE, the status of a compound-document object (either a linked or embedded item) whose handler is loaded in memory but whose server is not running. See also running state.

local

  1. In programming, describes an object, memory location, or variable whose scope or lifetime is limited.

  2. A Microsoft Windows NT keyword that identifies the local attribute, which can be applied to individual functions or to the interface as a whole.

  3. In distributed systems, descibes an operation that is performed by the current application rather than by another application on the same computer or on a remote computer.

  4. In networking, describes a device that can be accessed directly rather than by means of a communications line.

  5. In general, an adjective describing an item or operation that is close at hand or restricted to a particular area.

local class

  1. A class declared inside a block.

  2. Or application local class. In Windows, any window class that an application registers for its exclusive use. Although an application can register any number of local classes, most applications register only one. This window class supports the window procedure of the application's main window. Windows destroys a local class when the application that registered it closes.

local machine

Or local computer. A computer that is accessed directly by the user rather than through an intermediate computer using a communications device. The opposite of a remote machine.

local object

  1. In C++, an object created inside a function or smaller enclosing block. A local object has scope only within the block in which it is created.

  2. In OLE, an object (that is not an embedded object) inside a container. Sometimes referred to as a cross-process object.

local remote procedure call

In RPC, a remote procedure call to another process on the same computer as the calling process.

local scope

In C++, the degree of visibility afforded to a name (a variable, for example) when it is declared within a block of code. The name is accessible only from the point of declaration to the end of the block in which it is declared. See also class scope, file scope, function scope, function-prototype scope.

local server

An OLE server object implemented as an executable file that runs on the same computer as the client application. Because the server application is an executable file, it runs in its own process. See also in-process server, remote server.

local variable

Or automatic variable. A variable declared within a function body, or smaller enclosing block, and not declared as static, that exists only within the scope of the enclosing curly braces ({ }). If a local variable has an initializer, it is initialized every time it is created and its contents are undefined when the function returns.

locale

The national and cultural environment in which a system or program is running. The locale determines the language used for messages and menus, the sorting order of strings, the keyboard layout, and date and time formatting conventions. See also code page, locale identifier (LCID).

locale identifier

A 32-bit value identifying the language and sublanguage for a locale. The locale identifier is used to customize string handling. See also code page, language identifier (ID).

locale-specific

Behavior that depends on local conventions of nationality, culture, and language, such as language, money format, and date format.

localization

The process of translating software, Help, and online or printed documentation into another language appropriate for other locales, customs, or cultures.

lock

In COM and OLE, a pointer held to, and possibly a reference count incremented on, a running object. Two types of locks can be held on an object: strong and weak. To implement a strong lock, a server must maintain both a pointer and a reference count so that the object will remain "locked" in memory at least until the server releases it. To implement a weak lock, the server maintains only a pointer to the object so that the object can be destroyed by another process.

locking mode

A strategy for locking records in a recordset during update. A record is locked when it is read-only to all users but the one currently entering data in it. See also optimistic locking, pessimistic locking.

logical brush

An ideal description of a brush bitmap. A logical brush describes all the attributes (style, color, and so on) specified by the application that created it, although some may not be representable on available output devices. Windows also provides seven predefined logical stock brushes. See also brush, physical brush.

logical color palette

An array of colors created by an application that can be selected into a device context and used for graphics output. A logical color is an individual color in the PALETTE array. An application using a logical color palette can pass a COLORREF value, instead of an explicit red, green, blue (RGB) value, to GDI functions that expect a color. See also color palette, device context (DC).

logical coordinate system

A conceptual coordinate system that a program uses when giving drawing commands. Windows converts logical coordinates to the output device's physical coordinates when it renders the image.

logical font

An ideal description of a font. The font itself is described by the attributes (height, width, orientation, and so on) defined for it by an application. Windows also provides six predefined logical stock fonts. Before an application can begin drawing text with a logical font, it must find the closest match from among the physical fonts stored on the device or in the operating system. See also font mapper, physical font.

logical operator

An operator that performs Boolean evaluations on its operands. The logical-NOT (!) operator produces the value 0 if its operand is true (nonzero) and the value 1 if its operand is false (0). The logical-AND (&&) operator produces the value 1 if both operands have nonzero values; otherwise, it produces the value 0. The logical-OR (||) operator produces the value 1 if either of its operands has a nonzero value. See also bitwise operator.

logical shift

Or bitwise shift. A bitwise operation wherein the bits in the first operand are shifted by the number of positions specified by the second operand. The operator specifies the direction the bits are shifted. See also arithmetic shift.

logical unit

A conceptual unit of measure for graphics device interface (GDI) functions. A logical unit is converted to a device, or physical, unit (for example, to a number of pixels or to a distance in inches) when an image is rendered on the output device. By default, GDI considers logical units to be equal to device units, meaning that 1 logical unit equals 1 pixel on the screen.

logical view

A view expressed in terms of logical coordinates. A logical view can change its scaling when it is rendered onto an output device such as a display monitor.

lookup table

A reference table that maps an index or key to a value to be looked up and returned. A lookup table is often used as an alternative to lengthy run-time calculations.

loop

  1. A set of statements in a program executed repeatedly, either a fixed number of times or until a condition is true or false.

  2. In an event-driven state machine, an action that returns control to the original state, either directly or through a series of state transitions.

loss of significance

In programming, a potential error caused by presenting an argument to a math function that is either so large or so small that the operation returns a value that has lost most or all of the significant digits of the original argument. See also underflow.

low order

A description applied to the rightmost element in a group — the one that carries the least weight or significance. For example, the low-order bit in a byte would be the rightmost one.

LRPC

In OLE, a protocol for interprocess communication on a single machine. See also Remote Procedure Call (RPC).

LRPC

In RPC, a remote procedure call to another process on the same machine as the calling process.

luminance

In graphics, the perceived brightness of a surface or pixel. Luminance often refers to as a weighted average of red, green, and blue color values that gives the perceived brightness of the combination. See also red, green, blue (RGB); red, green, blue, alpha (RGBA).


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.


Glossary N

name decoration

The process during compilation of a C++ function definition or prototype in which the compiler creates a string that uniquely identifies a function. Name decoration is necessary for the compiler and linker to distinguish between several functions that may have the same name. See also decorated name.

named pipe

A connection-oriented protocol, based on Server Message Blocks (SMBs) and NetBIOS, used for communicating between a server process and one or more client processes. See also pipe.

National Center for Supercomputer Applications

A research center at the University of Illinois in Urbana-Champaign for developing and implementing a strategy to create, use, and transfer advanced computing and communication tools and information technologies. NCSA developed Mosaic.

native

  1. An adjective describing a programming element that is specific to and supported by the particular platform on which it is running.

  2. An adjective describing a programming element that is specific to a particular country.

  3. In OLE, an adjective describing data that originated in the container document. See also presentation data.

native data

The format of data used internally by an OLE server application when editing an embedded object. See also presentation data.

NCSA

A research center at the University of Illinois in Urbana-Champaign for developing and implementing a strategy to create, use, and transfer advanced computing and communication tools and information technologies. NCSA developed Mosaic.

nest

To embed one construct (for example, a function) completely within another.

nested class

A class that is declared within the scope of another class. A nested class is available for use within the scope of the enclosing class. To refer to a nested class from a scope other than its immediate enclosing scope, a fully qualified name must be used.

Network Service Provider

A company that provides connectivity to the Internet for ISPs and others requiring high speed connections between their LANs and the Internet.

New Technology file system

A fixed-disk file system that offers security features, including execute-only files and permissions for individual files, support for Unicode and long filenames, and the ability to handle large storage media. See also high-performance file system (HPFS).

newline character (\n)

The character used to mark the end of a line in a text file, or the escape sequence (\n) used to represent this character.

NMAKE

The Microsoft Program Maintenance Utility. NMAKE reads a description file that specifies project-file dependencies and automatically executes the commands needed to update the project when any project file has changed.

nonclient area

The parts of a window that an application does not use when displaying output such as text or graphics. A window's nonclient area consists of the border, menu bar, title bar, scroll bar, Control menu, Minimize button, and Maximize button. See also client area.

nonintegral expression

An expression that evaluates to a data type other than a char, short, int, long, or enumerated type.

nonscalar value

A value whose type is a complex data structure such as a structure, class, or array. See also aggregate type.

nonstatic member function

A function declared within a class definition, and that must be associated with an instance of the class. Called instance methods in Java.

nonsystem key

A keyboard key that is pressed when the ALT key is not pressed or a keyboard key that is pressed when a window has the keyboard focus.

notification message

A message that a control sends to its parent window when events, such as input from the user, occur.

NSP

A company that provides connectivity to the Internet for ISPs and others requiring high speed connections between their LANs and the Internet.

NT-1

In ISDN, a network terminator composed of a connector that attaches a two-wire ISDN line to a four-wire line so that it can be connected to PCs and terminals.

NTFS

A fixed-disk file system that offers security features, including execute-only files and permissions for individual files, support for Unicode and long filenames, and the ability to handle large storage media. See also high-performance file system (HPFS).

null brush

Or hollow brush. A logical brush created from a bitmap whose color matches the current window background color. See also bitmap.

null pointer

A pointer to nothing, expressed in C++ as the value 0.

null statement

A statement that performs no action, declares nothing, and can be used wherever a statement is expected. In C/C++, a statement that contains only a semicolon (;).

null string

Or empty string, zero-length string. In C/C++, a string that contains no characters. A null string is explicitly initialized with a pair of double quotation marks ("").

null terminator

Or string terminator. In C/C++, the null character '\0" at the end of a string.

null-terminated character string

Or ASCIIZ string. A string of characters terminated by a single character, '\0', whose integer value is 0.


Glossary O

object

  1. Generally, an instance of an entity that embodies both specific data and the functions that manipulate it.

  2. Specifically in object-oriented programming, an object is an entity that has state, behavior and identity. An object's state consists of its attributes and the attributes' current values. An object's behavior consists of the operations that can be performed on it and the accompanying state changes. An object's identity is what you use to distinguish it from other objects. In contrast, COM objects' behavior is defined by the interfaces it supports. A COM object's state is not explicitly specified, but is implied by its interfaces. A COM object's identity is defined by the ability to use IUnknown::QueryInterface to move between interfaces.

object code

Executable code generated by a compiler or an assembler from the source code of a program. See also object file.

object description language file

In OLE Automation, text files containing a description of an application's interface. Object description language scripts are compiled into type libraries using the MkTypLib tool included with the OLE Software Development Kit.

object file

A file containing object code and/or data generated by a compiler or an assembler from the source code of a program. Object files generated by the Visual C++ compiler have a .OBJ filename extension. See also Common Object File Format (COFF).

object handler

A DLL loaded into an OLE container’s process space that acts on behalf of a local server. The object handler responds to container requests that do not require the attention of the server, such as requests for drawing.

object library file

A dynamic-link library with a type library resource. An object library file typically has a .OLB filename extension.

Object Linking and Embedding

Pronounced "o-LAY." A way to transfer and share information between applications. Linking and embedding are two methods in OLE for storing items inside a compound document when those items were created in another application. An embedded item is stored as part of the compound document that contains it. A linked item stores its data in a separate file.

Object Module Format

A specification for the structure of object (.OBJ) files. The Microsoft Visual C++ version 4.0 linker accepts object files that are either COFF or 32-bit OMF. See also Common Object File Format (COFF), EDITBIN.

object state

  1. Generally, a snapshot of the instance data of an object.

  2. More specifically, the relationship, either active, passive, loaded, or running, between an object in its container and the application responsible for the object's creation. Passive objects are stored on disk or in a database, and the object is not selected or active. In the loaded state, the object's data structures have been loaded into memory, but they are not available for operations such as editing. Running objects are both loaded and available for all operations. Active objects are running objects that have a visible user interface.

object-oriented design

Or object-oriented programming. In traditional procedural languages (such as C, Fortran, and Cobol) code and data are separate. In the object-oriented approach, code and data that belong together can be combined into objects. Object-oriented design is further characterized by the use of inheritance (derived classes), polymorphism, encapsulation, and virtual functions (C++) in programming.

ODBC

An open, vendor-neutral interface for database connectivity that provides access to a variety of personal computer, minicomputer, and mainframe systems, including Windows-based systems and the Apple Macintosh. The ODBC interface permits an application developer to develop, compile, and ship an application without targeting a specific database management system (DBMS). Users can add modules called database drivers that link the application to their choice of database management systems.

ODBC cursor library

A dynamic-link library that resides between the ODBC Driver Manager and the drivers and handles scrolling through data.

ODBC driver

A dynamic-link library file that implements ODBC function calls and interacts with a data source. A driver processes ODBC function calls, submits SQL requests to a specific data source, and returns results to the application. If necessary, the driver modifies an application's request so that the request conforms to syntax supported by the associated database management system.

OEM character set

Printable characters used in full-screen MS-DOS sessions for screen display. Characters 32 through 127 are usually the same in the OEM, U.S. ASCII, and Windows character sets. The other characters in the OEM character set (0 through 31 and 128 through 255) correspond to the characters that can be displayed in a full-screen MS-DOS session. These characters are generally different from the Windows characters and may vary from one original equipment manufacturer (OEM) to another.

offset

In relative addressing methods, a number that tells how far from a starting point a particular item is located. For example, in the search for a specific data item stored within a known area (segment) of memory, an offset is used to tell the microprocessor how many bytes past the beginning of the segment the item is located.

OLE

Pronounced "o-LAY." A way to transfer and share information between applications. Linking and embedding are two methods in OLE for storing items inside a compound document when those items were created in another application. An embedded item is stored as part of the compound document that contains it. A linked item stores its data in a separate file.

OLE Automation

A way to manipulate an application's objects from outside the application. OLE Automation is typically used to create applications that expose objects to programming tools and macro languages, to create and manipulate one application's objects from another application, or to create tools for accessing and manipulating objects.

OLE Automation object

Or exposed object. An instance of a class that is defined within an application, exposed for access by other applications or programming tools by means of OLE Automation interfaces. See also OLE Automation client, OLE Automation server.

OLE Automation server

An application that exposes programmable objects to other applications, which are called "automation clients." Exposing programmable objects enables clients to "automate" certain functions by directly accessing those objects and using the services they make available. For example, a word processor might expose its spell-checking functionality so that other programs can use it. See also automation client.

OLE item

Or OLE (pronounced "o-LAY") object. An object that represents data, created and maintained by a server application, that can be seamlessly incorporated into a document so that the object appears to be a part of the larger document. The result is a compound document made up of the OLE item and a containing document.

OLE system DLLs

Pronounced "o-LAY." The means by which OLE containers and OLE servers communicate. The OLE system dynamic-link libraries (DLLs) provide functions that containers and servers call, and the containers and servers provide callback functions that the DLLs call. Using this means of communication, a container doesn't need to know the implementation details of the server application. A container can accept items created by any server without having to define the types of servers with which it can work

OMF

A specification for the structure of object (.OBJ) files. The Microsoft Visual C++ version 4.0 linker accepts object files that are either COFF or 32-bit OMF. See also Common Object File Format (COFF), EDITBIN.

Open Database Connectivity

An open, vendor-neutral interface for database connectivity that provides access to a variety of personal computer, minicomputer, and mainframe systems, including Windows-based systems and the Apple Macintosh. The ODBC interface permits an application developer to develop, compile, and ship an application without targeting a specific database management system (DBMS). Users can add modules called database drivers that link the application to their choice of database management systems.

Open Software Foundation

A consortium of companies that defines the distributed computing environment.

Open System Interconnection

A model that breaks network management into five functional areas: fault management, configuration management, security management, performance management, and accounting management.

operand

An entity on which an operator acts.

operator

Symbols that specify an evaluation to be performed on one operand (unary operator), two operands (binary operator), or three operands (ternary operator). See also operator precedence.

operator precedence

The relative position of an operator in the hierarchy that determines the order in which expressions are evaluated.

optimistic locking

A recordset locking strategy in which records are left unlocked until explicitly updated. The page containing a record is locked only while the program updates the record, not while a user is editing a record. See also pessimistic locking.

optimization

Compiler fine tuning to increase program performance or reduce program size. Visual C++ provides five optimization options: Default, Disable (Debug), Maximize Speed, Minimize Size, and Customize.

OSF

A consortium of companies that defines the distributed computing environment.

OSI

A model that breaks network management into five functional areas: fault management, configuration management, security management, performance management, and accounting management.

out-of-band data

A logically independent transmission channel associated with each pair of connected stream sockets. Out-of-band data is delivered to the user independently of normal data. The abstraction defines that the out-of-band data facilities must support the reliable delivery of at least one out-of-band message at a time. This message may contain at least 1 byte of data, and at least one message may be pending delivery to the user at any one time.

out-of-memory exception

An error that occurs during the execution of a program when an out-of-memory situation is encountered.

output parameter

In a function, a parameter containing data that the function is initializing for the caller.

output precision

In specifying a font, defines how closely the output must match the requested font's height, width, character orientation, escapement, and pitch.

outside-in

A model for in-place OLE objects that requires the user to double-click or select a verb from the Edit menu to activate the object. Outside-in objects are hidden from the user when inactive. See also inside-out.

overhang

The amount by which the black part of a glyph extends beyond its character cell on either side. See also ABC width, underhang.

overlapped window

A style of window meant to serve as an application's main window. Other windows can overlap the window's space on the screen.

overloaded operator

In C++, an operator that has been given functionality beyond that which is built into the language. For example, the programmer can overload the arithmetic operators to allow them to use objects of a given class as their operands. Overloading is usually done to make the source code more readable.

overloading

Supplying more than one definition for a given function name or operator name in the same scope. For example, the addition (+) operator can be overloaded to add the values contained in two objects of the same class. See also function overloading.

owned window

A window that has an owner. An owned window always appears in front of its owner window, is hidden when its owner window is minimized, and is destroyed when its owner window is destroyed. See also owner window.

owner window

A window that owns another window, thus affecting aspects of the owned window's appearance and behavior. See also owned window.

owner-draw control

In Windows, a control that is customized for a specific application. Owner-draw controls are similar to predefined controls in that Windows will handle the control's functionality and process input from the mouse and keyboard. However, the programmer is responsible for the appearance of the owner-draw control in its various states.


Glossary P

package

  1. In Visual C++, a dynamic-link library that extends the development environment.

  2. In Java, a group of classes declared with the package keyword. Classes are generally packaged together when they are related in a significant way. In Java, the default level of data access is at the package level. In C++, the default level of data access is at the class level.

packaged function

A function created by the compiler when function-level linking is enabled. A packaged function is visible to the linker in the form of a COMDAT record placed in the object (.OBJ) file by the compiler. Functions that are not packaged can be linked only at the object level.

Packet Internet Groper

A program useful in testing and debugging LAN/WAN troubles. It sends out a packet and expects a specified host to respond back in a specified time frame.

palette

  3. An array of colors currently available on a device.

  4. A modeless secondary window that displays a toolbar or another set of controls.

pane

One of the separate areas in a split window, or a rectangular area of the status bar that can be used to display information.

PAP

In ISDN, a type of authentication accomplished by sending user ID/password pairs between two devices.

parameter

Or argument. A value or an expression used with an operator or passed to a subprogram (subroutine, procedure, or function). The program then carries out operations using the arguments. Parameters are also used with templates; such parameters can include classes as well as values and expressions.

parameter data member

In recordsets, a data member that accepts parameter information at run time. Parameter data members can be used in a query to select records from a database based on the value of the parameter obtained or calculated at run time. See also field data member.

parameter passing

The sending of variables as parameters (arguments) to a subroutine, procedure, or function. You can pass parameters by value or by reference. Passing by value copies the variable’s value into the subroutine’s formal argument. Passing by reference copies the variable’s memory address into the subroutine’s formal argument. In C++, parameters may be passed by value or by reference. In C, all parameters are passed by value, except for arrays, which are translated into the address of the first member and reference of type, as in int&ri. However, you can force a pass by reference by using pointers or references. In Java, parameter passing is by value only for simple types, by reference only for instances.

parent process

In a multitasking environment, a process that initiates one or more processes, called "child processes." The parent process defines the environment for child processes. The parent process can suspend or complete its own processing while the child processes continue operating.

parent window

A window that generates one or more child windows.

parse map

Code that allows a CHttpServer-derived object in MFC to map client requests to its member functions. MFC provides parse map macros to help map form variables on a Web page to parameters in your function.

parser

The part of a compiler, interpreter, or other translator that accepts tokens from the lexical analyzer and attaches semantics to those tokens.

Pascal calling convention

A calling convention that pushes arguments onto the stack in the order in which they appear in the function call (from left to right). The Pascal calling convention requires that the called routine remove arguments from the stack.

Password Authentication Protocol

In ISDN, a type of authentication accomplished by sending user ID/password pairs between two devices.

path bracket

One or more graphics device interface (GDI) functions embedded between a BeginPath and an EndPath function. (The BeginPath function defines the start of the bracket; the EndPath function defines the end.)

pen

In graphics applications, a drawing object used to draw lines and borders.

percent position

In DAO, the position of a record in a recordset, based on a percentage of the total numbers of records. For example, a record with a position of 50% lies halfway into the recordset.

PERL

A general-purpose scripting language used mainly for server-side HTML programming. It is freely available on a wide variety of platforms.

permanent storage

  1. A disk medium, such as a hard disk or floppy disk.

  2. A place to store data, such as a file or database.

  3. In the Visual C++ documentation, a variable declared with the static storage-class specifier.

persistent

Lasting between program sessions, or renewed when a new program session is begun.

pessimistic locking

A recordset locking strategy in which a page is locked once a user begins editing a record on that page. While the page is locked, no other user can change a record on that page. The page remains locked until records are updated or the editing is canceled. See also optimistic locking.

physical brush

A bitmap that Windows uses to paint the interior of filled shapes. A physical brush is a device driver's approximation of a logical brush.

physical device

  1. The fourth and final coordinate space for most graphics device interface (GDI) drawing operations. (The Win32 API uses four coordinate spaces: world, page, device, and physical device.) The points in this physical device coordinate space can correspond to the desktop, a client area, or a page of printer paper.

  2. Hardware such as a modem or printer to which data can be written.

physical font

A font stored internally on a device or whose resources have been loaded into the operating system. See also logical font.

PING

A program useful in testing and debugging LAN/WAN troubles. It sends out a packet and expects a specified host to respond back in a specified time frame.

pipe

  1. A communication conduit with two ends. A process with a handle to one end can communicate through a pipe with a process having a handle to the other end. Pipes can be one way (where one end is read-only and the other end is write-only) or two way (where both ends of the pipe can be used for reading or writing). The Win32 application programming interface (API) provides both anonymous (unnamed) pipes and named pipes.

  2. An IDL type constructor that supports transmission of an open-ended stream of data between client and server applications.

pixel

The smallest addressable picture element (that is, a single dot) on a display screen or printed page. See also raster.

placeholder

A symbol in an expression indicating information to be supplied. For example, in the following SQL statement

SELECT CourseID, CourseTitle FROM Course WHERE CourseID = ?

the question mark (?) is a placeholder for a parameter value supplied at run time.

platform

The hardware and operating system that support an application. "Platform" sometimes refers to the hardware alone, as in the Intel x86 platform.

point

In typography, a unit of measurement for type (1 point equals approximately 1/72 inch).

Point-to-Point Protocol

An advanced serial packet protocol, similar to but an improvement on SLIP, commonly used for dial-up connections. PPP is an official Internet protocol; SLIP is not.

pointer

  1. A data type that can contain the address of another data type such as a variable, or of a function or class.

  2. A graphic image displayed on the screen that indicates the location of a pointing device (sometimes called a "cursor").

polygon-filling mode

In graphics, an algorithm that determines the parts of a region that can be filled, painted, inverted, or clipped.

polymorphism

In C++, the concept of a single interface for multiple functions. For example, different classes can each contain a function called print that prints data in a format appropriate for objects of that class. The compiler selects the appropriate print function for each call to print. See also virtual function.

pop-up menu

A menu that is hidden until the user performs an action (such as clicking the right mouse button) that causes Windows to display the menu. The pop-up menu contains commands that are relevant to the selection or the active window. See also drop-down menu.

pop-up window

An immovable, nonsizable window that remains on the screen until the user dismisses it. Pop-up windows typically contain definitions of terms or other parenthetical information. Good uses for pop-up windows include illustrations, examples, notes, tips, and lists of keyboard shortcuts.

portable code

Code that can be compiled with little or no change to run on more than one platform.

Portable Operating System for Unix

An IEEE standard that defines the language interface between the UNIX operating system and application programs through a minimal set of supported functions.

POSIX

An IEEE standard that defines the language interface between the UNIX operating system and application programs through a minimal set of supported functions.

postfix notation

Placing of operators after operands, as in xy+z*. Compare prefix notation, infix notation.

PPP

An advanced serial packet protocol, similar to but an improvement on SLIP, commonly used for dial-up connections. PPP is an official Internet protocol; SLIP is not.

Practical Extraction and Reporting Language

A general-purpose scripting language used mainly for server-side HTML programming. It is freely available on a wide variety of platforms.

pragma

An instruction to the compiler to perform a given action at compile time. For example, the pragma

#pragma pack( [n] )

specifies packing alignment for structure and union members.

precompiled header directive

A statement in a source or include file specifying where precompilation should stop.

precompiled header file

A file containing compiled code for a portion of a project. Subsequent builds combine this file with the uncompiled code, thus shortening the overall compile time. The default filename extension for a precompiled header file is .PCH.

predefined macro

A macro recognized by the compiler that takes no arguments and cannot be redefined. In most cases, the value of a predefined macro must be constant throughout compilation. For example, the ANSI prefined macro __TIME__ expands to the most recent compilation time of the current source file, expressed as a string literal of the form hh:mm:ss.

predefined query

Or stored procedure. In SQL, a set of one or more SQL statements stored in a data source, available to be called from an application as needed. Predefined queries reduce the overhead of repeatedly specifying the same selection criteria.

prefix character

In Windows text controls, the ampersand (&) character used to define the next character in the string as the mnemonic access key for the control. The ampersand is a directive to underscore the next character in the interface. A two-ampersand (&&) mnemonic-prefix character is a directive to print a single ampersand in the interface.

prefix notation

Placing of operators before operands, as in *+xyz. Compare infix notation, postfix notation.

preprocessor

A text processor that manipulates the text of a source file as part of the first phase of translation. The preprocessor does not parse the source text, but it does break it up into tokens for the purpose of locating macro calls. Although the compiler ordinarily invokes the preprocessor in its first pass, the preprocessor can also be invoked separately to process text without compiling.

preprocessor directive

Or compiler directive. An instruction to the preprocessor to perform an action on source-program text before the compilation phase. For example, the directive #include "my_defs.h" instructs the preprocessor to include the contents of the file my_defs.h in the compilation unit.

presentation cache

In OLE, a container document's memory cache for the graphical representation of a linked or embedded object. Such a presentation is cached locally in the container document so it can be obtained without the expense of running the object's application. See also presentation data.

presentation data

In OLE, the graphical representation of a linked or embedded object.

presentation data

The data used by a container to display embedded or linked objects. See also native data.

primary key

In a database program, a field or group of fields that uniquely identify a record in a table. No two records in a table can have the same primary key value.

primary language

A language, such as English or Japanese, defined for a particular program. In some cases, a sublanguage is also specified. For example, English can be specified as the primary language and Canadian as the sublanguage. See also language identifier (ID).

primary thread

Or main thread. The initial thread of a process. When the primary thread terminates, so does the process. This primary thread is supplied to the operating system by the startup code in the form of a function address. Usually, it is the address of the main or WinMain function that is supplied.

primary token

An access token that is typically created only by the Windows NT executive layer. The primary token can be assigned to a process to represent the default security information for that process. See also access token, impersonation token, privilege, security identifier (SID).

primary verb

In OLE, the command that is executed when the user double-clicks an OLE item. For most types of OLE items, the primary verb is Edit, which launches the server that created the item. OLE items can support one or more verbs.

primary verb

The action associated with the most common or preferred operation users perform on an object. The primary verb is always defined as verb zero in the system registration database. An object's primary verb can be its default action.

print processor

A dynamic-link library that receives information from the print spooler and sends the interpreted information to the graphics engine (another Windows DLL), which converts print processor output into device driver function calls. The printer processes these commands when it prints the image.

private

In C++, describes a limited degree of access to class members, as specified using the private keyword. Access to the specified class member is restricted to member functions and friends of the member or class.

privilege

In Windows NT, a locally unique identifier (LUID) used to control access to an object or service more strictly than is typical with discretionary access control. A system manager uses privileges to control which users are able to manipulate system resources. An application uses privileges when it changes a system-wide resource, such as when it changes the system time or shuts down the system. See also access token, impersonation token, primary token, security identifier (SID).

process

An executing application that consists of a private virtual address space, code, data, and other operating-system resouces, such as files, pipes, and synchronization objects that are visible to the process. A process also contains one or more threads that run in the context of the process.

profiler

A development tool for analyzing the run-time behavior of programs. See also function profiling, line profiling.

profiler batch input file

In a profiling operation, a file that provides condensed information to the Visual C++ profiler (PROFILE). The PREP program generates a profiler batch input file the first time the profiler is run on a program. The default filename extension for profiler batch input files is .PBI. See also profiler batch output file, profiler batch text file.

profiler batch output file

An intermediate file generated by the Visual C++ profiler (PROFILE) and used to transfer information between profiling steps. See also profiler, profiler batch input file, profiler batch text file.

profiler batch text file

In a profiling operation, the file generated by the PREP program and used as input to the PLIST program to generate a human-readable profile of the source code. See also profiler, profiler batch input file, profiler batch output file.

program database file

A file used by the build tools to store information about a user's program. The program database file speeds linking during the debugging phase of development by keeping the debugging information separate from the object files.

progress bar control

In MFC, an application window that is used to indicate the progress of a lengthy operation. The control consists of a rectangle that is gradually filled, from left to right, with the system highlight color as an operation progresses.

prolog code

See prolog/epilog code sequence.

prolog/epilog code sequence

In Windows, a compiler-generated code sequence that executes on entry to a function. Prolog code allocates space on the stack, sets up addressing for the variables local to the function, and initializes registers so that variables passed to the function can be conveniently accessed. The epilog code, which executes on exit from the functions, frees this space, restores the original contents of the registers, and ensures that any return value from the function is available to the caller.

property

The data associated with an object.

property frame

The user interface mechanism that displays one or more property pages for a control. The OLE controls run-time system provides a standard implementation of a property frame that can be accessed by using a helper function. Customized implementations may be provided by the container. See also control, property page.

property page

A grouping of properties presented as a tabbed page of a property sheet.

property set

In OLE structured storage, information describing a document, stored in a standard format so that other applications can locate and read that information. For example, a document created with a word processor can have a property set describing the author, title, and keywords.

property set

A logically related group of properties that is associated with a persistently stored object. See also persistent property.

property sheet

A special kind of dialog box that is generally used to modify the attributes of some external object, such as the current selection in a view. A property sheet has three main parts: the containing dialog box, one or more property pages shown one at a time, and a tab at the top of each page that the user clicks to select that page. An example of a property sheet is the Project Settings dialog box in the Microsoft Visual C++.

protected

In C++, describes a limited degree of access to class members, as specified using the protected keyword. Access to the specified class member is restricted to member functions and friends of the class, as well as member functions of classes derived from the class.

protocol

  1. In networking, a formal set of rules governing the format, timing, sequencing, and error control of exchanged messages on a data network; may also include facilities for managing a communications link and/or contention resolution; a protocol may be oriented toward data transfer over an interface, between two logical units directly connected, or on an end-to-end basis between two end users over a large and complex network

  2. Rules and conventions of behavior for an action, such as argument passing, or an entity, such as the member functions of a class.

proxy

An interface-specific object that packages parameters for methods in preparation for a remote method call. A proxy runs in the address space of the sender and communicates with a corresponding stub in the receiver's address space. See also stub, marshaling, unmarshaling.

proxy DLL

A file that contains the code to support the use of a custom OLE interface by both client applications and object servers. Compiling an OLE interface with the MIDL compiler generates the files needed to build a proxy DLL.

proxy server

Or firewall. A way to protect your local area network from being accessed by others on the Internet. The proxy server acts as a security barrier between your internal network and the Internet, keeping others on the Internet from accessing confidential information on your internal network.

pseudotarget

In a makefile, a label used in place of a filename in a dependency line. The Microsoft Program Maintenance Utility (NMAKE) interprets the label as a file that does not exist and executes the commands in the dependency line. The following is an example of a pseudotarget, clean, that instructs NMAKE to remove all of the object files and the executable file from the project directory:

clean:
 erase *.obj
 erase *.exe

public

In C++, describes a broad degree of access to class members, as specified using the public keyword. The specified class member can be accessed by any function. See also private, protected.

punctuators

In C++, characters (!, %, ^, for example) that have syntactic and semantic meaning to the compiler but do not, of themselves, specify an operation that yields a value. Some punctuators, either alone or in combination, can also be C++ operators or be significant to the preprocessor.

pure virtual function

A virtual function set equal to 0, as in virtual void draw( ) = 0. You need not supply a definition for a pure virtual function. Abstract base classes contain at least one pure virtual function.


Glossary Q

qualified name

In C++, a name used with the binary scope-resolution (::) operator to disambiguate names that are reused within classes, structures, or unions. The name specified after the scope-resolution operator must be a member of the class specified on the left of the operator or a member of its base class(es).

query

A request for records from a data source. For example, a query can be written that requests, essentially, "all invoices for Joe Smith," where all records in an invoice table with the customer name "Joe Smith" would be selected. See also recordset.

queue

A data structure in which elements are added to the end of a list and removed from the head of the list. A priority queue typically removes elements from the list according to some priority value assigned to each element. The system message queue, for example, holds mouse and keyboard input waiting to be processed.


Glossary R

r-value

The value on the right side of an expression. R-values are sometimes used to describe the value of the expression and to distinguish it from an l-value. An r-value can be one or more of the following: variable, constant, literal, mathematical expression, or function. See also l-value.

radio button

Or option button. In graphical user interfaces, a round button operated by the user to toggle an option or choose from a set of related but mutually exclusive options. The radio button has two states, selected (or checked) and cleared (or unchecked). When selected, a black dot appears inside the button's circle. See also radio group.

radio group

A number of radio buttons grouped together in a group-box control. A radio group allows the user to choose from a set of mutually exclusive options; selecting one radio button automatically clears the previously selected button.

radix

  1. The number base for numeric input and displayed output. Visual C++ allows octal (8), hexadecimal (16), and decimal (10) radixes. The default radix is decimal.

  2. In SQL, a column that identifies numeric data types; possible values are 10, 2, or NULL.

RAM

Semiconductor-based memory that can be read from and written to by the microprocessor or other hardware devices. The storage locations can be accessed in any order (i.e., randomly). While other types of memory, including read-only memory (ROM), can also be accessed randomly, RAM is generally understood to refer to volatile memory that can be written to as well as read.

random access memory

Semiconductor-based memory that can be read from and written to by the microprocessor or other hardware devices. The storage locations can be accessed in any order (i.e., randomly). While other types of memory, including read-only memory (ROM), can also be accessed randomly, RAM is generally understood to refer to volatile memory that can be written to as well as read.

RAS

A Windows NT Server feature by which a single serial connection provides a remote workstation with host connectivity, NT file services, or Novell file and printing services (NWLink).

raster

A horizontal line of pixels. A raster display device creates images composed of pixels, or dots. Computer monitors and laser printers are examples of raster devices. Devices such as plotters, which create images on paper by drawing lines with a pen, are not raster devices.

raster display

A video monitor that displays an image on the screen from top to bottom as a series of horizontal scan lines. The scan lines are as wide as the smallest visible image on the screen. Within each scan line, individual picture elements, or pixels, can be illuminated. Television screens and most computer monitors are raster displays.

raster font

Or bitmap font, nonscalable font. A font in which each glyph (character or symbol) is of a particular size and style, designed for a specific resolution of device and described as a unique bitmap. See also scalable font, TrueType font, vector font.

raster operation

In computer graphics, a Boolean operation that combines either the values of the pixels in the selected pen and the destination bitmap (binary operation) or the values of the pixels in the source, the selected brush, and the destination (ternary operation). See also raster operation code.

raster operation code

A 32-bit code that defines how Windows combines colors in output operations that involve a current brush, a possible source bitmap, and a destination bitmap. See also raster operation (ROP).

rasterization

The conversion of vector graphics to equivalent images composed of pixel patterns that can be stored and manipulated as sets of bits. See also raster operation (ROP).

raw data

Unprocessed, typically unformatted data. Raw data is a stream of bits that has not been filtered for commands or special characters. More generally, it is information that has been collected but not evaluated.

read-only

Describes information stored in such a way that it can be played back (read) but cannot be changed (written). See also write-only.

record

  1. (noun) A collection of data about a single entity, such as an account or a customer, stored in a row of a table. A record consists of a group of contiguous columns (sometimes called "fields") that contain data of various types. See also recordset.

  2. (verb) To retain information, usually in a file.

record field exchange

When bulk row fetching is not implemented, the mechanism by which MFC ODBC classes transfer data between the field data members of a recordset object and the corresponding columns of an external data source. See also bulk record field exchange (Bulk RFX), dialog data exchange (DDX), DAO record field exchange (DFX).

record view

In form-based data-access applications, a form view object whose controls are mapped directly to the field data members of a recordset object and indirectly to the corresponding columns in a query result or table on the data source. See also form view, recordset.

recordset

A set of records selected from a data source. The records can be from a table, a query, or a stored procedure that accesses one or more tables. A recordset can join two or more tables from the same data source, but not from different data sources. See also dynaset, result set, snapshot.

recordset object

In MFC, an instance of class CRecordset or class CDaoRecordset, or an instance of any class derived from these. See also record field exchange (RFX).

recursive

The ability of a function or a routine to call itself.

red, green, blue

Or RGB values, RGB color. A mixing model, or method of describing colors, in light-based media such as color monitors. RGB mixes percentages of the light-based primary colors (red, green, and blue) to create other colors. Windows defines these percentages as three 8-bit values called RGB values. Zero percentage of all three primaries, or an RGB value of (0,0,0), produces black and 100 percent of all three primaries, or an RGB value of (255,255,255), produces white. See also red, green, blue, alpha (RGBA).

red, green, blue, alpha

A model that augments the red, green, blue (RGB) method of combining colors in light-based media, with a fourth color component, alpha, which is used to control color blending. In Open GL, an alpha value of 1.0 corresponds to complete opacity and a value of 0.0 corresponds to complete transparency. See also red, green, blue (RGB).

redraw flag

A Boolean parameter to many Windows functions which, when cleared, prevents the content of the given window from being updated (redrawn). When set, this flag allows the window to be repainted with new information.

Reduced Instruction Set Computer

A computer based on a high-speed processing technology that uses a reduced set of operating commands compared with Complex Instruction Set Computers. RISC speeds performance for calculation-intensive procedures by doing the most common operations quickly.

reentrant

Code written so that it can be shared by several programs (or processes within a single program) at the same time. When code is reentrant, one program or process can safely interrupt the execution of another program or process, execute its own code, and then return control to the first program or process in such a way that the first program or process does not fail or behave in an unexpected way.

reference

  1. (noun) In C++, a form of pointer that can be used to access a variable by its address. When such a reference is declared, it must be associated with a variable. The reference becomes an alias for that variable. See also address-of (&) operator.

  2. (verb) To access a variable, often said of elements in an array or in a record.

reference count

A count of the number of pointers that access, or make reference to, an object, allowing for multiple references to a single object. This number is decremented when a reference is removed; when the count reaches zero, the object's space in memory is freed.

reference counting

A running count of the number of clients of a resource. A reference count implements garbage collection, and also ensures that an object is not destroyed before all references to it are released.

referential integrity

In database management, a set of rules that preserves the defined relationships between tables when records are entered or deleted. Enforcing referential integrity would, for example, prevent a record from being added to a related table when there is no associated record in the primary table. See also schema.

region

  1. In Windows-based applications, a rectangle, polygon, ellipse, or combination of two or more of these shapes used to define a part of the client window to be painted, inverted, filled with output, framed, or used for hit testing.

  2. More generally, an area dedicated to, or reserved for, a particular purpose.

register

  1. (noun) A small (typically 32-bit), named region of high-speed memory located within the microprocessor and used as a holding area for specific, sometimes critical, pieces of data related to activities going on within the system. For example, a register might be used to hold the results of an addition operation or to hold the address of a particular location in the computer's memory. See also register variable.

  2. (verb) The process whereby an application or thread provides information about itself in a registration database or with a registration class. For example, an OLE server application registers with the OLE system registration database. See also registry.

register storage class

A declaration for function arguments and local variables requesting that the associated values be held in high-speed memory registers, if these registers are available. This storage class defaults to automatic when register storage is not possible. The Visual C++ compiler does not honor user requests for register variables; instead, it makes its own register choices when global opitimizations are on. However, the compiler does honor all other semantics associated with the register keyword when this declaration is used. See also automatic storage class, static storage class.

register variable

In C/C++, a local variable that a program specifies to be stored in a high-speed memory register, if possible, using the keyword register. See also register storage class.

registration entry file

In OLE applications, a text file description of the classes supported by a server application. When a server application is installed in a system, the contents of its registration entry file are merged with the system registry. Registration entry files usually have a .REG filename extension.

registry

Or OLE system registry, Windows NT registry, system registration database. In 32-bit Windows, the database in which configuration information is registered. This database takes the place of most configuration and initialization files for Windows and new Windows-based applications. See also registration entry file.

registry key

A unique identifier assigned to each piece of information in the system registration database.

regular expression

A search string that uses special characters to match a text pattern in a file. For example, an asterisk (*) means "zero or more occurrences of the preceding character"; thus, ab*c matches ac, abc, abbc, abbbc, etc.

relational database

A type of database or database management system that stores information in tables–rows and columns of data–and conducts searches by using data in specified columns of one table to find additional data in another table.

relative link

Links that keep the hyperlink intact even if you move the file containing the hyperlink.

relative path

The location of a file, document, or other object as it relates to the current location. The relative path to a target object includes only that portion of the path that is different from the path of the source object. For example, the relative path from c:\animal\mammal\canine\fido to c:\animal\mammal\feline\fluffy is ..\ ..\feline\fluffy. See also fully qualified path.

relative time

Or time span. The difference between two absolute time values.

release version

A compiled version of a program that does not include the debugging and diagnostic features included in a build compiled in debug mode. For example, a release version will not include the source code contained in ASSERT macros. See also debug version.

relocation information

Information that tells the linker what instructions in the object file will need to be "patched" with addresses of other objects defined in other source files. Those addresses will be known when all the object files are linked together.

Remote Access Service

A Windows NT Server feature by which a single serial connection provides a remote workstation with host connectivity, NT file services, or Novell file and printing services (NWLink).

remote debugging

  1. To debug an application written for, and running on, a platform other than the one on which you are running Visual C++ (the host machine). The remote machine is connected to the host machine through the serial port or, in the case of a Macintosh, an AppleTalk network connection. See also debug monitor.

  2. More generally, to debug an application that is running on a computer other than the one on which the debugger resides.

remote machine

  1. In the case of remote debugging, the machine on which the target application (the one being debugged) is running, as opposed to the host machine, which is running the debugger. See also debug monitor.

  2. Or remote computer. More generally, any computer that is not in the immediate vicinity, but which is accessible through some type of cable or communications link. See also local machine.

Remote Procedure Call

A widely used standard defined by the Open Software Foundation (OSF) for distributed computing. RPC enables one process to make calls to functions that are part of another process. The other process can be on the same computer or on a different computer on the network.

remote server

A server application, implemented as an executable file, that runs on a different machine from the client application using it. See also in-process server, local server.

repeat count

A value specifying the number of times a keystroke is repeated as a result of the user holding down the key.

reserve size

The amount of a resource that is to be allocated (or "committed") for a particular use. For example, in the header of a COFF file, the Windows NT–specific field Heap Commit Size specifies the size of the local heap that the linker and loader are to reserve for that file. Only the commit size is initially allocated; the rest is made available one page at a time, until the reserve size is reached.

resource

  1. A program block, dialog box template, bitmap, font, or sound, for example, that can be used by more than one program or in more than one place in a program. The use of resources allows alteration of many features in a program without the necessity of recompiling the program from source code. See also resource type.

  2. More generally, any part of a computer system or a network that can be allotted to a program or a process while it is running.

resource browser window

A window that displays the resources associated with a project. From the resource browser window, an application's resources can be added, deleted, or changed.

resource compiler

An application that creates a binary resource file based on the resource-definition (.RC) file. The resource compiler can also append binary resource data to an executable file and create a resource table in the executable file's header.

resource editor

A specialized utility program that can be used to add, edit and delete program resources.

resource fork

The portion of an Apple Macintosh file containing reusable items of information that the program can use during execution, such as blocks of code, icons, fonts, and digitized sounds. See also data fork.

resource identifier (ID)

In Microsoft Windows and in the Apple Macintosh Operating System, a number that identifies a particular resource within a given resource type — for example, a particular menu among many resources of type MENU that a program can use. The resource type, along with the resource ID, uniquely defines every resource in an application. (Note that resources of different types can have the same resource ID.)

resource type

A category of structural or procedural resources in Microsoft Windows and in the Apple Macintosh Operating System, such as code, fonts, dialog boxes, or icons. The resource type, along with the resource ID, uniquely defines every resource in an application.

resource-definition file

Or resource script file. A text file containing descriptions of resources from which the resource compiler creates a binary resource file. For Microsoft Windows applications, resource-definition files usually have a .RC filename extension. For Apple Macintosh applications, such files are typically named with a .R extension and written with the Apple Rez script language. See also compiled resource file.

RESOURCE.H file

The default name for the header file that corresponds to an application's resource-definition file.

response file

A text file that can contain multiple options and filenames that would otherwise be typed on the command line or specified by using the CL environment variable. The options in the response file are interpreted as if they were present on the command line at the position of the response file invocation.

restored window

A window that has been returned to its preminimized or premaximized size and position.

result set

A collection of data returned by an SQL query on a database. A Known result set is when the database application knows the exact form of the SQL statements and, therefore, the form of the result set, at compile time. An Unknown result set is when the application does not know the exact form of the SQL statement at compile time and, therefore, cannot predict the format of these results prior to execution. See also recordset.

return code

Or result code, exit code. A predefined code used to report the outcome of a procedure or to influence subsequent events when a routine or process terminates (returns) and passes control of the system to another routine. The return code can indicate success or failure, or can even indicate a particular type of failure that is within the normal range of expectations. For example, the exception-handling functions in C++ generate return codes.

return type

The data type returned by a function. The type-specifier field of a function definition can specify any fundamental, class, structure, or union type, or void.

return value

The value that a function evaluates to in its calling expression.

Rez

A script language that is part of the Macintosh Programmer’s Workshop and is used to specify the resources to be used by a Macintosh applicaton. MRC.EXE, the Macintosh Resource Compiler, provides a Windows NT implementation of Rez.

RFX

When bulk row fetching is not implemented, the mechanism by which MFC ODBC classes transfer data between the field data members of a recordset object and the corresponding columns of an external data source. See also bulk record field exchange (Bulk RFX), dialog data exchange (DDX), DAO record field exchange (DFX).

RGB

A mixing model, or method of describing colors, in light-based media such as color monitors. RGB mixes percentages of the light-based primary colors (red, green, and blue) to create other colors. Windows defines these percentages as three 8-bit values called RGB values. Zero percentage of all three primaries, or an RGB value of (0,0,0), produces black and 100 percent of all three primaries, or an RGB value of (255,255,255), produces white. See also red, green, blue, alpha (RGBA).

RGBA

A model that augments the red, green, blue (RGB) method of combining colors in light-based media, with a fourth color component, alpha, which is used to control color blending. In Open GL, an alpha value of 1.0 corresponds to complete opacity and a value of 0.0 corresponds to complete transparency. See also red, green, blue (RGB).

RGBA mode

In OpenGL, a color pixel data mode. An OpenGL context is in RGBA mode if its color buffers store red, green, blue, and alpha color components instead of color indexes.

rich edit control

In MFC, a window in which the user can enter and edit text. The text can be assigned character and paragraph formatting and can include embedded OLE objects.

rich-text format file

A file that contains encoded, formatted text and graphics for easy transfer between applications. The rich-text encoding format is commonly used by document-processing programs such as Microsoft Word for Windows and for generating online Help files. Rich-text format files usually have a .RTF filename extension.

right outer join

A database term that describes the relationship between two tables on which a query is run. If two tables are connected with a right outer join, the resulting recordset contains all records from the table on the right but only those records from the table on the left where the joined fields are equal. See also left outer join.

RISC

A computer based on a high-speed processing technology that uses a reduced set of operating commands compared with Complex Instruction Set Computers. RISC speeds performance for calculation-intensive procedures by doing the most common operations quickly.

risk management

The total process of identifying, controlling, and eliminating or minimizing the effects of uncertain events, such as power failures or hacker activity, that may affect system resources. It includes risk analysis, cost benefit analysis, selection, implementation and test, security evaluation of safeguards, and overall security review.

RLE8 compression

An image compression format for device-independent bitmaps that encodes a sequence of identical pixels as a repeat count and a color value.

rollback

A database operation that allows recovery from changes made during a transaction that was canceled or failed. Rollback returns the records to the state they were in as of the last commit (saved transaction).

root

In a hierarchy of items, the one item from which all other items are descended. The root item has nothing above it in the hierarchy. See also inheritance hierarchy.

root storage object

The outermost storage object of a storage hierarchy. A root storage object can contain other nested storage and stream objects. For example, a compound document is saved on disk as a series of storage and stream objects within a root storage object. See also compound document, storage object, stream object.

ROP

In computer graphics, a Boolean operation that combines either the values of the pixels in the selected pen and the destination bitmap (binary operation) or the values of the pixels in the source, the selected brush, and the destination (ternary operation). See also raster operation code.

ROT

A globally accessible table on every computer that tracks the OLE objects that can be identified by a moniker and are currently running on the local computer. Monikers use the running object table. Registering an object in the running object table increments the object's reference count. Before the object can be destroyed, its moniker must be released from the running object table.

rotation

A transformation that makes a displayed graphical object appear to have been turned (rotated) in space, relative to the coordinate-space origin.

router

A hardware device that connects two or more networks, or connects a network to the Internet. It converts addresses and sends on only those messages that need to pass to the other network.

rowset

In ODBC, one or more rows returned by a single fetch operation.

RPC

A widely used standard defined by the Open Software Foundation (OSF) for distributed computing. RPC enables one process to make calls to functions that are part of another process. The other process can be on the same computer or on a different computer on the network.

RTTI

In C++, a mechanism that allows the type of an object to be determined during program execution.

RTTI

Run-time type information. A mechanism that allows the type of an object to be determined during program execution. Compare with type information.

rubber-band selection

A selection method that allows a user to select multiple items by dragging a sizing rectangle around the items to be selected. Items within the region can be manipulated by the user. For instance, the user might drag or drop the selection into another container application.

run time

The point in time when a program is running, or the period of time needed to execute the program. See also compile time, link time.

run-time class information

Information about an object's class accessed at run time. This information is useful for doing extra type-checking or creating dynamic objects at run time. Classes derived from the MFC class CObject can have this functionality. See also run-time type information (RTTI).

run-time error

A math or logic error in a program that becomes apparent only at run time. Such an error may produce incorrect results or cause the program to behave unpredictably or crash.

run-time property

Discrete state information associated with a control object or its container. There are three types of run-time properties: ambient properties, control properties, and extended properties. Contrast with persistent property.

run-time type information

In C++, a mechanism that allows the type of an object to be determined during program execution.

run-time type information

A mechanism that allows the type of an object to be determined during program execution. Compare with type information.

Running Object Table

A globally accessible table on every computer that tracks the OLE objects that can be identified by a moniker and are currently running on the local computer. Monikers use the running object table. Registering an object in the running object table increments the object's reference count. Before the object can be destroyed, its moniker must be released from the running object table.

running state

In OLE, the status of a compound document object (either a linked or embedded item) when the object's application is running and it is possible to edit the object, access its interfaces, and receive notification of changes. See also loaded state.


Glossary S

sampling frequency

Or sampling rate. The rate at which samples of a physical variable, such as sound, are taken. The more samples taken per unit, the more closely the reconstructed result resembles the original.

scalable font

Any font that is defined by mathematical routines that can reproduce the outlines of each character at any size. Macintosh System 7, vector, PostScript, and TrueType fonts are all scalable; raster (bitmap) fonts are not.

scalar type

Or scalar data type. A data type that has a predictable and enumerable sequence of values that can be compared for greater-than/less-than relationships. In Visual C++, all arithmetic types, plus pointers, are considered scalar types. See also aggregate type.

scaled index base indirect operand

In Intel 80386-80486 assembly language, the second encoding byte of an extended memory operand.

scaling

A transformation that alters the apparent size of an object.

scan code

A device-dependent identifier that uniquely identifies each key on a keyboard. A keyboard generates two scan codes when the user types a key — one when the user presses the key and another when the user releases the key. See also virtual key code.

scan line

  1. On a television or raster-scan computer monitor, one of the horizontal lines on the inner surface of the screen that is traced by the electron beam to form an image.

  2. A row of pixels read by any scanning device, such as a full-page scanner or a fax machine.

schema

A description of the current structure of tables and views in a data source. The schema describes what columns are in each table, the data type of each column, and the relationships between tables. See also referential integrity.

schema number

In MFC serialization, the "version" of a class implementation, assigned to a class when the IMPLEMENT_SERIAL macro of the class is encountered. The schema number refers to the implementation of the class, not to the number of times a given object has been made persistent (usually referred to as the "object version"). Do not confuse this schema number with database terminology.

scope

In programming, the extent to which a given identifier (constant, variable, data type, routine) can be referenced within a program. See also class scope, file scope, function scope, function-prototype scope, local scope.

scope-resolution (::) operator

In C++, the operator with highest precedence, used to define the scope of the operand. The unary form of the operator, ::foo( ), is used to uncover or access a name that is at global scope and has been hidden by local or class scope. The binary form, Bar::foo( ), is used to disambiguate names that are reused within classes, structures, or unions.

screen coordinates

A means of specifying the position of a point on the display screen in terms of vertical (y-coordinate) and horizontal (x-coordinate) displacement from the upper-left corner of the screen (origin). The position and size of a window can be described by one set of coordinates (x, y) that marks the point defining the upper-left corner of the window, and another set of coordinates (x', y') that marks the point defining the lower-right corner of the window.

script file

A type of program that consists of a set of instructions to an application or utility program. The instructions in a script are usually expressed using the application's or utility's rules and syntax, combined with simple control structures such as loops and if-then expressions. A resource-definition file and a batch (.BAT) file are two examples of script files.

scroll-bar code

A 2-byte value that indicates the user's scrolling request. For example, the constant SB_LEFT indicates a request to scroll to the far left and the constant SB_PAGELEFT indicates a request to scroll one page to the left.

scroll-bar control

A control window that belongs to the SCROLLBAR window class. A scroll-bar control appears and functions like a standard scroll bar, but it is a separate window that receives direct input focus, indicated by a flashing caret displayed in the scroll box. Unlike a standard scroll bar, a scroll-bar control also has a built-in keyboard interface that enables the user to direct scrolling. See also standard scroll bar.

scrolling

The process of moving a document in a window to permit viewing of any desired portion.

scrolling range

The minimum and maximum values that a scroll bar can report.

SDI

A user interface architecture that allows a user to work with just one document at a time. Windows Notepad is an example of an SDI application. See also multiple document interface (MDI).

SDK

A set of libraries, header files, tools, books, on-line help and sample programs designed to help a developer create software.

sector

On a disk, the smallest contiguous physical unit for recording information. Multiple sectors make up a track.

Secure Sockets Layer

A protocol for providing data security layered between its service protocols (HTTP) and TCP/IP.

security attribute

A characteristic of a file or object that regulates its access and privileges by users or other objects. See also access token.

security descriptor

Contains the security information associated with an object. The information in security descriptors can include an owner, a primary group, a discretionary access-control list, and a system access-control list. This information is stored in the form of security identifiers (SIDs) and access-control lists (ACLs).

security identifier

A structure of variable length that uniquely identifies a user or group on all Windows NT implementations. See also access token, impersonation token, primary token, privilege.

security policy

The set of laws, rules, and practices that regulates how an organization manages, protects, and distributes sensitive information.

SEH

A mechanism for handling hardware- and software-generated exceptions that gives developers complete control over the handling of exceptions, provides support for debuggers, and is usable across all programming languages and computers. See also C++ exception handling.

selection statement

A statement that provides a means to conditionally execute sections of code. The if and switch statements are C/C++ selection statements.

semantics

The relationships between words or symbols and their intended meanings, or the rules governing these relationships. See also syntax.

semaphore

  1. In Win32, a synchronization object that maintains a count between zero and a specified maximum value. A semaphore's state is signaled when its count is greater than zero and nonsignaled when its count is zero. The semaphore object is useful in controlling a shared resource that can support a limited number of users. It acts like a gate that counts the threads as they enter and exit a controlled area and that limits the number of threads sharing the resource to a specified maximum number.

  2. More generally, a flag variable used to govern concurrent processes that share system resources.

separator

  1. In Windows, a special type of menu item that appears as a horizontal line. A separator can be used in a pop-up menu to divide a menu into groups of related items.

  2. Or separator code. A Unicode value used to indicate line breaks (0x2028) or paragraph breaks (0x2029).

  3. More generally, a keyword, character, or white space used to separate components of a name, a number, or a group of fields. For example, the decimal point (.) in 123.456 and the backslash (\) in ROOT\SUBDIR are separators.

Serial Line Internet Protocol

A protocol for connecting to the Internet via a dial-up connection, such as with a modem.

serial port

An electrical connection to a computer through which data is transmitted in series, one bit after another.

serial transport layer

A data transport link established by connecting the serial ports of two machines. For example, a serial transport layer is established when an Apple Macintosh and a Win32 host are connected through their serial ports.

serialization

  1. Or object persistence. In MFC, the process of writing or reading an object to or from a persistent storage medium, such as a disk file. The basic idea of serialization is that an object should be able to write its current state, usually indicated by the value of its member variables, to persistent storage. Later, the object can be re-created by reading, or deserializing, the object's state from storage.

  2. In RPC, the process of marshaling data to and unmarshaling data from buffers that you control, in contrast to traditional RPC usage, where the stubs and the RPC runtime control the marshaling buffers.

  3. Regarding procedures, use of MIDL-generated serialization stub to encode and decode one or more types with a single procedure call. Procedure serialization is accomplished by applying the encode and decode attributes to a function prototype in the ACF file.

  4. Regarding types, use of MIDL-generated routines to size, encode, and decode objects of a specified type. The client application calls these routines to serialize the data. Type serialization is accomplished by applying the encode and decode attributes to a single data type, or to an interface, in the ACF file.

serif

Any of the short lines or ornaments at the ends of the strokes that form a character in a typeface.

server

  1. In a network, any device that can be shared by all users.

  2. An application or a process that responds to a client request. See also client/server.

server application

An application that can create OLE items for use by container applications. Data in a server application can usually be copied, using the Clipboard or a drag-and-drop procedure, so that a container application can paste the data as an embedded or linked item. An application can be both a container and a server. See also container application, mini-server application.

server document

In OLE, a document created by a server application. See also compound document.

server item

An object that provides an interface between an OLE item and the server application and that is of a class derived from the MFC class COleServerItem. Server items, which are created and maintained by the server application, can be either linked or embedded. For linked items, the server item provides access to the data source, often in a different file. For embedded items, the server item handles the data stored in the container document and creates the server document. Server items also generate presentation data and handle the verbs (commands) associated with the OLE item.

server object

An object that responds to a request for a service. A given object may be a client for some requests and a server for other requests. See also client object.

service

In Win32, an executable object that is installed in a registry database maintained by the Service Control Manager. The executable file associated with a service can be started at boot time by a boot program or by the system, or it can be started on demand by the Service Control Manager. The two types of service are "Win32 service" and "driver service."

session

  1. In a Windows NT client/server network, a link between a workstation and a server. The session is established the first time a workstation makes a connection with a shared resource on the server and ends when all current connections between the workstation and the server are deleted.

  2. In the ISO/OSI communications model, the protocol layer that provides a way for users to establish connections and transport data across those connections. See also transport layer.

  3. More generally, the time during which two computers (or a computer and a terminal) maintain a connection, or the connection itself.

SGML

A set of rules and tags to mark the structure and content of a document, independent of the display medium.

shared component

A C++ Component Gallery component that has been exported to a file so it can be shared. The resulting file contains classes and resources for the component.

shared library

In general, any code module that can be accessed and used by many programs. Shared libraries are used primarily for sharing common code between different executable files or for breaking an application into separate components, thus allowing easy upgrades. In the Visual C++ documentation, "shared library" usually refers to a code module that is an Apple Shared Library Manager (ASLM) file for the Apple Macintosh. In Windows, shared libraries are usually referred to as dynamic-link libraries (DLLs).

shared memory

Memory accessed by more than one process or thread in a multitasking environment. Processes or threads using this memory operate under a set of rules that prevent them from modifying the same addresses simultaneously.

shared resource

  1. In a Windows NT client/server network, any local resource on the server that is made available to network users, such as directories, files, printers, or named pipes.

  2. More generally, any device, data, or program that is used by more than one device, program, process, or thread.

sharing mode

A file opening mode that determines what, if any, read and write operations will be allowed when the file is being shared. See also shared resource, sharing violation.

sharing violation

An error that occurs when one process (or machine) attempts to access a file after a different process has requested that the server block access to the file. If an application opens the file in compatibility mode, a sharing violation results in a critical error. See also sharing mode.

shell

A piece of software, usually a separate program, that provides communication between the user and the operating system. For example, the Windows Program Manager is a shell program that interacts with MS-DOS.

SHIFT+F1 Help

Context-sensitive Windows Help that the user obtains by pressing the SHIFT and F1 keys together. SHIFT + F1 Help invokes a special Help mode in which the cursor turns into a Help cursor. The user can then select a visible object in the user interface, such as a menu item, toolbar button, or window. This opens Help on a topic that describes the selected item.

short integer

In 32-bit Visual C++, a 16-bit integer. Most compilers provide less storage space for a short than for an int; however, the ANSII standard guarantees only that a short integer is no longer than an integer, which is the machine's native (word) size.

shortcut

A fast way to perform an action such as selecting text or, more usually, opening a file, document, Web page, and so on. Usually represented by an icon on the desktop.

shortcut menu

A menu displayed within a window that provides quick access to frequently used commands that are also available from the main menu bar. The commands in a shortcut menu may change depending on the current state of the window.

show state

A collection of qualities that a windows has at a given time, including active or inactive; hidden or visible; and minimized, maximized, or restored.

SIB

In Intel 80386-80486 assembly language, the second encoding byte of an extended memory operand.

sibling

A node in a tree that is descended from the same immediate ancestor(s) as other processes or nodes. The node may represent any data structure, or a system object such as a window or a process.

sibling window

A child window that has the same parent window as one or more other child windows.

SID

A structure of variable length that uniquely identifies a user or group on all Windows NT implementations. See also access token, impersonation token, primary token, privilege.

side effect

A change of state, other than the obvious one, caused by a routine, function call, or assignment. Function calls can have side effects if they change the value of an externally visible item.

signature

  1. In Win32, a 4-byte value that identifies an enhanced metafile.

  2. More generally, a sequence of data used for identification, such as an identifier appended to an electronic mail message or in a fax.

signed integer

An integer data type that can be either positive or negative. The most significant bit is the sign bit, which is 1 for negative values and 0 for positive values. See also unsigned integer.

signed values

Values that can be negative or positive.

Simple Mail Transfer Protocol

A standard Internet protocol for sending e-mail documents.

Simple Network Management Protocol

Designed for requesting, packaging, and sending management information over a network. SNMP provides a common set of rules for programmers writing network management programs.

single document interface

A user interface architecture that allows a user to work with just one document at a time. Windows Notepad is an example of an SDI application. See also multiple document interface (MDI).

single threading model

A model in which all objects are executed on a single thread. Contrast multithreaded application; compare free threading model, apartment-model threading.

single-byte character set

A mapping of characters to their identifying numeric values, in which each value is 1 byte wide. The ANSI and OEM character sets are single-byte character sets. See also multibyte character set (MBCS), Unicode.

single-line edit control

An element of the Windows user interface that allows the user to enter and edit a single line of text. See also multiline edit control.

size box

A small rectangle the user can manipulate to change the size of a window.

sizing border

A type of window border that enables the user to size the window by clicking and dragging the border.

sizing handles

A mechanism for changing the size of a bitmap or a control. Active sizing handles are solid squares; if a sizing handle is a hollow square, the object cannot be resized along that axis.

skeleton application

Or starter application. A default application created by AppWizard that runs, opens and closes windows, and allows other operations on the windows. You add the necessary code to implement the functionality needed for your own application.

slider control

Or trackbar. A window containing a slider and optional tick marks. When the user moves the slider, using either the mouse or the direction keys, the control sends notification messages to indicate the change.

SLIP

A protocol for connecting to the Internet via a dial-up connection, such as with a modem.

small memory model

A memory model with only one code segment and only one data segment.

smart pointer

In C++, an object that implements the funtionality of a pointer and additionally performs some action whenever an object is accessed through it. Smart pointers are implemented by overloading the pointer-dereference (->) operator.

SMTP

A standard Internet protocol for sending e-mail documents.

snapshot

  1. In MFC, a recordset that reflects a static view of the data as it existed at the time the snapshot was created. See also dynaset, recordset.

  2. Or screen dump. A copy of all or part of the display screen as it appears at a given instant.

  3. More generally, a copy of an object's state or appearance at a given time.

SNMP

Designed for requesting, packaging, and sending management information over a network. SNMP provides a common set of rules for programmers writing network management programs.

socket

An object that represents an endpoint for communication between processes across a network transport (TCP/IP or AppleTalk, for example). Sockets have a type (datagram or stream) and can be bound to a specific network address. Windows Sockets provides an API for handling all types of socket connections in Windows. See also datagram socket, stream socket, transport protocol.

software development kit

A set of libraries, header files, tools, books, on-line help and sample programs designed to help a developer create software.

solid brush

A logical brush that contains 64 pixels of the same color. See also null brush.

sort order

The order in which a set of records or other data objects are to be sorted, or the function that defines this order. Possible sort orders for an array of strings, for example, could include lexicographic order or ascending order by length.

source character set

The set of legal characters that can appear in source files. For Microsoft C and C++, the source set is the standard ASCII character set. The source character set and execution character set include the ASCII characters used as escape sequences. See also execution character set.

source code

Human-readable statements written in a high-level programming language, or assembly language. See also object code.

source code editor

A text editor that may provide special formatting features which make it easier to generate readable, syntactically correct source code. For example, a source code editor may automatically indent blocks of code, check for balanced parentheses and brackets, or highlight keywords.

source-code control system

An application that tracks changes to source-code files during the course of software development. Source-code control systems ensure that changes are not overwritten in projects with multiple developers, and that developers are working with the most up-to-date code. You can also return to earlier versions of code, if necessary.

spawn

  1. (noun) A family of C run-time library functions that create and execute new child processes.

  2. (verb) To create a child process (or thread, in cases where multiple threads are allowed).

spline

In computer graphics, a curve calculated by a mathematical function that connects separate points with a high degree of smoothness.

SQL

A database sublanguage used to query, update, and manage relational databases.

SSL

A protocol for providing data security layered between its service protocols (HTTP) and TCP/IP.

stack

  1. A data structure implemented as a LIFO (last in, first out) list so that the last item added to the structure is the first item removed.

  2. A region of reserved memory, organized as a stack, in which programs temporarily store status data such as procedure and function call return addresses, passed parameters, and local variables. See also heap.

stack allocation

The amount, in bytes, of space reserved for a program's status data such as procedure and function call return addresses, passed parameters, and local variables. See also stack frame.

stack frame

Or frame allocation. An area of memory set up whenever a function is called that temporarily holds the arguments to the function as well as any variables that are defined local to the function. There are two key characteristics of frame allocations. First, when a local variable is defined, enough space is allocated on the stack frame to hold the entire variable, even if it is a large array or data structure. Second, frame variables are automatically deleted when they go out of scope.

stack overflow

An error condition caused by attempting to push an item onto a stack that is full, meaning that all of the memory allocated for that stack has been used. See also stack underflow.

stack probe

A short routine, called on entry to a function, to verify that there is enough room in the program stack to allocate local variables required by the function.

stack size

The amount of memory, in bytes, allocated to a stack.

stack underflow

An error condition caused by attempting to pop an item from an empty stack. See also stack overflow.

stand-alone code

For the Apple Macintosh and Power Mac, code that implements resources as a shared library, with some of the functionality of dynamic-link libraries. See also Apple Shared Library Manager (ASLM).

standard control

One of the controls provided by Microsoft Windows. These controls include buttons of several kinds, static- and editable-text controls, scroll bars, list boxes, and combo boxes. See also custom control.

standard conversion

In C++, the conversion of objects of one fundamental type to another type. For example, converting an object of integral type to a shorter signed or unsigned integral type. Standard conversion can result in loss of data if the value of the original object is outside the range that can be represented by the shorter type.

standard error device

The device to which a program sends its error messages unless the error output is redirected. Normally, the standard error device is the console.

Standard Generalized Mark-up Language

A set of rules and tags to mark the structure and content of a document, independent of the display medium.

standard input device

The device from which a program reads its input unless the input is redirected. In normal operation, the standard input device is the keyboard.

standard input/output (I/O)

In C, the input and output functions declared in the STDIO.H header file. See also standard input device, standard output device, standard error device.

standard output device

The device to which a program sends its output unless the output is redirected. In normal operation, the standard output device is the console.

standard resource

A resource whose format is defined and recognized by Windows. Standard resources include icons, cursors, menus, dialog boxes, bitmaps, fonts, keyboard accelerator tables, message-table entries, string-table entries, and version data. See also custom resource.

standard scroll bar

One of two ways to include a scroll bar in a window. A standard scroll bar is located in the nonclient area of a window. It is created with the window and displayed when the window is displayed. The sole purpose of a standard scroll bar is to enable the user to generate scrolling requests for viewing the entire content of the client area.

start page

A page the user chooses as the opening page of the Internet or a Web site.

starter files

In Visual C++, a set of files created by AppWizard that, when compiled, implement the basic features of a Windows application. The starter files consist of C++ source files, resource files, header files, and a project file. See also skeleton application.

startup code

The portion of the program code that gets an application up and running. Startup code interprets command-line arguments, creates and initializes global variables, opens standard streams, and so forth.

state flags

Values, often return values from functions, that specify the condition of an interface component such as a checkbox.

static binding

The conversion of symbolic addresses to memory addresses during compilation or linking. Contrast with dynamic binding.

static control

A control that enables an application to provide the user with certain types of text and graphics that require no response. Applications often use static controls to label other controls or to separate a group of controls.

static cursor

An ODBC cursor that appears to be fixed (static) from the perspective of the data in the underlying tables. Changes made by other users are not detected by the static cursor until it is closed and reopened. See also snapshot.

static data

Data declared with the keyword static. Static data can include initialized variables defined outside of functions, static variables within functions, explicit strings, and floating-point numbers. "Static data" also sometimes refers to the area in memory where static data resides. See also statically allocated buffer.

static data member

Or static member variable. A data member that is declared within the scope of a class but which is actually a separate object. The definition of the static data member is performed elsewhere in the program, and only one copy of the member exists, no matter how many objects of the class exist.

static extent

A property of global data objects (both static and extern), local static objects, and static data members of C++ classes that have the following characteristics:

Only one copy of the data is maintained for all objects.

The objects retain their location in memory from the time they are created until they are destroyed.

static link

A program link, to a library or to an object, that is established at link time. When an application uses a function from a static-link library, the linker copies the code for that function into the application's executable file. See also dynamic link.

static member function

In C++, a class member function declared static in the class declaration. All objects of the class share a single copy of the static member function and a function so declared can access nonstatic data members of its class only through the member-selection (. or ->) operators. Static member functions are used to implement common resources that all the objects of the class need or to maintain state information about the objects.

static object

In OLE, an object that contains only presentation data, with no native data. A container can treat a static object as though it were a linked or embedded object, except that it is not possible to edit a static object. A static object can result, for example, from the breaking of a link on a linked object either because the server application is unavailable or because the user doesn't want the linked object to be updated anymore. See also native data.

static splitter window

A split-window style in which the panes are created when the window is created, and the order and number of panes never change. The panes are separated by a "splitter bar" that the user can drag to change the relative sizes of the panes. See also dynamic splitter window.

static storage class

In C++, the storage class for objects and variables that exist and retain their values throughout the execution of the entire program. All global objects have static storage class. Local objects and class members can be given static storage class by explicit use of the static storage class specifier. See also automatic storage class.

static-link library

A library file that is linked into the program when the executable file is built. Static-link library files usually have a .LIB filename extension. See also dynamic-link library file, library file.

statically allocated buffer

Or static buffer. A portion of memory that is allocated when a module is loaded and is deallocated when the module leaves memory.

status bar

A control bar at the bottom of a window, with a row of text output panes. The status bar is usually used as a message line (for example, the standard menu help message line) or as a status indicator (for example, the CAP, NUM and SCRL indicators). See also dialog bar.

status code

A value used to report on the current status of an object, event, or process, or to reflect the outcome of an operation.

storage class

Or storage duration. In C/C++, determines whether a variable (or object, in C++) has a static (or "global") lifetime, in which case it is stored in the same memory location throughout the execution of the program, or an automatic (or "local") lifetime,(in which case it is allocated new storage each time execution control passes to the block in which it is defined. See also automatic storage class, register storage class, scope, static storage class.

storage object

An object type used in OLE to implement compound files. Storage objects are analogous to directories in that they can contain other storage objects, or they can contain stream objects, which are analagous to files. See also compound file.

stream file object

A virtual file representing on-disk data associated with a file, some of which may not be part of the physical file that backs a file object. For example, a stream file object makes it possible to cache the extended attributes (EAs) or access-control list (ACL) for a file object together with the file's data.

stream I/O

Or iostream. In C++, the input and output functions, declared in IOSTREAM.H, that transfer data from and to files and devices. Stream I/O functions treat data as a stream of individual characters and provide buffering. The predefined object cout represents the standard output stream, cin represents the standard input stream, and cerr represents the standard error stream.

stream object

One of the object types used in OLE to implement compound files. Stream objects store data of any type. See also compound file, storage object.

stream socket

A connection-oriented socket that provides a bidirectional, sequenced, and unduplicated flow of data without record boundaries. Receipt of stream messages is guaranteed, and streams are well-suited to handling large amounts of data. Stream sockets are appropriate, for example, for implementations such as file transfer protocol (FTP), which facilitates transferring ASCII or binary files of arbitrary size. See also datagram socket, transport protocol.

streaming

The process of transferring information from a storage device, such as a hard disk or CD-ROM, to a device driver. Rather than transferring all the information in a single data copy, the information is transferred in smaller parts over a period of time, typically while the application is performing other tasks. Contrast with datagram.

strikeout

A font effect that adds a horizontal line through one or more characters.

string

A data structure composed of a sequence of characters identified with a symbolic name. In C/C++, a string is terminated with a null character ('\0').

string constant

In C/C++/Java programming, a list of characters enclosed in double quotes in source code.

string identifier (ID)

A 16-bit identifier that Windows uses to locate a string in a string-table resource. The upper 12 bits of the identifier specify the block in which the string appears. The lower 4 bits specify the ordinal location of the string within the block. See also string table.

string literal

Or literal string, string constant. A string of characters enclosed with double quotation marks ("). Any character from the source character set is allowed, except that a double quotation mark inside the string must be preceded by the backslash, or escape, character (\). Like other constants, string literals do not change in a program. See also character constant.

string name

An identifier for a class, version, or resource, in the form of a human-readable character string.

string resources

In 32-bit Windows, null-terminated Unicode strings that are stored in the resource file string table. Each string is made up of a series of strings whose ordinal position is used as the string ID.

string table

  1. A Windows resource that contains a list of identifiers, values, and captions for the strings used in an application's framework. For example, the status bar prompts are located in the string table. When the resource compiler converts a string table specified in a resource-definition file, it separates it into blocks of 16 strings and stores them as individual resources. See also string resources.

  2. More generally, any data structure used to store character strings. Typically, a string table is implemented as a hash table.

structure

  1. In C, an aggregate data type that can contain constants, variables, and other structures. In C++, a structure can also contain functions and all of a structure's members are implicitly public.

  2. More generally, a collection of data elements.

structured exception handling

A mechanism for handling hardware- and software-generated exceptions that gives developers complete control over the handling of exceptions, provides support for debuggers, and is usable across all programming languages and computers. See also C++ exception handling.

Structured Query Language

A database sublanguage used to query, update, and manage relational databases.

structured storage

An OLE model that allows objects to control their own data storage, loading directly from and saving directly to disk.

stub

An interface-specific object that unpackages the parameters for that interface after they are marshaled across the process boundary, and makes the requested method call. The stub runs in the address space of the receiver and communicates with a corresponding proxy in the sender's address space.

stub file

Or stub program. In Windows, an MS-DOS executable file added to the beginning of a segmented executable file and invoked if a user tries to run a Windows program from the MS-DOS prompt. The stub may display some error message such as "This program requires Microsoft Windows."

style

A value, or set of values, that defines the outward appearance and behavior of an object, such as a window, control, or document. See also window style.

style bit

An individual bit of the 16-bit style parameter that pertains to a single style attribute. For example, the WS_VISIBLE style bit, when set, determines whether a particular window is visible to the user.

subaddress

The part of a URL that goes to a specific place in a file, such as a bookmark, slide, and so on.

subclass

Or derived class. The class that is derived from another class. A subclass inherits state and behavior from its superclass or superclasses in the form of variables and methods.

subclassing

In Windows programming, a technique that allows an application to intercept and process messages sent or posted to a particular window before the window has a chance to process them. By subclassing a window, an application can augment, modify, or monitor the behavior of the window.

subexpression

An expression that is part of a larger expression. For example, (a+b) is a subexpression of (a+b)*c.

sublanguage

Or secondary language. In the localization of Windows-based programs, a variant of the primary language, defined by the locale. For example, if English is the the primary language, American, British, Australian, New Zealand, Canadian, and Ireland are the possible locales that determine the sublanguage. See also language identifier (ID).

subobject

  1. The portion of a Windows object that is completely described by a base class.

  2. Generally, an object within an object. For example, a cell could be considered a subobject of a spreadsheet object.

subscript

  1. In programming, a value enclosed in brackets ([ ]) that indicates either the number of elements in an array in the array declaration or the offset position within an array.

  2. In printing, one or more characters printed slightly below the bottom edge of the surrounding text.

subscript ([ ]) operator

An operator that indicates that the name preceding the operator is an array, or that designates a subscript into the array. For classes that have overloaded the operator, the behavior of this operator is class-specific.

substring

A string that is part of a longer string. For example, the string "cat" is a substring of the string "catamaran".

subsystem

A system other than, and usually subordinate to, the primary system. A subsystem can have its own memory allocation and internal functions. OLE 2.0 and DEBUG are examples of subsystems, and POSIX is a subsystem of Windows NT that can run UNIX applications.

superclass

Or base class. A class which is the base (or parent) class for another class; a class from which another is derived, either directly or indirectly. The superclass provides state and behavior to the subclass which the subclass may modify by overriding selected methods.

suspend count

A record of the number of active operations that require a thread to momentarily suspend execution of user-mode code. Starting one of these operations increments the suspend count; ending the operation decrements the count. When the suspend count equals zero, the thread resumes execution.

swap file

Or paging file. In Windows, the disk file that holds the active system and application memory pages that are not currently present in main memory (RAM). See also virtual memory.

symbol

  1. A character other than the standard alphanumeric characters. It usually refers to algebraic, scientific, or linguistic characters not found on the keyboard.

  2. In programming, a name that represents a register, an absolute value, or a memory address (relative or absolute).

  3. To a compiler, a variable, function name, or other identifier.

  4. In Visual C++, a resource identifier that consists of a text string (name) mapped to an integer value. A symbol provides a way to refer to resources and user-interface objects, both in source code and in the resource editors.

symbolic-debugging information

A map of the source code and all the identifiers (variables, function names, and so on) created at compile time for use by the debugger. See also program database file.

synchronization object

An object whose handle can be specified in one of the wait functions to coordinate the execution of multiple threads. The state of a synchronization object is either signaled, which can allow the wait function to return, or nonsignaled, which can prevent the function from returning. More than one process can have a handle of the same synchronization object, making interprocess synchronization possible. See also mutex object, semaphore.

synchronous call

A function call that does not allow further instructions in the calling thread to be executed until the function returns. See also asynchronous call.

synchronous operation

  1. In Windows programming, a task that requires the thread that initiated the operation to suspend activity until the task is completed. See also asynchronous operation, atomic operation.

  2. In hardware, an operation that proceeds under control of a clock or timing mechanism.

synchronous processing

In ODBC, a method of processing transactions in which the database driver does not return control to an application until a function call completes. See also asynchronous processing.

syntax

The grammar of a particular language, the rules governing the structure and content of the statements. See also semantics.

System 7

An operating system for Apple Macintosh computers.

system database

A file, read at startup, that contains information about the users in a workgroup, such as account names, user preference information, and passwords.

system font

The font used by the operating system to display messages. The system font is the default font for resources.

system modal dialog box

Or system modal message box, system modal window. A dialog box that prevents the user from doing anything else in Windows until the dialog box is cleared, usually by choosing a pushbutton marked either OK or Cancel. Use a system modal dialog box to notify the user of serious, potentially damaging errors that require immediate attention (for example, running out of memory).

system palette

A representation of the device's physical palette. The system palette contains the RGB values for all colors that can currently be displayed or drawn by the device.

system time

The current time on the system's "real-time" clock. The system time structure contains values for the year, month, day, hour, minute, second, and millisecond.

SYSTEM.INI file

A Windows initialization file that contains the settings needed to configure Windows to a system's particular components.


Glossary T

tab control

A common control used to present multiple pages of information or controls to a user; only one page at a time can be displayed. A tab control is analogous to the dividers in a notebook or the labeled folders in a file cabinet. Tab controls imply a peer or logical relationship between each page of information. See also property sheet.

tab order

The order in which the TAB key moves the input focus from one control to the next within a dialog box. Usually, the tab order proceeds from left to right in a dialog box, and from top to bottom in a radio group.

tab stop

One of the points in a line of text or a control in a group of controls (in a dialog box, for example) that the user can move to by pressing the TAB key. See also tab order.

tab-delimited report

A data file in which the elements are separated by tab characters.

tag

  1. In C/C++, an optional identifier are part of structure, union, and enumeration type specifiers and, if present, always immediately follow the reserved words struct, union, or enum. The tag names must be distinct from all other structure, enumeration, or union tags with the same visibility.

  2. Text in angle brackets that represents HTML markup. Web browsers display text and graphic elements based on the tags an author uses. The tag itself is not displayed by the browser.

tail

The last element in a linked list.

TAPI

A set of functions that is part of the Win32 API that lets a computer communicate directly with telephone systems.

target

The objective, or destination, of a computer command or operation. For example, the target machine in a remote debugging operation is the machine running the application that is being debugged.

task handle

One of two handles that Windows creates for each task running in the system. The task handle is the handle to the task database (TDB), which contains information about the task's queue, module handle, and so forth. See also instance handle.

TCP/IP

A set of transport protocols for the Internet that provides both connection-oriented (TCP) and connectionless (IP) data transfer. Commonly made up of four protocols: IP, TCP, UDP, and ICMP. See also transport protocol, User Datagram Protocol (UDP).

Telephony Application Programming Interface

A set of functions that is part of the Win32 API that lets a computer communicate directly with telephone systems.

teletype network

Terminal-emulation protocol for remote login over the Internet. Also refers to a UNIX program that uses the protocol (often written TELNET in that case).

telnet

Terminal-emulation protocol for remote login over the Internet. Also refers to a UNIX program that uses the protocol (often written TELNET in that case).

template

  1. In C++, a keyword that allows polymorphism with respect to different types, by passing the data type as a parameter to the code body.

  2. More generally, a form or blueprint for an object that contains information about the default properties of that object. For example, a Microsoft Word document template may contain text, formatting, and graphics information as well as macros and AutoText entries.

template class

A C++ class that is instantiated by providing a specific data (or class) type to a template. The compiler builds a class to process data of that type according to the specifications of the template. The Microsoft Foundation Class Library uses template classes to implement the standard collection classes.

temporary object

An object that is created when needed and destroyed after the reference object to which it is bound is destroyed.

temporary window

A window that an application creates for some temporary purpose. For example, a dialog box is a temporary window created to receive user input.

termination

The ending of a thread, process, or program.

termination functions

Functions called internally by MFC member functions when there is a fatal error, such as an uncaught exception that cannot be handled. In MFC, AfxAbort is the default termination function. The C/C++ Run-Time Library provides the _abort( ) function for non-MFC code. Most dynamic-link libraries register termination functions as well.

termination handler

A mechanism by which a developer ensures that a block of termination code is executed, so that resources such as memory, handles, and files are properly closed regardless of how a section of code finishes executing. A termination handler consists of a guarded body of code and a termination block. See also C++ exception handling, structured exception handling (SEH), try block.

ternary operator

An operator that takes three operands — for example, the conditional-expression (? :) operator in C/C++. See also binary operator, unary operator.

text editor

A program used to manage, edit, and print text files.

text file

A human-readable file composed of text characters. A text file is usually identified by a file extension of .TXT. See also binary file, rich-text format file.

text mode

One of two modes for file I/O operations specified in the file-opening function. In text mode, control characters that specify the end of a line are normalized during I/O operations. In binary mode, no translation occurs.

text-alignment flag

An indicator that determines how text output functions position a string of text on a display or device.

thread

The basic entity to which the operating system allocates CPU time. A thread can execute any part of the application's code, including a part currently being executed by another thread. All threads of a process share the virtual address space, global variables, and operating-system resources of the process.

thread local storage

A Win32 mechanism that allows multiple threads of a process to store data that is unique for each thread. For example, a spreadsheet application can create a new instance of the same thread each time the user opens a new spreadsheet. A dynamic-link library that provides the functions for various spreadsheet operations can use thread local storage to save information about the current state of each spreadsheet (row, column, and so on).

thread switch

A change of context from one thread to another, either inside a single process or across processes.

three-state check box

A square box button control that can have one of three states, usually checked, unchecked (cleared), or indeterminate (grayed).

throw expression

In C++, a statement that transfers program control to a catch block in order to handle an exception. See also C++ exception handling, catch block, try block.

thumbnail representation

  1. Or thumbnail view. In OLE, the reduced image of a document stored within an OLE compound file.

  2. In general, a greatly reduced version of an image that contains just enough detail for the image to be recognizable. Thumbnails are often used in a gallery view to allow the user to browse and select from a collection of images.

thunk

A small section of code that performs a translation or conversion during a call or indirection. For example, a thunk is used to change the size or type of function parameters when calling between 16- and 32-bit code.

time-out value

Or time-out delay. The maximum amount of time one entity will wait for another entity to complete a transaction. For example, in ODBC a query time-out value determines the amount of time the database engine will wait for a query's action to complete.

timer identifier (ID)

A value that identifies a timer or the events associated with a timer.

timestamp

A value that specifies the time data was created, modified, accessed, or received. In files, the timestamp may also specify when the data was committed to disk.

TLS

A Win32 mechanism that allows multiple threads of a process to store data that is unique for each thread. For example, a spreadsheet application can create a new instance of the same thread each time the user opens a new spreadsheet. A dynamic-link library that provides the functions for various spreadsheet operations can use thread local storage to save information about the current state of each spreadsheet (row, column, and so on).

token

  1. In a source program, the basic element recognized by a compiler. Keywords, identifiers, constants, string literals, and operators are examples of tokens.

  2. A group of security attributes created when a user logs on to the operating system. See also access token, primary token, impersonation token, privilege, security identifier (SID).

tool tip

A tiny pop-up window that presents a short description of a toolbar button's action. Tool tips are displayed when the user positions the mouse over a button for a period of time.

toolbar

A control bar based on a bitmap that contains a row of button images. These buttons can act like pushbuttons, check boxes, or radio buttons. See also dialog bar, status bar.

top-level window

A window that has no parent window, or whose parent is the desktop window.

topmost window

The window that overlaps all the other windows even if it is not the active or foreground window.

trace message

Or trace output. An error or diagnostic message employed in debugging to provide information about where in the program execution a problem occurred. In some cases, trace output can provide advance warning about problems that are about to occur.

tracker

In OLE, a border, or adornment, for OLE items that provides a visual cue about the current status of the item. By using different tracker styles, OLE items can be displayed with hatched borders, resize handles, or a variety of other visual effects.

tracking

  1. In user-interface control, to cause an on-screen displayed symbol, such as a pointer, to match the movements of a mouse or other pointing device.

  2. In data management, to follow the flow of information through a manual or an automated system (a tracking tool).

  3. In data storage and retrieval, to follow and read from a recording channel on a disk or a magnetic tape.

  4. In general, the act of following a path.

tracking size

The window size (maximum or minimum) that the user can produce by dragging a sizing border or splitter bar.

trail byte

In a double-byte or multibyte character set, the second byte of a two-byte character. See also lead byte.

transacted mode

A file-access mode that buffers all changes to a document and writes the changes to disk or discards them only when an explicit commit or revert request occurs. In this way, the original file can be reverted to. See also direct mode, rollback, transaction.

transaction

In data management, a means of completing an "all or nothing" series of changes to a file. If one change fails, or if there is a system failure during the transaction, the file reverts back to its original state before the transaction began. See also rollback.

transient

In Java, a variable type qualifier denoting that the indicated variable is not part of the persistent state of the object.

translation

  1. In programming, to convert a program from one language to another — for example, to convert C source code to object code.

  2. In graphics, to move an image horizontally, vertically, or both, without rotating the image.

  3. More generally, to convert from one form to another — for example, to translate a scan code into a key code.

translation phase

One of the steps a compiler follows in creating an executable program. In C/C++, these steps include character mapping, line splicing, tokenizing, preprocessing, character-set mapping, string concatenating, translating, and linking.

translation unit

  1. A single source file, together with all of its include files, supplied as input to the compiler, which combines and translates the files to produce an object file. See also compilation unit.

  2. In C/C++, a sequence of tokens that the compiler generates during the preprocessor phase. The translation unit incorporates code from the preprocessor directives, such as the #include and #define directives, into the source code from a single file and excludes any code removed by conditional compilation directives.

Transport Control Protocol/Internet Protocol

A set of transport protocols for the Internet that provides both connection-oriented (TCP) and connectionless (IP) data transfer. Commonly made up of four protocols: IP, TCP, UDP, and ICMP. See also transport protocol, User Datagram Protocol (UDP).

transport layer

  1. In remote debugging, a data link established between the host machine and the target machine. See also serial transport layer.

  2. The layer in the ISO/OSI communications model that is responsible for quality of service and accurate delivery of information. Among other services, the transport layer handles error detection and correction.

transport protocol

A set of conventions that govern how data is transported across networks. In a connection-oriented transport protocol, such as Transmission Control Protocol (TCP), applications are required to establish a virtual circuit before data transfer can take place. In a connectionless transport protocol, such as User Datagram Protocol (UDP), an established circuit is not required for data transfer and an application need only open and bind a socket in order to send and receive data.

trigraph

In C/C++, a sequence of two question marks followed by a punctuation character, which the compiler replaces with another character. For example, the compiler will replace the trigraph "??-" with the character "~". Trigraphs allow C programs to be written using only the ISO Invariant Code Set, which is a subset of the 7-bit ASCII character set.

TrueType font

A scalable outline font whose glyphs are stored as a collection of line and curve commands plus a collection of hints. Windows uses the line and curve commands to define the outline of the glyph and uses the hints to adjust the length of the lines and the shapes of the curves to correct irregularities in their shapes that occur during rasterization. See also raster font, vector font.

try block

A guarded body of code in a try-except frame-based exception handler or try-finally termination handler. See also catch block, throw expression.

type cast

An explicit conversion of a variable, structure, object, or expression from one data type to another.

type checking

The examination by a compiler or interpreter of the operations in a program to make sure that the correct data types are being used. See also run-time type information (RTTI).

type declaration

A declaration in a program that specifies the characteristics of a new data type, usually by combining more primitive existing data types. See also data declaration.

type definition

  1. A declaration that introduces a name which, within its scope, becomes a synonym for a type or a derived type. A type definition is usually used to construct shorter or more meaningful names for types already declared or to encapsulate implementation details that may change.

  2. A definition that describes the characteristics of an object — for example, a Windows type definition describes the dimensions, colors, behavior, and position for an object of a particular window class.

type information

In OLE, information about an object's class provided by a type library.

type library file

Or OLE library. An OLE compound document file containing standard descriptions of data types, modules, and interfaces that can be used to fully expose objects for OLE Automation. The type library file usually has a .TLB filename extension and can be used by other applications to get information about the automation server.

type modifier

A keyword that modifies the data type that follows — for example, unsigned can be used to modify an integral data type such as int.

type qualifier

A keyword that provides specific properties to an identifier. The const type qualifier declares an object to be nonmodifiable. The volatile type qualifier declares an item whose value can legitimately be changed by something beyond the control of the program in which it appears, such as a concurrently executing thread.

type safety

The assurance that a given function will be not presented, at run time, with data of a type it cannot handle. Type safety is assured through type checking and/or by the use of template classes that are designed to operate on data of many types. See also run-time type information (RTTI).

type-safe collection

A collection class that enforces type safety on data or objects. For example, a type-safe collection can be implemented by using one of the MFC template-based classes such as CArray or CList, which can store data of any type.

typed pointer

A pointer to a specified type.

typeface name

The name of a font — for example, Times New Roman.


Glossary U

UDP

A connectionless transport protocol that forms a user interface to the Internet Protocol (IP).

UDT

In OLE, a set of interfaces that allow data to be sent and received in a standard fashion, regardless of the actual method chosen to transfer the data.

unary operator

An operator that takes only one operand — for example, the increment (++) operator. See also binary operator, ternary operator.

unbalanced parentheses

The number of opening parentheses does not equal the number of closing parentheses.

UNC

The standard format for paths that include a local area network file server, as in \\server\share\path\filename.

undecorated name

In C++, the form that an identifier has in the source code (as a string of human-readable characters) as opposed to its decorated name, which consists of symbols that are meaningful only to the compiler and the linker.

underflow

Or loss of precision. A condition in which a mathematical calculation produces a result too near to zero to be represented by the range of binary digits available to the computer for holding that value in the specified precision. See also loss of significance.

underhang

The amount of white space between the edge of a character cell and the black part of the glyph. See also ABC width, overhang.

undo flag

A value, maintained by the edit control, that indicates whether an application can reverse the most recent operation on the edit control (to undo a text deletion, for example).

Unicode

A 16-bit character set capable of encoding all known characters and used as a worldwide character-encoding standard. Windows NT uses Unicode exclusively at the system level.

Uniform Data Transfer

In OLE, a set of interfaces that allow data to be sent and received in a standard fashion, regardless of the actual method chosen to transfer the data.

Uniform Resource Identifier

A variant of Uniform Resource Locator (URL).

Uniform Resource Locator

The address of a resource on the Internet. URL syntax is in the form protocol://host/localinfo, where protocol specifies the means of fetching the object (such as HTTP or FTP), host specifies the remote location where the object resides, and localinfo is a string (often a file name) passed to the protocol handler at the remote location. Also called Universal Resource Locator, Uniform Resource Identifier (URI).

union

  1. In C/C++, a user-defined data type that can hold values of different types at different times. It is similar to a structure except that all of its members start at the same location in memory. A union variable can contain only one of its members at a time. The size of the union is at least the size of the largest member.

  2. The keyword used to define union variables.

  3. Two or more objects joined into one.

Universal Naming Convention

The standard format for paths that include a local area network file server, as in \\server\share\path\filename.

universally unique identifier

Or globally unique identifier (GUID). A 128-bit value that uniquely identifies objects such as OLE servers, interfaces, manager entry-point vectors, and client objects. Universally unique identifiers are used in cross-process communication, such as RPC, and OLE.

unmarshaling

In OLE, the process of unpacking parameters that have been sent across process boundaries.

unresolved external

An error report that results from the linker not being able to identify and link to a data type or function that is used in source code. Unresolved externals usually mean that a DLL or object file was missing during linking.

unsigned integer

A data type that can only hold a whole number with a value greater than, or equal to, zero. In this implementation, the maximum value that an unsigned integer can hold is 0xFFFFFFFF (4,294,967,295).

update handler function

A function that administers changes made to an object or data file to make it more current.

update option

A choice that is made about when and how a system, object, or data file will be changed to make it more current. For example, OLE linked objects, or items, can be automatically updated whenever possible, when the source document is saved, or only on request from the client application.

update region

Or invalid region. In Windows, identifies the portion of a window that is out-of-date or invalid and in need of repainting.

updates

Actions or processes that make a system, object, or data file more current.

upper bound

The upper limit in an allowable range of values.

URI

A variant of Uniform Resource Locator (URL).

URL

The address of a resource on the Internet. URL syntax is in the form protocol://host/localinfo, where protocol specifies the means of fetching the object (such as HTTP or FTP), host specifies the remote location where the object resides, and localinfo is a string (often a file name) passed to the protocol handler at the remote location. Also called Universal Resource Locator, Uniform Resource Identifier (URI).

Usenet

Another name for Internet Newsgroups. A distributed bulletin board system running on news servers, UNIX hosts, online services and bulletin board systems. Collectively, all the users who post and read articles to newsgroups. The Usenet is international in scope and is the largest decentralized information utility, including government agencies, universities, high schools, and organizations of all sizes as well as millions of stand-alone PCs.

User Datagram Protocol

A connectionless transport protocol that forms a user interface to the Internet Protocol (IP).

User Network

Another name for Internet Newsgroups. A distributed bulletin board system running on news servers, UNIX hosts, online services and bulletin board systems. Collectively, all the users who post and read articles to newsgroups. The Usenet is international in scope and is the largest decentralized information utility, including government agencies, universities, high schools, and organizations of all sizes as well as millions of stand-alone PCs.

user-defined message

Any message that is not a standard Windows message.

user-interface object

In Windows, an object that provides functionality to the user-interface. For example, menu items, toolbar buttons, and accelerator keys are all user-interface objects.

user-interface thread

In Windows, a thread that handles user input and responds to user events independently of threads executing other portions of the application. User-interface threads have a message pump and process messages received from the system. See also worker thread.

user-interface thread

A thread that handles user input and responds to events and messages generated by the user. MFC provides a message pump for user interface threads.

USRDLL

A version of the Microsoft Foundation Class Library used to statically link MFC into a stand-alone user DLL so that the user DLL can incorporate some of the MFC classes.

UTC

A global time standard equivalent to Greenwich mean time (GMT).

UUID

Or globally unique identifier (GUID). A 128-bit value that uniquely identifies objects such as OLE servers, interfaces, manager entry-point vectors, and client objects. Universally unique identifiers are used in cross-process communication, such as RPC, and OLE.


Glossary V

validation rules

A set of functions that dialog data verification (DDV) employs to validate user entries in a dialog control. For example, the function DDV_MaxChars could validate that the string entered in the text-box control is not greater than a specified length.

variable

In programming, a named storage location capable of containing a certain type of data that can be modified during program execution. See also data structure, data type.

variant

  1. In OLE Automation, an instance of the VARIANT datatype, which can represent values of many different types, such as integers, floats, booleans, strings, pointers, etc.

  2. In general, one of two or more data elements, functions, libraries, or whatever, exhibiting (usually slight) differences.

VBX

A custom control that can be used in Visual Basic as well as other Microsoft programming systems, including Visual C++. VBX controls are 16-bit dynamic-link libraries and are not supported in 32-bit applications. Visual Basic control files have a .VBX filename extension.

vector font

A scalable font in which the characters are drawn in arrangements of line segments rather than arrangements of curves or bits. Vector fonts are often used in applications that are optimized for output to plotters instead of printers. See also raster font, TrueType font.

Veronica

A database of the names of almost every menu item on thousands of Gopher servers. This database can be searched from most major gopher menus. See also Archie.

version information

An application's company and product identification, product release number, and copyright and trademark notification. Version information is held in a standard form in the executable (.EXE) file or dynamic-link library (DLL) file and is accessible by various tools and Windows functions.

version resource

A resource that contains either text or binary data about an application's version information.

Very Easy Rodent-Oriented Net-wide Index to Computerized Archives

A database of the names of almost every menu item on thousands of Gopher servers. This database can be searched from most major gopher menus. See also Archie.

view

  1. (noun) A window object through which a user interacts with a document.

  2. Or aspect. (noun) Generally, the manner in which data or a graphical image is displayed.

  3. (verb) To display information on a computer screen, as in "to view a file."

viewer

Program for opening image files and files in other special formats, such as audio and video.

viewport

A rectangle in device space that is used to specify a transformation between page and device space. The viewport extents (height and width) are always measured in pixels for a video display or in dots for printers.

viewport origin

The corner of the viewport from which the height and width of the viewport are measured.

VIRTKEY

In an accelerator table resource, a flag used to indicate that the keystroke value in the definition is a virtual key code.

virtual base class

A base class whose derived classes contain only one shared instance of its members even if the indirectly derived classes have done multiple inheritance. The class declaration for the derived class must have the keyword virtual before the base class specifier in order for it to be a virtual base class. In the following example, class MultiC has only one subobject of class Base even though it has inherited from more than one class derived from Base:

class Base {  };
class DerivedA: virtual public Base {  };
class DerivedB: virtual public Base {  };
class MultiC: public DerivedA, public DerivedB {  };

virtual destructor

A destructor implemented by declaring a base class's destructor with the keyword virtual. A virtual destructor ensures that, when delete is applied to a base class pointer or reference, it calls the destructor implemented in the derived class, if an implementation exists.

virtual device driver

A low-level software component that manages a single resource, such as a display screen or a serial port, on behalf of all running processes. A VxD is always 32-bit protected mode code and is frequently written in assembly language.

virtual function

A member function of a base class, where the function is declared with the keyword virtual. If a base class contains a virtual function and a derived class defines the same function, the function from the derived class is invoked for objects of the derived class, even if it is called using a pointer or reference to the base class.

virtual function table

A table of function pointers, such as an implementation of a class in C++. The pointers in the VTBL point to the members of the interfaces that an object supports. See also dual interface.

virtual inheritance

In C++, a method of deriving classes by preceding the name of the base class with the keyword virtual. With virtual inheritance, indirectly derived classes contain only one shared instance of the base class's members even if they have done multiple inheritance. See also virtual base class.

virtual key code

In Windows, a device-independent value translated from the scan code by the keyboard device driver. The code identifies the keyboard key. See also VIRTKEY.

virtual memory

A memory-management scheme that allows an application to "see" a large, continuous block of primary memory (RAM) that, in reality, is a much smaller block of primary memory supplemented by secondary memory (such as a hard disk), with blocks of data being moved into and out of primary memory. See also swap file.

Virtual Reality Modeling Language

A vector-based language for modeling three-dimensional environments. It sends ASCII text files over the Internet, which are translated by the VRML viewing engine at the other end. VRML complements HTML.

visible region

In Windows, the portion of a window visible to the user.

Visual Basic control

A custom control that can be used in Visual Basic as well as other Microsoft programming systems, including Visual C++. VBX controls are 16-bit dynamic-link libraries and are not supported in 32-bit applications. Visual Basic control files have a .VBX filename extension.

void pointer

A pointer to an object of unknown type. See also typed pointer.

volatile

  1. In C/C++ and J++, a type qualifier that declares an item whose value can legitimately be changed by something beyond the control of the program in which it appears, such as a concurrently executing thread.

  2. More generally, describes information that is stored in memory and not preserved when a process or application terminates.

VRML

A vector-based language for modeling three-dimensional environments. It sends ASCII text files over the Internet, which are translated by the VRML viewing engine at the other end. VRML complements HTML.

VTBL

A table of function pointers, such as an implementation of a class in C++. The pointers in the VTBL point to the members of the interfaces that an object supports. See also dual interface.

VxD

A low-level software component that manages a single resource, such as a display screen or a serial port, on behalf of all running processes. A VxD is always 32-bit protected mode code and is frequently written in assembly language.


Glossary W

watch expression

An expression that can be evaluated as the program progresses and can be viewed in the Watch window during debugging.

wave file

A Microsoft standard file format for storing waveform audio data. Wave files have a .WAV filename extension.

waveform audio

A technique of re-creating an audio waveform from digital samples of the waveform.

weak external

A special type of external reference that allows the linker to fix up an address with an alternate symbol. By using a weak external record, a library developer can provide a method for the linker to use an alternate symbol if the code does not make any other references to the module in which the primary symbol resides.

Web browser

Software that renders Web pages on a local computer. See also World Wide Web.

what you see is what you get

A display method (pronounced "WI-zy-wig") that shows documents and graphics as they will appear when printed.

white space

  1. Spaces, tabs, and blank lines. White space sometimes refers to the C/C++ language-specific character constants that create white spaces; namely, ' ', '\t', and '\n'.

  2. The empty areas in a window or the margins on a document.

wide character

Or Unicode character. A 2-byte multilingual character code. Any character, including technical symbols and special publishing characters, can be represented as a wide character. Note that a multibyte character or a double-byte character can be 2 bytes in size, but neither is a wide, or Unicode, character. See also wide-character constant.

wide-character constant

A 16-bit character constant that can specify a member of the extended execution character set. Wide-character constants can be used to express characters in alphabets that are too large to be represented by type char. Use wide-character constants in place of multicharacter constants to ensure portability. Syntactically, a wide-character constant is a character constant prefixed by the letter L.

WIN.INI

A text file that stores initialization information for Windows and Windows-based applications. The WIN.INI file is configured with a number of sections and entries, depending on a particular system's hardware and software requirements. For example, entries in the [Desktop] section control the appearance of the desktop and the position of windows and icons.

Win32 Internet Extensions

A set of functions contained in WININET.DLL that simplifies client access to the Internet via HTTP, FTP, and Gopher. This collection of functions is an extension to the Win32 API.

Win32 platform

A platform that supports the Win32 API. These platforms include Intel Win32s, Windows NT, Windows 95, MIPS Windows NT, DEC Alpha Windows NT, and Power PC Windows NT.

window characteristic

An attribute of a window, such as size, position, or the presence of scroll bars.

window class

A set of attributes that Microsoft Windows uses as a template to create a window in an application. Windows requires that an application supply a class name, the window-procedure address, and an instance handle. Other elements may be used to define default attributes for windows of the class, such as the shape of the cursor and the content of the menu for the window.

window extent

The width (x-extent) or height (y-extent) of a window.

window handle

In the Win32 API, a 32-bit value (assigned by Windows) that uniquely identifies a window. An application uses this handle to direct the actions of functions to the window. A window handle has the HWND data type; an application must use this type when declaring a variable that holds a window handle.

window origin

  1. The upper-left corner of a window's client area.

  2. The corner of the window from which the extents are measured. See also viewport origin.

window procedure

A function, called by the operating system, that controls the appearance and behavior of its associated windows. The procedure receives and processes all messages to these windows.

window rectangle

The coordinate rectangle that encloses the entire window. The window rectange is defined by two ordered pairs of numbers that define the upper-left and lower-right corners of the rectangle. See also client area.

window style

A named constant that defines an aspect of the window's appearance and behavior not specified by the window's class.

window-management function

A function that carries out an action on a window. For example SetWindowPos is a window-management function that can change the size, position, or Z order of a window.

Windows initialization file

A text file that stores initialization information for Windows and Windows-based applications. The WIN.INI file is configured with a number of sections and entries, depending on a particular system's hardware and software requirements. For example, entries in the [Desktop] section control the appearance of the desktop and the position of windows and icons.

Windows Open Services Architecture

A specification for an open set of API functions that allow Windows-based desktop applications to connect to multiple computing environments, with a single version of each application able to work with multiple platforms. With WOSA, applications can access available information regardless of the type of network in use, the types of computers involved, or the types of back-end services available.

Windows Write file

A document file that is associated with the Windows Write text editor. The default filename extension for Windows Write files is .WRI.

WinInet

A set of functions contained in WININET.DLL that simplifies client access to the Internet via HTTP, FTP, and Gopher. This collection of functions is an extension to the Win32 API.

wizard

A special form of user assistance that guides the user through a difficult or complex task within an application. For example, a database program can use wizards to generate reports and forms. In Visual C++, the AppWizard generates a skeleton program for a new C++ application.

word alignment

Data in memory that is aligned on word boundaries. In 32-bit systems, "word alignment" means that the first byte of a data object is located at an address that is a multiple of 4.

word boundary

A memory address that is a multiple of the machine's word size, in bytes. See also word alignment.

wordwrap

To break lines automatically in order to keep the text within the boundaries of a window or the margins of a document.

worker thread

A thread that handles background tasks while the user continues to use an application. Tasks such as recalculation and background printing are examples of worker threads. See also user-interface thread.

working set

  1. The set of memory pages currently visible to the process in physical RAM memory. These pages are resident and available for an application to use without triggering a page fault. If free memory in the computer is above a threshold, pages are left in the working set of a process even if they are not in use. When free memory falls below a threshold, unneeded pages are trimmed from working sets.

  2. The average amount of memory, either physical or virtual, used by the process. The longer a process is running, the more accurate this value is.

workspace

A directory containing zero or more source files, files that describe the workspace, and files that describe its contents. See also Visual C++ project file, Visual C++ Workspace file, and workspace options file.

workspace configuration file

A file created and maintained by Visual C++. The file contains all the information about the project workspace, including a list of all the projects, their associated source files, each project's output file, the settings and tools required to build each project, as well as the physical layout and characteristics of Visual C++: window layout and characteristics, syntax coloring, editor preferences, and so on.

workspace options file

The file that stores information about the physical layout and characterisitics you’ve determined for Visual C++, such as window layout. In terms of source control, the workspace options file is not shareable.

workspace window

In the Microsoft Developers Studio, a window that displays graphical representations of a project workspace. The panes in the window display projects and files, classes for C++ files, and the table of contents for the online help system.

World Wide Web

Or the Web. The portion of the global Internet that uses hypertext links to connect pages and resources in a way that lets you reach any page from any other page. Web browsers enable you to navigate the Web.

WOSA

A specification for an open set of API functions that allow Windows-based desktop applications to connect to multiple computing environments, with a single version of each application able to work with multiple platforms. With WOSA, applications can access available information regardless of the type of network in use, the types of computers involved, or the types of back-end services available.

wrapper class

A C++ class whose function is to provide an alternative interface for objects of another class. For example, C exceptions can be handled as typed exceptions, with the C++ catch handler, by using a C exception wrapper class.

wrapper function

A function whose purpose is to provide an interface to another function. Such an interface might create type safety where none existed in the original function.

write-only

An attribute of an object (a C++ ostream object, for example), a pipe, or a file specifying that data can only be written to it, not read from it.

WWW

Or the Web. The portion of the global Internet that uses hypertext links to connect pages and resources in a way that lets you reach any page from any other page. Web browsers enable you to navigate the Web.

WYSIWYG

A display method (pronounced "WI-zy-wig") that shows documents and graphics as they will appear when printed.


Glossary X

x-extent

The width of a window. See also y-extent.


Glossary Y

y-extent

The height of a window. See also x-extent.


Glossary Z

Z order

Indicates a window's position in a stack of overlapping windows. This window stack is oriented along an imaginary axis, the z-axis, extending outward from the screen. The window at the top of the Z order overlaps all other windows. The window at the bottom of the Z order is overlapped by all other windows. An application sets a window's position in the Z order by placing it behind a given window or at the top or bottom of the stack.

zooming

Enlarging a selected window or portion of a graphical image in order to see finer details in the image.


Topic Not Found

No matching topic was found. Some possible reasons and remedies are as follows:

  • The file (.chm) that contains the destination topic is not in the expected location.

    Remedy: Rerun the MSDN Library Setup.

  • The file (.chm) that contains the current topic or destination topic is out-of-date and the link is no longer valid.

    Remedy: Install the latest version of the MSDN Library.

  • The MSDN Library CD is not in the CD-ROM drive.

    Remedy: Insert the MSDN Library CD into the CD-ROM drive.