D3DKMTShareObjects 関数 (d3dkmthk.h)
D3DKMTShareObjects、D3KMTCreateAllocation、D3KMTCreateAllocation2D3DKMTCreateKeyedMutex2、および D3DKMTCreateSynchronizationObject2 関数で作成されたリソース オブジェクトを共有します。
構文
NTSTATUS D3DKMTShareObjects(
[in] UINT cObjects,
[in] const D3DKMT_HANDLE *hObjects,
[in] POBJECT_ATTRIBUTES pObjectAttributes,
[in] DWORD dwDesiredAccess,
[out] HANDLE *phSharedNtHandle
);
パラメーター
[in] cObjects
hObjects パラメーターに指定されたリソース オブジェクトの数。 この値は、D3DKMT_MAX_OBJECTS_PER_HANDLE以下にする必要があります。
[in] hObjects
共有するリソース オブジェクトを指定するローカル カーネル モード ハンドルの配列へのポインター。 詳細については、「解説」を参照してください。
[in] pObjectAttributes
リソース オブジェクトの属性を指定する OBJECT_ATTRIBUTES 構造体へのポインター。
[in] dwDesiredAccess
リソースの読み取りアクセスと書き込みアクセスを指定します。
GPU 同期オブジェクトの場合、dwDesiredAccess は、次のビット フィールド (d3dukmdt.hで定義) の組み合わせにすることができます。
価値 | 意味 |
---|---|
STANDARD_RIGHTS_READ | 同期オブジェクトを開くプロセスは、同期オブジェクトの状態を読み取ることができます。 このフラグを指定する必要があります。または、オブジェクトにアクセスできません。 |
D3DDDI_SYNC_OBJECT_WAIT | 同期オブジェクトを開くプロセスは、同期オブジェクトの待機操作を発行できます。 |
D3DDDI_SYNC_OBJECT_SIGNAL | 同期オブジェクトを開くプロセスは、同期オブジェクトのシグナル操作を発行できます。 |
D3DDDI_SYNC_OBJECT_ALL_ACCESS | 同期オブジェクトを開くプロセスは、同期オブジェクトに対して任意の操作を発行できます。 |
共有リソースの場合、必要なアクセスは次のフラグ (d3dkmthk.hで定義) の組み合わせとして指定できます。
価値 | 意味 |
---|---|
STANDARD_RIGHTS_READ | リソースを開くプロセスは、読み取りアクセス権を持つことができます。 このフラグを指定する必要があります。または、オブジェクトにアクセスできません。 |
SHARED_ALLOCATION_WRITE | リソースを開くプロセスは、書き込みアクセス権を持つことができます。 このアクセス フラグが指定されていない場合、リソースは読み取り専用として開かれます。 |
SHARED_ALLOCATION_ALL_ACCESS | リソースを開くプロセスは、オブジェクトへのすべてのアクセス権を持つことができます。 |
[out] phSharedNtHandle
リソース オブジェクトを指定する共有 NT ハンドルへのポインター。
NtSecuritySharing フラグ値が設定されていない場合、このパラメーターは NULL されます。 詳細については、「解説」を参照してください。
戻り値
このメソッドは、操作が成功した場合に STATUS_SUCCESS を返します。 それ以外の場合、このメソッドは適切な NTSTATUS エラー コードを返す可能性があります。
備考
D3DKMTShareObjects を使用して共有するオブジェクトは、まず、NtSecuritySharing フラグ値を設定して作成する必要があります。 このフラグ値は、D3DKMT_CREATEALLOCATIONFLAGS、D3DKMT_CREATEKEYEDMUTEX2_FLAGS、および D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS 構造体で使用できます。
この関数では、hObjects パラメーターを使用して、次の入力オブジェクト配列型の組み合わせにのみハンドルを指定する必要があります。
- 割り当て
- 割り当て、キー付きミューテックス、および同期オブジェクト
- 同期オブジェクト
オペレーティング システムは、他の入力ハンドルの組み合わせを拒否します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 |
サポートされる最小サーバー | Windows Server 2012 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | d3dkmthk.h (D3dkmthk.h を含む) |
ライブラリ | Gdi32.lib |
DLL | Gdi32.dll |
関連項目
D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS