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 매개 변수를 통해 핸들을 지정해야 합니다.
- 할당
- 할당, 키 지정 뮤텍스 및 동기화 개체
- 동기화 개체
운영 체제는 다른 입력 핸들 조합을 거부합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 |
지원되는 최소 서버 | Windows Server 2012 |
대상 플랫폼 | 유니버설 |
헤더 | d3dkmthk.h(D3dkmthk.h 포함) |
라이브러리 | Gdi32.lib |
DLL | Gdi32.dll |
추가 정보
D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기