BIND_OPTS2 結構 (objidl.h)

包含Moniker系結作業期間所使用的參數。

語法

typedef struct tagBIND_OPTS2 {
  DWORD        cbStruct;
  DWORD        grfFlags;
  DWORD        grfMode;
  DWORD        dwTickCountDeadline;
  DWORD        dwTrackFlags;
  DWORD        dwClassContext;
  LCID         locale;
  COSERVERINFO *pServerInfo;
} BIND_OPTS2, *LPBIND_OPTS2;

成員

cbStruct

這個 結構的大小,以位元組為單位。

grfFlags

控制Moniker系結作業層面的旗標。 這個值是 BIND_FLAGS 列舉中位旗標的任何組合。 CreateBindCtx 函式會將這個成員初始化為零。

grfMode

開啟含有由 Moniker 所識別之物件的檔案時應該使用的旗標。 可能的值為 STGM 常數。 系結作業會在載入檔案時,在 呼叫 IPersistFile::Load 中使用這些旗標。 如果物件已在執行中,系結作業會忽略這些旗標。 CreateBindCtx 函式會將此字段初始化為 STGM_READWRITE。

dwTickCountDeadline

呼叫端希望系結作業完成的時鐘時間,以毫秒為單位。 這個成員可讓呼叫端在速度為主要重要性時限制作業的運行時間。 值為零表示沒有期限。 呼叫端最常在呼叫 IMoniker::GetTimeOfLastChange 方法時使用這項功能,不過它也可以實用地套用至其他作業。 CreateBindCtx 函式會將此欄位初始化為零。

一般期限允許執行數百毫秒。 此期限是建議,而非需求;不過,大量超過期限的作業可能會導致終端用戶延遲。 每個Moniker實作都應該嘗試在期限完成其作業,或失敗並出現錯誤MK_E_EXCEEDEDDEADLINE。

如果系結作業因為一或多個需要的物件未執行而超過期限,Moniker 實作應該使用 IBindCtx::RegisterObjectParam 在系結內容中註冊負責的物件。 對象應該註冊在參數名稱 「ExceededDeadline」、“ExceededDeadline1”、“ExceededDeadline2” 等之下。 如果呼叫端稍後會在執行中的對象數據表中找到物件,則呼叫端可以重試系結作業。

GetTickCount 函式指出系統啟動之後的毫秒數,並在 2^31 毫秒之後換回零。 因此,呼叫端應該小心不要不小心傳遞零值 (這表示沒有期限) ,而Moniker實作應該注意時鐘包裝問題。

dwTrackFlags

Moniker 可以在鏈接追蹤期間使用此值。 如果已移動Moniker參考的原始保存數據,則Moniker可以嘗試藉由搜尋原始數據來重新建立連結,但有一些適當的機制。 此成員提供如何解析連結的其他資訊。 請參閱 IShellLink::ResolvefFlags 參數的檔。

COM 的檔案Moniker實作會使用殼層鏈接機制來重新建立連結,並將這些旗標傳遞至 IShellLink::Resolve

dwClassContext

取自 CLSCTX 列舉的類別內容,用於具現化物件。 Monikers 通常會將此值傳遞至 CoCreateInstancedwClsContext 參數。

locale

LCID 值,表示用戶端對所系結物件所要使用的地區設定喜好設定。 Moniker 會將此值傳遞至 IClassActivator::GetClassObject

pServerInfo

COSERVERINFO 結構的指標。 此成員可讓呼叫 IMoniker::BindToObject 的用戶端指定伺服器資訊。 用戶端可能會將 BIND_OPTS2 結構傳遞至 IBindCtx::SetBindOptions 方法。 如果在 COSERVERINFO 結構中指定伺服器名稱,Moniker 系結將會轉送到指定的電腦。 SetBindOptions 只會複製 BIND_OPTS2的結構成員,而不是 COSERVERINFO 結構和它所包含的指標。 在釋放系結內容之前,呼叫端可能不會釋放上述任何指標。 COM 的新類別Moniker目前不接受 pServerInfo 旗標。

備註

BIND_OPTS2結構會儲存在系結內容中;系結期間,複合Moniker的每個元件都會使用相同的系結內容,讓相同的參數傳遞至複合Moniker的所有元件。 如需系結內容的詳細資訊 ,請參閱 IBindCtx

Moniker 用戶端 (使用Moniker來取得物件的介面指標,) 通常不需要為此結構的成員指定值。 CreateBindCtx 函式會建立系結內容,並將系結選項設定為適用於大部分情況的預設值;BindMoniker 函式在建立系結內容以用於系結Moniker時,會執行相同的動作。 如果您想要修改這些系結選項的值,您可以將 BIND_OPTS2 結構傳遞至 IBindCtx::SetBindOptions 方法, Moniker 實作器可以將 BIND_OPTS2 結構傳遞至 IBindCtx::GetBindOptions 方法,以擷取這些系結選項的值。

規格需求

需求
最低支援的用戶端 Windows 10 組建 20348
最低支援的伺服器 Windows 10 組建 20348
標頭 objidl.h

另請參閱

BIND_OPTS3

CreateBindCtx

IBindCtx

IMoniker