FACTOID # 13: New York has America's lowest percentage of residents who are veterans.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Windows API

The Windows API, informally WinAPI, is the name given by Microsoft to the core set of application programming interfaces (APIs) available in the Microsoft Windows operating systems. It is designed for use by mostly C/C++ programs and is the most direct way to interact with a Windows system for software applications. Lower level access to a Windows system, mostly required for device drivers, is provided by the Windows Driver Foundation in current versions of Windows. An application programming interface (API) is a source code interface that a computer system or program library provides to support requests for services to be made of it by a Length. ... Microsoft Windows is the name of several families of proprietary software operating systems by Microsoft. ... In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. ... C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ... This article or section does not cite any references or sources. ... Windows XP loading drivers during a Safe Mode bootup A device driver, or a software driver is a specific type of computer software, typically developed to allow interaction with hardware devices. ... Windows Driver Foundation (WDF) is a Microsoft development group which is building tools to aid in the creation of high-quality device drivers for Windows 2000, Windows XP, Windows Server 2003, Windows Vista, and later editions of Windows. ...


A software development kit (SDK) is available for Windows, which provides documentation and tools to enable developers to create software using the Windows API and associated Windows technologies. A software development kit (SDK or devkit) is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar. ...

Contents

Overview of the Windows API Components

The functionality provided by the Windows API can be grouped into seven categories:[1]

Base Services[2]
Provide access to the fundamental resources available to a Windows system. Included are things like file systems, devices, processes and threads, access to the Windows registry, and error handling. These functions reside in kernel.exe, krnl286.exe or krnl386.exe files on 16-bit Windows, and kernel32.dll and advapi32.dll on 32-bit Windows.
Graphics Device Interface[3]
Provide the functionality for outputting graphical content to monitors, printers and other output devices. It resides in gdi.exe on 16-bit Windows, and gdi32.dll on 32-bit Windows.
User Interface[4]
Provides the functionality to create and manage screen windows and most basic controls, such as buttons and scrollbars, receive mouse and keyboard input, and other functionality associated with the GUI part of Windows. This functional unit resides in user.exe on 16-bit Windows, and user32.dll on 32-bit Windows. Since Windows XP versions, the basic controls reside in comctl32.dll, together with the common controls (Common Control Library).
Common Dialog Box Library[5]
Provides applications the standard dialog boxes for opening and saving files, choosing color and font, etc. The library resides in a file called commdlg.dll on 16-bit Windows, and comdlg32.dll on 32-bit Windows. It is grouped under the User Interface category of the API.
Common Control Library[6]
Gives applications access to some advanced controls provided by the operating system. These include things like status bars, progress bars, toolbars and tabs. The library resides in a DLL file called commctrl.dll on 16-bit Windows, and comctl32.dll on 32-bit Windows. It is grouped under the User Interface category of the API.
Windows Shell[7][8]
Component of the Windows API allows applications to access the functionality provided by the operating system shell, as well as change and enhance it. The component resides in shell.dll on 16-bit Windows, and shell32.dll and later in Windows 95 shlwapi.dll on 32-bit Windows. It is grouped under the User Interface category of the API.
Network Services[9]
Give access to the various networking capabilities of the operating system. Its sub-components include NetBIOS, Winsock, NetDDE, RPC and many others.

