Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
568c32f3
Commit
568c32f3
authored
Oct 07, 2020
by
Michael Stefaniuc
Committed by
Alexandre Julliard
Oct 07, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
atl: Use wide-char string literals.
Signed-off-by:
Michael Stefaniuc
<
mstefani@winehq.org
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
2a2001b3
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
44 additions
and
74 deletions
+44
-74
atl.c
dlls/atl/atl.c
+6
-14
atl_ax.c
dlls/atl/atl_ax.c
+15
-20
registrar.c
dlls/atl/registrar.c
+22
-38
atl_ax.c
dlls/atl/tests/atl_ax.c
+1
-2
No files found.
dlls/atl/atl.c
View file @
568c32f3
...
...
@@ -123,7 +123,6 @@ HRESULT WINAPI AtlUnmarshalPtr(IStream *stm, const IID *iid, IUnknown **ppUnk)
*/
HDC
WINAPI
AtlCreateTargetDC
(
HDC
hdc
,
DVTARGETDEVICE
*
dv
)
{
static
const
WCHAR
displayW
[]
=
{
'd'
,
'i'
,
's'
,
'p'
,
'l'
,
'a'
,
'y'
,
0
};
const
WCHAR
*
driver
=
NULL
,
*
device
=
NULL
,
*
port
=
NULL
;
DEVMODEW
*
devmode
=
NULL
;
...
...
@@ -139,7 +138,7 @@ HDC WINAPI AtlCreateTargetDC( HDC hdc, DVTARGETDEVICE *dv )
else
{
if
(
hdc
)
return
hdc
;
driver
=
displayW
;
driver
=
L"display"
;
}
return
CreateDCW
(
driver
,
device
,
port
,
devmode
);
}
...
...
@@ -342,12 +341,10 @@ HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex,
WCHAR
*
path
;
HRESULT
hres
;
static
const
WCHAR
tlb_extW
[]
=
{
'.'
,
't'
,
'l'
,
'b'
,
0
};
TRACE
(
"(%p %s %p %p)
\n
"
,
inst
,
debugstr_w
(
lpszIndex
),
pbstrPath
,
ppTypeLib
);
index_len
=
lpszIndex
?
lstrlenW
(
lpszIndex
)
:
0
;
path
=
heap_alloc
((
MAX_PATH
+
index_len
)
*
sizeof
(
WCHAR
)
+
sizeof
(
tlb_extW
));
path
=
heap_alloc
((
MAX_PATH
+
index_len
)
*
sizeof
(
WCHAR
)
+
sizeof
(
L".tlb"
));
if
(
!
path
)
return
E_OUTOFMEMORY
;
...
...
@@ -367,7 +364,7 @@ HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex,
for
(
ptr
=
path
+
path_len
-
1
;
ptr
>
path
&&
*
ptr
!=
'\\'
&&
*
ptr
!=
'.'
;
ptr
--
);
if
(
*
ptr
!=
'.'
)
ptr
=
path
+
path_len
;
memcpy
(
ptr
,
tlb_extW
,
sizeof
(
tlb_extW
)
);
lstrcpyW
(
ptr
,
L".tlb"
);
hres
=
LoadTypeLib
(
path
,
&
typelib
);
}
...
...
@@ -781,20 +778,15 @@ HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID clsid, const struct _AT
}
if
(
!
reg
)
{
WCHAR
reg_path
[
256
]
=
{
'C'
,
'L'
,
'S'
,
'I'
,
'D'
,
'\\'
},
*
ptr
=
reg_path
+
6
;
static
const
WCHAR
implemented_catW
[]
=
{
'I'
,
'm'
,
'p'
,
'l'
,
'e'
,
'm'
,
'e'
,
'n'
,
't'
,
'e'
,
'd'
,
' '
,
'C'
,
'a'
,
't'
,
'e'
,
'g'
,
'o'
,
'r'
,
'i'
,
'e'
,
's'
,
0
};
static
const
WCHAR
required_catW
[]
=
{
'R'
,
'e'
,
'q'
,
'u'
,
'i'
,
'r'
,
'e'
,
'd'
,
' '
,
'C'
,
'a'
,
't'
,
'e'
,
'g'
,
'o'
,
'r'
,
'i'
,
'e'
,
's'
,
0
};
WCHAR
reg_path
[
256
]
=
L"CLSID
\\
"
,
*
ptr
=
reg_path
+
6
;
ptr
+=
StringFromGUID2
(
clsid
,
ptr
,
64
)
-
1
;
*
ptr
++
=
'\\'
;
memcpy
(
ptr
,
implemented_catW
,
sizeof
(
implemented_catW
)
);
lstrcpyW
(
ptr
,
L"Implemented Categories"
);
RegDeleteKeyW
(
HKEY_CLASSES_ROOT
,
reg_path
);
memcpy
(
ptr
,
required_catW
,
sizeof
(
required_catW
)
);
lstrcpyW
(
ptr
,
L"Required Categories"
);
RegDeleteKeyW
(
HKEY_CLASSES_ROOT
,
reg_path
);
}
...
...
dlls/atl/atl_ax.c
View file @
568c32f3
...
...
@@ -55,8 +55,6 @@ typedef struct IOCS {
BOOL
fActive
,
fInPlace
,
fWindowless
;
}
IOCS
;
static
const
WCHAR
wine_atl_iocsW
[]
=
{
'_'
,
'_'
,
'W'
,
'I'
,
'N'
,
'E'
,
'_'
,
'A'
,
'T'
,
'L'
,
'_'
,
'I'
,
'O'
,
'C'
,
'S'
,
'\0'
};
/**********************************************************************
* AtlAxWin class window procedure
*/
...
...
@@ -90,20 +88,20 @@ BOOL WINAPI AtlAxWinInit(void)
WNDCLASSEXW
wcex
;
#if _ATL_VER <= _ATL_VER_30
#define ATL_NAME_SUFFIX
0
#define ATL_NAME_SUFFIX
#elif _ATL_VER == _ATL_VER_80
#define ATL_NAME_SUFFIX
'8','0',0
#define ATL_NAME_SUFFIX
L"80"
#elif _ATL_VER == _ATL_VER_90
#define ATL_NAME_SUFFIX
'9','0',0
#define ATL_NAME_SUFFIX
L"90"
#elif _ATL_VER == _ATL_VER_100
#define ATL_NAME_SUFFIX
'1','0','0',0
#define ATL_NAME_SUFFIX
L"100"
#elif _ATL_VER == _ATL_VER_110
#define ATL_NAME_SUFFIX
'1','1','0',0
#define ATL_NAME_SUFFIX
L"110"
#else
#error Unsupported version
#endif
static
const
WCHAR
AtlAxWinW
[]
=
{
'A'
,
't'
,
'l'
,
'A'
,
'x'
,
'W'
,
'i'
,
'n'
,
ATL_NAME_SUFFIX
}
;
static
const
WCHAR
AtlAxWinW
[]
=
L"AtlAxWin"
ATL_NAME_SUFFIX
;
FIXME
(
"version %04x semi-stub
\n
"
,
_ATL_VER
);
...
...
@@ -127,7 +125,7 @@ BOOL WINAPI AtlAxWinInit(void)
return
FALSE
;
if
(
_ATL_VER
>
_ATL_VER_30
)
{
static
const
WCHAR
AtlAxWinLicW
[]
=
{
'A'
,
't'
,
'l'
,
'A'
,
'x'
,
'W'
,
'i'
,
'n'
,
'L'
,
'i'
,
'c'
,
ATL_NAME_SUFFIX
}
;
static
const
WCHAR
AtlAxWinLicW
[]
=
L"AtlAxWinLic"
ATL_NAME_SUFFIX
;
wcex
.
lpszClassName
=
AtlAxWinLicW
;
if
(
!
RegisterClassExW
(
&
wcex
)
)
...
...
@@ -152,7 +150,7 @@ static HRESULT IOCS_Detach( IOCS *This ) /* remove subclassing */
if
(
This
->
hWnd
)
{
SetWindowLongPtrW
(
This
->
hWnd
,
GWLP_WNDPROC
,
(
ULONG_PTR
)
This
->
OrigWndProc
);
RemovePropW
(
This
->
hWnd
,
wine_atl_iocsW
);
RemovePropW
(
This
->
hWnd
,
L"__WINE_ATL_IOCS"
);
This
->
hWnd
=
NULL
;
}
if
(
This
->
control
)
...
...
@@ -906,7 +904,7 @@ static LRESULT IOCS_OnWndProc( IOCS *This, HWND hWnd, UINT uMsg, WPARAM wParam,
static
LRESULT
CALLBACK
AtlHost_wndproc
(
HWND
hWnd
,
UINT
wMsg
,
WPARAM
wParam
,
LPARAM
lParam
)
{
IOCS
*
This
=
(
IOCS
*
)
GetPropW
(
hWnd
,
wine_atl_iocsW
);
IOCS
*
This
=
(
IOCS
*
)
GetPropW
(
hWnd
,
L"__WINE_ATL_IOCS"
);
return
IOCS_OnWndProc
(
This
,
hWnd
,
wMsg
,
wParam
,
lParam
);
}
...
...
@@ -915,7 +913,7 @@ static HRESULT IOCS_Attach( IOCS *This, HWND hWnd, IUnknown *pUnkControl ) /* su
This
->
hWnd
=
hWnd
;
IUnknown_QueryInterface
(
pUnkControl
,
&
IID_IOleObject
,
(
void
**
)
&
This
->
control
);
IOleObject_SetClientSite
(
This
->
control
,
&
This
->
IOleClientSite_iface
);
SetPropW
(
hWnd
,
wine_atl_iocsW
,
This
);
SetPropW
(
hWnd
,
L"__WINE_ATL_IOCS"
,
This
);
This
->
OrigWndProc
=
(
WNDPROC
)
SetWindowLongPtrW
(
hWnd
,
GWLP_WNDPROC
,
(
ULONG_PTR
)
AtlHost_wndproc
);
return
S_OK
;
...
...
@@ -924,9 +922,8 @@ static HRESULT IOCS_Attach( IOCS *This, HWND hWnd, IUnknown *pUnkControl ) /* su
static
HRESULT
IOCS_Init
(
IOCS
*
This
)
{
RECT
rect
;
static
const
WCHAR
AXWIN
[]
=
{
'A'
,
'X'
,
'W'
,
'I'
,
'N'
,
0
};
IOleObject_SetHostNames
(
This
->
control
,
AXWIN
,
AXWIN
);
IOleObject_SetHostNames
(
This
->
control
,
L"AXWIN"
,
L"AXWIN"
);
GetClientRect
(
This
->
hWnd
,
&
rect
);
IOCS_OnSize
(
This
,
&
rect
);
...
...
@@ -1000,7 +997,6 @@ enum content
static
enum
content
get_content_type
(
LPCOLESTR
name
,
CLSID
*
control_id
)
{
static
const
WCHAR
mshtml_prefixW
[]
=
{
'm'
,
's'
,
'h'
,
't'
,
'm'
,
'l'
,
':'
,
0
};
WCHAR
new_urlW
[
MAX_PATH
];
DWORD
size
=
MAX_PATH
;
...
...
@@ -1021,7 +1017,7 @@ static enum content get_content_type(LPCOLESTR name, CLSID *control_id)
return
IsURL
;
}
if
(
!
wcsnicmp
(
name
,
mshtml_prefixW
,
7
))
if
(
!
wcsnicmp
(
name
,
L"mshtml:"
,
7
))
{
FIXME
(
"mshtml prefix not implemented
\n
"
);
*
control_id
=
CLSID_WebBrowser
;
...
...
@@ -1266,8 +1262,7 @@ static LPDLGTEMPLATEW AX_ConvertDialogTemplate(LPCDLGTEMPLATEW src_tmpl)
src
+=
lstrlenW
(
src
)
+
1
;
/* title */
if
(
GET_WORD
(
tmp
)
==
'{'
)
/* all this mess created because of this line */
{
static
const
WCHAR
AtlAxWin
[]
=
{
'A'
,
't'
,
'l'
,
'A'
,
'x'
,
'W'
,
'i'
,
'n'
,
0
};
PUT_BLOCK
(
AtlAxWin
,
ARRAY_SIZE
(
AtlAxWin
));
PUT_BLOCK
(
L"AtlAxWin"
,
ARRAY_SIZE
(
L"AtlAxWin"
));
PUT_BLOCK
(
tmp
,
lstrlenW
(
tmp
)
+
1
);
}
else
PUT_BLOCK
(
tmp
,
src
-
tmp
);
...
...
@@ -1373,7 +1368,7 @@ HRESULT WINAPI AtlAxGetHost(HWND hWnd, IUnknown **host)
*
host
=
NULL
;
This
=
(
IOCS
*
)
GetPropW
(
hWnd
,
wine_atl_iocsW
);
This
=
(
IOCS
*
)
GetPropW
(
hWnd
,
L"__WINE_ATL_IOCS"
);
if
(
!
This
)
{
WARN
(
"No container attached to %p
\n
"
,
hWnd
);
...
...
@@ -1395,7 +1390,7 @@ HRESULT WINAPI AtlAxGetControl(HWND hWnd, IUnknown **pUnk)
*
pUnk
=
NULL
;
This
=
(
IOCS
*
)
GetPropW
(
hWnd
,
wine_atl_iocsW
);
This
=
(
IOCS
*
)
GetPropW
(
hWnd
,
L"__WINE_ATL_IOCS"
);
if
(
!
This
||
!
This
->
control
)
{
WARN
(
"No control attached to %p
\n
"
,
hWnd
);
...
...
dlls/atl/registrar.c
View file @
568c32f3
...
...
@@ -32,27 +32,20 @@ static const struct {
WCHAR
name
[
22
];
HKEY
key
;
}
root_keys
[]
=
{
{{
'H'
,
'K'
,
'E'
,
'Y'
,
'_'
,
'C'
,
'L'
,
'A'
,
'S'
,
'S'
,
'E'
,
'S'
,
'_'
,
'R'
,
'O'
,
'O'
,
'T'
,
0
},
HKEY_CLASSES_ROOT
},
{{
'H'
,
'K'
,
'E'
,
'Y'
,
'_'
,
'C'
,
'U'
,
'R'
,
'R'
,
'E'
,
'N'
,
'T'
,
'_'
,
'U'
,
'S'
,
'E'
,
'R'
,
0
},
HKEY_CURRENT_USER
},
{{
'H'
,
'K'
,
'E'
,
'Y'
,
'_'
,
'L'
,
'O'
,
'C'
,
'A'
,
'L'
,
'_'
,
'M'
,
'A'
,
'C'
,
'H'
,
'I'
,
'N'
,
'E'
,
0
},
HKEY_LOCAL_MACHINE
},
{{
'H'
,
'K'
,
'E'
,
'Y'
,
'_'
,
'U'
,
'S'
,
'E'
,
'R'
,
'S'
,
0
},
HKEY_USERS
},
{{
'H'
,
'K'
,
'E'
,
'Y'
,
'_'
,
'P'
,
'E'
,
'R'
,
'F'
,
'O'
,
'R'
,
'M'
,
'A'
,
'N'
,
'C'
,
'E'
,
'_'
,
'D'
,
'A'
,
'T'
,
'A'
,
0
},
HKEY_PERFORMANCE_DATA
},
{{
'H'
,
'K'
,
'E'
,
'Y'
,
'_'
,
'D'
,
'Y'
,
'N'
,
'_'
,
'D'
,
'A'
,
'T'
,
'A'
,
0
},
HKEY_DYN_DATA
},
{{
'H'
,
'K'
,
'E'
,
'Y'
,
'_'
,
'C'
,
'U'
,
'R'
,
'R'
,
'E'
,
'N'
,
'T'
,
'_'
,
'C'
,
'O'
,
'N'
,
'F'
,
'I'
,
'G'
,
0
},
HKEY_CURRENT_CONFIG
},
{{
'H'
,
'K'
,
'C'
,
'R'
,
0
},
HKEY_CLASSES_ROOT
},
{{
'H'
,
'K'
,
'C'
,
'U'
,
0
},
HKEY_CURRENT_USER
},
{{
'H'
,
'K'
,
'L'
,
'M'
,
0
},
HKEY_LOCAL_MACHINE
},
{{
'H'
,
'K'
,
'U'
,
0
},
HKEY_USERS
},
{{
'H'
,
'K'
,
'P'
,
'D'
,
0
},
HKEY_PERFORMANCE_DATA
},
{{
'H'
,
'K'
,
'D'
,
'D'
,
0
},
HKEY_DYN_DATA
},
{{
'H'
,
'K'
,
'C'
,
'C'
,
0
},
HKEY_CURRENT_CONFIG
}
{
L"HKEY_CLASSES_ROOT"
,
HKEY_CLASSES_ROOT
},
{
L"HKEY_CURRENT_USER"
,
HKEY_CURRENT_USER
},
{
L"HKEY_LOCAL_MACHINE"
,
HKEY_LOCAL_MACHINE
},
{
L"HKEY_USERS"
,
HKEY_USERS
},
{
L"HKEY_PERFORMANCE_DATA"
,
HKEY_PERFORMANCE_DATA
},
{
L"HKEY_DYN_DATA"
,
HKEY_DYN_DATA
},
{
L"HKEY_CURRENT_CONFIG"
,
HKEY_CURRENT_CONFIG
},
{
L"HKCR"
,
HKEY_CLASSES_ROOT
},
{
L"HKCU"
,
HKEY_CURRENT_USER
},
{
L"HKLM"
,
HKEY_LOCAL_MACHINE
},
{
L"HKU"
,
HKEY_USERS
},
{
L"HKPD"
,
HKEY_PERFORMANCE_DATA
},
{
L"HKDD"
,
HKEY_DYN_DATA
},
{
L"HKCC"
,
HKEY_CURRENT_CONFIG
}
};
typedef
struct
rep_list_str
{
...
...
@@ -150,7 +143,6 @@ static HRESULT do_preprocess(const Registrar *This, LPCOLESTR data, strbuf *buf)
{
LPCOLESTR
iter
,
iter2
=
data
;
rep_list
*
rep_iter
;
static
const
WCHAR
wstr
[]
=
{
'%'
,
0
};
iter
=
wcschr
(
data
,
'%'
);
while
(
iter
)
{
...
...
@@ -164,7 +156,7 @@ static HRESULT do_preprocess(const Registrar *This, LPCOLESTR data, strbuf *buf)
return
DISP_E_EXCEPTION
;
if
(
iter
==
iter2
)
{
strbuf_write
(
wstr
,
buf
,
1
);
strbuf_write
(
L"%"
,
buf
,
1
);
}
else
{
for
(
rep_iter
=
This
->
rep
;
rep_iter
;
rep_iter
=
rep_iter
->
next
)
{
if
(
rep_iter
->
key_len
==
iter
-
iter2
...
...
@@ -205,11 +197,6 @@ static HRESULT do_process_key(LPCOLESTR *pstr, HKEY parent_key, strbuf *buf, BOO
DO_DELETE
}
key_type
=
NORMAL
;
static
const
WCHAR
wstrNoRemove
[]
=
{
'N'
,
'o'
,
'R'
,
'e'
,
'm'
,
'o'
,
'v'
,
'e'
,
0
};
static
const
WCHAR
wstrForceRemove
[]
=
{
'F'
,
'o'
,
'r'
,
'c'
,
'e'
,
'R'
,
'e'
,
'm'
,
'o'
,
'v'
,
'e'
,
0
};
static
const
WCHAR
wstrDelete
[]
=
{
'D'
,
'e'
,
'l'
,
'e'
,
't'
,
'e'
,
0
};
static
const
WCHAR
wstrval
[]
=
{
'v'
,
'a'
,
'l'
,
0
};
iter
=
*
pstr
;
hres
=
get_word
(
&
iter
,
buf
);
if
(
FAILED
(
hres
))
...
...
@@ -218,13 +205,13 @@ static HRESULT do_process_key(LPCOLESTR *pstr, HKEY parent_key, strbuf *buf, BOO
while
(
buf
->
str
[
1
]
||
buf
->
str
[
0
]
!=
'}'
)
{
key_type
=
NORMAL
;
if
(
!
lstrcmpiW
(
buf
->
str
,
wstrNoRemove
))
if
(
!
lstrcmpiW
(
buf
->
str
,
L"NoRemove"
))
key_type
=
NO_REMOVE
;
else
if
(
!
lstrcmpiW
(
buf
->
str
,
wstrForceRemove
))
else
if
(
!
lstrcmpiW
(
buf
->
str
,
L"ForceRemove"
))
key_type
=
FORCE_REMOVE
;
else
if
(
!
lstrcmpiW
(
buf
->
str
,
wstrval
))
else
if
(
!
lstrcmpiW
(
buf
->
str
,
L"val"
))
key_type
=
IS_VAL
;
else
if
(
!
lstrcmpiW
(
buf
->
str
,
wstrDelete
))
else
if
(
!
lstrcmpiW
(
buf
->
str
,
L"Delete"
))
key_type
=
DO_DELETE
;
if
(
key_type
!=
NORMAL
)
{
...
...
@@ -716,9 +703,6 @@ HRESULT WINAPI AtlUpdateRegistryFromResourceD(HINSTANCE inst, LPCOLESTR res,
IRegistrar
*
registrar
;
HRESULT
hres
;
static
const
WCHAR
moduleW
[]
=
{
'M'
,
'O'
,
'D'
,
'U'
,
'L'
,
'E'
,
0
};
static
const
WCHAR
registryW
[]
=
{
'R'
,
'E'
,
'G'
,
'I'
,
'S'
,
'T'
,
'R'
,
'Y'
,
0
};
if
(
!
GetModuleFileNameW
(
inst
,
module_name
,
MAX_PATH
))
{
FIXME
(
"hinst %p: did not get module name
\n
"
,
inst
);
return
E_FAIL
;
...
...
@@ -735,15 +719,15 @@ HRESULT WINAPI AtlUpdateRegistryFromResourceD(HINSTANCE inst, LPCOLESTR res,
return
hres
;
}
IRegistrar_AddReplacement
(
registrar
,
moduleW
,
module_name
);
IRegistrar_AddReplacement
(
registrar
,
L"MODULE"
,
module_name
);
for
(
iter
=
pMapEntries
;
iter
&&
iter
->
szKey
;
iter
++
)
IRegistrar_AddReplacement
(
registrar
,
iter
->
szKey
,
iter
->
szData
);
if
(
bRegister
)
hres
=
IRegistrar_ResourceRegisterSz
(
registrar
,
module_name
,
res
,
registryW
);
hres
=
IRegistrar_ResourceRegisterSz
(
registrar
,
module_name
,
res
,
L"REGISTRY"
);
else
hres
=
IRegistrar_ResourceUnregisterSz
(
registrar
,
module_name
,
res
,
registryW
);
hres
=
IRegistrar_ResourceUnregisterSz
(
registrar
,
module_name
,
res
,
L"REGISTRY"
);
if
(
registrar
!=
pReg
)
IRegistrar_Release
(
registrar
);
...
...
dlls/atl/tests/atl_ax.c
View file @
568c32f3
...
...
@@ -115,7 +115,6 @@ static void test_ax_win(void)
{
BOOL
ret
;
WNDCLASSEXW
wcex
;
static
const
WCHAR
AtlAxWin
[]
=
{
'A'
,
't'
,
'l'
,
'A'
,
'x'
,
'W'
,
'i'
,
'n'
,
0
};
static
HMODULE
hinstance
=
0
;
ret
=
AtlAxWinInit
();
...
...
@@ -124,7 +123,7 @@ static void test_ax_win(void)
hinstance
=
GetModuleHandleA
(
NULL
);
memset
(
&
wcex
,
0
,
sizeof
(
wcex
));
wcex
.
cbSize
=
sizeof
(
wcex
);
ret
=
GetClassInfoExW
(
hinstance
,
AtlAxWin
,
&
wcex
);
ret
=
GetClassInfoExW
(
hinstance
,
L"AtlAxWin"
,
&
wcex
);
ok
(
ret
,
"AtlAxWin has not registered
\n
"
);
ok
(
wcex
.
style
==
CS_GLOBALCLASS
,
"wcex.style %08x
\n
"
,
wcex
.
style
);
}
...
...
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