Previous Next

P

page frame
A block of contiguous physical memory used to store the contents of a virtual page. Note that the virtual page size and page frame size are usually identical, but that a page frame size is actually microprocessor-dependent.

See also PFN.

paged pool
See pool memory.
paging file
A system file containing the contents of virtual pages that have been paged out of memory.

See also backing store and system paging file.

palette
A mapping between color indexes and 24-bit RGB color values. The color indexes can be any bit depth, but are typically 1-, 4-, or 8-bits per pixel. GDI typically uses the palette mapping in reverse. That is, an application specifies an RGB color value for drawing and GDI must locate the color index that causes the device to display that color.

A driver specifies its palette so that GDI can determine how different color indexes are to appear on the device. If the palette for a device can be changed to hold a different set of colors, it is called a settable palette.

A device palette is the palette for a physical device. When the device sends image data to the monitor, the device palette is used. A device can have only one device palette.

palette realization
A palette is "realized" when a display driver sets its internal hardware palette to match changes in a device palette.

For video hardware that supports palettes that can be set, GDI calls the DrvSetPalette DDI in the display driver when it has finished mapping colors into the device palette requested by the application. GDI passes the new palette to the display driver, and the driver queries the PALOBJ to set its internal hardware palette to match the palette changes for the video hardware.

PALOBJ
A GDI user object that represents an indexed color palette.
partial print provider
A print provider that supplies limited functionality and works in conjunction with an NT-based operating system local print provider.

For more information see the topic, Writing a Network Print Provider.

PATHOBJ
A GDI user object used to describe a set of lines and Bezier curves that are to be stroked or filled. Associated functions allow the lines and curves to be enumerated for the driver.
PC 97
The 1997–98 requirements for PC system and peripheral design for the "Designed for Microsoft Windows" logo, as defined in the PC 97 Hardware Design Guide.
PC 98
The 1998–99 requirements for PC system and peripheral design for the Designed for Microsoft Windows logo, as defined in the PC 98 Checklist, which is an addendum to the PC 97 Hardware Design Guide.
PC card
A trademark of PCMCIA. A removable device that is designed to be plugged into a PCMCIA slot and used as a memory-related peripheral.
PCI
Peripheral component interconnect. A dynamically configurable I/O bus, described by the PCI Local Bus Specification published by the PCI SIG.
PCM
Pulse code modulation (PCM) is a subclass of the Microsoft waveform (.wav) file format. In PCM, data for .wav files is stored using linear samples. In contrast, ADPCM records the deltas between samples.
PCMCIA
Personal Computer Memory Card International Association.
PCR
Processor control region. An internal data structure in which the kernel stores per-processor information, and which can be viewed by using debuggers.
PDEV
A logical representation of a physical device. A PDEV is a private, driver-defined data structure containing all the information and data that represents the associated physical device. As part of enabling a PDEV, a driver provides information to GDI that describes the requested device and its capabilities. Important information that the driver gives GDI is a set of flags that allow GDI to determine what kinds of operations the PDEV (and the requested device) supports. For example, GDI can test the flags returned as part of the PDEV to determine whether or not the requested device can handle Bezier curves and geometric wide lines.

The term pdev, in lower-case, is typically used as the name of a function parameter or structure member of type PDEV.

A related type, DHPDEV, is a device handle of a PDEV structure. The term dhpdev, in lower-case, is typically used as the name of a function parameter or structure member of type DHPDEV.

PDO
See physical device object.
PEB
Process environment block.
PFN
Page frame number. The PFN database is the database in which the Memory Manager maintains information about every physical page in the system. Each PFN is an index for a physical page in the array of records that makes up the PFN database.

See also PTE.

phantom device
See nonpresent device.
physical device object (PDO)
A device object created by a bus driver using IoCreateDevice. The PDO, which represents the device for the bus driver, is at the bottom of the device stack for a device.

For more information see the topic, Types of WDM Device Objects.

physical layer
The 802.11 physical layer provides wireless hardware services. These services are required to support the services that the media access control (MAC) layer provides.

The IEEE 802.11-1997 standard provides several options for the physical layer:

PIC
Programmable interrupt controller.
pin
A set of filter-defined properties in Kernel Streaming and DirectShow® that specify a connection endpoint. For example, audio input can be described by a pin on a filter.
pin factory
A set of properties that describes a potential connection point to a filter, and is used to generate pin instances of that category. Each pin factory has a filter-unique identifier that allows support of pin-specific properties or data formats. This is a zero-based count by which the pin factory can be identified. The count stays constant between creation of pin instances.
pin instance
An instance created by a pin factory representing one end of a connection point between filters. A pin instance represents the embodiment of a connection using a particular data format and communications methodology. Used for control and data flow. Pin instances support, at minimum, a connection property set.
PIO
Programmed input/output. A technique for making data transfers between a device and system memory, using remapped system-space virtual addresses rather than DMA.
Plain Old Telephone Service
Plain Old Telephone Service (POTS) is analog telecommunications service. Until the 1970s, POTS was the only telephone service offered by local telecommunications providers.

