You can apply these attributes to data types in a typedef statement to further define the usage or effect of the data type:
| Attribute | Usage |
|---|---|
| context_handle | Identifies a binding handle that maintains state (context) information on a particular server between remote procedure calls from a particular client. Not valid for object interface functions. |
| full_asynch | Specifies that the type being defined is an ansynchronous handle. |
| handle | Specifies a custom handle type specific to the application. |
| ms_union | Controls the NDR alignment of nonencapsulated unions. Use on typedefsfor backward compatibility with interfaces built with MIDL 1.0 or 2.0. |
| pipe | Allows transmission of an open-ended stream of typed data across a remote procedure call. An in pipe parameter allows the server to pull the data stream from the client during a remote procedure call. An out pipe parameter allows the server to push the data stream back to the client. |
| transmit_as | Used for custom marshaling to specify how a data type will be transmitted over a network. |
| v1_enum | Directs that the specified enumerated type be transmitted as a 32-bit entity, rather than the 16-bit default. |