IPipeDouble interface

Transfers data of the double type (which is 64 bits wide).

When to implement

The provider of the pipe source is responsible for implementing this interface. COM provides only the proxy implementation, allowing it to optimize the use of asynchronous calls.

When to use

A caller can use the IPipeDouble interface to asynchronously transfer data of the double type. This is especially helpful for transfering large quantities of data or data that is generated incrementally.

With the IPipeDouble interface, you can intersperse calls to the Pull and Push methods. It is not necessary to complete all the Pull operations before calling the Push method.

One of the ways to use IPipeDouble is in a consumer/provider scenario. For example, server P (the provider) receives a call to Pull from client A. If it doesn't already have the data requested by client A, server P can wait for a call to Push from client C.


The IPipeDouble interface inherits from the IUnknown interface. IPipeDouble also has these types of members:


The IPipeDouble interface has these methods.


Retrieves data of the double integer type from the pipe source.


Sends data of the double integer type to the pipe source.



The IPipeByte, IPipeDouble, and IPipeLong interfaces are similar to the standard DCE/RPC pipes. However, the COM implementation of pipes offers more flexibility. With the COM implementation, the basic idea is that the pipe is simply another interface with two methods: Pull and Push. This results in three main benefits:

  • A COM pipe is another interface, so it can be received as an out parameter from a method call and then either Pull or Push can be called.
  • There are no restrictions on when to call the Pull and Push methods, so a pipe is in reality bidirectional.
  • Pipes are interfaces, so the method calls can be asynchronous and follow those rules.

For more information, see Pipes in the RPC documentation.


Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]






IID_IPipeDouble is defined as DB2F3ACF-2F86-11d1-8E04-00C04FB9989A

See also