Windows GDI мәтінмәні - CreateDIBSection

Мен буферде HBITMAP жасау үшін CreateDIBSection() пайдаланамын, бірақ кейде - тұрақты емес кезде - мен одан NULL көрсеткішті аламын. Мен функцияны NULL көрсеткішін қайтып әкелуі мүмкін дегенді түсінбеймін, себебі - бұрын айтқанымдай - бұл жүйелі емес. Кейде ол 10 кадрды, кейде 2 кадрдан кейін көрінеді. Біреу маған күтпеген сәтсіздіктің мүмкін себептері туралы түсіндіре ала ма?

1
@HansPassant Сіздің шағымыңыздың дәлелі бар ма?
қосылды автор phimuemue, көзі
@Alan GetLastError CreateDIBSection үшін орнатылмаған. Кем дегенде құжаттарға сәйкес емес.
қосылды автор David Heffernan, көзі
@Alan Егер SetLastError деп аталатын болса, олай дейді. NULL немесе ERROR_INVALID_PARAMETER тексеріңіз. Бұл сәтсіздік режимдері.
қосылды автор David Heffernan, көзі
Желідегі MSDN кітапханасының беті менің жергілікті көшірмемдерімнен өзгеше. Ол анықтан GetLastError қайтару мәнін орнатады.
қосылды автор Hans Passant, көзі
GetLastError() дегеніміз не істемей тұр?
қосылды автор Alan Stokes, көзі
@David Құжаттың біраз түсініксіз - бұл функция сәтсіздікке байланысты NULL функциясын қайтарады және сонымен қатар ERROR_INVALID_PARAMETER «қайтару» мүмкін екенін айтады.
қосылды автор Alan Stokes, көзі
Жоқ, ол 0 қайтарады.
қосылды автор Stencil, көзі

1 жауаптар

Егер бұл функция кездейсоқ болмаса, аралықтың дұрыс пішімделмегенін немесе бұзылғанын ойлаймын. Буферді жасайтын және функциялардың кез-келгені сәтсіздікке ұшыраған коды бар кодқа оралыңыз. Кодты жалғастырмас бұрын мәртебені қайтаратын функциялар дұрыс тексерілмеген деп күдіктенемін.

0
қосылды