mirror of
https://github.com/reactos/reactos.git
synced 2025-02-25 09:50:02 +00:00

- TSVN choked repeatedly when attempting to merge ~9000 revs into the branch (tried 3 times on 2 different computers) - If someone wants to delete aicom-network-fixes, they are welcome to - Lesson learned: Letting a branch get thousands of revs out of date is a horrible idea svn path=/branches/aicom-network-branch/; revision=44353
32 lines
1.4 KiB
Text
32 lines
1.4 KiB
Text
DdCreateDirectDrawObject
|
|
|
|
When IN HDC is not NULL
|
|
1. we need check the IN HDC is NULL or not
|
|
2. if it not null we need create a directdraw handler
|
|
and store it to pDirectDrawGlobal->hDD
|
|
3. if the directdraw handle is null return false
|
|
we did fail to create directdraw HAL
|
|
4. if the directdraw handle was not null we return true
|
|
we did susses to create directdraw HAL
|
|
|
|
When IN HDC is NULL
|
|
Now we come to if IN HDC is null basic we need create
|
|
a hdc and cashe some data
|
|
1. if internal cache of directdraw handle is not null (pDirectDrawGlobalInternal->hDD)
|
|
we take it and fill to the public directdraw handler (pDirectDrawGlobal->hDD)
|
|
and return susses.
|
|
|
|
2. if no internal cache of directdraw handle is found we need create it
|
|
by using CreateDC for tempary HDC that will be cache in the win32k later
|
|
|
|
3. we need check see if we got a tempary HDC or not, if we fail getting tempary
|
|
HDC return FALSE
|
|
|
|
4. Now we trying create directdraw handler it being cache to (pDirectDrawGlobalInternal->hDD)
|
|
and it also set same handler to the public (pDirectDrawGlobal->hDD)
|
|
5. if it fails to create directdraw handle return false
|
|
we did fail to create directdraw HAL
|
|
6. if it susses create directdraw handle return true
|
|
we did susses to create directdraw HAL
|
|
|
|
To create a directdraw handler you need call the NtGdiDdCreateDirectDrawObject with a hdc
|