DD_GETDRIVERINFODATA 구조체(ddrawint.h)

DD_GETDRIVERINFODATA 구조체는 DdGetDriverInfo 콜백 루틴에서 데이터를 전달하는 데 사용됩니다.

구문

typedef struct _DD_GETDRIVERINFODATA {
  VOID    *dhpdev;
  DWORD   dwSize;
  DWORD   dwFlags;
  GUID    guidInfo;
  DWORD   dwExpectedSize;
  PVOID   lpvData;
  DWORD   dwActualSize;
  HRESULT ddRVal;
} *PDD_GETDRIVERINFODATA, DD_GETDRIVERINFODATA;

멤버

dhpdev

드라이버의 PDEV에 대한 핸들입니다. Microsoft Windows 2000 이상만 해당합니다.

dwSize

이 DD_GETDRIVERINFODATA 구조체의 크기(바이트)를 지정합니다.

dwFlags

현재 사용되지 않으며 0으로 설정됩니다.

guidInfo

드라이버가 쿼리되는 Microsoft DirectX 지원의 GUID를 지정합니다. Windows 2000 이상 Microsoft DirectDraw 드라이버에서 이 멤버는 다음 값 중 하나일 수 있습니다(사전순).

GUID 설명
GUID_ColorControlCallbacks 드라이버가 DdControlColor를 지원하는지 여부를 쿼리합니다. 드라이버가 지원하는 경우 드라이버는 lpvData가 가리키는 버퍼의 DD_COLORCONTROLCALLBACKS 구조를 초기화하고 반환해야 합니다.
GUID_D3DCallbacks 드라이버가 D3DHAL_CALLBACKS 구조를 통해 지정된 기능을 지원하는지 여부를 쿼리합니다. 드라이버가 이 지원을 제공하지 않으면 lpvData 가 가리키는 버퍼의 D3DHAL_CALLBACKS 구조를 초기화하고 반환해야 합니다.
GUID_D3DCallbacks2 사용되지 않습니다.
GUID_D3DCallbacks3 드라이버가 D3DHAL_CALLBACKS3 구조를 통해 지정된 기능을 지원하는지 여부를 쿼리합니다. 드라이버가 이 지원을 제공하는 경우 lpvData 가 가리키는 버퍼의 D3DHAL_CALLBACKS3 구조를 초기화하고 반환해야 합니다.
GUID_D3DCaps 사용되지 않습니다.
GUID_D3DExtendedCaps 드라이버가 D3DHAL_D3DEXTENDEDCAPS 구조를 통해 지정된 Microsoft Direct3D 기능을 지원하는지 여부를 쿼리합니다. 드라이버가 이러한 지원을 제공하는 경우 lpvData 가 가리키는 버퍼의 D3DHAL_D3DEXTENDEDCAPS 구조를 초기화하고 반환해야 합니다.
GUID_D3DParseUnknownCommandCallback 드라이버의 Direct3D 부분에 Direct3D 런타임의 D3dParseUnknownCommandCallback을 제공합니다. 드라이버의 D3dDrawPrimitives2 콜백은 D3dParseUnknownCommandCallback 을 호출하여 드라이버가 이해하지 못하는 명령 버퍼에서 명령을 구문 분석합니다. DirectDraw는 lpvData 가 가리키는 버퍼에서 이 함수에 대한 포인터를 전달합니다. 드라이버가 Direct3D의 이러한 측면을 지원하는 경우 포인터를 저장해야 합니다.
GUID_GetHeapAlignment 드라이버가 힙별로 표면 맞춤 요구 사항을 지원하는지 여부를 쿼리합니다. 드라이버가 이 지원을 제공하는 경우 lpvData가 가리키는 버퍼의 DD_GETHEAPALIGNMENTDATA 구조를 초기화하고 반환해야 합니다.
GUID_KernelCallbacks 드라이버가 DD_KERNELCALLBACKS 구조를 통해 지정된 기능을 지원하는지 여부를 쿼리합니다. 드라이버가 이러한 지원을 제공하는 경우 lpvData 가 가리키는 버퍼의 DD_KERNELCALLBACKS 구조를 초기화하고 반환해야 합니다.
GUID_KernelCaps 드라이버가 DDKERNELCAPS 구조를 통해 지정된 커널 모드 기능을 지원하는지 여부를 쿼리합니다. 드라이버가 이러한 지원을 제공하는 경우 lpvData 가 가리키는 버퍼의 DDKERNELCAPS 구조를 초기화하고 반환해야 합니다.
GUID_MiscellaneousCallbacks 드라이버가 DdGetAvailDriverMemory를 지원하는지 여부를 쿼리합니다. 드라이버가 지원하는 경우 드라이버는 lpvData가 가리키는 버퍼의 DD_MISCELLANEOUSCALLBACKS 구조를 초기화하고 반환해야 합니다.
GUID_Miscellaneous2Callbacks 드라이버가 DD_MISCELLANEOUS2CALLBACKS 구조에 지정된 추가 기타 기능을 지원하는지 여부를 쿼리합니다. 드라이버가 이 지원을 지원하는 경우 드라이버는 lpvData 가 가리키는 버퍼의 DD_MISCELLANEOUS2CALLBACKS 구조를 초기화하고 반환해야 합니다.
GUID_MotionCompCallbacks 드라이버가 DD_MOTIONCOMPCALLBACKS 구조를 통해 지정된 동작 보정 기능을 지원하는지 여부를 쿼리합니다. 드라이버가 이러한 지원을 제공하는 경우 는 lpvData 가 가리키는 버퍼의 DD_MOTIONCOMPCALLBACKS 구조를 초기화하고 반환해야 합니다.
GUID_NonLocalVidMemCaps 드라이버가 DD_NONLOCALVIDMEMCAPS 구조를 통해 지정된 비로컬 디스플레이 메모리 기능을 지원하는지 여부를 쿼리합니다. 드라이버가 이러한 지원을 제공하는 경우 lpvData 가 가리키는 버퍼의 DD_NONLOCALVIDMEMCAPS 구조를 초기화하고 반환해야 합니다.
GUID_NTCallbacks 드라이버가 DD_NTCALLBACKS 구조를 통해 지정된 기능을 지원하는지 여부를 쿼리합니다. 드라이버가 이 지원을 제공하는 경우 lpvData 가 가리키는 버퍼의 DD_NTCALLBACKS 구조를 초기화하고 반환해야 합니다.
GUID_NTPrivateDriverCaps 드라이버가 DD_NTPRIVATEDRIVERCAPS 구조를 통해 지정된 Windows 98/Me 스타일 표면 생성 기술을 지원하는지 여부를 쿼리합니다. 드라이버가 이러한 지원을 제공하는 경우 lpvData 가 가리키는 버퍼의 DD_NTPRIVATEDRIVERCAPS 구조를 초기화하고 반환해야 합니다.
GUID_UpdateNonLocalHeap 드라이버가 차례로 각 비로컬 힙의 기본 주소 검색을 지원하는지 여부를 쿼리합니다. 드라이버가 이 지원을 제공하는 경우 lpvData가 가리키는 버퍼의 DD_UPDATENONLOCALHEAPDATA 구조를 초기화하고 반환해야 합니다.
GUID_VideoPortCallbacks 드라이버가 VPE(비디오 포트 확장)를 지원하는지 여부를 쿼리합니다. 드라이버가 VPE를 지원하는 경우 lpvData가 가리키는 버퍼의 DD_VIDEOPORTCALLBACKS 구조를 초기화하고 반환해야 합니다.
GUID_VideoPortCaps 드라이버가 DDVIDEOPORTCAPS 구조를 통해 지정된 VPE 개체 기능을 지원하는지 여부를 쿼리합니다. 드라이버가 이러한 지원을 제공하는 경우 lpvData 가 가리키는 버퍼의 DDVIDEOPORTCAPS 구조를 초기화하고 반환해야 합니다.
GUID_ZPixelFormats 깊이 버퍼에서 지원하는 픽셀 형식을 쿼리합니다. 드라이버가 Direct3D를 지원하는 경우 지원하는 모든 z-버퍼 형식에 대해 DDPIXELFORMAT 구조체의 적절한 멤버를 할당하고 초기화하고 lpvData 가 가리키는 버퍼에 반환해야 합니다.

