关于CreateSurface的问题
欣客 2011-11-21 02:00:07 DDSURFACEDESC2 ddsd2;
ZeroMemory(&ddsd2, sizeof(ddsd2));
ddsd2.dwSize = sizeof(ddsd2);
ddsd2.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN | DDSCAPS_VIDEOMEMORY;
ddsd2.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT;
ddsd2.dwWidth = /*MAX_DDRAW_WIDTH*/m_nWidthBuffer;
ddsd2.dwHeight = /*MAX_DDRAW_HEIGHT*/m_nHeightBuffer;
ddsd2.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
ddsd2.ddpfPixelFormat.dwFlags = DDPF_RGB;
ddsd2.ddpfPixelFormat.dwYUVBitCount = 32;
ddsd2.ddpfPixelFormat.dwRBitMask = 0x00FF0000;
ddsd2.ddpfPixelFormat.dwGBitMask = 0x0000FF00;
ddsd2.ddpfPixelFormat.dwBBitMask = 0x000000FF;
int nResult = m_lpDD7->CreateSurface(&ddsd2, &m_lpBuffer, NULL);
在xp系统下能正常创建,但是当系统锁屏时(win+L),创建失败,提示DDERR_NODIRECTDRAWHW,这是怎么回事?