See Sony/Philips digital interface (S/PDIF).


See system access control list (SACL).


See security account manager (SAM).


The first step in the process of converting an analog signal into a digital representation. Accomplished by measuring the value of the analog signal at regular intervals (called samples). These values are then encoded to provide a digital representation of the analog signal.


The extremes of operating range wherein the output is constant, regardless of changes in input.


Synchronous Connection Oriented link as defined by the Bluetooth standard.


See small computer system interface (SCSI).

SCSI filter driver (SFD)

An add-on driver that is layered above an existing SCSI class driver. An SFD intercepts requests for a particular SCSI peripheral device that has special features (not shared by other SCSI devices of its class), or that does not accept standard SCSI-II CDBs, to set up device-specific requests.

ScsiPort routines

An interface to HBA-specific miniport drivers exported by the system-supplied SCSI port driver. SCSI miniport drivers call these routines to obtain all operating system-specific system support they need to carry out I/O operations.

Drivers of non-SCSI mass-storage devices, implemented as a pseudo-SCSI miniport, also can use this interface.

SCSI request block (SRB)

A system-defined SCSI_REQUEST_BLOCK structure that is used to send I/O requests from a storage class driver to a storage port driver, which in turn relays such requests to a miniport driver.


Software development kit.


Service Discovery Protocol as defined by the Bluetooth standard.


See sequential color with memory (SECAM).

section object

An object that represents a section of memory that can be shared. For more information see the topic, Section Objects and Views.

See also view.

security account manager (SAM)

An integral subsystem that maintains a database of information about user accounts, including passwords, any account groups a given user belongs to, the access rights each user is allowed, and any special privileges a given user has.

security descriptor

A data structure used to hold per-object security information, including the object's owner, group, protection attributes, and audit information.

See also ACE, access control list (ACL), system access control list (SACL), and SID.

security identifier (SID)

A value, unique across time and space, that identifies a process in the security system. SIDs can either identify an individual process, usually containing a user's logon identifier, or a group of processes.

security violation

A user-mode (protected subsystem) attempt to access an object by passing its handle to a system service without having the correct, granted access rights for the requested operation.

Note that the security component does not check the access rights on object handles used by kernel-mode code. However, the I/O manager and network server driver can force a security access check on object handles.

See also ACE and access control list (ACL).

semaphore object

A user-mode semaphore gates access to resources, allowing some maximum number of threads, as specified when the semaphore object was created, to access the resources protected by the semaphore.

Each user-mode semaphore also has an associated current count, representing how many additional threads can acquire the semaphore. When the current count is zero, a thread attempting to acquire the semaphore waits until the count is incremented when another thread releases that semaphore. Every user-mode semaphore object is implemented through the use of a kernel-mode semaphore object.

A kernel-mode semaphore is an instance of a kernel-defined dispatcher object type.

Any semaphore object has either of two uses:

  • A counting semaphore gates access to a resource by allowing some number of threads up to a specified limit to access the resource while the semaphore is set to the Signaled state (semaphore count is nonzero).
  • A binary semaphore gates access to a single resource, if and only if the limit is set to one and it is not possible for the semaphore to be over-Signaled (set to the Signaled state when it is already in the Signaled state). A binary semaphore gates exclusive access to a resource.

However, using a semaphore with a limit of one to gate access is the same thing as using a mutex: semaphores have no ownership, deadlocks are possible, and the owner's priority is unaffected.


Hardware or software functionality that interprets a time-stamped music data stream and sends packets to music hardware as their time comes due.

sequential color with memory (SECAM)

Sequential Couleur a Memoire. The television standard for France, Russia, and most of eastern Europe. As with PAL, SECAM is based on a 50-Hz power system, but it uses a different encoding process and displays 819 horizontal lines per frame at a scan rate of 25 frames per second (50 fields per second).

See also NTSC format.

  • Any file system driver that provides remote access to files, named pipes, comm devices, and/or print devices.
  • A process with one or more threads that accept requests from client processes. client/server model.
service provider interface (SPI)

A component in Microsoft networking, TAPI, and other communications technologies.

Service Set identifier (SSID)

Identifies a network consisting of one or more access points. Such a network is also known as an Extended Service Set (ESS).

Session Manager

An integral subsystem that starts and keeps track of logon sessions and serves as an intermediary between protected subsystems.

session zero

Windows Vista

The system environment in which Windows services run. The user environment of the first user who logs on to a system is Session 1. If a system allows multiple users, such as a system that supports Terminal Services features, subsequent users are assigned to Session 2, Session 3, and so on.

Windows versions prior to Windows Vista

The environment in which Windows services run and where the first user logs on to the system. If a system allows multiple users, such as a system that supports Fast User Switching and Terminal Services features, subsequent users are assigned to Session 1, Session 2, and so on.

setup class