See Filing system for this term as it is used in libraries and offices In computing, a file system is a method for storing and organizing computer files and the data they contain to make it easy to find and access them. ... Computer hardware is the physical part of a computer, including the digital circuitry, as distinguished from the computer software that executes within the hardware. ... In computing, a process is an instance of a computer program that is being executed. ... For the form of code consisting entirely of subroutine calls, see Threaded code. ... The Windows registry is a database which stores settings and options for the operating system for Microsoft Windows 32-bit versions, 64-bit versions and Windows Mobile. ... Exception handling is a programming language mechanism designed to handle runtime errors or other problems (exceptions) inside a computer program. ... A computer display monitor, usually called simply a monitor when the meaning is clear from the context, is a piece of electrical equipment which displays viewable images generated by a computer without producing a permanent record. ... This does not cite any references or sources. ... This article is about the computer interface. ... An example of a graphical user interface in Windows XP, with the My Music window displayed In computing, a window is a visual area, usually rectangular in shape, containing some kind of user interface, displaying the output of and allowing input for one of a number of simultaneously running computer... In computing, a button (sometimes known as a command button or push button) is a widget that provides the user a simple way to trigger an event, like searching for a query at a search engine, or to interact with dialog boxes, like confirming his actions. ... A scrollbar, or slider, is a graphical widget in a GUI with which continuous text, pictures or anything else can be scrolled including time in video applications, i. ... GUI can refer to the following: GUI is short for graphical user interface, a term used to describe a type of interface in computing. ... Windows XP is a line of proprietary operating systems developed by Microsoft for use on general-purpose computer systems, including home and business desktops, notebook computers, and media centers. ... Example of dialog box from Microsoft Windows Dialog boxes are special windows which are used by computer programs or by the operating system to display information to the user, or to get a response if needed. ... An example of a status bar A status bar is a component (widget) often found at the bottom of windows in a graphical user interface. ... The default Windows XP (Luna theme) display of a determinate progress bar Example of indeterminate progress bar when searching in Windows XP (Energy blue theme) Image:Progbarr. ... An early toolbar on a Xerox Alto Computer In a graphical user interface on a computer monitor a toolbar is a row, column, or block of onscreen buttons or icons that, when clicked, activate certain functions of the program. ... A tab in graphical user interfaces is a typically rectangular small box (usually containing a text label and/or an icon) associated graphically with a view pane. ... Dynamic-link library (also written without the hyphen), or DLL, is Microsofts implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems. ... It has been suggested that this article or section be merged into Shell_(computing). ... Windows 95 is a consumer-oriented graphical user interface-based operating system. ... “Computer Networks” redirects here. ... NetBIOS is an acronym for Network Basic Input/Output System. ... Windows Sockets API version 2. ... Dynamic Data Exchange (DDE) is an old technology for communication between multiple applications under Microsoft Windows and also OS/2. ... Remote procedure call (RPC) is a protocol that allows a computer program running on one computer to cause a subroutine on another computer to be executed without the programmer explicitly coding the details for this interaction. ...

Web related APIs

The Internet Explorer web browser also exposes many APIs that are often used by applications, and as such could be considered a part of the Windows API. Internet Explorer has been an integrated component of the operating system since Windows 98, and provides web related services to applications.[10] The integration will stop with Windows Vista. Specifically, it provides: Windows Internet Explorer (formerly Microsoft Internet Explorer, abbreviated MSIE), and commonly abbreviated to IE, is a series of proprietary graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems starting in 1995. ... Windows 98 (codenamed Memphis and formerly known as Windows 97) is a graphical operating system released on June 25, 1998 by Microsoft and the successor to Windows 95. ... Windows Vista is a line of graphical operating systems used on personal computers, including home and business desktops, notebook computers, Tablet PCs, and media centers. ...

  • An embeddable web browser control, contained in shdocvw.dll and mshtml.dll.
  • The URL monitor service, held in urlmon.dll, which provides COM objects to applications for resolving URLs. Applications can also provide their own URL handlers for others to use.
  • A library for assisting with multi-language and international text support (mlang.dll).
  • DirectX Transforms, a set of image filter components.
  • XML support (the MSXML components).
  • Access to the Windows Address Book.

Multimedia related APIs

Microsoft has provided the DirectX set of APIs as part of every Windows installation since Windows 95 OSR2. DirectX provides a loosely related set of multimedia and gaming services, including: Microsoft DirectX (Direct eXtension) is a collection of application programming interfaces for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. ... Windows 95 is a consumer-oriented graphical user interface-based operating system. ...

  • Direct3D as an alternative to OpenGL for access to 3D acceleration hardware.
  • DirectDraw for hardware accelerated access to the 2D framebuffer. As of DirectX 9, this component has been deprecated in favor of Direct3D, which provides more general high-performance graphics functionality (as 2D rendering is a subset of 3D rendering).
  • DirectSound for low level hardware accelerated sound card access.
  • DirectInput for communication with input devices such as joysticks and gamepads.
  • DirectPlay as a multiplayer gaming infrastructure. This component has been deprecated as of DirectX 9 and Microsoft no longer recommends its use for game development.
  • DirectShow which builds and runs generic multimedia pipelines. It is comparable to the GStreamer framework and is often used to render in-game videos and build media players (Windows Media Player is based upon it). DirectShow is no longer recommended for game development.
  • DirectMusic

