다음을 통해 공유


D3DHAL_CONTEXTCREATEDATA 구조체(d3dhal.h)

D3DHAL_CONTEXTCREATEDATA 구조에는 D3dContextCreate 함수가 새 컨텍스트를 만드는 데 필요한 모든 정보가 포함됩니다.

통사론

typedef struct _D3DHAL_CONTEXTCREATEDATA {
  union {
    LPDDRAWI_DIRECTDRAW_GBL lpDDGbl;
    LPDDRAWI_DIRECTDRAW_LCL lpDDLcl;
  };
  union {
    LPDIRECTDRAWSURFACE       lpDDS;
    LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl;
  };
  union {
    LPDIRECTDRAWSURFACE       lpDDSZ;
    LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl;
  };
  union {
    DWORD     dwPID;
    ULONG_PTR dwrstates;
  };
  ULONG_PTR dwhContext;
  HRESULT   ddrval;
} D3DHAL_CONTEXTCREATEDATA;

회원

lpDDGbl

드라이버 구조(레거시).

lpDDLcl

DIRECT3D에 대한 COM 인터페이스를 검색하기 위해 애플리케이션이 만들어야 하는 DirectDraw 개체를 가리킵니다. 이렇게 하면 DirectDraw 애플리케이션과 드라이버 간에 컨텍스트 정보를 공유할 수 있습니다. lpDDLcl 애플리케이션의 컨텍스트와 드라이버 컨텍스트 간의 공통 및 바인딩 요소입니다. 지정된 Direct3D 컨텍스트에 속하며 현재 DirectDraw 프로세스와만 관련된 표면을 식별하는 데 사용되는 DD_DIRECTDRAW_LOCAL 구조를 가리킵니다. 드라이버에서 Direct3D 컨텍스트를 만들기 전에 표면(예: 깊이 버퍼, 렌더링 버퍼 및 텍스처)을 만들 수 있으므로 lpDDLcl 필요합니다.

lpDDS

대상으로 사용할 Surface입니다.

lpDDSLcl

렌더링 대상으로 사용할 DirectDraw 표면을 설명하는 DD_SURFACE_LOCAL 구조를 가리킵니다.

lpDDSZ

Z로 사용할 Surface입니다.

lpDDSZLcl

깊이 버퍼로 사용할 DirectDraw 표면을 설명하는 DD_SURFACE_LOCAL 구조를 가리킵니다. 이 멤버가 NULL 경우 깊이 버퍼링을 수행할 수 없습니다.

dwPID

현재 프로세스 ID를 지정합니다. Direct3D 디바이스 만들기를 시작한 Direct3D 애플리케이션의 프로세스 ID입니다.

dwrstates

명령 버퍼에서 렌더링 상태 명령을 구문 분석할 때 드라이버가 업데이트해야 하는 렌더링 상태 배열을 가리킵니다. 배열 버퍼는 지정된 수 이상의 ULONG 값을 포함할 수 있을 만큼 커야 합니다.

dwhContext

입력 시 Direct3D 사용자 모드 런타임의 버전과 출력 시 드라이버가 컨텍스트를 성공적으로 만들 때 컨텍스트 핸들을 반환하는 위치를 지정합니다. 자세한 내용은 비고를 참조하세요.

ddrval

드라이버가 D3dContextCreate대한 반환 코드를 작성하는 위치를 지정합니다. D3D_OK 반환 코드는 성공을 나타냅니다. D3DHAL_OUTOFCONTEXTS 반환 코드는 드라이버가 컨텍스트를 만들 수 없음을 나타냅니다. 자세한 내용은 Direct3D 드라이버 콜백 대한반환 코드를 참조하세요.

발언

Direct3D 런타임이 드라이버의 D3dContextCreate 함수를 호출하는 경우 런타임은 dwhContext 멤버에서 런타임의 사용자 모드 버전을 나타내는 숫자를 지정합니다. 다음 표에서는 숫자 및 사용자 모드 버전의 매핑을 보여 줍니다.

DirectX 사용자 모드 버전
5 9.0
4 8.0
3 7.0
2 6.0
1 5.0
0 3.0

드라이버가 컨텍스트를 성공적으로 만들면 드라이버는 드라이버와 통신할 때 사용할 Direct3D 런타임에 대한 dwhContext 컨텍스트 ID를 반환합니다.

요구 사항

요구
헤더 d3dhal.h(D3dhal.h 포함)

참고 항목

D3dContextCreate

DD_DIRECTDRAW_LOCAL

DD_SURFACE_LOCAL