Win32 API 日本語リファレンス
ホームGraphics.Dxgi › DXGI_SWAP_CHAIN_FLAG

DXGI_SWAP_CHAIN_FLAG

列挙型フラグ
基底型i4

メンバー 13

名前10進16進説明
DXGI_SWAP_CHAIN_FLAG_NONPREROTATED10x1画像の自動回転をオフにするには、このフラグを設定します。つまり、フロントバッファーの内容をモニターに転送するときに回転を実行しません。 アプリケーション側で回転を処理する場合は、このフラグを使用して帯域幅の損失を回避します。このオプションは全画面モードでのみ有効です。
DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH20x2アプリケーションが IDXGISwapChain::ResizeTarget を呼び出してモードを切り替えられるようにするには、このフラグを設定します。 ウィンドウモードから全画面モードに切り替えると、ディスプレイモード (またはモニターの解像度) がアプリケーションウィンドウの寸法に一致するように変更されます。
DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE40x4

アプリケーションがスワップチェーンまたはサーフェス上で GDI を使用して描画できるようにするには、このフラグを設定します。 これにより、アプリケーションは 0 番目のバックバッファーまたはサーフェスに対して IDXGISurface1::GetDC を呼び出せるようになります。

このフラグは Direct3D 12 には適用されません。

DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT80x8

スワップチェーンが保護されたコンテンツを含む可能性があることを示すには、このフラグを設定します。そのため、オペレーティングシステムは、ドライバーとハードウェアによる保護が使用される場合にのみスワップチェーンの作成をサポートします。ドライバーとハードウェアがコンテンツ保護をサポートしていない場合、スワップチェーン用のリソースを作成する呼び出しは失敗します。

Direct3D 11: この列挙値は Windows 8 以降でサポートされます。

DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER160x10

スワップチェーン内で作成される共有リソースを、共有サーフェスへのアクセスを制限するドライバーのメカニズムによって保護しなければならないことを示すには、このフラグを設定します。

Direct3D 11: この列挙値は Windows 8 以降でサポートされます。

DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY320x20

表示するコンテンツをローカルのディスプレイに限定するには、このフラグを設定します。これにより、表示されたコンテンツにはリモートアクセスや デスクトップ複製 API を通じてアクセスできなくなります。

このフラグは Windows のウィンドウコンテンツ保護機能をサポートします。アプリケーションはこのフラグを使用して、自身の画面上のウィンドウコンテンツが、特定の一連の公開されたオペレーティングシステム機能や API を通じてキャプチャまたはコピーされるのを防ぐことができます。

別のプロセスが HWND を作成したウィンドウモード (HWND または IWindow) のスワップチェーンでこのフラグを使用する場合、IDXGISwapChain::Present または IDXGISwapChain1::Present1 の呼び出しを成功させるには、HWND の所有者が SetWindowDisplayAffinity 関数を適切に使用する必要があります。

Direct3D 11: この列挙値は Windows 8 以降でサポートされます。

DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT640x40

フレームの表示中に描画が開始されないようにするための待機可能オブジェクトを作成するには、このフラグを設定します。このフラグを使用する場合、スワップチェーンのレイテンシは IDXGISwapChain2::SetMaximumFrameLatency API で設定する必要があり、IDXGIDevice1::SetMaximumFrameLatency は使用しません。

このフラグは、描画 API が Direct3D 12 の場合を除き、全画面モードではサポートされません。

メモ この列挙値は Windows 8.1 以降でサポートされます。

DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER1280x80

マルチプレーンレンダリング用に前景レイヤーへスワップチェーンを作成するには、このフラグを設定します。このフラグは、CreateSwapChainForCoreWindow で作成される CoreWindow スワップチェーンでのみ使用できます。IDXGIOutput2::SupportsOverlays がオーバーレイのハードウェアサポートを利用できないことを示している場合、アプリは前景スワップチェーンを作成しないでください。

なお、IDXGISwapChain::ResizeBuffers でこのフラグを追加または削除することはできません。

メモ この列挙値は Windows 8.1 以降でサポートされます。

DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO2560x100

全画面ビデオ用のスワップチェーンを作成するには、このフラグを設定します。

メモ この列挙値は Windows 8.1 以降でサポートされます。

DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO5120x200

YUV ビデオ用のスワップチェーンを作成するには、このフラグを設定します。

メモ この列挙値は Windows 8.1 以降でサポートされます。

DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED10240x400

基になるすべてのリソースをハードウェアで保護できるようにスワップチェーンを作成することを示します。ハードウェアによるコンテンツ保護がサポートされていない場合、リソースの作成は失敗します。

このフラグには次の制限があります。

メモ このフラグを使用してスワップチェーンを作成しても、基になる割り当てに対してハードウェア保護が有効になることが自動的に保証されるわけではありません。実装によっては、保護が保証される前に DRM コンポーネントを先に初期化しておく必要があります。
メモ この列挙値は Windows 10 以降でサポートされます。
DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING20480x800

ティアリングのサポートは、アプリケーションが全画面のボーダーレスウィンドウに関連付けられたスワップチェーンを表示する際に、可変リフレッシュレートに対応したディスプレイが正しく機能するために必要です。Win32 アプリは SetFullscreenState(TRUE) を呼び出すことで、既に排他的全画面モードでティアリングを実現できますが、Win32 開発者には代わりにこのティアリングフラグを使用する方法が推奨されます。このフラグを使用するには DXGI_SWAP_EFFECT_FLIP_* スワップ効果が必要です。

この機能のハードウェアサポートを確認するには、IDXGIFactory5::CheckFeatureSupport を参照してください。使用方法については、IDXGISwapChain::Present および DXGI_PRESENT フラグを参照してください。

メモ

IDXGISwapChain::ResizeBuffers でこのフラグを追加または削除することはできません。

DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS40960x1000

公式ドキュメント

スワップチェーンの動作に関するオプションです。

解説(Remarks)

この列挙型は DXGI_SWAP_CHAIN_DESC 構造体および IDXGISwapChain::ResizeTarget メソッドで使用されます。

この列挙型は DXGI_SWAP_CHAIN_DESC1 構造体でも使用されます。

IDXGIFactory::CreateSwapChain メソッドを使用して全画面モードで作成するスワップチェーンには、DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY を設定する必要はありません。これらのスワップチェーンは、既に DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY が設定されている場合と同様に動作するためです。つまり、表示されたコンテンツにはリモートアクセスや デスクトップ複製 API を通じてアクセスできません。

IDXGIFactory2::CreateSwapChainForHwndIDXGIFactory2::CreateSwapChainForCoreWindow、および IDXGIFactory2::CreateSwapChainForComposition の各メソッドで作成したスワップチェーンは、DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY が設定されていない場合は保護されず、設定されている場合は保護されます。スワップチェーンが保護されている場合、画面のスクレイピングが防止され、全画面モードでは、表示されたコンテンツに デスクトップ複製 API を通じてアクセスできません。

IDXGISwapChain::ResizeBuffers を呼び出してスワップチェーンのバックバッファーを変更するときに、すべての DXGI_SWAP_CHAIN_FLAG フラグをリセットまたは変更できます。

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

各言語での定義

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

typedef enum DXGI_SWAP_CHAIN_FLAG : int {
    DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1,
    DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2,
    DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4,
    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8,
    DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16,
    DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32,
    DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64,
    DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128,
    DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256,
    DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512,
    DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024,
    DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048,
    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 4096
} DXGI_SWAP_CHAIN_FLAG;
[Flags]
public enum DXGI_SWAP_CHAIN_FLAG : int
{
    DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1,
    DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2,
    DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4,
    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8,
    DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16,
    DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32,
    DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64,
    DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128,
    DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256,
    DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512,
    DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024,
    DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048,
    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 4096,
}
<Flags>
Public Enum DXGI_SWAP_CHAIN_FLAG As Integer
    DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1
    DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2
    DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4
    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8
    DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16
    DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32
    DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64
    DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128
    DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256
    DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512
    DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024
    DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048
    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 4096
End Enum
import enum

class DXGI_SWAP_CHAIN_FLAG(enum.IntFlag):
    DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1
    DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2
    DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4
    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8
    DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16
    DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32
    DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64
    DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128
    DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256
    DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512
    DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024
    DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048
    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 4096
