Jump to content

WinInitialize

From EDM2

Initializes the PM facilities to be used by an application.

Syntax

WinInitialize(flOptions)

Usage Explanation

This function must be the first PM function called by any application thread intending to use PM or GPI services. The return value is sometimes needed by other functions and should be saved. WinTerminate can be called if a thread no longer needs these services. This API can only be called once per thread.

Parameters

flOptions (ULONG) - input
Initialization options.
The initial state for newly created windows is that all messages for the window are available for processing by the application.
This is the only option available in PM.

Returns

hab (HAB) - returns
Anchor-block handle. This return value is a handle to an anchor block. The anchor block is a structure which is used by OS/2 to keep track of application specific error information, and the handle is needed for certain other PM functions, such as WinCreateMsgQueue. NULLHANDLE is returned if an error occurred.
NULLHANDLE
An error occurred.
Other
Anchor-block handle.

Remarks

This must be the first PM call issued by any application thread using Presentation Manager facilities.

It returns hab, which is NULL if the initialization is not successful.

The operating system does not generally use the information supplied by the hab parameter to its calls; instead, it deduces it from the identity of the thread that is making the call. Thus an OS/2 application is not required to supply any particular value as the hab parameter. However, in order to be portable to other environments, an application must provide the hab, that is returned by the WinInitialize function of the thread, to any OS/2 function that requires it.

flOptions determines the initial state of message processing with respect to a created window.

Define (C/C++)

#define INCL_WINWINDOWMGR 

or

#define INCL_WIN

or

#define INCL_PM
#include <os2.h>

Sample Code

HAB hab;
ULONG flOptions = 0L;
HMQ hmq;

hab=WinInitialize(flOptions);
hmq=WinCreateMsgQueue(hab, 0L);

Definiton

#define INCL_WINWINDOWMGR /* Or use INCL_WIN, INCL_PM, Also in COMMON section */
#include <os2.h>

ULONG    flOptions;  /*  Initialization options. */
HAB      hab;        /*  Anchor-block handle. */

hab = WinInitialize(flOptions);

See Also