Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

IPipeByte interface

Transfers data of the byte type (which is 8 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

You can use the IPipeByte interface to asynchronously transfer data of the byte type. This is especially helpful for transfering large quantities of data or data that is generated incrementally.

With IPipeByte, 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 IPipeByte 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.

Members

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

Methods

The IPipeByte interface has these methods.

MethodDescription
Pull

Retrieves data of the byte type from the pipe source.

Push

Sends data of the byte type to the pipe source.

 

Remarks

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.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

ObjIdl.h

IDL

ObjIdl.idl

IID

IID_IPipeByte is defined as DB2F3ACB-2F86-11d1-8E04-00C04FB9989A

See also

IPipeDouble
IPipeLong

 

 

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.