See Device Setup Classes.

setup class GUID

A GUID that identifies a device setup class.


A DLL that exports the General Setup Functions and Device Installation Functions that Setup applications call when installing devices.

For more information, see the topic Device Installation Components.


See SCSI filter driver (SFD).


See security identifier (SID).

sign extension

A type-conversion operation that increases the number of bits that are used to represent a signed integer value. This conversion operation replicates the sign bit of the original value to fill all the bit positions to the left of the original value. For example, a sign-extension operation that converts the signed char value 0xc3 to a 16-bit signed int produces the result 0xffc3.

See also zero extension.


One of two possible states for kernel-defined dispatcher objects, which support synchronization. When the kernel sets such an object to the Signaled state, any threads waiting on the object are released from their wait and become eligible for execution.

single-byte coding scheme

A character encoding scheme, such as ASCII, that uses a byte to represent each character.

See also Unicode.


In terms of device stacking in DirectShow, indicates that a pin represents possible connections that are attached to, rather than those that attach.

Compare with source.


See synthetic interrupt source (SINtx).

sleep state

A system or device state other than the System Working State (S0) or Device Working State (D0).

small computer system interface (SCSI)

SCSI (pronounced "scuzzy") drivers are assumed to comply with the ANSI SCSI-II standard. In addition, the operating system supplies an operating system-specific SCSI port driver, implemented as a dynamic-link library, and several device-type-specific class drivers, together with defined interfaces to HBA-specific SCSI miniport drivers and additional class drivers.

smart battery subsystem

A battery subsystem that conforms to the ACPI requirements and implementation defined in Smart Battery Charger Specification and related specifications.


A two-wire interface based on the I2C protocol. The SMBus is a low-speed bus that provides positive addressing for devices, as well as for bus arbitration.

SMBus interface

ACPI defines a standard hardware and software communications interface between an operating system bus driver and an SMBus controller using an embedded controller.

SMP machine

Symmetric multiprocessor machine.

See multiprocessor machine.

SMPTE timecode

An 80-bit standardized edit time code adopted by the Society of Motion Picture and Television Engineers.

See timecode.

software key

A system-generated, device-specific, registry subkey that contains information about the driver software associated with a device. Also called a driver key. For more information see the topic Registry Keys for Drivers.

See also hardware key.

software modem

Performs signal processing on the host CPU and implements the controller using V.42bis. The modem hardware consists of a telephone-line interface and digital-to-analog and analog-to-digital conversion circuitry. The hardware does not contain a DSP or a microcontroller. Also host-based signal processing or pumpless modem.

Compare with controllerless modem.

Sony/Philips digital interface (S/PDIF)

The current standard for digital connection to consumer audio devices is the S/PDIF connector. Microsoft is encouraging the use of USB or IEEE 1394 as the digital connection between stereo equipment and computers rather than adapting S/PDIF to meet computer needs.


In terms of device stacking in kernel streaming or ActiveMovie, indicates that a pin represents possible connections that attach, rather than those that are attached to.

Compare with sink.


See system physical address (SPA).

special pool

A part of the nonpaged memory pool. When Driver Verifier is active and the Special Pool option is selected, certain memory requests will be allocated from the special pool. This allows Driver Verifier to monitor the driver's memory usage for overruns and underruns.

For more information, see the topic Driver Verifier.

See also pool memory.


See service provider interface (SPI).


See SCSI request block (SRB).

See stream request block (SRB).


See Service Set identifier (SSID).

standard format bitmap

Single plane, packed-pixel (where the data for each pixel is stored in a contiguous manner) format bitmaps created and supported by GDI through EngCreateBitmap. Each scan line of the bitmap is aligned on a four-byte boundary. Standard format bitmaps code information at a rate of 1, 4, 8, 16, or 32 bits per pixel.

static analysis

Examining the source or object code of a program without executing the code. Typically, the analysis is designed to detect errors. See also dynamic analysis.

static verification

Using static analysis to verify that the program complies with a specification or protocol.

static VxD

A VxD that is loaded statically during system startup. A static VxD can be loaded in a number of different ways, including device enumeration by the Plug and Play static device enumerator.

stream file object

A virtual file representing on-disk data associated with a file, some of which might not be part of the physical file that backs a file object. For example, a stream file object makes it possible to cache the EAs or ACL for a file object together with the file data. FS-created stream file objects also make it possible to cache a copy of the on-media metadata describing the contents of each FS-mounted volume.

See also volume file.


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.

stream request block (SRB)

A HW_STREAM_REQUEST_BLOCK structure used by the stream class driver to pass requests to minidriver-provided callbacks.

stripe driver

A type of "RAID driver." An intermediate driver whose job is to get better performance for file accesses than the underlying disk driver can. A stripe driver is layered somewhere between the FSD and a disk device driver. It distributes pieces of each file over a set of partitions concurrently, thereby cutting down on synchronous read/write time for the file.

