transmit_as

Instructs the compiler to associate a presented type that client and server applications manipulate, with a transmitted type.

[ transmit_as(
   type
) ]

Parameters

  • type
    Specifies the data type that is transmitted between client and server.

Remarks

The transmit_as C++ attribute has the same functionality as the transmit_as MIDL attribute.

Example

The following code shows a use of the transmit_as attribute:

// cpp_attr_ref_transmit_as.cpp
// compile with: /LD
#include "windows.h"
[module(name="MyLibrary")];

[export] typedef struct _TREE_NODE_TYPE {
unsigned short data; 
struct _TREE_NODE_TYPE * left;
struct _TREE_NODE_TYPE * right; 
} TREE_NODE_TYPE;

[export] struct PACKED_NODE {
   unsigned short data;   // same as normal node
   int index;   // array index of parent
};

// A left node recursive built array of
// the nodes in the tree.  Can be unpacked with
// that knowledge
[export] typedef struct _TREE_XMIT_TYPE {
   int count;
   [size_is(count)] PACKED_NODE node[];
} TREE_XMIT_TYPE;

[transmit_as(TREE_XMIT_TYPE)] typedef TREE_NODE_TYPE * TREE_TYPE;

Requirements

Attribute Context

Applies to

typedef

Repeatable

No

Required attributes

None

Invalid attributes

None

For more information about the attribute contexts, see Attribute Contexts.

See Also

Reference

export

Concepts

Visual C++ Samples

Other Resources

IDL Attributes

Typedef, Enum, Union, and Struct Attributes