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

TYPEFLAGS

列挙型
基底型i4

メンバー 15

名前10進16進説明
TYPEFLAG_FAPPOBJECT10x1Application オブジェクトを記述する型情報です。
TYPEFLAG_FCANCREATE20x2この型のインスタンスを ITypeInfo::CreateInstance で作成できます。
TYPEFLAG_FLICENSED40x4型はライセンスされています。
TYPEFLAG_FPREDECLID80x8型は事前定義されています。クライアント アプリケーションは、この属性を持つオブジェクトのインスタンスを 1 つだけ自動的に作成する必要があります。そのオブジェクトを指す変数の名前は、オブジェクトのクラス名と同じです。
TYPEFLAG_FHIDDEN160x10型はブラウザーに表示すべきではありません。
TYPEFLAG_FCONTROL320x20型は、他の型の派生元となるコントロールであり、ユーザーに表示すべきではありません。
TYPEFLAG_FDUAL640x40インターフェイスは IDispatch と VTBL バインディングの両方を提供します。
TYPEFLAG_FNONEXTENSIBLE1280x80インターフェイスは実行時にメンバーを追加できません。
TYPEFLAG_FOLEAUTOMATION2560x100インターフェイスで使用される型は、VTBL バインディングのサポートを含め、オートメーションと完全な互換性があります。インターフェイスに dual を設定すると、TYPEFLAG_FDUAL に加えてこのフラグも設定されます。dispinterface では使用できません。
TYPEFLAG_FRESTRICTED5120x200マクロ言語からアクセスできないようにする必要があります。このフラグは、システム レベルの型や、型ブラウザーが表示すべきではない型を対象としています。
TYPEFLAG_FAGGREGATABLE10240x400クラスはアグリゲーションをサポートします。
TYPEFLAG_FREPLACEABLE20480x800型は置き換え可能です。
TYPEFLAG_FDISPATCHABLE40960x1000インターフェイスが直接または間接的に IDispatch から派生していることを示します。このフラグは計算によって求められます。このフラグに対応する Object Description Language はありません。
TYPEFLAG_FREVERSEBIND81920x2000型は逆バインディングを持ちます。
TYPEFLAG_FPROXY163840x4000インターフェイスにこのフラグを設定すると、プロキシ/スタブのダイナミック リンク ライブラリを使用することを示します。このフラグは、タイプ ライブラリの登録が解除されるときに、タイプ ライブラリのプロキシの登録を解除すべきではないことを指定します。

公式ドキュメント

型のフラグです。

解説(Remarks)

TYPEFLAG_FAPPOBJECT は TypeKind = TKIND_COCLASS の型情報に対して使用でき、その型情報が Application オブジェクトを指定していることを示します。

Application オブジェクトのメンバーはグローバルにアクセスできます。ライブラリに関連付けられた ITypeComp インスタンスの Bind メソッドは、TypeKind = TKIND_MODULE を持つ型情報の場合と同様に、Application オブジェクトのメンバーにバインドします。

型情報は、その型情報が記述する名前および型と同じグローバル変数を暗黙的に定義します。この変数もグローバルにアクセスできます。Bind に Application オブジェクトの名前が渡されると、その暗黙の変数を記述する VARDESC が返されます。暗黙的に作成される変数の ID は常に ID_DEFAULTINST です。

Application オブジェクトの型情報の ITypeInfo::CreateInstance 関数が呼び出され、この関数は GetActiveObject を使用して Application オブジェクトを取得します。アプリケーションが実行されていないために GetActiveObject が失敗した場合、CreateInstanceCoCreateInstance を呼び出し、これによってアプリケーションが起動されます。

TYPEFLAG_FCANCREATE が設定されている場合、CreateInstance はこの型のインスタンスを作成できます。これは、グローバル一意識別子 (GUID) が指定されているコンポーネント オブジェクト クラスの場合にのみ当てはまります。

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

各言語での定義

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

