다음을 통해 공유


DD_BLTDATA 구조체(ddrawint.h)

DD_BLTDATA 구조에는 비트 블록 전송을 수행하기 위한 드라이버와 관련된 정보가 포함됩니다.

구문

typedef struct _DD_BLTDATA {
  PDD_DIRECTDRAW_GLOBAL lpDD;
  PDD_SURFACE_LOCAL     lpDDDestSurface;
  RECTL                 rDest;
  PDD_SURFACE_LOCAL     lpDDSrcSurface;
  RECTL                 rSrc;
  DWORD                 dwFlags;
  DWORD                 dwROPFlags;
  DDBLTFX               bltFX;
  HRESULT               ddRVal;
  VOID                  *Blt;
  BOOL                  IsClipped;
  RECTL                 rOrigDest;
  RECTL                 rOrigSrc;
  DWORD                 dwRectCnt;
  LPRECT                prDestRects;
  DWORD                 dwAFlags;
  DDARGB                ddargbScaleFactors;
} *PDD_BLTDATA, DD_BLTDATA;

멤버

lpDD

드라이버의 디바이스를 설명하는 DD_DIRECTDRAW_GLOBAL 구조를 가리킵니다.

lpDDDestSurface

블릿할 표면을 설명하는 DD_SURFACE_LOCAL 구조를 가리킵니다.

rDest

lpDDSrcSurface

원본 표면을 설명하는 DD_SURFACE_LOCAL 구조를 가리킵니다.

rSrc

dwFlags

수행할 blit 작업의 유형과 드라이버에서 사용해야 하는 유효한 데이터가 있는 연결된 구조체 멤버를 지정하는 플래그 집합을 나타냅니다. 이 멤버는 다음 플래그 중 비트 OR입니다.

