Retrieves a member's properties.
HRESULT GetMemberProperties( DISPID id, DWORD grfdexFetch, DWORD *pgrfdex );
Returns one of the following values:
S_OK | Success. |
DISP_E_UNKNOWNNAME | The name was not known. |
Value | Meaning |
---|---|
grfdexPropCanAll | Combines fdexPropCanGet, fdexPropCanPut, fdexPropCanPutRef, fdexPropCanCall, fdexPropCanConstruct and fdexPropCanSourceEvents. |
grfdexPropCannotAll | Combines fdexPropCannotGet, fdexPropCannotPut, fdexPropCannotPutRef, fdexPropCannotCall, fdexPropCannotConstruct and fdexPropCannotSourceEvents. |
grfdexPropExtraAll | Combines fdexPropNoSideEffects and fdexPropDynamicType. |
grfdexPropAll | Combines grfdexPropCanAll, grfdexPropCannotAll and grfdexPropExtraAll. |
Value | Meaning |
---|---|
fdexPropCanGet | The member can be obtained using DISPATCH_PROPERTYGET. |
fdexPropCannotGet | The member cannot be obtained using DISPATCH_PROPERTYGET. |
fdexPropCanPut | The member can be set using DISPATCH_PROPERTYPUT. |
fdexPropCannotPut | The member cannot be set using DISPATCH_PROPERTYPUT. |
fdexPropCanPutRef | The member can be set using DISPATCH_PROPERTYPUTREF. |
fdexPropCannotPutRef | The member cannot be set using DISPATCH_PROPERTYPUTREF. |
fdexPropNoSideEffects | The member does not have any side effects. For example, a debugger could safely get/set/call this member without changing the state of the script being debugged. |
fdexPropDynamicType | The member is dynamic and can change during the lifetime of the object. |
fdexPropCanCall | The member can be called as a method using DISPATCH_METHOD. |
fdexPropCannotCall | The member cannot be called as a method using DISPATCH_METHOD. |
fdexPropCanConstruct | The member can be called as a constructor using DISPATCH_CONSTRUCT. |
fdexPropCannotConstruct | The member cannot be called as a constructor using DISPATCH_CONSTRUCT. |
fdexPropCanSourceEvents | The member can fire events. |
fdexPropCannotSourceEvents | The member cannot fire events. |
BSTR bstrName; DISPID dispid; IDispatch *pdex; DWORD dwProps; // Assign to pdex and bstrName pdex->GetDispID(bstrName, fdexNameCaseSensitive, &dispid); pdex->GetMemberProperties(
dispid, grfdexPropAll, &dwProps)
; if (dwProps & fdexPropCanPut) // Assign to member
IDispatchEx Interface | IDispatchEx::GetDispID | IDispatchEx::GetNextDispID