Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The VARDESC structure is used by an ITypeInfo server or ITypeComp server to describe a data member, constant, or ODL dispinterface property, as specified in sections 3.5.4.1 and 3.7.4.4.
-
typedef struct tagVARDESC { MEMBERID memid; LPOLESTR lpstrReserved; [switch_type(VARKIND), switch_is(varkind)] union { [case(VAR_PERINSTANCE, VAR_DISPATCH, VAR_STATIC)] ULONG oInst; [case(VAR_CONST)] VARIANT* lpvarValue; } _vdUnion; ELEMDESC elemdescVar; WORD wVarFlags; VARKIND varkind; } VARDESC, *LPVARDESC;
memid: MUST be set to the MEMBERID (section 2.2.35) of the data member, the constant, or the ODL dispinterface property. MUST be set to MEMBERID_DEFAULTINST if the VARDESC describes an appobject coclass, as specified in section 2.2.49.8.
lpstrReserved: MUST be set to NULL, and MUST be ignored by the recipient.
_vdUnion: MUST be set to an instance of the type, according to the value in the varkind field.
oInst:
VAR_PERINSTANCE: MUST be set to an implementation-specific value<22>
VAR_DISPATCH: MUST be set to 0.
VAR_STATIC: MUST be set to 0.
lpVarValue: MUST be set to a reference to a VARIANT that specifies the value of the constant.
elemdescVar: MUST contain an ELEMDESC that describes the data member, constant, or ODL dispinterface property and its type, as specified in section 2.2.41.
wVarFlags: MUST be set to a combination of the VARFLAGS bit flags (as specified in 2.2.18), or set to 0. MUST be set to 0 if the VARDESC describes an appobject coclass, as specified in section 2.2.49.8.
varkind: MUST be set to a value of the VARKIND enumeration. MUST be set to VAR_STATIC if the VARDESC describes an appobject coclass, as specified in section 2.2.49.8.