This article or section does not cite its references or sources. ... DirectDraw is part of Microsofts DirectX API. DirectDraw is used to render graphics in applications where top performance is important. ... DirectSound is software supplied by Microsoft that resides on a computer with the Windows operating system. ... DirectInput is a library of objects for collecting input from the user, via input devices such the mouse, keyboard, joystick or game controllers. ... DirectPlay is part of Microsofts DirectX API. DirectPlay is a network communication library intended for computer game development, although its general nature certainly allows it to be used for other purposes. ... Logo of the DirectX Media SDK - the first time DirectShow was distributed under its current name. ... GStreamer is a multimedia framework written in the C programming language with the type system based on GObject. ... Windows Media Player (WMP) is a digital media player and media library application developed by Microsoft that is used for playing audio, video and viewing images on personal computers running the Microsoft Windows operating system, as well as on Pocket PC and Windows Mobile-based devices. ... DirectMusic is a high-level set of objects, built on top of DirectSound, that allow you to play sound and music without needing to get quite as low-level as DirectSound. ...

APIs for interaction between programs

The Windows API mostly concerns itself with the interaction between the Operating System and an application. For communication between the different Windows applications among themselves, Microsoft has developed a series of technologies alongside the main Windows API. This started out with Dynamic Data Exchange (DDE), which was superseded by Object Linking and Embedding (OLE) and later by the Component Object Model (COM). Dynamic Data Exchange (DDE) is a technology for communication between multiple applications under Microsoft Windows and also OS/2. ... Object Linking and Embedding (OLE) is a distributed object system and protocol developed by Microsoft. ... Component Object Model (COM) is a Microsoft platform for software componentry introduced by Microsoft in 1993. ...


Wrapper Libraries

Various wrappers were developed by Microsoft that took over some of the more low level functions of the Windows API, and allowed applications to interact with the API in a more abstract manner. Microsoft Foundation Class Library (MFC) wrapped Windows API functionality in C++ classes, and thus allows a more object oriented way of interacting with the API. The Active Template Library (ATL) is a template oriented wrapper for COM. The Windows Template Library (WTL) was developed as an extension to ATL, and intended as a lightweight alternative to MFC. A wrapper can refer to several things: In computer science: a wrapper pattern (such as a driver wrapper) is a design pattern where a piece of code allows classes to work together that normally could not because of incompatible interfaces. ... This article does not cite any references or sources. ... C++ (pronounced see plus plus, IPA: ) is a general-purpose, high-level programming language with low-level facilities. ... In object-oriented programming, a class is a programming language construct that is used to group related instance variables and methods. ... Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ... The term template when used in the context of file format refers to a common feature of many software applications that define a unique file format intended specifically for that particular application. ... The Windows Template Library (WTL) is an object-oriented Win32 encapsulation C++ library by Microsoft. ...


Also notable are some of Borland's offerings. Object Windows Library (OWL) was released as a competing product to MFC, and offered a similar object-oriented wrapper. Borland later deprecated it in favour of the Visual Component Library (VCL). Borland Software Corporation is a software company headquartered in California. ... The Object Windows Library (OWL) is a Borland C++ object-oriented framework originally designed for WinAPI. It was used in Turbo Pascal for Windows, Borland Pascal and their Borland C++ package. ... In computer software standards and documentation, deprecation is the gradual phasing-out of a software or programming language feature. ... In computing, VCL (Visual Component Library) is a visual component-based framework for developing Microsoft Windows applications, developed by Borland for use in its Delphi and C++Builder software development environment. ...


All application frameworks for Windows are (at least partially) wrapping the Windows API. Thus, the .NET Framework and Java, as well as any other programming languages under Windows, are (or contain) Wrapper Libraries. In computer programming, an application framework is a term usually used to refer to a set of libraries or classes that are used to implement the standard structure of an application for a specific operating system. ... The Microsoft . ... Java is a programming language originally developed by Sun Microsystems and released in 1995. ... Other listings of programming languages are: Categorical list of programming languages Generational list of programming languages Chronological list of programming languages Note: Esoteric programming languages have been moved to the separate List of esoteric programming languages. ...


History

The Windows API has always exposed a large part of the underlying structure of the various Windows systems for which it has been built to the programmer. This has had the advantage of giving Windows programmers a great deal of flexibility and power over their applications. However, it also has given Windows applications a great deal of responsibility in handling various low-level, sometimes tedious, operations that are associated with a graphical user interface. A graphical user interface (GUI) is a type of user interface which allows people to interact with a computer and computer-controlled devices which employ graphical icons, visual indicators or special graphical elements called widgets, along with text labels or text navigation to represent the information and actions available to...


