BINDSPEED 列舉 (oleidl.h)

表示呼叫端等候系結至對象的時間長度。

Syntax

typedef enum tagBINDSPEED {
  BINDSPEED_INDEFINITE = 1,
  BINDSPEED_MODERATE = 2,
  BINDSPEED_IMMEDIATE = 3
} BINDSPEED;

常數

 
BINDSPEED_INDEFINITE
值: 1
系結作業沒有時間限制。
BINDSPEED_MODERATE
值: 2
系結作業必須以中等時間完成。

如果指定此旗標,除非下列的音調為 true, 否則 IOleItemContainer::GetObject 的實作應該會傳回MK_E_EXCEEEDEDDEADLINE:


  • 對象已經處於執行中狀態。

  • 對像是虛擬物件 (專案容器內部的物件,例如電子錶格中的儲存格範圍或字處理器中的字元範圍) 。

  • 在進程伺服器 (支援物件,因此載入) 時一律處於執行中狀態。 在此情況下, GetObject 應該載入指定的物件,如果 OleIsRunning 函式指出物件正在執行,則成功傳回。

BINDSPEED_IMMEDIATE
值: 3
呼叫端只會等候短時間。 在此情況下,除非對象已經處於執行中狀態或虛擬物件,否則系結作業應該傳回MK_E_EXCEEEDEDDEADLINE。

備註

系統提供的專案 Moniker 實 作是 IOleItemContainer::GetObject 的主要呼叫端。 它指定的 BINDSPEED 值取決於 Moniker 作業呼叫端所指定的期限。

期限會儲存在傳遞至Moniker作業之系結內容中BIND_OPTS結構的 dwTickCountDeadline 字段。 此值是以 GetTickCount 函式的傳回值為基礎。 如果 dwTickCountDeadline 為零,表示沒有期限,專案 Moniker 實作會指定BINDSPEED_INDEFINITE。 (這是 CreateBindCtx 函式所傳回之系結內容的預設 dwTickCountDeadline 值。) 如果 dwTickCountDeadlineGetTickCount 傳回的值之間的差異大於 2500,專案 Moniker 實作會指定BINDSPEED_MODERATE。 如果差異小於 2500,專案 Moniker 實作會指定BINDSPEED_IMMEDIATE。

GetObject 的實作可以使用 BINDSPEED 值做為系結期限的快捷方式近似值,或者可以使用 IBindCtx 實例參數來判斷確切的期限。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 oleidl.h

另請參閱

BIND_OPTS

IBindCtx

IOleItemContainer::GetObject