The basic foundation blocks of WFC are Windows and Dynamic HTML. WFC is rooted firmly in the Microsoft® Win32® programming model, enabling you to use Java to write applications based on Microsoft® Windows® that take advantage of its user-interface controls, events, and system services. WFC is also rooted in the DHTML object model, which enables you to create both client and server HTML pages that use the power of DHTML directly from Java.
Central to these technologies are native dynamic-link libraries (DLLs) that provide the core API of the WFC infrastructure. These libraries are made available to the Java language by two different technologies: the jactivex tool and Microsoft® J/Direct. If the DLL represents a COM/Microsoft® ActiveX® component, jactivex creates wrapper classes that map the COM objects to Java objects. If the DLL is not COM-based, J/Direct is used to call directly into the DLL and to marshal the data types between Java and the native language of the DLL (such as C or C++). Both these technologies take advantage of the built-in support and synergy of the jvc compiler and the Microsoft virtual machine (Microsoft VM).
This is important to know because several WFC packages are composed entirely of either COM wrapper classes (produced by jactivex) or J/Direct classes. These classes have methods that map directly to the underlying API; they are not documented in the WFC reference because they are not typically called directly. They are, however, discussed as support classes for other packages.
Not including the native API support packages, the following table shows the main packages in WFC.
Package | Description |
com.ms.wfc.app | Base classes that encapsulate Windows application operations. In addition to the basic Windows message handling structure, there is support for Windows features such as the Clipboard, the registry, threads, window handles, system information, and so on. |
com.ms.wfc.core | Base classes for the component model. This package includes support for containers, events, exceptions, and properties. |
com.ms.wfc.data | Active Data Objects (ADO) classes that enable data access and data binding in Java. This package also includes com.ms.wfc.data.ui, the package that provides the base classes for the data-bound controls in WFC. |
com.ms.wfc.html | Classes for implementing Dynamic HTML in Java. These classes provide both client- and server-side support. |
com.ms.wfc.io | Classes for accessing data streams, implementing a complete package for reading and writing serial streams, file access, and for mapping between differing types of data streams. |
com.ms.wfc.ui | Core classes for the controls that ship with WFC. These classes also provide access to the Windows Graphics API. |
com.ms.wfc.util | Utility classes for various forms of sorting, implementing hash tables, and so on. |
The following are the core native API support classes in WFC:
Package | Description |
com.ms.wfc.ax | Provides Java wrapper classes for the Microsoft® ActiveX® interfaces. |
com.ms.wfc.html.om | Provides Java wrapper classes for the Dynamic HTML object model. |
com.ms.wfc.ole32 | Provides Java wrapper classes for OLE services. |
com.ms.wfc.win32 | Provides Java wrapper classes for Win32 API. |