D3DKMT_CREATEALLOCATION 구조체(d3dkmthk.h)
통사론
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
사용자 모드 클라이언트 드라이버는 전역 핸들을 사용하여 리소스를 공유해서는 안 됩니다. 드라이버는 FlagsNtSecuritySharing 설정하고 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 구조체입니다.
FlagsCreateShared 비트 필드 플래그를 설정하는 경우 CreateResource 비트 필드 플래그도 설정해야 합니다.
[in] hPrivateRuntimeResourceHandle
이벤트 추적에 사용할 수 있는 불투명 핸들입니다. 이 핸들은 ETW(Windows용 이벤트 추적) 이벤트 로그를 분석할 때 커널 모드 할당을 사용자 모드 표면 포인터와 연결하는 데 사용할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
헤더 | d3dkmthk.h(D3dkmthk.h 포함) |