This sample demonstrates how a C# program can interoperate with an unmanaged COM component.
Do one or more of the following:
On the Help menu, click Samples.
The Readme displays information about samples.
Visit the Visual Studio 2008 Samples Web site. The most recent versions of samples are available there.
Locate samples on the computer on which Visual Studio is installed. By default, samples and a Readme file are installed in drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid. For Express editions of Visual Studio, all samples are located online.
For more information, see Locating Sample Files.
This sample code is intended to illustrate a concept, and it shows only the code that is relevant to that concept. It may not meet the security requirements for a specific environment, and it should not be used exactly as shown. We recommend that you add security and error-handling code to make your projects more secure and robust. Microsoft provides this sample code "AS IS" with no warranties.
In Solution Explorer, right-click the Interop1 project, and then click Set as StartUp Project.
In Solution Explorer, right-click the Interop1 project, and then click Properties.
Open the Configuration Properties folder, and then click Debug.
In the Command-Line Arguments property, type an AVI file such as c:\winnt\clock.avi.
Click OK.
On the Debug menu, click Start Without Debugging.
Repeat the previous steps for Interop2.
In Solution Explorer, expand References for Interop1.
Right-click QuartzTypeLib, and then click Remove.
Right-click References, and then click Add Reference.
On the COM tab, click the component named, "ActiveMovie control type library."
Click Select, and then click OK.
Rebuild Interop1.
Adding a reference to the component does the same thing as invoking tlbimp at a command prompt to create QuartzTypeLib.dll (as shown later in this topic).
Use the Change Directory command to change to the Interop1 directory.
Type the following:
tlbimp %windir%\system32\quartz.dll /out:QuartzTypeLib.dll csc /r:QuartzTypeLib.dll interop1.cs interop1 %windir%\clock.avi
Use the Change Directory command to change to the Interop2 directory.
csc interop2.cs interop2 %windir%\clock.avi