typedef enum D2D1_THREADING_MODE {
D2D1_THREADING_MODE_SINGLE_THREADED,
D2D1_THREADING_MODE_MULTI_THREADED,
D2D1_THREADING_MODE_FORCE_DWORD
} ;
这个枚举包含以下成员:
- D2D1_THREADING_MODE_SINGLE_THREADED: 表示 Direct2D 库在单线程模式下运行。在此模式下,Direct2D 对象只能在创建它们的线程上使用。
- D2D1_THREADING_MODE_MULTI_THREADED: 表示 Direct2D 库在多线程模式下运行。在此模式下,Direct2D 对象可以在多个线程上并发使用。
- D2D1_THREADING_MODE_FORCE_DWORD: 强制将此枚举大小设置为 32 位。
此枚举用于在创建 Direct2D 工厂对象时,通过 D2D1_FACTORY_OPTIONS 结构的 threadingMode 成员来指定 Direct2D 库的多线程模式。例如:
D2D1_FACTORY_OPTIONS options;
options.threadingMode = D2D1_THREADING_MODE_MULTI_THREADED;
HRESULT hr = D2D1CreateFactory(
D2D1_FACTORY_TYPE_SINGLE_THREADED,
options,
&pD2DFactory
);
在上述例子中,通过 D2D1CreateFactory 函数创建了一个 Direct2D 工厂对象,并设置了多线程模式为 D2D1_THREADING_MODE_MULTI_THREADED。根据应用程序的需要和多线程管理的方式,你可以选择适合的线程模式。
转载请注明出处:http://www.zyzy.cn/article/detail/25303/Win32 API/D2d1_1.h/D2D1_THREADING_MODE