Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
b7ec4de7
Commit
b7ec4de7
authored
Oct 30, 2006
by
Andrey Turkin
Committed by
Alexandre Julliard
Nov 02, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
atl: Implement AtlModuleAddCreateWndData and AtlModuleExtractCreateWndData.
parent
2d9fc5d7
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
2 deletions
+43
-2
atl.spec
dlls/atl/atl.spec
+2
-2
atl_main.c
dlls/atl/atl_main.c
+39
-0
atlbase.h
dlls/atl/atlbase.h
+2
-0
No files found.
dlls/atl/atl.spec
View file @
b7ec4de7
...
...
@@ -34,8 +34,8 @@
40 stub AtlAxCreateControlEx
41 stub AtlAxAttachControl
42 stdcall AtlAxWinInit()
43 st
ub AtlModuleAddCreateWndData
44 st
ub AtlModuleExtractCreateWndData
43 st
dcall AtlModuleAddCreateWndData(ptr ptr ptr)
44 st
dcall AtlModuleExtractCreateWndData(ptr)
45 stdcall AtlModuleRegisterWndClassInfoW(ptr ptr ptr)
46 stub AtlModuleRegisterWndClassInfoA
47 stub AtlAxGetControl
...
...
dlls/atl/atl_main.c
View file @
b7ec4de7
...
...
@@ -423,3 +423,42 @@ void WINAPI AtlPixelToHiMetric(const SIZEL* lpPix, SIZEL* lpHiMetric)
lpHiMetric
->
cy
=
100
*
lpPix
->
cy
/
GetDeviceCaps
(
dc
,
LOGPIXELSY
);
ReleaseDC
(
NULL
,
dc
);
}
/***********************************************************************
* AtlModuleAddCreateWndData [ATL.@]
*/
void
WINAPI
AtlModuleAddCreateWndData
(
_ATL_MODULEW
*
pM
,
_AtlCreateWndData
*
pData
,
LPVOID
pvObject
)
{
TRACE
(
"(%p, %p, %p)
\n
"
,
pM
,
pData
,
pvObject
);
pData
->
m_pThis
=
pvObject
;
pData
->
m_dwThreadID
=
GetCurrentThreadId
();
pData
->
m_pNext
=
pM
->
m_pCreateWndList
;
pM
->
m_pCreateWndList
=
pData
;
}
/***********************************************************************
* AtlModuleExtractCreateWndData [ATL.@]
*
* NOTE: I failed to find any good description of this function.
* Tests show that this function extracts one of _AtlCreateWndData
* records from the current thread from a list
*
*/
LPVOID
WINAPI
AtlModuleExtractCreateWndData
(
_ATL_MODULEW
*
pM
)
{
_AtlCreateWndData
**
ppData
;
TRACE
(
"(%p)
\n
"
,
pM
);
for
(
ppData
=
&
pM
->
m_pCreateWndList
;
*
ppData
!=
NULL
;
ppData
=
&
(
*
ppData
)
->
m_pNext
)
{
if
((
*
ppData
)
->
m_dwThreadID
==
GetCurrentThreadId
())
{
_AtlCreateWndData
*
pData
=
*
ppData
;
*
ppData
=
pData
->
m_pNext
;
return
pData
->
m_pThis
;
}
}
return
NULL
;
}
dlls/atl/atlbase.h
View file @
b7ec4de7
...
...
@@ -146,7 +146,9 @@ HRESULT WINAPI AtlAxCreateControl(LPCOLESTR,HWND,IStream*,IUnknown**);
HRESULT
WINAPI
AtlFreeMarshalStream
(
IStream
*
pStream
);
HRESULT
WINAPI
AtlInternalQueryInterface
(
LPVOID
pThis
,
const
_ATL_INTMAP_ENTRY
*
pEntries
,
REFIID
iid
,
LPVOID
*
ppvObject
);
HRESULT
WINAPI
AtlMarshalPtrInProc
(
IUnknown
*
pUnk
,
const
IID
*
iid
,
IStream
**
ppStream
);
void
WINAPI
AtlModuleAddCreateWndData
(
_ATL_MODULEW
*
pM
,
_AtlCreateWndData
*
pData
,
LPVOID
pvObject
);
HRESULT
WINAPI
AtlModuleAddTermFunc
(
_ATL_MODULEW
*
pM
,
_ATL_TERMFUNC
*
pFunc
,
DWORD_PTR
dw
);
LPVOID
WINAPI
AtlModuleExtractCreateWndData
(
_ATL_MODULEW
*
pM
);
HRESULT
WINAPI
AtlModuleInit
(
_ATL_MODULEA
*
pM
,
_ATL_OBJMAP_ENTRYA
*
p
,
HINSTANCE
h
);
HRESULT
WINAPI
AtlModuleRegisterClassObjects
(
_ATL_MODULEA
*
pM
,
DWORD
dwClsContext
,
DWORD
dwFlags
);
HRESULT
WINAPI
AtlModuleRegisterServer
(
_ATL_MODULEW
*
pM
,
BOOL
bRegTypeLib
,
const
CLSID
*
pCLSID
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment