SAMPLE: Npclnt.exe WFW Named Pipe Client

ID: Q113190

The information in this article applies to:

SUMMARY

The sample Npclnt.exe in the Microsoft Software Library demonstrates the named pipe client interface in Windows for Workgroups (WFW).

This sample provides a WFW named pipe client for the Win32 SDK named pipe sample (NPSERVER). This sample opens, reads, and writes to the named pipe created by the NPSERVER application. The DosReadAsyncNmPipe API is used to perform asynchronous reads from the server's named pipe to avoid blocking under WFW.

NOTE: This sample has two problems.

MORE INFORMATION

 The following file is available for download from the Microsoft Software
Library:

 ~ Npclnt.exe (size: 34295 bytes) 

For more information about downloading files from the Microsoft Software Library, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q119591
   TITLE     : How to Obtain Microsoft Support Files from Online Services

Care must be taken when using DosReadAsyncNmPipe or DosWriteAsyncNmPipe. Because both APIs provide WFW a function pointer that is called at interrupt time, only limited operations may be performed in the callback. The WFW SDK reference states the following about the callback function:

   Generally, the callback function can set global variables and check the
   variable specified by the pusErrCode parameter for potential errors. But
   the callback function must not modify registers or call any MS-DOS
   system functions, BIOS functions, or C run-time functions that call MS-
   DOS and BIOS functions. Although the callback function can call the
   PostMessage function, it must not call the SendMessage function.

Also, the callback function must be exported in the application's *.DEF file. Besides exporting, the application must call MakeProcInstance on the function before calling the asynchronous API. Care must also be taken not to call FreeProcInstance while a read or write is outstanding.

Additional query words: WFW Workgroups Named Pipe DosReadAsyncNmPipe DosWriteAsyncNmPipe Keywords : kbfile kbnetwork kbsample kbAPI kbIPC kbPipes kbSDKPlatform kbWinOS310 kbWinOS311 kbGrpNet

Last Reviewed: September 12, 1998