D3DDDI_ALLOCATIONINFO 구조체(d3dukmdt.h)
D3DDDI_ALLOCATIONINFO 구조는 WDDM v1에 대한 할당을 설명합니다. 사용자 모드 그래픽 클라이언트는 대신 D3DDDI_ALLOCATIONINFO2 사용해야 합니다.
구문
typedef struct _D3DDDI_ALLOCATIONINFO {
D3DKMT_HANDLE hAllocation;
void D3DKMT_PTR(
const VOID *unnamedParam1,
pSystemMem unnamedParam2
);
void D3DKMT_PTR(
VOID *unnamedParam1,
pPrivateDriverData unnamedParam2
);
UINT PrivateDriverDataSize;
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
union {
struct {
UINT Primary : 1;
UINT Stereo : 1;
#if ...
UINT Reserved : 30;
#else
UINT Reserved : 31;
#endif
};
UINT Value;
} Flags;
} D3DDDI_ALLOCATIONINFO;
멤버
hAllocation
[out] 할당에 대한 커널 모드 핸들을 나타내는 D3DKMT_HANDLE . 이 핸들은 Direct3D 런타임의 pfnAllocateCb 함수가 D3DDDICB_ALLOCATE 구조체의 hKMResource 멤버에서 반환하는 커널 모드 리소스 핸들(NULL이 아닌 경우)과 연결됩니다. 사용자 모드 표시 드라이버는 이 커널 모드 할당 핸들을 사용하여 명령 버퍼의 할당을 참조할 수 있습니다.
void D3DKMT_PTR( const VOID *unnamedParam1, pSystemMem unnamedParam2)
void D3DKMT_PTR( VOID *unnamedParam1, pPrivateDriverData unnamedParam2)
PrivateDriverDataSize
[in] 프라이빗 데이터의 크기(바이트)입니다.
VidPnSourceId
[in] 기본 화면에 할당된 경우 비디오 현재 네트워크(VidPN) 토폴로지 경로에 있는 비디오 원본의 0부터 시작하는 VidPN 식별 번호입니다. 드라이버는 기본 할당 유형에 대해서만 VidPnSourceId 를 설정해야 하며 다른 유형의 할당에는 설정하지 않아야 합니다. 드라이버가 pfnAllocateCb 함수 호출에서 다른 할당 형식에 대해 VidPnSourceId를 설정하는 경우 pfnAllocateCb는 D3DDDI_ID_NOTAPPLICABLE 반환합니다.
DirectX 그래픽 커널 하위 시스템이 공유 기본 화면에 대한 할당 생성을 시작하면 디스플레이 미니포트 드라이버는 DXGK_ALLOCATIONINFO 구조체의 pPrivateDriverData 멤버가 가리키는 D3DKMDDI_SHAREDPRIMARYSURFACEDATA 구조체의 VidPnSourceId 멤버에서 식별 번호를 확인할 수 있습니다.
Flags
[in] 할당 유형을 식별하는 구조체 또는 32비트 값을 포함하는 공용 구조체입니다.
Flags.Primary
[in] 할당이 데스크톱의 일부인지 여부를 지정하는 UINT입니다. 이러한 할당은 CPU에서 암시적으로 액세스할 수 있습니다. 기본 할당은 만들 때 고정되거나 생성 시 고정되지 않을 수 있습니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00000001)의 첫 번째 비트를 설정하는 것과 같습니다.
Flags.Stereo
[in] Windows 8 시작합니다. 할당이 스테레오 기본 할당인지 여부를 지정하는 UINT입니다. 스테레오 멤버는 기본 멤버가 설정된 경우에만 설정할 수 있습니다.
이 멤버를 설정하는 것은 32비트 Value 멤버(0x00000002)의 두 번째 비트를 설정하는 것과 같습니다.
Flags.Reserved
[in] 이 멤버는 예약되어 있으며 0으로 설정해야 합니다.
Flags.Value
[in] 할당 유형을 식별하는 32비트 값입니다.
설명
사용자 모드 표시 드라이버가 D3DDDI_ALLOCATIONINFO Flags 멤버에서 기본 비트 필드 플래그를 설정하는 경우 디스플레이 미니포트 드라이버의 DxgkDdiCreateAllocation 함수에 대한 호출에서 할당을 위해 DXGKARG_CREATEALLOCATION 구조체의 pAllocationInfo 멤버에 있는 DXGK_ALLOCATIONINFO구조에 특정 제한이 적용됩니다. 이러한 제한에는 다음이 포함됩니다.
할당은 기본 설정에 따라 할당됩니다. 그렇지 않으면 할당 기본값은 지원되는 쓰기 세그먼트 집합으로 설정되며 쓰기 세그먼트 집합의 지정된 모든 세그먼트는 CPU에 액세스할 수 있어야 합니다.
디스플레이 미니포트 드라이버는 DXGK_ALLOCATIONINFOFlags 멤버에서 다음 비트 필드 플래그를 설정할 수 없습니다.
PermanentSysMem
캐시됨
보호됨
ExistingSysMem
ExistingKernelSysMem
D3DDDI_ID_NOTAPPLICABLE 상수는 D3dukmdt.h에 정의됩니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
머리글 | d3dukmdt.h(D3dumddi.h, D3dkmddi.h 포함) |