Charles Petzold, writer of well-read Windows API books, has said: "The original hello-world program in the Windows 1.0 SDK was a bit of a scandal. HELLO.C was about 150 lines long, and the HELLO.RC resource script had another 20 or so more lines. (...) Veteran C programmers often curled up in horror or laughter when encountering the Windows hello-world program."[11] A Hello world program is a frequently used programming example, usually designed to show the easiest possible application on a system that can actually do something (i.e. print a line that says "Hello World"). Charles Petzold is a technical author on Microsoft Windows applications. ... A hello world program is a software program that prints out Hello world! on a display device. ...


Over the years, various changes and additions were made to the Windows Operating System, and the Windows API changed and grew to reflect this. The Windows API for Windows 1.0 supported fewer than 450 function calls, where in modern versions of the Windows API there are thousands. However, in general, the interface remained fairly consistent, and an old Windows 1.0 application will still look familiar to a programmer who is used to the modern Windows API.[12] Windows 1. ... In computer science, a subroutine (function, method, procedure, or subprogram) is a portion of code within a larger program, which performs a specific task and is relatively independent of the remaining code. ...


A large emphasis has been put by Microsoft on maintaining software backwards compatibility. To achieve this, Microsoft sometimes even went as far as supporting software that was using the API in an undocumented or even (programmatically) illegal way. Raymond Chen, a Microsoft developer who works on the Windows API, has said: "I could probably write for months solely about bad things apps do and what we had to do to get them to work again (often in spite of themselves). Which is why I get particularly furious when people accuse Microsoft of maliciously breaking applications during OS upgrades. If any application failed to run on Windows 95, I took it as a personal failure."[13] Microsoft Corporation, (NASDAQ: MSFT, HKSE: 4338) is a multinational computer technology corporation with global annual revenue of US$44. ... In technology (especially computing), backward compatibility has several related but differing meanings: A system is backward compatible if it is compatible with earlier versions of itself, or sometimes other earlier systems, particularly systems it intends to supplant. ... Raymond Chen is a well-known developer on the Windows Shell team at Microsoft. ...


One of the largest changes the Windows API underwent was the transition from Win16 (shipped in Windows 3.1 and older) to Win32 (Windows NT and Windows 95 and up). While Win32 was originally introduced with Windows NT 3.1 and Win32s allowed usage of a Win32 subset before Windows 95, it was not until Windows 95 that many applications began being ported to Win32. To ease the transition, in Windows 95, both for external developers and for Microsoft itself, a complex scheme of API thunks was used that could allow 32 bit code to call into 16 bit code and (in limited cases) vice-versa. So-called flat thunks allowed 32 bit code to call into 16 bit libraries, and the scheme was used extensively inside Windows 95 to avoid porting the whole OS to Win32 itself in one chunk. In Windows NT, the OS was pure 32-bit (except the parts for compatibility with 16-bit applications) and the only thunk available was generic thunks which only thunks from Win16 to Win32 and worked in Windows 95 too. The Platform SDK shipped with a compiler that could produce the code necessary for these thunks. Windows NT 3. ... Win32s is an extension for the 16-bit Microsoft Windows 3. ... The term thunk is a contrived word from computer science, and has no known root. ...


Versions