dwExpectedSize

DirectDraw에서 드라이버가 lpvData 가 가리키는 버퍼에 다시 전달해야 하는 데이터 바이트 수를 지정합니다.

lpvData

드라이버가 요청된 데이터를 복사하는 DirectDraw 할당 버퍼를 가리킵니다. 이 버퍼는 일반적으로 크기가 dwExpectedSize 바이트입니다. 드라이버는 dwExpectedSize 바이트보다 많은 데이터를 작성해서는 안 됩니다. 드라이버는 dwActualSize 멤버에서 이 버퍼에 쓰는 바이트 수를 지정합니다.

dwActualSize

드라이버가 lpvData에 쓰는 데이터의 바이트 수를 반환하는 위치를 지정합니다.

ddRVal

드라이버가 DdGetDriverInfo 콜백의 반환 값을 쓰는 위치를 지정합니다. DD_OK 반환 코드는 성공을 나타냅니다. 자세한 내용은 DirectDraw에 대한 반환 값을 참조하세요.

설명

DdGetDriverInfo 호출을 위해 드라이버에 전달된 데이터 구조는 Windows 98/Me와 Windows 2000 이상 간에 약간의 차이가 있습니다. Windows 2000 이상에서는 데이터 구조가 DD_GETDRIVERINFODATA 호출되고 Windows 98/Me에서는 데이터 구조가 DDHAL_GETDRIVERINFODATA 호출됩니다. 두 데이터 구조 모두 드라이버 관련 컨텍스트 정보에 대한 필드를 포함합니다. Windows 2000 이상에서는 DD_GETDRIVERINFODATA 호출되는 드라이버의 DHPDEV를 저장하는 dhpdev 필드가 포함되어 있습니다. Windows 98/Me에서만 DDHAL_GETDRIVERINFODATA DirectDraw 전역 개체의 드라이버 예약 dwReserved3 필드에 대해 복사되는 dwContext 필드가 포함되어 있습니다.

요구 사항

요구 사항
헤더 ddrawint.h(Winddi.h 포함)

추가 정보

DdGetDriverInfo