Release Notes - What's New
This topic covers new features and other enhancements that come with the SDK for Java, version 4.0.
Note The build numbers of the Microsoft VM and jvc for this SDK release can be found in Build.txt, located in the SDK's Relnotes folder.
Microsoft VM Enhancements
New Development Tools and Utilities
New Classes, Interfaces, and Methods
New Samples
New Documentation
Microsoft VM Enhancements
For information on Microsoft VM issues that have been fixed, see Microsoft VM Updates. Information on fixes to the Microsoft VM after the SDK for Java 4.0 release will be posted to http://www.microsoft.com/java/download.htm
.
The current release of the Microsoft VM continues its performance leadership and includes:
JDK 1.1 support
- JDK 1.1 is supported (with the exception of RMI, which is freely available from our ftp site
).
Expanded Compaq DIGITAL Alpha Support
Year 2000 (Y2K) Compliance
Java/COM Integration
Miscellaneous
- The problem of superfluous QueryInterface calls has been addressed. The Microsoft VM now quickly recognizes interface pointers without first attempting to unwrap them as Java-implemented objects.
- JIT bugs and other miscellaneous bugs have been fixed.
- Debugger fixes and enhancements and Profiler fixes.
- Support for marshaling Delegates as IDispatch function pointers, used by clients such as the Microsoft® Internet Explorer scripting engines. Delegates can be used as a script function pointer, which are used in HTML for things like document and window events. The COM wrapper for a delegate supports IDispatch where DISPID_VALUE causes the delegate's invoke( ) method to be called.
For more documentation on the Microsoft VM, see Microsoft Virtual Machine.
New Development Tools and Utilities
Tools and utilities are located in the Bin folder (for x86 architectures) and the Binalpha folder (for Compaq DIGITAL Alpha architectures). Be sure to have the CLASSPATH environment variable set correctly.
Expanded Compaq DIGITAL Alpha Support
- Vjreg, a command-line tool that registers Java classes as COM components in the Microsoft® Windows® registry, is now available for the Compaq DIGITAL Alpha platform and is located in the SDK for Java Binalpha folder.
Microsoft Compiler for Java
The Microsoft Compiler for Java (jvc) supports JDK 1.1 (with the exception of RMI, which is freely available from our ftp site
).
In this version of jvc, the /x option that disables Microsoft extensions is the default setting. For more information about jvc command-line options and error messages, see Jvc.
Note For users of Microsoft® Visual J++®, the Samples contained within the Microsoft SDK for Java support newer features supported by the Microsoft Compiler for Java (Jvc.exe).
To use these new language features with Microsoft® Visual J++® and the Microsoft SDK for Java Samples, you must replace three files in Visual J++ with their respective SDK versions:
- Back up the current Visual J++ versions of Jvc.exe, Jps.dll, and Msjvc.dll.
- Copy Jvc.exe, Jps.dll, and Msjvc.dll from %SDKDIR%\Bin to your Visual J++ directory. Projects and samples will then build using the new compiler.
VM Uninstaller
Uninstaller.exe removes the Microsoft virtual machine from the computer.
IntegrationClasses.exe
IntegrationClasses.exe installs additional com.ms packages for integration purposes. IntegrationClasses2000.exe is for use on computers running Microsoft® Windows® 2000. It installs packages such as com.ms.iis.asp, which is required for running the ASP Java Component Framework Samples. It also installs com.ms.ie, which contains 47 class files that are hooks for Java into Microsoft® Internet Explorer.
New Classes, Interfaces, and Methods
This section organizes the additions according to the version of the Microsoft VM to which they apply.
Microsoft VM versions 2436 through 2925
Microsoft VM versions 2925 through 3167
Microsoft VM versions 3167 through 3234
Microsoft VM versions 2436 through 2925
- The following methods were added to the com.ms.lang.SystemX class:
blockcopy
compareString
exitProcessAfterMainThreadReturns
- The following methods were added to the com.ms.security.PermissionUtils class, but are not documented (by design):
unescapeChars
requiresQuotes
escapeString
escapeChars
unescapeString
- The following AFC methods were added, and are documented in the Microsoft® SDK for Application Foundation Classes:
com.ms.ui.IUIComponent com.ms.ui.AwtUIChoice.add(java.lang.String)
com.ms.fx.FxGraphics.drawFocusRect(int,int,int,int)
com.ms.fx.IFxSystemInterface.callRootOnEventThread(com.ms.ui.UIRoot)
com.ms.fx.FxComponentImage.getImage(int, int, int,
java.awt.Color, java.awt.Color)
- The following method and constructor were added to the com.ms.com.Variant class:
toScriptObject
Variant(Object value, boolean unwrapScriptObjects)
- The following methods were added to the com.ms.com.ComLib class:
unknownToPtr
ptrRelease
ptrToUnknown
makeProxyRef
executeOnContext
- The following methods were added to the com.ms.dll.DllLib class:
stringToHGlobalAnsi
copyUni
propagateStructFields
stringToCoTaskMemAnsi
stringToHGlobalAnsi
- The following classes were added to the com.ms.win32 package:
EnumFontFamExProc
NEWTEXTMETRIC
NEWTEXTMETRICEX
REBARBANDINFO_IE4
win
Win32Lib
windynamic
Note By design, individual members of the com.ms.win32 package are not documented.
Microsoft VM versions 2925 through 3167
- The following methods were added to the com.ms.awt.GraphicsX class:
drawNativeEdge
drawNativeFocusRect
- The setPeriod method was added to the com.ms.util.Timer class, but is not documented. This is by design.
- The following AFC methods were added to the com.ms.ui.UIEdit class, and are documented in the Microsoft SDK for Application Foundation Classes:
isUndoAllowed
allowUndo
- The following methods were added to the com.ms.com.ComLib class:
startMTAThread
getGuidOf
ptrToStruct
- The following methods were added to the com.ms.com.STATSTG class:
getCLSID
setCLSID
- The following method was added to the com.ms.dll.DllLib class:
ptrToStruct
- The following interfaces were added to the com.ms.com package:
IBindCtx
IClassFactory
IConnectionPoint
IConnectionPointContainer
IEnumConnectionPoints
IEnumConnections
IEnumMoniker
IEnumSTATSTG
IEnumString
IEnumUnknown
ILockBytes
IMarshal
IMoniker
IParseDisplayName
IPersist
IPersistFile
IPersistStorage
IPeristStream
IPersistStreamInit
IROTData
IRunningObjectTable
ISequentialStream
IStorage
- The following classes were added to the com.ms.com package:
BIND_OPTS
CONNECTDATA
COAUTHINFO
COAUTHIDENTITY
COSERVERINFO
MULTI_QI
- The following classes were added to the com.ms.win32 package:
Ole32
oleacc
- The following method and two constructors were added to the com.ms.win32.FILETIME class:
getTimeLong()
FILETIME(int, int)
FILETIME(long)
- New constants were added to these classes:
com.ms.win32.winb
com.ms.win32.winc
com.ms.win32.winl
com.ms.win32.winm
com.ms.win32.winr
com.ms.win32.wins
Note By design, individual members of the com.ms.win32 package are not documented.
Microsoft VM versions 3167 through 3234
Note By design, individual members of the com.ms.win32 package are not documented.
- The following method and fields were added to the com.ms.com.ComLib class:
freeUnusedLibraries( )
IID_IUnknown
IID_IDispatch
- The following classes were added to the com.ms.com package:
LICINFO
StdCOMClassObject
- The following interfaces were added to the com.ms.com package:
IClassFactory2
ICreateErrorInfo
IErrorInfo
- Added the com.ms.ie package to the Microsoft Packages Reference.
New Samples
The following samples are new and are located in subdirectories of %SDKDIR%\Samples:
COM
Location: Samples\com\jexegen\stub
Location: Samples\com\custommarshal\vardate
Location: Samples\com\COMClassObject
Location: Samples\com\iid_is_size_is
Java Media Player
Location: Samples\jdirect\mediaplayer
Heap Monitor
Location: Samples\profiler\heapmon
ASP Java Component Framework Samples
Location: Samples\ASP
For more information on samples, see the Samples Overview.
New Documentation
For a list of revisions made to the documentation since the last SDK release, see Documentation Updates.
Locations for the Available Documentation
Part |
Location |
Description |
SDKdocs |
%SDKDIR%\Docs\Sdkdocs.chm
www.microsoft.com/java/sdk/40/Start.htm |
Microsoft SDK for Java |
Integration |
%SDKDIR%\Docs\Integration.chm |
White papers and Java package reference information for integrating Java with Microsoft technologies |
Javadocs |
%SDKDIR%\Docs\Javadocs.chm |
Java 1.1 Core API |
Samples |
%SDKDIR%\Samples\Start.htm |
Samples included in the SDK for Java |