|
|
|
IBindCtx Interface |
|
IID_IBindCtx |
{0000000E-0000-0000-C000-000000000046} |
|
The IBindCtx interface provides access to a bind context, which is an object that stores information about a particular moniker binding operation. You pass a bind context as a parameter when calling many methods of IMoniker and in certain functions related to monikers.
Anyone writing a new moniker class by implementing the IMoniker interface must call IBindCtx methods in the implementation of several IMoniker methods. Moniker providers (servers that hand out monikers to identify their objects) may also need to call IBindCtx methods from their implementations of the IOleItemContainer or IParseDisplayName interface.
Moniker clients (objects that use monikers to acquire interface pointers to other objects) typically don't call many IBindCtx methods. Instead, they simply pass a bind context as a parameter in a call to an IMoniker method. To acquire an interface pointer and activate the indicated object (called binding to an object), moniker clients typically do the following:
Although applications that act as link containers (container applications that allow their documents to contain linked objects) are moniker clients, they rarely call IMoniker methods directly. Generally, they manipulate linked objects through the system implementation (in the default handler) of the IOleLink interface. This implementation calls the appropriate IMoniker methods as needed and, in doing so, passes pointers to IBindCtx interfaces on the proper bind context objects.
|
|
Methods in VTable order |
|
|
IUnknown Methods |
Description |
|
QueryInterface |
Returns pointers to supported interfaces. |
|
AddRef |
Increments reference count. |
|
Release |
Decrements reference count. |
|
IBindCtx Methods |
Description |
|
RegisterObjectBound |
Registers an object with the bind context. |
|
RevokeObjectBound |
Revokes an object's registration. |
|
ReleaseBoundObjects |
Releases all registered objects. |
|
SetBindOptions |
Sets the binding options. |
|
GetBindOptions |
Retrieves the binding options. |
|
GetRunningObjectTable |
Retrieves a pointer to the Running Object Table. |
|
RegisterObjectParam |
Associates an object with a string key. |
|
GetObjectParam |
Returns the object associated with a given string key. |
|
EnumObjectParam |
Enumerates all the string keys in the table. |
|
RevokeObjectParam |
Revokes association between an object and a string key. |
|
RegisterObjectBound |
|
FUNCTION IBindCtx_RegisterObjectBound ( _ BYVAL pthis AS DWORD PTR _ , BYVAL pUnk AS DWORD _ ) AS LONG
|
|
RevokeObjectBound |
|
FUNCTION IBindCtx_RevokeObjectBound ( _ BYVAL pthis AS DWORD PTR _ , BYVAL pUnk AS DWORD _ ) AS LONG
|
|
ReleaseBoundObjects |
|
FUNCTION IBindCtx_ReleaseBoundObjects ( _ BYVAL pthis AS DWORD PTR _ ) AS
LONG
|
|
SetBindOptions |
|
FUNCTION IBindCtx_SetBindOptions ( _ BYVAL pthis AS DWORD PTR _ , BYREF pbindopts AS BIND_OPTS _ )
AS LONG
|
|
GetBindOptions |
|
FUNCTION IBindCtx_GetBindOptions ( _ BYVAL pthis AS DWORD PTR _ , BYREF pbindopts AS BIND_OPTS _ )
AS LONG
|
|
GetRunningObjectTable |
|
FUNCTION IBindCtx_GetRunningObjectTable ( _ BYVAL pthis AS DWORD PTR _ , BYREF pprot AS DWORD _ ) AS LONG
|
|
Example |
|
The following example shows the display names of all the objects currently registered in the Running Object Table (ROT).
#COMPILE EXE
FUNCTION PBMAIN
' Get a pointer to the moniker enumerator
|
|
RegisterObjectParam |
|
FUNCTION IBindCtx_RegisterObjectParam ( _ BYVAL pthis AS DWORD PTR _ , BYVAL strKey AS STRING _ , BYVAL pUnk AS DWORD _
) AS LONG
strKey =
UCODE$(strKey & $NUL)
|
|
GetObjectParam |
|
FUNCTION IBindCtx_GetObjectParam ( _ BYVAL pthis AS DWORD PTR _ , BYVAL strKey AS STRING _ , BYREF ppunk AS DWORD _ ) AS LONG
strKey =
UCODE$(strKey & $NUL)
|
|
EnumObjectParam |
|
FUNCTION IBindCtx_EnumObjectParam ( _ BYVAL pthis AS DWORD PTR _ , BYREF ppenum AS DWORD _ ) AS LONG
|
|
RevokeObjectParam |
|
FUNCTION IBindCtx_RevokeObjectParam ( _ BYVAL pthis AS DWORD PTR _ , BYVAL strKey AS STRING _
) AS LONG
|
Page last updated on Monday, 27 March 2006 13:11:39 +0100