typedef enum TYPEFLAGS : int {
    TYPEFLAG_FAPPOBJECT = 1,
    TYPEFLAG_FCANCREATE = 2,
    TYPEFLAG_FLICENSED = 4,
    TYPEFLAG_FPREDECLID = 8,
    TYPEFLAG_FHIDDEN = 16,
    TYPEFLAG_FCONTROL = 32,
    TYPEFLAG_FDUAL = 64,
    TYPEFLAG_FNONEXTENSIBLE = 128,
    TYPEFLAG_FOLEAUTOMATION = 256,
    TYPEFLAG_FRESTRICTED = 512,
    TYPEFLAG_FAGGREGATABLE = 1024,
    TYPEFLAG_FREPLACEABLE = 2048,
    TYPEFLAG_FDISPATCHABLE = 4096,
    TYPEFLAG_FREVERSEBIND = 8192,
    TYPEFLAG_FPROXY = 16384
} TYPEFLAGS;
public enum TYPEFLAGS : int
{
    TYPEFLAG_FAPPOBJECT = 1,
    TYPEFLAG_FCANCREATE = 2,
    TYPEFLAG_FLICENSED = 4,
    TYPEFLAG_FPREDECLID = 8,
    TYPEFLAG_FHIDDEN = 16,
    TYPEFLAG_FCONTROL = 32,
    TYPEFLAG_FDUAL = 64,
    TYPEFLAG_FNONEXTENSIBLE = 128,
    TYPEFLAG_FOLEAUTOMATION = 256,
    TYPEFLAG_FRESTRICTED = 512,
    TYPEFLAG_FAGGREGATABLE = 1024,
    TYPEFLAG_FREPLACEABLE = 2048,
    TYPEFLAG_FDISPATCHABLE = 4096,
    TYPEFLAG_FREVERSEBIND = 8192,
    TYPEFLAG_FPROXY = 16384,
}
Public Enum TYPEFLAGS As Integer
    TYPEFLAG_FAPPOBJECT = 1
    TYPEFLAG_FCANCREATE = 2
    TYPEFLAG_FLICENSED = 4
    TYPEFLAG_FPREDECLID = 8
    TYPEFLAG_FHIDDEN = 16
    TYPEFLAG_FCONTROL = 32
    TYPEFLAG_FDUAL = 64
    TYPEFLAG_FNONEXTENSIBLE = 128
    TYPEFLAG_FOLEAUTOMATION = 256
    TYPEFLAG_FRESTRICTED = 512
    TYPEFLAG_FAGGREGATABLE = 1024
    TYPEFLAG_FREPLACEABLE = 2048
    TYPEFLAG_FDISPATCHABLE = 4096
    TYPEFLAG_FREVERSEBIND = 8192
    TYPEFLAG_FPROXY = 16384
End Enum
import enum

class TYPEFLAGS(enum.IntEnum):
    TYPEFLAG_FAPPOBJECT = 1
    TYPEFLAG_FCANCREATE = 2
    TYPEFLAG_FLICENSED = 4
    TYPEFLAG_FPREDECLID = 8
    TYPEFLAG_FHIDDEN = 16
    TYPEFLAG_FCONTROL = 32
    TYPEFLAG_FDUAL = 64
    TYPEFLAG_FNONEXTENSIBLE = 128
    TYPEFLAG_FOLEAUTOMATION = 256
    TYPEFLAG_FRESTRICTED = 512
    TYPEFLAG_FAGGREGATABLE = 1024
    TYPEFLAG_FREPLACEABLE = 2048
    TYPEFLAG_FDISPATCHABLE = 4096
    TYPEFLAG_FREVERSEBIND = 8192
    TYPEFLAG_FPROXY = 16384
// TYPEFLAGS
pub const TYPEFLAG_FAPPOBJECT: i32 = 1;
pub const TYPEFLAG_FCANCREATE: i32 = 2;
pub const TYPEFLAG_FLICENSED: i32 = 4;
pub const TYPEFLAG_FPREDECLID: i32 = 8;
pub const TYPEFLAG_FHIDDEN: i32 = 16;
pub const TYPEFLAG_FCONTROL: i32 = 32;
pub const TYPEFLAG_FDUAL: i32 = 64;
pub const TYPEFLAG_FNONEXTENSIBLE: i32 = 128;
pub const TYPEFLAG_FOLEAUTOMATION: i32 = 256;
pub const TYPEFLAG_FRESTRICTED: i32 = 512;
pub const TYPEFLAG_FAGGREGATABLE: i32 = 1024;
pub const TYPEFLAG_FREPLACEABLE: i32 = 2048;
pub const TYPEFLAG_FDISPATCHABLE: i32 = 4096;
pub const TYPEFLAG_FREVERSEBIND: i32 = 8192;
pub const TYPEFLAG_FPROXY: i32 = 16384;
// TYPEFLAGS
const (
	TYPEFLAG_FAPPOBJECT int32 = 1
	TYPEFLAG_FCANCREATE int32 = 2
	TYPEFLAG_FLICENSED int32 = 4
	TYPEFLAG_FPREDECLID int32 = 8
	TYPEFLAG_FHIDDEN int32 = 16
	TYPEFLAG_FCONTROL int32 = 32
	TYPEFLAG_FDUAL int32 = 64
	TYPEFLAG_FNONEXTENSIBLE int32 = 128
	TYPEFLAG_FOLEAUTOMATION int32 = 256
	TYPEFLAG_FRESTRICTED int32 = 512
	TYPEFLAG_FAGGREGATABLE int32 = 1024
	TYPEFLAG_FREPLACEABLE int32 = 2048
	TYPEFLAG_FDISPATCHABLE int32 = 4096
	TYPEFLAG_FREVERSEBIND int32 = 8192
	TYPEFLAG_FPROXY int32 = 16384
)
const
  TYPEFLAG_FAPPOBJECT = 1;
  TYPEFLAG_FCANCREATE = 2;
  TYPEFLAG_FLICENSED = 4;
  TYPEFLAG_FPREDECLID = 8;
  TYPEFLAG_FHIDDEN = 16;
  TYPEFLAG_FCONTROL = 32;
  TYPEFLAG_FDUAL = 64;
  TYPEFLAG_FNONEXTENSIBLE = 128;
  TYPEFLAG_FOLEAUTOMATION = 256;
  TYPEFLAG_FRESTRICTED = 512;
  TYPEFLAG_FAGGREGATABLE = 1024;
  TYPEFLAG_FREPLACEABLE = 2048;
  TYPEFLAG_FDISPATCHABLE = 4096;
  TYPEFLAG_FREVERSEBIND = 8192;
  TYPEFLAG_FPROXY = 16384;
