다음을 통해 공유


D3DKMTShareObjects 함수(d3dkmthk.h)

D3DKMTShareObjects D3KMTCreateAllocation, D3KMTCreateAllocation2D3DKMTCreateKeyedMutex2D3DKMTCreateSynchronizationObject2 함수로 만든 리소스 개체를 공유합니다.

통사론

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_FLAGSD3DDDI_SYNCHRONIZATIONOBJECT_FLAGS 구조체에서 사용할 수 있습니다.

이 함수는 다음 입력 개체 배열 형식 조합에만 hObjects 매개 변수를 통해 핸들을 지정해야 합니다.

  • 할당
  • 할당, 키 뮤텍스 및 동기화 개체
  • 동기화 개체

운영 체제는 다른 입력 핸들 조합을 거부합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 8
지원되는 최소 서버 Windows Server 2012
대상 플랫폼 보편적
헤더 d3dkmthk.h(D3dkmthk.h 포함)
라이브러리 Gdi32.lib
DLL Gdi32.dll

참고 항목

D3DDDI_SYNCHRONIZATIONOBJECT_FLAGS

D3DKMTCreateAllocation

D3DKMTCreateAllocation2

D3DKMTCreateKeyedMutex2

D3DKMTCreateSynchronizationObject2

D3DKMT_CREATEALLOCATIONFLAGS

D3DKMT_CREATEKEYEDMUTEX2_FLAGS