Almost every new version of Microsoft Windows has introduced its own additions and changes to the Windows API.[14] The name of the API however was kept consistent between different Windows version, and name changes were kept limited to major architectural and platform changes for Windows. Microsoft eventually changed the name of the then current Win32 API family into Windows API, and made it into a catch-all term for both past and future versions of the API.[15]

  • Win16 was the API for the first, 16-bit versions of Microsoft Windows. These were initially referred to as simply the Windows API, but were later renamed to Win16 in an effort to distinguish it from the newer, 32-bit version of the Windows API. The functions of Win16 API mainly reside in the core files of the OS: kernel.exe (or krnl286.exe or krnl386.exe), user.exe and gdi.exe. Despite the file extension of exe, these actually are dynamically linked libraries.
  • Win32 is the 32-bit API for modern versions of Windows. The API consists of functions implemented, as with Win16, in system DLLs. The core DLLs of Win32 are kernel32.dll, user32.dll, and gdi32.dll. Win32 was introduced with Windows NT. The version of Win32 that was shipped with Windows 95 was initially referred to as Win32c, with the "c" standing for "compatibility", but this term was later abandoned by Microsoft in favour of Win32. In Windows NT 4.0 and its successors (including all modern Windows versions), Win32 calls are executed by two modules, csrss.exe (Client/Server Runtime Server Subsystem) in user mode and win32k.sys in kernel mode.[citation needed]
  • Win32s is an extension for the Windows 3.1x family of Microsoft Windows that implemented a subset of the Win32 API for these systems. The "s" stands for "subset".
  • Win32 for 64-bit Windows, previously known as Win64, is the version of the API targeted for 64-bit versions of Windows — namely, Windows XP Professional x64 Edition and Windows Server 2003 x64 Edition (for x86-64 processors) and Windows XP 64-bit Edition and Windows Server 2003 for Itanium-series. The 64-bit versions are just two more supported platforms within Windows NT architecture so both 32-bit and 64-bit versions of an application can still be compiled from single code base. All memory pointers are 64-bit by default though, so the source code has to be checked for compatibility with 64-bit pointer arithmetic and rewritten as necessary. There are no new functions specific to 64-bit versions of Windows.

In computer science, 16-bit is an adjective used to describe integers that are at most two bytes wide, or to describe CPU architectures based on registers, address buses, or data buses of that size. ... Microsoft Windows is the name of several families of proprietary software operating systems by Microsoft. ... A filename extension or filename suffix is an extra set of (usually) alphanumeric characters that is appended to the end of a filename to allow computer users (as well as various pieces of software on the computer system) to quickly determine the type of data stored in the file. ... In computer science, a library is a collection of subprograms used to develop software. ... 32-bit is a term applied to processors, and computer architectures which manipulate the address and data in 32-bit chunks. ... An application programming interface (API) is a source code interface that a computer system or program library provides to support requests for services to be made of it by a Length. ... The Windows NT operating system familys architecture consists of two layers (user mode and kernel mode), with many different modules within both of these layers. ... Background This DLL (Dynamically Linked Library) is the Windows User API Client Library. ... Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. ... Windows 95 is a consumer-oriented graphical user interface-based operating system. ... User mode refers to two similar concepts in computer architecture. ... Win32s is an extension for the 16-bit Microsoft Windows 3. ... The Windows 3. ... A is a subset of B, and B is a superset of A. In mathematics, especially in set theory, the terms, subset, superset and proper (or strict) subset or superset are used to describe the relation, called inclusion, of one set being contained inside another set. ... In computing, a 64-bit component is one in which data are processed or stored in 64-bit units (words). ... Microsoft Windows XP Professional x64 Edition released on April 25, 2005 by Microsoft is a variation of the typical 32-bit Windows XP operating system for x86 personal computers. ... The AMD64 or x86-64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports. ... Itanium 2 logo Old Itanium logo The Itanium is an IA-64 microprocessor developed jointly by Hewlett-Packard and Intel. ... Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. ... The Windows NT operating system familys architecture consists of two layers (user mode and kernel mode), with many different modules within both of these layers. ... The code base of a computer program is the source code that implements a programs core functionality. ... It has been suggested that Software pointer be merged into this article or section. ... Pointer arithmetic is a particular arithmetic involving pointers, typical of the C programming language. ...

Other implementations

Although Microsoft's implementation of the Windows API is copyrighted, it is generally accepted due to legal precedents[citation needed] in the United States that other vendors can emulate Windows by providing an identical API, without breaching copyright.


The Wine project is an attempt to provide a Win32 API Compatibility layer for Unix-like platforms. ReactOS goes a step further and provides an emulation of the entire Windows operating system, working closely with the Wine project to promote code re-use and compatibility. HX DOS-Extender is another project to emulate the Windows API, to allow running simple Windows programs from a DOS command line. Wine is a project which aims to allow a PC with an x86 architecture processor running a Unix-like operating system and the X Window System to execute programs that were originally written for Microsoft Windows. ... In software engineering, a compatibility layer allows binaries for an emulated system to run on a host system. ... Diagram of the relationships between several Unix-like systems A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. ... ReactOS is a project to develop an operating system that is binary-compatible with application software and device drivers for Microsoft Windows NT version 5. ... HX DOS-Extender is a free DOS extender with built-in Win32 PE file format support. ... Instructions on how to use the directory command. ...


Compiler support