플래그 의미
DDBLT_ASYNC 받은 순서대로 FIFO를 통해 비동기적으로 이 블릿을 수행합니다. 하드웨어 FIFO에 회의실이 없으면 드라이버가 호출에 실패하고 즉시 반환해야 합니다.
DDBLT_COLORFILL 대상 표면의 대상 사각형을 채울 RGB 색으로 DDBLTFX 구조체(Microsoft DirectDraw SDK 설명서에 정의됨)의 dwFillColor 멤버를 사용합니다.
DDBLT_DDFX DDBLTFX 구조체(DirectDraw SDK 설명서에 정의됨)에서 dwDDFX 멤버를 사용하여 blit에 사용할 효과를 확인합니다.
DDBLT_DDROPS 이 플래그는 시스템 사용을 위해 예약되어 있으며 드라이버에서 무시해야 합니다. 드라이버는 DDBLTFX 구조체의 dwDDROPS 멤버도 무시해야 합니다.
DDBLT_EXTENDED_FLAGS
Microsoft DirectX 9.0 이상 버전만 해당합니다.
드라이버가 DwFlags 의 특정 플래그를 DirectX 8.1 및 이전 버전의 의미에서 재해석하도록 지시하도록 런타임에 의해 설정합니다. 런타임은 비트 OR을 사용하여 DDBLT_EXTENDED_FLAGS DDBLT_Xxx 플래그와 결합하여 DDBLT_EXTENDED_Xxx 플래그를 만듭니다.
DDBLT_EXTENDED_LINEAR_CONTENT
Microsoft DirectX 9.0 이상 버전만 해당합니다.
DDBLT_EXTENDED_FLAGS 및 0x00000004 비트의 비트 OR 조합을 통해 생성됩니다.
원본 표면에 선형 색 공간에 콘텐츠가 포함되어 있음을 나타냅니다. 그런 다음 드라이버는 Blt의 일부로 데스크톱 색 공간에 대한 감마 2.2 수정(sRGB)을 수행할 수 있습니다.
DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR
Microsoft DirectX 9.0 이상 버전만 해당합니다.
NT 기반 운영 체제만 해당됩니다.
DDBLT_EXTENDED_FLAGS 비트와 0x00000010 비트의 비트 OR 조합을 통해 생성됩니다.
런타임이 이후에 DDBLT_PRESENTATION 및 DDBLT_LAST_PRESENTATION 플래그를 사용하여 애플리케이션의 Present 호출로 인해 일련의 스트레치 블릿 작업을 요청하는 경우 를 설정합니다.
드라이버가 blits에 대한 실제 하위 사각형 영역을 수신하기 전에 드라이버에 잘리지 않은 전체 원본 및 대상 사각형 영역에 대해 알립니다. 이러한 방식으로 드라이버는 DDBLT_LAST_PRESENTATION 플래그가 설정된 블릿을 포함하여 이후의 모든 블릿에 대한 스트레치 팩터를 계산하고 기록할 수 있습니다. 그러나 드라이버가 DDBLT_EXTENDED_PRESENTATION_STRETCHFACTOR 플래그 집합이 있는 블릿을 받으면 드라이버는 이러한 잘리지 않은 사각형 영역을 사용하여 실제 Blitting을 수행해서는 안 됩니다.
드라이버가 DDBLT_LAST_PRESENTATION 플래그 집합으로 최종 블릿을 완료한 후 드라이버는 후속 블릿과의 간섭을 방지하기 위해 스트레치 팩터 레코드를 지워야 합니다.
.
DDBLT_KEYDESTOVERRIDE DDBLTFX 구조체(DirectDraw SDK 설명서에 정의됨)의 dckDestColorkey 멤버를 대상 화면의 색 키로 사용합니다. 재정의가 설정되지 않은 경우 dckDestColorkey 에는 색 키가 포함되지 않습니다. 드라이버는 표면 자체를 테스트해야 합니다.
DDBLT_KEYSRCOVERRIDE DDBLTFX 구조체(DirectDraw SDK 설명서에 정의됨)의 dckSrcColorkey 멤버를 원본 표면의 색 키로 사용합니다. 재정의가 설정되지 않은 경우 dckDestColorkey 에는 색 키가 포함되지 않습니다. 드라이버는 표면 자체를 테스트해야 합니다.
DDBLT_LAST_PRESENTATION
DirectX 8.0 이상 버전만 해당합니다.
애플리케이션의 Present 호출로 인해 런타임이 최종 blit 작업을 요청하는 경우 를 설정합니다.
DDBLT_PRESENTATION
DirectX 8.0 이상 버전만 해당합니다.
런타임이 애플리케이션의 Present 호출로 인해 blit 작업을 요청하는 경우 를 설정합니다.
DDBLT_ROP 이 blit에 대한 래스터 작업에 DDBLTFX 구조체(DirectDraw SDK 설명서에 정의됨)의 dwROP 멤버를 사용합니다. 현재 드라이버에 전달된 유일한 ROP 는 SRCCOPY입니다. 이 ROP는 Win32 API에 정의된 것과 동일합니다. 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.
DDBLT_ROTATIONANGLE 이 플래그는 Windows 2000 이상에서 지원되지 않으며 드라이버에서 무시해야 합니다.
DDBLT_WAIT blitter가 사용 중인 경우 DDERR_WASSTILLDRAWING 메시지와 함께 즉시 반환하지 마세요. 블릿을 설정할 수 있거나 다른 오류가 발생할 때까지 기다립니다.

dwROPFlags

Windows 2000 이상에서 사용되지 않으며 드라이버에서 무시해야 합니다.

bltFX

#########

#######

ddRVal

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

Blt

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

IsClipped

잘린 블릿인지 여부를 나타냅니다. Windows 2000 이상에서 이 멤버는 항상 FALSE이며, 이는 블릿이 잘리지 않았음을 나타냅니다.

rOrigDest

Windows 2000 이상에 사용되지 않습니다. 잘리지 않은 대상 사각형을 정의하는 RECTL 구조를 지정합니다. 이 멤버는 IsClippedTRUE인 경우에만 유효합니다.

rOrigSrc

Windows 2000 이상에 사용되지 않습니다. 잘리지 않은 원본 사각형을 정의하는 RECTL 구조를 지정합니다. 이 멤버는 IsClippedTRUE인 경우에만 유효합니다.

dwRectCnt

Windows 2000 이상에 사용되지 않습니다.prDestRects 지점의 대상 사각형 수를 지정합니다. 이 멤버는 IsClippedTRUE인 경우에만 유효합니다.

prDestRects

Windows 2000 이상에 사용되지 않습니다. 대상 사각형을 설명하는 RECTL 구조체 배열을 가리킵니다. 이 멤버는 IsClippedTRUE인 경우에만 유효합니다.

dwAFlags

사용하지 않고 드라이버에서 무시해야 합니다.

ddargbScaleFactors

ARGB 배율 인수(AlphaBlt)

설명

DDBLT_PRESENTATION 및 DDBLT_LAST_PRESENTATION 플래그에 대한 자세한 내용은 프레젠테이션을 참조 하세요.

요구 사항

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

추가 정보

DdBlt