This documentation is archived and is not being maintained.

LABRADOR Sample: Implements a Server with an Out-of-Proc Custom Interface and Compiler COM Support

Visual Studio 2008

This sample shows how to use ATL to implement an EXE server. The server allows creation of an object that supports two custom interfaces, defined in Labrador.idl. Compiler COM support is used to implement custom interfaces that perform nontrivial marshaling of a C-style array.

Compare this sample with the LABRADOR sample in the ATL directory.

Security noteSecurity Note:

This sample code is provided to illustrate a concept and should not be used in applications or Web sites, as it may not illustrate the safest coding practices. Microsoft assumes no liability for incidental or consequential damages should the sample code be used for purposes other than as intended.

To get samples and instructions for installing them:

  • On the Visual Studio Help menu, click Samples.

    For more information, see Visual Studio Samples.

  • The most recent version and complete list of samples is available online from the Visual Studio 2008 Samples page.

  • You can also locate samples on your computer's hard disk. By default, samples and a Readme file are copied into a folder under \Program Files\Visual Studio 9.0\Samples\. For Express editions of Visual Studio, all samples are located online.

To build and run this sample

  1. Open the solution labrador.sln.

  2. On the Build menu, click Build Solution. Note that a compiler warning will occur because this sample uses the obsolete ATL class CComModule. Refer to the ATL version of this sample to see how to use CAtlExeModule.

  3. Set labdriv as the startup project (right-click the project node and click Set as StartUp Project).

  4. On the Debug menu, click Start Without Debugging.

This sample demonstrates the following keywords:

#import; _com_ptr_t; _com_error