To develop software that utilizes the Windows API, a compiler must be able to handle and import the Microsoft-specific DLLs and COM-objects. The compiler must accept a C or C++ language dialect and handle IDL (interface definition language) files and header files that expose the interior API function names. Collectively, these prerequisites (compilers, tools, libraries, and headers) are known as the Microsoft Platform SDK. For a long time the proprietary Microsoft Visual Studio family of compilers and tools and Borland's compilers were the only tools that could provide this (although at least in the case of Windows, the SDK itself is downloadable for free separately from the entire IDE suite, from Microsoft Platform SDK Update). Nowadays the MinGW and Cygwin projects also provide such an environment based on the GNU Compiler Collection, using a stand-alone header file collection to make linking against Microsoft DLLs possible. LCC-Win32 is a "free for non-commercial use" C compiler maintained by Jacob Navia (a comp.lang.c regular). Pelles C is a free C compiler maintained by Pelle Orinius. Free Pascal is a GPL Object Pascal compiler capable of writing software based on the Windows API. MASM32 is a mature project to support the Windows API utilizing the 32 bit Microsoft assembler with custom made or converted headers and libraries from the Platform SDK. An interface description language (or alternately, interface definition language), or IDL for short, is a computer language used to describe a software components interface. ... Microsoft Platform SDK is a free package available from Microsoft which contains all header files, libraries and tools required to develop Microsoft Windows applications. ... Microsoft Visual Studio is Microsofts flagship software development product for computer programmers. ... A diagram of the operation of a typical multi-language, multi-target compiler. ... Borland Software Corporation is a software company headquartered in California. ... This article or section does not cite any references or sources. ... MinGW or Mingw32 (Minimalist GNU for Windows) is a software port of the GNU toolchain to the Win32 platform. ... Cygwin is a collection of free software tools originally developed by Cygnus Solutions to allow various versions of Microsoft Windows to act somewhat like a Unix system. ... The GNU Compiler Collection (usually shortened to GCC) is a set of programming language compilers produced by the GNU Project. ... LCC (Local C Compiler or Little C Compiler) is a small free retargetable compiler program for the ANSI C computer language. ... Pelles C is a freeware Integrated Development Environment for developing Windows and Pocket PC applications using the C programming language. ... The FreePascal IDE for Linux. ... Object Pascal is an object oriented derivative of Pascal mostly known as the primary programming language of Borland Delphi. ... MASM32 is a set of 32-bit assembler development tools and libraries for Windows based on Microsofts MASM assembler and linker. ...


Windows specific compiler support is also required for the Structured Exception Handling feature (SEH). This system serves a dual purpose: it provides a substrate upon which language-specific exception handling can be implemented, and it is how the kernel notifies applications of exceptional conditions such as dereferencing an invalid pointer or stack overflow. The Microsoft/Borland C++ compilers had the ability to use this system as soon as it was introduced in Windows 95 and NT, however the actual implementation was undocumented and had to be reverse engineered for the Wine project and free compilers. SEH is based on pushing exception handler frames onto the stack, then adding them to a linked list stored in thread local storage (the first field of the thread environment block). When an exception is thrown, the kernel and base libraries unwind the stack running handlers and filters as they are encountered. Eventually, every exception unhandled by the application itself will be dealt with by the default backstop handler which pops up the Windows common crash dialog. Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of some condition that changes the normal flow of execution. ...


Example of API implementation in Visual Basic: (this shortened example causes the Command button to be able to be moved around on the form by the user) Visual Basic (VB) is an event driven programming language and associated development environment from Microsoft for its COM programming model. ...

  Private Const WM_NCLBUTTONDOWN As Long = &HA1& Private Const HTCAPTION As Long = 2& Private Declare Function ReleaseCapture Lib "user32" () As Long Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, wParam As Any, lParam As Any) As Long If Command1.MousePointer = 14 Then Call ReleaseCapture Call SendMessage(Command1.hWnd, WM_NCLBUTTONDOWN, ByVal HTCAPTION, ByVal 0&) End If  

See also

.NET Framework 3. ... It has been suggested that this article or section be merged into cmd. ... Interix is the name of an optional, full-featured POSIX and Unix environment subsystem for Microsofts Windows NT-based operating systems. ... ECMA is short for European Computer Manufacturers Association (Name of Ecma International until 1994) East Coast Music Awards European Carton Makers Association[1] ECMAScript This is a disambiguation page — a navigational aid which lists other pages that might otherwise share the same title. ...

