[ uuid (6D45F820-28B2-1068-A9AA-08002B2EB23C),
  version(1.0)
] interface file3
{
typedef struct _TYPE3 {
    long lData;
    struct _TYPE3 * pNext;
} TYPE3;

typedef struct TYPE3 * PTYPE3;
}

/*  The type definition for PTYPE3 does not specify an
    explicit pointer attribute, as in the following
    typedef statement:

	typedef [ptr] struct TYPE3 * PTYPE3;

    The interface header does not specify a default
    pointer attribute; the header does not include the
    interface attribute "pointer_default".

    Because no pointer attribute is associated with PTYPE3,
    this IDL file cannot be processed in DCE compatibility
    mode.  DCE IDL requires all pointers to be "hard"
    pointers; all pointer types must include the pointer
    attribute.	The command to process this IDL file
    generates an error:

	midl file3.idl
	Error: ... defining a pointer without
	specifying a pointer_default on the interface
	is illegal in this mode.

    When this file is imported by another IDL file,
    the pointer attribute associated with PTYPE3 is
    taken from the use site, that is, the place where
    the type PTYPE3 is used.
*/
