Important: |
---|
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist. |
This structure is used to define a function description.
Syntax
typedef struct tagFUNCDESC { MEMBERID memid; /* [size_is(cScodes)] */ SCODE RPC_FAR* lprgscode; /* [size_is(cParams)] */ ELEMDESC __RPC_FAR* lprgelemdescParam; FUNCKIND funckind; INVOKEKIND invkind; CALLCONV callconv; short cParams; short cParamsOpt; short oVft; short cScodes; ELEMDESC elemdescFunc; WORD wFuncFlags; } FUNCDESC; |
Members
- memid
-
Specifies the function member identifier.
- lprgscode
-
Stores the count of errors a function can return on a 16-bit system.
- lprgelemdescParam
-
Indicates the size of the cParamsmember.
- funckind
-
Specifies whether the function is virtual, static, or dispatch-only.
- invkind
-
Invocation kind. Indicates if this is a property function, and if so, what kind.
- callconv
-
Specifies the function's calling convention.
- cParams
-
Count of total number of parameters, both required and optional.
- cParamsOpt
-
Count of optional parameters.
- oVft
-
For FUNC_VIRTUAL, specifies the offset in the VTBL.
- cScodes
-
Count of permitted return values.
- elemdescFunc
-
Contains the return type of the function.
- wFuncFlags
-
FUNCFLAGSvalue associated with the function.
Remarks
The cParamsOptmember specifies the form of optional parameters accepted by the function, as follows:
- A value of 0 specifies that no optional arguments are
supported.
- A value of –1 specifies that the methods last parameter is a
pointer to a safe array of variants. Any number of variant
arguments greater than
cParams–1 must be packaged by the caller into a safe array
and passed as the final parameter. The caller must free this array
of optional parameters after control is returned from the call.
- Any other number indicates that the last
nparameters of the function are variants and do not need to
be specified by the caller explicitly. The compiler or interpreter
should fill in the parameters left unspecified as variants of type
VT_ERROR with the value DISP_E_PARAMNOTFOUND.
For 16-bit systems, the members cScodesand lprgscodestore the count and the set of errors that a function can return. If cScodes= –1, then the set of errors is unknown. If cScodes= –1, or if cScodes= 0, then lprgscodeis undefined.
Requirements
Header | oaidl.h |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |