次の方法で共有


NtGdiDdCreateSurfaceObject 関数

[この機能は、オペレーティング システムのリビジョンごとに変更される可能性があります。 代わりに、Microsoft DirectDraw と Microsoft Direct3DAPIs を使用します。これらの API は、このようなオペレーティング システムの変更からアプリケーションを保護し、ディスプレイ ドライバーとの直接対話に関連する他の多くの困難を隠します。

puSurfaceLocal によって参照されるユーザー モードのサーフェス オブジェクトを表すカーネル モードのサーフェス オブジェクトを作成します。

構文

HANDLE APIENTRY NtGdiDdCreateSurfaceObject(
  _In_ HANDLE             hDirectDrawLocal,
  _In_ HANDLE             hSurface,
  _In_ PDD_SURFACE_LOCAL  puSurfaceLocal,
  _In_ PDD_SURFACE_MORE   puSurfaceMore,
  _In_ PDD_SURFACE_GLOBAL puSurfaceGlobal,
  _In_ BOOL               bComplete
);

パラメーター

hDirectDrawLocal [in]

カーネル モードの DirectDraw オブジェクトを処理します。

hSurface [in]

同じサーフェスへの前のハンドル。 モード 切り替え後にサーフェスを再作成する場合に使用します。

puSurfaceLocal [in]

割り当てられたメモリを関連付ける DirectDraw ユーザー モードサーフェスオブジェクトを表す DD_SURFACE_LOCAL 構造体へのポインター。 詳細については、DDK のドキュメントを参照してください。

puSurfaceMore [in]

個々のサーフェス オブジェクトの追加のローカル データを含む DD_SURFACE_MORE 構造体へのポインター。 詳細については、DDK のドキュメントを参照してください。

puSurfaceGlobal [in]

複数のサーフェスとグローバルに共有されるサーフェス データを含む DD_SURFACE_GLOBAL 構造体へのポインター。 詳細については、DDK のドキュメントを参照してください。

bComplete [in]

カーネル モード のオブジェクト補完フラグ。 次のいずれかの値を指定できます。

(TRUE)

カーネル モード表現に関するすべての処理を完了します。

(FALSE)

オブジェクトを作成しますが、メモリ ポインターなどの内部データは設定しません。 FALSE を使用して作成されたオブジェクトは、NtGdiDdAttachSurface を使用してアタッチでき、NtGdiDdCreateSurface の呼び出しによって完了します。

戻り値

成功した場合、この関数はカーネル モードのサーフェス表現へのハンドルを返します。それ以外の場合は NULL を返します。

解説

アプリケーションでは、DirectDraw API と Direct3D API を使用して、グラフィックス デバイス オブジェクトを作成および管理することをお勧めします。 これらのコンストラクトは、簡略化されたオペレーティング システムに依存しない方法でデバイス作成プロセスを抽象化します。

要件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Ntgdi.h

関連項目

グラフィックス低レベルクライアントのサポート

DdCreateSurfaceObject

NtGdiDdDeleteSurfaceObject

NtGdiDdAttachSurface

NtGdiDdCreateSurface