// DXGI_SWAP_CHAIN_FLAG (flags)
pub const DXGI_SWAP_CHAIN_FLAG_NONPREROTATED: i32 = 1;
pub const DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH: i32 = 2;
pub const DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE: i32 = 4;
pub const DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT: i32 = 8;
pub const DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER: i32 = 16;
pub const DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY: i32 = 32;
pub const DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT: i32 = 64;
pub const DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER: i32 = 128;
pub const DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO: i32 = 256;
pub const DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO: i32 = 512;
pub const DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED: i32 = 1024;
pub const DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING: i32 = 2048;
pub const DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS: i32 = 4096;
// DXGI_SWAP_CHAIN_FLAG
const (
	DXGI_SWAP_CHAIN_FLAG_NONPREROTATED int32 = 1
	DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH int32 = 2
	DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE int32 = 4
	DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT int32 = 8
	DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER int32 = 16
	DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY int32 = 32
	DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT int32 = 64
	DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER int32 = 128
	DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO int32 = 256
	DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO int32 = 512
	DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED int32 = 1024
	DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING int32 = 2048
	DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS int32 = 4096
)
const
  DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1;
  DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2;
  DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4;
  DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8;
  DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16;
  DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32;
  DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64;
  DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128;
  DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256;
  DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512;
  DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024;
  DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048;
  DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 4096;
// DXGI_SWAP_CHAIN_FLAG
pub const DXGI_SWAP_CHAIN_FLAG_NONPREROTATED: i32 = 1;
pub const DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH: i32 = 2;
pub const DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE: i32 = 4;
pub const DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT: i32 = 8;
pub const DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER: i32 = 16;
pub const DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY: i32 = 32;
pub const DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT: i32 = 64;
pub const DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER: i32 = 128;
pub const DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO: i32 = 256;
pub const DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO: i32 = 512;
pub const DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED: i32 = 1024;
pub const DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING: i32 = 2048;
pub const DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS: i32 = 4096;
const
  DXGI_SWAP_CHAIN_FLAG_NONPREROTATED* = 1
  DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH* = 2
  DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE* = 4
  DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT* = 8
  DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER* = 16
  DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY* = 32
  DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT* = 64
  DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER* = 128
  DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO* = 256
  DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO* = 512
  DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED* = 1024
  DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING* = 2048
  DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS* = 4096
enum DXGI_SWAP_CHAIN_FLAG : int {
    DXGI_SWAP_CHAIN_FLAG_NONPREROTATED = 1,
    DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH = 2,
    DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE = 4,
    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT = 8,
    DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER = 16,
    DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY = 32,
    DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT = 64,
    DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER = 128,
    DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO = 256,
    DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO = 512,
    DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED = 1024,
    DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING = 2048,
    DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS = 4096,
}
#define global DXGI_SWAP_CHAIN_FLAG_NONPREROTATED                          0x1
#define global DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH                      0x2
#define global DXGI_SWAP_CHAIN_FLAG_GDI_COMPATIBLE                         0x4
#define global DXGI_SWAP_CHAIN_FLAG_RESTRICTED_CONTENT                     0x8
#define global DXGI_SWAP_CHAIN_FLAG_RESTRICT_SHARED_RESOURCE_DRIVER        0x10
#define global DXGI_SWAP_CHAIN_FLAG_DISPLAY_ONLY                           0x20
#define global DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT          0x40
#define global DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER                       0x80
#define global DXGI_SWAP_CHAIN_FLAG_FULLSCREEN_VIDEO                       0x100
#define global DXGI_SWAP_CHAIN_FLAG_YUV_VIDEO                              0x200
#define global DXGI_SWAP_CHAIN_FLAG_HW_PROTECTED                           0x400
#define global DXGI_SWAP_CHAIN_FLAG_ALLOW_TEARING                          0x800
#define global DXGI_SWAP_CHAIN_FLAG_RESTRICTED_TO_ALL_HOLOGRAPHIC_DISPLAYS 0x1000
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。