BINDSPEED
The BINDSPEED
enumeration values indicate approximately how long the caller will wait to bind
to an object. Callers of the IOleItemContainer::GetObject
typedef enum tagBINDSPEED
{
BINDSPEED_INDEFINITE = 1,
BINDSPEED_MODERATE = 2,
BINDSPEED_IMMEDIATE = 3
} BINDSPEED;
Elements
BINDSPEED_INDEFINITE
There is no
time limit on the binding operation.
BINDSPEED_MODERATE
The IOleItemContainer::GetObject
operation must be completed in a moderate amount of time. If this flag is
specified, the implementation of IOleItemContainer::GetObject should
return MK_E_EXCEEEDEDDEADLINE unless the object is one of the following:
Already in the running state
A pseudo-object (i.e., an object internal to
the item container, such as a cell-range in a spreadsheet or a character-range
in a word processor).
An object supported by an in-process server
(so it is always in the running state when it is loaded). In this case, IOleItemContainer::GetObject
should load the designated object, and, if the OleIsRunning function indicates that the
object is running, return successfully.
BINDSPEED_IMMEDIATE
The caller
will wait only a short time. In this case, IOleItemContainer::GetObject
should return MK_E_EXCEEEDEDDEADLINE unless the object is already in the
running state or is a pseudo-object.
Remarks
The
system-supplied item moniker implementation is the primary caller of IOleItemContainer::GetObject.
The BINDSPEED value that it specifies depends on the deadline specified
by the caller of the moniker operation.
The deadline
is stored in the dwTickCountDeadline field of the BIND_OPTS6NHJ.W6 function.) If the difference between dwTickCountDeadline
and the value returned by the GetTickCount function is greater than
2500, the item moniker implementation specifies BINDSPEED_MODERATE. If the
difference is less than 2500, the item moniker implementation specifies
BINDSPEED_IMMEDIATE.
Implementations
of IOleItemContainer::GetObject can use the BINDSPEED value as a
shortcut approximation of the binding deadline, or they can use the IBindCtx
See Also