본문 바로가기

프로그램 경험/DirectX

[DirectDraw] DDERR_INVALIDCAPS 리턴











문제점


ddsd.dwSize = sizeof(ddsd);

ddsd.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;

ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP | DDSCAPS_COMPLEX;

ddsd.dwBackBufferCount = 1;


ddrval = lpDD->CreateSurface(&ddsd, &lpDDSprimary, NULL);


//계속 여기에 걸림

if (ddrval == DDERR_INVALIDCAPS)

MessageBox(hwnd, "DDERR_INVALIDCAPS", TITLE, MB_OK);


해결책


memset(&ddsd,0,sizeof(ddsd));   //이거 넣어주면 됨

ddsd.dwSize = sizeof(ddsd);