See also PSTN.

plex
Single complete copy of a volume. A volume is composed of one or more plexes. Since all plexes are identical, the volume manager can retrieve data from any of the volume's plexes during a read operation. The volume manager spreads reads among volume plexes, in order to balance the I/O load on the physical media and maximize read performance.

An application or a kernel-mode component can read data from a particular plex instead of letting the volume manager pick one by using the IOCTL_VOLUME_READ_PLEX I/O control code.

plotter characterization data (PCD)
A DLL that provides device-specific information to a graphics plotter driver.
PNF file
A precompiled INF file. Windows creates a PNF file for each INF file to facilitate efficient processing. A PNF file includes information about the content of the original INF file, as well as the name of the INF file and other file attributes. Setup uses the PNF file instead of the original INF file. If a PNF file does not exist, Setup generates one for the INF file. For vendor-supplied INF files, the information contained in a PNF file also includes the location of the original INF file.
PnP
Plug and Play. For more information see the topic, Plug and Play.
pointer exclusion
A bit-block transfer in which the pointer's image is not copied to the destination. This means that if you are copying a portion of the screen, and the pointer is currently in that portion of the screen, the pointer should not be included in the copy. In the past, pointer exclusion was implemented by turning the pointer off before the copy, and turning it back on after the copy. This is no longer required with windows layering.
polling
A coding technique that wastes CPU cycles in a driver while waiting for a physical device to update its registers. Drivers should never implement polling loops and should minimize the interval they specify in calls to KeStallExecutionProcessor (no longer than 50 microseconds) if they must poll their devices.
pool memory
Regions located in kernel space from which memory blocks can be allocated and deallocated dynamically. (Some other systems call this "heap memory.") The Memory Manager creates two kinds of pools for system use and for use by drivers via Ex(ecutive) Support routine calls:

Drivers should allocate from paged pool for entities that are accessed exclusively at or below IRQL APC_LEVEL and in a nonarbitrary thread context. They should minimize their usage of nonpaged pool by "saving" it for data that must be accessed at or above IRQL DISPATCH_LEVEL. Allocations of contiguous or noncached memory come from nonpaged pool.

The Memory Manager allocates entities from both pools using a buddy scheme.

See also kernel space.

port driver
A lowest-level driver that responds to a set of system-defined device control requests and, possibly, to an additional set of driver-defined (private) device control requests, sent down by a corresponding class driver. A port driver insulates class drivers from the specifics of HBAs and synchronizes operations for all its class drivers. Some examples of system-supplied port drivers include the following:
  1. The SCSI port driver that supports a set of device-type-specific class drivers, and possibly SFDs, above it and one or more HBA-specific miniport drivers, and possibly non-SCSI mass-storage device drivers, which link themselves to this OS-dependent port driver (implemented as a dynamic-link library) and call its ScsiPortXxx routines.
  2. The video port driver that supports display drivers and adapter-specific, kernel-mode miniport drivers, which link themselves to the OS-dependent port driver (implemented as a dynamic-link library) and call its VideoPortXxx routines.
  3. The parallel port driver.

    In general, any driver of a device that is a so-called "intelligent controller" or a bus adapter can be a port driver if it communicates with one or more class drivers according to an established protocol and synchronizes access to the controller or bus.

    See also class driver, miniport driver, ScsiPort routines, and VideoPort routines.

port monitor
A type of print monitor that is responsible for providing a communications path between the user-mode print spooler and the kernel-mode port drivers that access I/O port hardware.
port object
An instance of an object type representing a conduit for messages between local (server/client) processes. It is used in the LPC (Local Procedure Call) model as an object accessible to user-mode processes through system services. The server (called) process defines a named connection port object and sets up two (unnamed) communication port objects when a client (caller) process connects to the named port.
portal
A portal is a device that connects an 802.11 LAN with another 802 LAN, or with the distribution system.
POSIX
Portable operating system for UNIX. A protected subsystem that supports the POSIX standard.
PostScript printer description (PPD)
A file read by the generic PostScript driver as part of device initialization. PPD files conform to specifications published by Adobe Corporation and are supplied by PostScript printer manufacturers.
POTS
See Plain Old Telephone Service.
power policy
The set of rules that determine how and when a system or device changes power state.

For more information see the topics, System Power Policy and Managing Device Power Policy.

PRCB
Processor control block. An extension of the PCR.
prediction address
In DirectX® video acceleration, the location of the prediction block within an implementation-specific design.
prediction block
In DirectX® video acceleration, the block filtered from reference block.
prediction macroblock
In DirectX® video acceleration, the macroblock prediction including all color channels.
prediction plane
In DirectX® video acceleration, the array of samples formed prior to combining of macroblock prediction. Each plane represents a set of prediction blocks, usually collected from one frame location. Planes are combined to form a single macroblock prediction.