Win32 API 日本語リファレンス
ホームSystem.Ole › BINDSPEED

BINDSPEED

列挙型
基底型i4

メンバー 3

名前10進16進説明
BINDSPEED_INDEFINITE10x1バインド操作に時間制限はありません。
BINDSPEED_MODERATE20x2

バインド操作は適度な時間内に完了しなければなりません。

このフラグが指定された場合、IOleItemContainer::GetObject の実装は、次のいずれかに該当しない限り MK_E_EXCEEEDEDDEADLINE を返します。

  • オブジェクトが既に実行状態にある。
  • オブジェクトが擬似オブジェクトである (スプレッドシートのセル範囲やワードプロセッサーの文字範囲など、アイテム コンテナー内部のオブジェクト)。
  • オブジェクトがインプロセス サーバーによってサポートされている (この場合、読み込まれた時点で常に実行状態になります)。このとき GetObject は指定されたオブジェクトを読み込み、OleIsRunning 関数がオブジェクトの実行を示していれば、成功を返します。
BINDSPEED_IMMEDIATE30x3呼び出し元は短時間しか待機しません。この場合、バインド操作は、オブジェクトが既に実行状態にあるか擬似オブジェクトである場合を除き、MK_E_EXCEEEDEDDEADLINE を返します。

公式ドキュメント

呼び出し元がオブジェクトへのバインドをどの程度の時間待機するかを、おおよそ示します。

解説(Remarks)

IOleItemContainer::GetObject の主な呼び出し元は、システムが提供するアイテム モニカーの実装です。そこで指定される BINDSPEED の値は、モニカー操作の呼び出し元が指定した期限によって決まります。

期限は、モニカー操作に渡されるバインド コンテキスト内の BIND_OPTS 構造体の dwTickCountDeadline フィールドに格納されます。この値は GetTickCount 関数の戻り値に基づいています。dwTickCountDeadline が 0 の場合、期限なしを意味し、アイテム モニカーの実装は BINDSPEED_INDEFINITE を指定します。(これは CreateBindCtx 関数が返すバインド コンテキストの既定の dwTickCountDeadline 値です。) dwTickCountDeadlineGetTickCount の戻り値との差が 2500 より大きい場合、アイテム モニカーの実装は BINDSPEED_MODERATE を指定します。差が 2500 未満の場合は BINDSPEED_IMMEDIATE を指定します。

GetObject の実装では、BINDSPEED の値をバインド期限の簡易的な目安として使用することも、IBindCtx インスタンス パラメーターを使用して正確な期限を判断することもできます。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum BINDSPEED : int {
    BINDSPEED_INDEFINITE = 1,
    BINDSPEED_MODERATE = 2,
    BINDSPEED_IMMEDIATE = 3
} BINDSPEED;
public enum BINDSPEED : int
{
    BINDSPEED_INDEFINITE = 1,
    BINDSPEED_MODERATE = 2,
    BINDSPEED_IMMEDIATE = 3,
}
Public Enum BINDSPEED As Integer
    BINDSPEED_INDEFINITE = 1
    BINDSPEED_MODERATE = 2
    BINDSPEED_IMMEDIATE = 3
End Enum
import enum

class BINDSPEED(enum.IntEnum):
    BINDSPEED_INDEFINITE = 1
    BINDSPEED_MODERATE = 2
    BINDSPEED_IMMEDIATE = 3
// BINDSPEED
pub const BINDSPEED_INDEFINITE: i32 = 1;
pub const BINDSPEED_MODERATE: i32 = 2;
pub const BINDSPEED_IMMEDIATE: i32 = 3;
// BINDSPEED
const (
	BINDSPEED_INDEFINITE int32 = 1
	BINDSPEED_MODERATE int32 = 2
	BINDSPEED_IMMEDIATE int32 = 3
)
const
  BINDSPEED_INDEFINITE = 1;
  BINDSPEED_MODERATE = 2;
  BINDSPEED_IMMEDIATE = 3;
// BINDSPEED
pub const BINDSPEED_INDEFINITE: i32 = 1;
pub const BINDSPEED_MODERATE: i32 = 2;
pub const BINDSPEED_IMMEDIATE: i32 = 3;
const
  BINDSPEED_INDEFINITE* = 1
  BINDSPEED_MODERATE* = 2
  BINDSPEED_IMMEDIATE* = 3
enum BINDSPEED : int {
    BINDSPEED_INDEFINITE = 1,
    BINDSPEED_MODERATE = 2,
    BINDSPEED_IMMEDIATE = 3,
}
#define global BINDSPEED_INDEFINITE 0x1
#define global BINDSPEED_MODERATE   0x2
#define global BINDSPEED_IMMEDIATE  0x3