D3DKMTShareObjects 函式 (d3dkmthk.h)
D3DKMTShareObjects 會共用使用 D3KMDTCreateAllocation、 D3KMDTCreateAllocation2D3DKMTCreateKeyedMutex2 和 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 參數指定句柄,只能指定下列輸入物件數位類型的組合:
- 配置
- 配置、索引鍵 Mutex 和同步處理物件
- 同步處理物件
操作系統將會拒絕任何其他輸入句柄組合。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
最低支援的伺服器 | Windows Server 2012 |
目標平台 | Universal |
標頭 | d3dkmthk.h (包含 D3dkmthk.h) |
程式庫 | Gdi32.lib |
Dll | Gdi32.dll |
另請參閱
D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應