D3DKMT_CREATEALLOCATION 구조체(d3dkmthk.h)
D3DKMT_CREATEALLOCATION 구조는 할당을 만들기 위한 매개 변수를 설명합니다.
구문
typedef struct _D3DKMT_CREATEALLOCATION {
[in] D3DKMT_HANDLE hDevice;
[in/out] D3DKMT_HANDLE hResource;
[out] D3DKMT_HANDLE hGlobalShare;
[in] const VOID *pPrivateRuntimeData;
[in] UINT PrivateRuntimeDataSize;
union {
[in] D3DKMT_CREATESTANDARDALLOCATION *pStandardAllocation;
[in] const VOID *pPrivateDriverData;
};
[in/out] UINT PrivateDriverDataSize;
[in] UINT NumAllocations;
union {
[in] D3DDDI_ALLOCATIONINFO *pAllocationInfo;
[in] D3DDDI_ALLOCATIONINFO2 *pAllocationInfo2;
};
[in] D3DKMT_CREATEALLOCATIONFLAGS Flags;
[in] HANDLE hPrivateRuntimeResourceHandle;
} D3DKMT_CREATEALLOCATION;
멤버
[in] hDevice
리소스 또는 할당이 연결된 디바이스에 대한 핸들입니다.
[in/out] hResource
할당과 연결된 리소스에 대한 커널 모드 핸들을 나타내는 D3DKMT_HANDLE 데이터 형식입니다. 할당이 기존 리소스에 추가되지 않는 한 hResource 의 값은 항상 0이어야 합니다. 이 경우 hResource 에는 리소스 핸들이 포함됩니다.
CreateResource 비트 필드 플래그가 Flags 멤버에 설정되면 OpenGL 런타임은 고유한 핸들을 생성하고 드라이버에 다시 전달합니다. D3DKMTCreateAllocation 함수의 출력에서 hResource는 드라이버가 후속 OpenGL 런타임 호출에서 리소스를 식별하는 데 사용해야 하는 핸들을 지정합니다. 반환되는 리소스 핸들은 디바이스별이며, 생성된 디바이스와 함께 사용할 때만 유효합니다.
[out] hGlobalShare
사용자 모드 클라이언트 드라이버는 전역 핸들을 사용하여 리소스를 공유해서는 안 됩니다. 드라이버는 플래그에서 NtSecuritySharing을 설정하고 D3DKMTShareObjects를 호출하여 NT 핸들을 가져와야 합니다. 전역 핸들을 사용하는 것은 안전하지 않습니다. 모든 프로세스는 전역 핸들을 추측하고 공유 개체를 열 수 있습니다. 전역 핸들은 이전 D3D 런타임과의 호환성 이유로만 지원됩니다. NtSecuritySharing이 설정되지 않으면 전역 핸들이 hGlobalShare에 반환됩니다. UMD가 전역 핸들을 사용하여 리소스를 공유하는 것을 방지하는 것은 없지만 드라이버는 그렇게 해서는 안 됩니다.)
[in] pPrivateRuntimeData
디버깅을 위해 리소스에 연결할 수 있는 선택적 프라이빗 데이터에 대한 포인터입니다. 이 데이터는 리소스당이며 할당당이 아닙니다.
[in] PrivateRuntimeDataSize
pPrivateRuntimeData가 가리키는 프라이빗 데이터의 크기(바이트)입니다.
[in] pStandardAllocation
만들 표준 할당을 설명하는 D3DKMT_CREATESTANDARDALLOCATION 구조체에 대한 포인터입니다.
[in] pPrivateDriverData
표시 미니포트 드라이버가 리소스 또는 할당을 만드는 데 필요할 수 있는 선택적 프라이빗 데이터가 포함된 버퍼에 대한 포인터입니다. 버퍼의 내용은 일반적으로 ICD에서 제공되며 디스플레이 미니포트 드라이버가 처리할 수 있는 형식이어야 합니다.
[in/out] PrivateDriverDataSize
pPrivateDriverData가 가리키는 개인 데이터의 크기(바이트)입니다.
[in] NumAllocations
pAllocationInfo가 지정하는 배열의 요소 수로, 만들 할당 수를 나타냅니다. 처음에 연결된 할당 없이 리소스를 만드는 것은 유효합니다. 따라서 NumAllocations는 0으로 설정할 수 있습니다.
[in] pAllocationInfo
만들 각 할당에 대한 특정 속성을 설명하는 D3DDDI_ALLOCATIONINFO 구조체의 배열입니다.
[in] pAllocationInfo2
이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
이 멤버는 Windows 7부터 사용할 수 있습니다.
[in] Flags
비트 필드 플래그에서 할당을 만들기 위한 특성을 식별하는 D3DKMT_CREATEALLOCATIONFLAGS 구조체입니다.
Flags에서 CreateShared 비트 필드 플래그를 설정하는 경우 CreateResource 비트 필드 플래그도 설정해야 합니다.
[in] hPrivateRuntimeResourceHandle
이벤트 추적에 사용할 수 있는 불투명 핸들입니다. 이 핸들은 ETW(Windows용 이벤트 추적) 이벤트 로그를 분석할 때 커널 모드 할당을 사용자 모드 표면 포인터와 연결하는 데 사용할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
머리글 | d3dkmthk.h(D3dkmthk.h 포함) |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기