VPostD: A VxD that Demonstrates Interprocess Communication

VPostD is a virtual device (VxD) that demonstrates interprocess communication between an MS-DOS(R) application and a Microsoft(R) Windows(TM)-based application. The MS-DOS application calls into the VxD via a callback address retrieved by Interrupt 2Fh function 1684h. VPostD then calls into the PostHost DLL via the Simulate_Far_Call service. Finally, PostHost calls PostApp via PostMessage.

To use VPostD:

1.Copy VPOSTD.386 to your Windows SYSTEM directory.

2.Add DEVICE=VPOSTD.386 to the [386Enh] section of your SYSTEM.INI file.

3.Restart Windows.

4.Run POSTAPP.EXE. This will cause POSTHOST.DLL to be loaded.

5.Run POSTDOS.EXE in any MS-DOS box (windowed or full screen). This program will communicate with PostApp via VPostD. PostApp displays a system-modal dialog box to tell you which virtual machine (VM) posted a message to it.

VPostD uses the following Virtual Machine Manager (VMM) services:

_Allocate_Device_CB_Area

Fatal_Memory_Error

Test_Sys_VM_Handle

Get_Crit_Section_Status

Call_When_VM_Ints_Enabled

Get_Sys_VM_Handle

Call_Priority_VM_Event

Begin_Nest_Exec

Simulate_Push

Simulate_Far_Call

Resume_Exec

End_Nest_Exec

This sample code requires special VxD tools and include files; see the "VxD Tools" and "VxD Include Files" abstracts to copy these files to your development system. The make file for VPostD assumes that the MS-DOS environment variable INCLUDE points to the VxD INCLUDE directory.

For more information on using the Microsoft Windows version 3.1 Device Driver Kit (DDK) files included on this CD, read the technical article "The VxD-Lite Mini-DDK." For more information on virtual device programming, see the DDK "Virtual Device Adaptation Guide."

VPostD was built and tested under Microsoft Windows version 3.1.

{ewc navigate.dll, ewbutton, /Bcodeview /T"Click to open or copy files in the vpostd project." /C"samples}

THIS TOOL IS NOT SUPPORTED BY MICROSOFT CORPORATION. IT IS PROVIDED "AS IS" BECAUSE WE BELIEVE IT MAY BE USEFUL TO YOU. PLEASE DO NOT CONTACT MICROSOFT PRODUCT SUPPORT SERVICES FOR SUPPORT OR ASSISTANCE SHOULD YOU HAVE PROBLEMS USING THIS TOOL.

READ THE ASSOCIATED DOCUMENTATION, IF ANY, REGARDING THIS TOOL PRIOR TO USING. ANY USE BY YOU OF THE TOOL IS AT YOUR OWN RISK. THE TOOL IS PROVIDED FOR USE "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.