// TYPEFLAGS
pub const TYPEFLAG_FAPPOBJECT: i32 = 1;
pub const TYPEFLAG_FCANCREATE: i32 = 2;
pub const TYPEFLAG_FLICENSED: i32 = 4;
pub const TYPEFLAG_FPREDECLID: i32 = 8;
pub const TYPEFLAG_FHIDDEN: i32 = 16;
pub const TYPEFLAG_FCONTROL: i32 = 32;
pub const TYPEFLAG_FDUAL: i32 = 64;
pub const TYPEFLAG_FNONEXTENSIBLE: i32 = 128;
pub const TYPEFLAG_FOLEAUTOMATION: i32 = 256;
pub const TYPEFLAG_FRESTRICTED: i32 = 512;
pub const TYPEFLAG_FAGGREGATABLE: i32 = 1024;
pub const TYPEFLAG_FREPLACEABLE: i32 = 2048;
pub const TYPEFLAG_FDISPATCHABLE: i32 = 4096;
pub const TYPEFLAG_FREVERSEBIND: i32 = 8192;
pub const TYPEFLAG_FPROXY: i32 = 16384;
const
  TYPEFLAG_FAPPOBJECT* = 1
  TYPEFLAG_FCANCREATE* = 2
  TYPEFLAG_FLICENSED* = 4
  TYPEFLAG_FPREDECLID* = 8
  TYPEFLAG_FHIDDEN* = 16
  TYPEFLAG_FCONTROL* = 32
  TYPEFLAG_FDUAL* = 64
  TYPEFLAG_FNONEXTENSIBLE* = 128
  TYPEFLAG_FOLEAUTOMATION* = 256
  TYPEFLAG_FRESTRICTED* = 512
  TYPEFLAG_FAGGREGATABLE* = 1024
  TYPEFLAG_FREPLACEABLE* = 2048
  TYPEFLAG_FDISPATCHABLE* = 4096
  TYPEFLAG_FREVERSEBIND* = 8192
  TYPEFLAG_FPROXY* = 16384
enum TYPEFLAGS : int {
    TYPEFLAG_FAPPOBJECT = 1,
    TYPEFLAG_FCANCREATE = 2,
    TYPEFLAG_FLICENSED = 4,
    TYPEFLAG_FPREDECLID = 8,
    TYPEFLAG_FHIDDEN = 16,
    TYPEFLAG_FCONTROL = 32,
    TYPEFLAG_FDUAL = 64,
    TYPEFLAG_FNONEXTENSIBLE = 128,
    TYPEFLAG_FOLEAUTOMATION = 256,
    TYPEFLAG_FRESTRICTED = 512,
    TYPEFLAG_FAGGREGATABLE = 1024,
    TYPEFLAG_FREPLACEABLE = 2048,
    TYPEFLAG_FDISPATCHABLE = 4096,
    TYPEFLAG_FREVERSEBIND = 8192,
    TYPEFLAG_FPROXY = 16384,
}
#define global TYPEFLAG_FAPPOBJECT     0x1
#define global TYPEFLAG_FCANCREATE     0x2
#define global TYPEFLAG_FLICENSED      0x4
#define global TYPEFLAG_FPREDECLID     0x8
#define global TYPEFLAG_FHIDDEN        0x10
#define global TYPEFLAG_FCONTROL       0x20
#define global TYPEFLAG_FDUAL          0x40
#define global TYPEFLAG_FNONEXTENSIBLE 0x80
#define global TYPEFLAG_FOLEAUTOMATION 0x100
#define global TYPEFLAG_FRESTRICTED    0x200
#define global TYPEFLAG_FAGGREGATABLE  0x400
#define global TYPEFLAG_FREPLACEABLE   0x800
#define global TYPEFLAG_FDISPATCHABLE  0x1000
#define global TYPEFLAG_FREVERSEBIND   0x2000
#define global TYPEFLAG_FPROXY         0x4000