다음을 통해 공유


NtGdiDdCreateD3DBuffer 함수

[이 함수는 각 운영 체제 수정 버전에 따라 변경될 수 있습니다. 대신 Microsoft DirectDraw 및 Microsoft Direct3DAPIs를 사용합니다. 이러한 API는 이러한 운영 체제 변경으로부터 애플리케이션을 격리하고 디스플레이 드라이버와 직접 상호 작용하는 데 관련된 다른 많은 어려움을 숨깁니다.]

지정된 설명의 드라이버 수준 명령 또는 꼭짓점 버퍼를 만드는 데 사용됩니다.

구문

DWORD APIENTRY NtGdiDdCreateD3DBuffer(
  _In_    HANDLE               hDirectDraw,
  _Inout_ HANDLE               *hSurface,
  _Inout_ DDSURFACEDESC        *puSurfaceDescription,
  _Inout_ DD_SURFACE_GLOBAL    *puSurfaceGlobalData,
  _Inout_ DD_SURFACE_LOCAL     *puSurfaceLocalData,
  _Inout_ DD_SURFACE_MORE      *puSurfaceMoreData,
  _Inout_ DD_CREATESURFACEDATA *puCreateSurfaceData,
  _Inout_ HANDLE               *puhSurface
);

매개 변수

hDirectDraw [in]

드라이버를 나타내는 DD_DIRECTDRAW_GLOBAL 구조체에 대한 핸들입니다.

hSurface [in, out]

표면 핸들 배열에 대한 포인터입니다. 모드 전환 후 표면을 다시 만드는 경우 호출자는 이러한 핸들을 이전 핸들 값으로 설정할 수 있습니다. 이 프로세스를 DirectDraw 설명서에서 "복원"이라고 합니다.

puSurfaceDescription [in, out]

드라이버가 만들어야 하는 표면 또는 버퍼를 설명하는 DDSURFACEDESC 구조체에 대한 포인터입니다.

puSurfaceGlobalData [in, out]

여러 표면과 전역적으로 공유되는 표면 데이터를 포함하는 DD_SURFACE_GLOBAL 구조체에 대한 포인터입니다.

puSurfaceLocalData [in, out]

드라이버에서 만든 표면 개체를 설명하는 DD_SURFACE_LOCAL 구조 목록의 포인터입니다. 일반적으로 이 배열에는 하나의 항목만 있습니다.

puSurfaceMoreData [in, out]

추가 로컬 표면 데이터를 포함하는 DD_SURFACE_MORE 구조체에 대한 포인터입니다.

puCreateSurfaceData [in, out]

버퍼를 만드는 데 필요한 정보를 포함하는 DD_CREATESURFACEDATA 구조체에 대한 포인터입니다.

puhSurface [in, out]

DirectDraw API에서 사용되며 드라이버에서 입력하면 안 됩니다.

반환 값

NtGdiDdCreateD3DBuffer 는 다음 콜백 코드 중 하나를 반환합니다.

반환 코드 설명
DDHAL_DRIVER_HANDLED
드라이버가 작업을 수행하고 해당 작업에 유효한 반환 코드를 반환했습니다. 이 코드가 DD_OK 경우 DirectDraw 또는 Direct3D는 함수를 계속 진행합니다. 그렇지 않으면 DirectDraw 또는 Direct3D는 드라이버에서 제공하는 오류 코드를 반환하고 함수를 중단합니다.
DDHAL_DRIVER_NOTHANDLED
드라이버에 요청된 작업에 대한 주석이 없습니다. 드라이버가 특정 콜백을 구현해야 하는 경우 DirectDraw 또는 Direct3D는 오류 조건을 보고합니다. 그렇지 않으면 DirectDraw 또는 Direct3D는 DirectDraw 또는 Direct3D 디바이스 독립적 구현을 실행하여 드라이버 콜백이 정의되지 않은 것처럼 작업을 처리합니다.

 

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Ntgdi.h

추가 정보

그래픽 하위 수준 클라이언트 지원