The system-supplied fault-tolerant disk driver, ftdisk, is a (RAID5) stripe driver.


A GDI text string user object that contains an enumeration of glyph handles and positions for the device driver.

structured exception handling

A system feature that supports controlled transfers to exception handlers when certain run-time exceptions occur. For information about when exceptions occur, and how to handle them in your driver, see Handling Exceptions.


A logical interface on a physical interface. Multiple subinterfaces can exist on a single physical interface. Generally applies to non-broadcast multiple-access (NBMA) networks in which one physical link is subdivided into multiple logical links.


The combination of a (security) token and of an associated program that may use system services.

See also token object.


Any unit on an AV/C device. An example of an AV/C device would be a Mini DV camcorder (accessed via the IEEE 1394 bus). Subunits on the camcorder include a camera subunit and a tape subunit.


An entity at one end of a point-to-point LAN/WLAN segment that is requesting authenticated access to the network.


Drawing and text output require a surface, associated with the requested device, on which to draw. Such a device surface is a subset of an array of 228 by 228 pixels. These pixels are addressed by pairs of 28-bit signed numbers; the upper leftmost pixel of the device surface is given the coordinates (0,0). The device surface lies in the lower right quadrant of this coordinate space, where both coordinates are nonnegative. A surface is associated with a particular PDEV.


A GDI user object that describes a surface. A device driver usually calls methods on a surface object only when the surface object represents a GDI bitmap or a device-managed surface.


Super VGA. A video adapter with special features, such as support for high-resolution modes or additional colors, that is also VGA-compatible.


Also Y/C video. A video signal that separates the luminance and color (Y and C) components of the signal for improved quality over composite video. The type of video signal used in the Hi8 and S-VHS videotape formats. It transmits luminance and color portions separately, using multiple wires, thus avoiding the NTSC encoding process and its inevitable loss of picture quality.

swap chain

A collection of one or more back buffers that can be serially presented to the front buffer.


A bus driver that uses instances of a device interface to represent software-only devices. A few older Driver stacks include SWENUM. For example, drivers for streaming media devices use software-only devices to represent the source of input data or the target for output data. Do not use SWENUM for new driver stacks.


To reorder data within a surface so as to increase the efficiency of accessing the data within the surface. The converse operation is termed "unswizzle." A surface is unswizzled to give an application access to the content of the surface. If a primary surface is swizzled during processing, it is unswizzled before it is displayed.

symbolic link
  1. An instance of the symbolic link object type, representing a "soft alias" that equates one name to another within the object manager's name space.
  2. A file object with special properties. When a symbolic link file is encountered as a component of a pathname, rather than opening the file itself, the file system is redirected to a target file.

Note that the I/O manager does not actually use a symbolic link object to implement symbolic link files; it uses a file object.

symbolic link object

An instance of a type defined by the object manager, used to translate a reference to one named object into a different name.

symmetric compression

A compression system that requires equal processing capability for compression and decompression of an image. This form of compression is used in applications in which both compression and decompression are used frequently. Examples include still-image databasing, still-image transmission (color fax), video production, video mail, videophones, and video conferencing.

Compare with asymmetric compression.

synchronization routine

A routine that synchronizes GDI with a particular surface. A display driver that supports asynchronous rendering can batch together one or more drawing operations to be performed by its graphic coprocessor. Such a display driver must implement a synchronization routine that GDI can call, a routine that notifies GDI that it is safe for it to carry out its own graphics operations. The synchronization routine to be implemented is named DrvSynchronize (for device-managed surfaces) or DrvSynchronizeSurface (for arbitrary surfaces) .


See synthetic interrupt controller (synIC).

synthetic interrupt controller (synIC)

An extension of a virtualized local APIC instance.

synthetic interrupt source (SINtx)

An MSR that controls an interrupt.

system access control list (SACL)

A part of the security descriptor for an object, used to maintain per object auditing information.

See also security descriptor, ACE, and access control list (ACL).

system paging file

A system file containing the contents of paged pool allocations that are currently paged out to backing store.

See also pool memory and paging file.

system physical address (SPA)

The physical address space of the underlying hardware.

system services

The set of native, user-mode routines exported by the executive for use only by protected subsystems. Each system service has a name of the form TwoLettersXxxYyy where:

  • TwoLetters is the prefix for all system services.
  • Xxx is usually a verb, describing the operation of a given service.
  • Yyy is generally the object type the service operates on.

See also Zw routines.

system space

A block of virtual memory dedicated to the use of kernel-mode code. Generally, the NT system space is a range of high-order virtual addresses around one to two gigabytes in size. Also called kernel space.

System Working State

System state S0, the fully on, fully operational power state.



Send comments about this topic to Microsoft