BINDSPEED
The BINDSPEED
enumeration values indicate approximately how long the caller will wait to bind
to an object. Callers of the IOleItemContainer::GetObject method specify values from
this enumeration, and implementers of that method use these values as a
guideline for how quickly they must complete their operation.
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_OPTS structure in the bind
context passed to the moniker operation. This value is based on the return
value of the GetTickCount function. If dwTickCountDeadline is
zero, indicating no deadline, the item moniker implementation specifies
BINDSPEED_INDEFINITE. (This is the default dwTickCountDeadline value for
a bind context returned by the CreateBindCtx6NHJ.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 instance parameter to
determine the exact deadline.
See Also