IPropData::HrGetPropAccess
The IPropData::HrGetPropAccess
method retrieves the access level and status for one or more of the object s
properties.
Quick Info
See IPropData
: IMAPIProp
HRESULT HrGetPropAccess(
LPSPropTagArray FAR * lppPropTagArray, |
|
ULONG FAR * FAR * lprgulAccess |
|
) |
|
Parameters
lppPropTagArray
[in, out] On
input, contains either an array of property tags indicating the properties for
which to retrieve access levels and status or a pointer to NULL, indicating
that HrGetPropAccess should retrieve access levels and status for all
properties.
On output,
contains an array of property tags for which access and status flags were
retrieved. The flags are stored in the array pointed to by lprgulAccess.
lprgulAccess
[out] Pointer
to an array of bitmasks of flags. Each bitmask indicates the access levels
and/or status for each of the properties identified in the array pointed to by lppPropTagArray.
The two arrays are positional in that the first bitmask pointed to by lprgulAccess
describes the first property pointed to by lppPropTagArray and so on.
For each
property tag, the following flags can be set:
Access
level flag |
Status
flag |
IPROP_READONLY,
indicating that the property can not be modified |
IPROP_CLEAN,
indicating that the property has not been modified. |
IPROP_READWRITE,
indicating that the property can be modified. |
IPROP_DIRTY,
indicating that the property has been modified. |
Return Values
S_OK
The access
level and status flags for the properties were successfully returned.
Remarks
The IPropData::HrGetPropAccess
method retrieves a set of flags indicating the access level and status for one
or more properties.
Notes to Callers:
HrGetPropAccess can be used:
To determine if a client has
changed or deleted a writable property.
To prevent a client from
changing or deleting a property using the IMAPIProp methods.
If one of the
properties in the property tag array pointed to by lppPropTagArray has
been deleted, HrGetPropAccess sets the array entry to zero on output. If
you set lppPropTagArray to NULL and one of the object s properties has
been deleted, the deleted property is returned in the array.
If a property
has been modified, its IPROP_DIRTY flag is set in the corresponding entry in
the array pointed to by lprgulAccess. Neither IPROP_READONLY or
IPROP_READWRITE will be set.
If a property
has not been modified or deleted, only an access level flag will be set:
IPROP_READONLY or IPROP_READWRITE.
See Also