Glossary

A

ActiveX

Microsoft's brand name for the technologies that enable interoperability using the Component Object Model (COM).

ActiveX component

Physical file that contains classes, which are definitions of objects. Formerly these were known as "OLE Automation servers" and "OLE Automation controllers."

ActiveX control

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

ActiveX designer

An ActiveX component that has a programmable interface and presents a visual interface at design time. Loaded into a host's development environment, ActiveX designers are top-level project components that third-party developers can use to create executable applications.

ambient properties

Properties that define a container's surroundings, including default colors, fonts, and alignment. Ambient properties are exposed to the controls contained in the container.

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 an application.

aspect

A characteristic of an ActiveX object, specified in the IOleObject interface. An object's aspect includes how it should be displayed and what types of behavior it supports.

attached code

Code written by a user and associated with an object. Attached code can be used to customize an object by adding properties, methods, or events.

Automation

COM-based technology that enables interoperability among components.

C

class

The formal definition of an object. The class acts as the template from which an instance of an object is created at run time. The class defines the properties of the object and the methods used to control the object's behavior.

A Component Object Model (COM) class is not necessarily the same as a class in an object-oriented language. A COM class can be identified by a CLSID.

class factory

An object that implements the IClassFactory or IClassFactory2 interface, which allows it to create other objects of a specific class.

Component Object Model (COM)

The programming model and binary standard on which ActiveX and Automation technologies are based. COM defines how ActiveX and OLE objects and their clients interact within processes or across process boundaries.

COM object

An object that conforms to the Component Object Model. Such objects implement and use the set of interfaces that support object interaction.

container

An application or object that can contain other objects, and which interacts with the contained object through Automation.

control

An object that you can place on a form or designer and that has its own set of recognized properties and events. Controls can receive user input, display output, and trigger event procedures. You can manipulate most controls using methods. Some controls are interactive (responsive to user actions), while others are static (accessible only through code).

control container

An object that provides sites that can contain controls. Typically these sites all exist on the same document or form. The control container implements entry points for the controls and exposes ambient properties to them.

controlling extensible object

See extended object.

controlling IUnknown

A special instance of the IUnknown interface that is implemented in an extended object.

cookie

A special reference or handle that is associated with a specific object.

customized class

A class to which an end user has attached code, using Visual Basic's object extension technology.

customized document

A document object to which an end user has attached code, using Visual Basic's object extension technology.

D

designer

A top-level software component that includes a dedicated design environment. The object that controls the look and feel of a user interface at design time.

design-time object

An object that is used at design time within a host's development environment. See also run-time object.

dynamic type information

Type information that changes when a user attaches code. An object can have dynamic or static type information; it has one dynamic type information object for its lifetime, regardless of how often its type information changes. See also type information.

E

embedded object

An object whose data is stored along with that of its container but that runs in the process space of its server.

event sink

An event sink implements the member functions for a set of events.

event source

An event source calls the interface that handles events.

extended object

An object that has attached code (usually code that handles events) or added properties, methods, or events.

F

form

A window or dialog box. Forms are containers for controls. A multiple-document interface (MDI) form can also act as a container for child forms (forms contained within MDI forms) and some controls. An ActiveX designer may work like a form, although it does not have to be a form.

frame

A visual enclosure for a form or ActiveX designer in the user interface. The frame looks like a window and defines window-like properties, methods, and events.

H

host application

The application, such as Visual Basic, into which an ActiveX designer is loaded.

HRESULT

An opaque result handle defined to be zero for a successful return from a function and nonzero if error or status information is to be returned.

I

in-process server

A component is said to run in process when it provides objects from within another component or application's process space. Examples include dynamic-link libraries and controls.

insertable object

An object that can be embedded or linked. Also called OLE object.

instance

An object for which memory is allocated or which is persistent.

L

license key

A string that, if present, allows a software component to be created.

O

object

A combination of code and data that can be treated as a unit, for example a control, form, designer, or application. Each kind of object is defined by a class.

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, a COM object's 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.

A COM object follows a specific model in which clients (those using an object's services) gain access to the object's data only through a pointer to an interface consisting of a set of methods (related functions). The client can then call these methods to perform desired operations.

OLE

Microsoft's object-based technology for sharing and transferring information between applications through linking and embedding.

OLE container

An OLE-aware application that can store embedded or linked objects provided by OLE servers.

P

persistent

Lasting between program sessions, or renewed when a new program session is begun.

persistent storage

Storage of a file or object in a medium such as a file system or database so that the file can be closed and then re-opened at a later time. Data can be retrieved from the file until the underlying file is deleted.

properties window

A window used to display or change properties of a selected form or control at design time. See also property page and property sheet.

property page

A grouping of properties presented as a tabbed page of a property sheet.

property set

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 sheet

A special kind of dialog box (or window) through which users can modify the attributes of an 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 Developer Studio.

R

registry key

A unique identifier assigned to each piece of information in the system registration database.

run-time object

An object that is created at run time and used as part of an executable application. See also design-time object.

S

service

For ActiveX designers, a group of interfaces that perform related tasks.. A caller asks an object for a service and, in return, receives an ActiveX object that supports the designated interfaces. Services do not delegate to their individual member interfaces, but rather to the IServiceProvider interface.

site

Object through which project items communicate with their surroundings. Each project item has one site.

static type information

Type information that remains the same throughout the lifetime of the object. See also type information.

subobject

An object defined, created, and managed by another object.

T

type information

Type information is the Automation standard for describing exposed objects, properties, and methods to an application or programming tool that accesses an exposed object. You provide type information in one of two ways: (a) As a type library written in Microsoft Object Description Language (ODL) and compiled by the MkTypLib utility or with the Microsoft Interface Definition Language compiler, or (b) As a data structure exported at run time. See also static type information and dynamic type information.

V

visual designer

The design-time object in an ActiveX designer. Using the visual designer, users can customize objects for use in executable applications.