Notes

  1. ^ Microsoft Developer Network (July 2005). Overview of the Windows API. Retrieved August 28, 2005.
  2. ^ Microsoft Developer Network (July 2005). Base Services. Retrieved August 28, 2005.
  3. ^ Microsoft Developer Network (July 2005). Graphics Device Interface. Retrieved August 28, 2005.
  4. ^ Microsoft Developer Network (July 2005). User Interface. Retrieved August 28, 2005.
  5. ^ Microsoft Developer Network (2005). Common Dialog Box Library. Retrieved September 22, 2005.
  6. ^ Microsoft Developer Network (July 2005). Common Control Library. Retrieved August 28, 2005.
  7. ^ Microsoft Developer Network (July 2005). Windows Shell. Retrieved August 28, 2005.
  8. ^ Microsoft Developer Network (2005). Shell Programmer's Guide. Retrieved August 28, 2005.
  9. ^ Microsoft Developer Network (July 2005). Network Services. Retrieved August 28, 2005.
  10. ^ Microsoft Developer Network (January 2006). Programming and reusing the browser Retrieved January 22, 2006.
  11. ^ Charles Petzold (December 2001). Programming Microsoft Windows with C#. Microsoft Press. Beyond the Console, page 47.
  12. ^ Charles Petzold (November 11, 1998). Programming Windows, Fifth Edition. Microsoft Press. APIs and Memory Models, page 9.
  13. ^ Raymond Chen (October 15, 2003). What about BOZOSLIVEHERE and TABTHETEXTOUTFORWIMPS? Retrieved August 27, 2005.
  14. ^ The Iseran Project (1996-2001). History of the Windows API. Retrieved October 7, 2005.
  15. ^ Microsoft Developer Network (July 2005). Overview of the Windows API. Retrieved August 28, 2005.

The Microsoft Developer Network (MSDN) is the portion of Microsoft responsible for managing the firms relationship with developers. ... The Microsoft Developer Network (MSDN) is the portion of Microsoft responsible for managing the firms relationship with developers. ... The Microsoft Developer Network (MSDN) is the portion of Microsoft responsible for managing the firms relationship with developers. ... The Microsoft Developer Network (MSDN) is the portion of Microsoft responsible for managing the firms relationship with developers. ... The Microsoft Developer Network (MSDN) is the portion of Microsoft responsible for managing the firms relationship with developers. ... The Microsoft Developer Network (MSDN) is the portion of Microsoft responsible for managing the firms relationship with developers. ... The Microsoft Developer Network (MSDN) is the portion of Microsoft responsible for managing the firms relationship with developers. ... The Microsoft Developer Network (MSDN) is the portion of Microsoft responsible for managing the firms relationship with developers. ... The Microsoft Developer Network (MSDN) is the portion of Microsoft responsible for managing the firms relationship with developers. ... The Microsoft Developer Network (MSDN) is the portion of Microsoft responsible for managing the firms relationship with developers. ... Charles Petzold is a technical author on Microsoft Windows applications. ... Charles Petzold is a technical author on Microsoft Windows applications. ... Raymond Chen is a well-known developer on the Windows Shell team at Microsoft. ... The Microsoft Developer Network (MSDN) is the portion of Microsoft responsible for managing the firms relationship with developers. ...

References

  1. Windows application programming interface

External links

Wikibooks
Wikibooks has a book on the topic of
  • Microsoft Developer Network Windows API development guide
  • The Old New Thing Weblog by Microsoft developer Raymond Chen, who works on the Windows API and posts extensively about it.
  • Spy Studio - Api Spy Monitor Api in user-mode.
  • Windows API Notes
  • Stromcode's Win32/C++ tutorial (formerly Glowdot) an extensive, 20-part tutorial.
  • Catch22 Tutorials Well documented Win32 API tutorials for developing small, nifty, and efficient programs in Windows.
  • theForger's Win32 API Tutorial

  Results from FactBites:
 
Windows API - Wikipedia, the free encyclopedia (2475 words)
The Windows API is the name given by Microsoft to the core set of application programming interfaces available in the Microsoft Windows operating systems.
The Windows API for Windows 1.0 supported fewer than 450 function calls, where in modern versions of the Windows API there are thousands.
To ease the transition, in Windows 95, both for external developers and for Microsoft itself, a complex scheme of API thunks was used that could allow 32 bit code to call into 16 bit code and (in limited cases) vice-versa.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m