User`s guide

Chapter 1 Introduction 9
CHAPTER 1
Windows HLLAPI Overview
Windows
HLLAPI defines a standard and consistent IBM® EHLLAPI-style API for the 16- and
32-bit versions of the Microsoft® Windows graphical environment. It encompasses both familiar IBM
EHLLAPI-style routines and a set of Windows-specific extensions designed to allow the programmer
to take advantage of the message-driven nature of the Windows graphical environment.
This API has been designed to provide a standard to which application developers can program and
network software vendors can conform. These API details constitute documentation for application
software developers and a specification for network software vendors.
Network software that conforms to this Windows HLLAPI specification will be considered “Windows
HLLAPI Compliant.” To be Windows HLLAPI Compliant, a vendor must implement 100% of this
Windows HLLAPI specification (functions listed in Appendix C - Extended Windows HLLAPI
Functions are not required for compliancy). Suppliers of such interfaces shall be referred to as
“Windows HLLAPI Suppliers.”
Applications that are capable of exploiting any Windows HLLAPI implementation will be considered
as having a “Windows HLLAPI Interface” and will be referred to as “Windows HLLAPI
Applications.”
IBM EHLLAPI
Windows HLLAPI has been built on the de facto IBM EHLLAPI programming standard. Windows
HLLAPI is intended to provide maximum programming familiarity and to allow the simplified porting
of existing EHLLAPI-based source code. The Windows HLLAPI is consistent with release 1.0 of IBM
Extended Services for OS/2® EHLLAPI Programming Reference.
Microsoft Windows Graphical Environment and
Windows Specific Extensions
This API has been designed for ALL implementations and versions of the Windows environment from
and including version 3.0. It thus provides for Windows HLLAPI implementations and Windows
HLLAPI applications in both 16- and 32-bit operating environments.
Windows HLLAPI makes provisions for multithreaded Windows-based processes, where a process
contains one or more threads of execution. In the Win16 non-multithreaded world, a task corresponds
to a process with a single thread. All references to threads in this document refer to actual “threads” in
multithreaded Windows environments. In non-multithreaded environments (such as version 3.0), use
of the term thread refers to a Windows process.
The extensions to the Windows environment included in Windows HLLAPI are provided for maximum
programming compatibility among Windows version 3.x and Windows NT
and optimum application
performance in both environments.
Introduction