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
9797a38b
Commit
9797a38b
authored
Jul 16, 2002
by
Jon Griffiths
Committed by
Alexandre Julliard
Jul 16, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement SHCreateStreamOnFileA/W/Ex, ordinals @166,184,212-214.
parent
1e54c1f0
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
182 additions
and
10 deletions
+182
-10
Makefile.in
dlls/shlwapi/Makefile.in
+1
-0
istream.c
dlls/shlwapi/istream.c
+0
-0
shlwapi.spec
dlls/shlwapi/shlwapi.spec
+8
-7
clist.c
dlls/shlwapi/tests/clist.c
+173
-3
No files found.
dlls/shlwapi/Makefile.in
View file @
9797a38b
...
@@ -13,6 +13,7 @@ SYMBOLFILE = $(MODULE).tmp.o
...
@@ -13,6 +13,7 @@ SYMBOLFILE = $(MODULE).tmp.o
C_SRCS
=
\
C_SRCS
=
\
clist.c
\
clist.c
\
istream.c
\
ordinal.c
\
ordinal.c
\
path.c
\
path.c
\
reg.c
\
reg.c
\
...
...
dlls/shlwapi/istream.c
0 → 100644
View file @
9797a38b
This diff is collapsed.
Click to expand it.
dlls/shlwapi/shlwapi.spec
View file @
9797a38b
...
@@ -165,7 +165,7 @@ init SHLWAPI_LibMain
...
@@ -165,7 +165,7 @@ init SHLWAPI_LibMain
163 stub @
163 stub @
164 stdcall @(ptr ptr ptr ptr ptr ptr) SHLWAPI_164
164 stdcall @(ptr ptr ptr ptr ptr ptr) SHLWAPI_164
165 stdcall @(long long long long) SHLWAPI_165
165 stdcall @(long long long long) SHLWAPI_165
166 st
ub @
166 st
dcall @(ptr) SHLWAPI_166
167 stub @
167 stub @
168 stub @
168 stub @
169 stdcall @(long) SHLWAPI_169
169 stdcall @(long) SHLWAPI_169
...
@@ -183,7 +183,7 @@ init SHLWAPI_LibMain
...
@@ -183,7 +183,7 @@ init SHLWAPI_LibMain
181 stdcall @(long long long) SHLWAPI_181
181 stdcall @(long long long) SHLWAPI_181
182 stub @
182 stub @
183 stdcall @(ptr) SHLWAPI_183
183 stdcall @(ptr) SHLWAPI_183
184 st
ub @
184 st
dcall @(ptr ptr long) SHLWAPI_184
185 stub @
185 stub @
186 stub @
186 stub @
187 stub @
187 stub @
...
@@ -211,9 +211,9 @@ init SHLWAPI_LibMain
...
@@ -211,9 +211,9 @@ init SHLWAPI_LibMain
209 stdcall @(ptr) SHLWAPI_209
209 stdcall @(ptr) SHLWAPI_209
210 stdcall @(ptr long ptr) SHLWAPI_210
210 stdcall @(ptr long ptr) SHLWAPI_210
211 stdcall @(ptr long) SHLWAPI_211
211 stdcall @(ptr long) SHLWAPI_211
212 st
ub @
212 st
dcall @(ptr ptr long) SHLWAPI_212
213 st
ub @
213 st
dcall @(ptr) SHLWAPI_213
214 st
ub @
214 st
dcall @(ptr ptr) SHLWAPI_214
215 stdcall @(long long long) SHLWAPI_215
215 stdcall @(long long long) SHLWAPI_215
216 stub @
216 stub @
217 stdcall @(wstr ptr ptr) SHLWAPI_217
217 stdcall @(wstr ptr ptr) SHLWAPI_217
...
@@ -708,8 +708,9 @@ init SHLWAPI_LibMain
...
@@ -708,8 +708,9 @@ init SHLWAPI_LibMain
@ stub SHCopyKeyA
@ stub SHCopyKeyA
@ stub SHCopyKeyW
@ stub SHCopyKeyW
@ stub SHAutoComplete
@ stub SHAutoComplete
@ stub SHCreateStreamOnFileA
@ stdcall SHCreateStreamOnFileA(str long ptr) SHCreateStreamOnFileA
@ stub SHCreateStreamOnFileW
@ stdcall SHCreateStreamOnFileW(wstr long ptr) SHCreateStreamOnFileW
@ stdcall SHCreateStreamOnFileEx(wstr long long long ptr ptr) SHCreateStreamOnFileEx
@ stub SHCreateStreamWrapper
@ stub SHCreateStreamWrapper
@ stub SHCreateThread
@ stub SHCreateThread
@ stdcall SHGetThreadRef (ptr) SHGetThreadRef
@ stdcall SHGetThreadRef (ptr) SHGetThreadRef
...
...
dlls/shlwapi/tests/clist.c
View file @
9797a38b
/* Unit test suite for SHLWAPI Compact List functions
/* Unit test suite for SHLWAPI Compact List
and IStream ordinal
functions
*
*
* Copyright 2002 Jon Griffiths
* Copyright 2002 Jon Griffiths
*
*
...
@@ -61,7 +61,9 @@ typedef struct
...
@@ -61,7 +61,9 @@ typedef struct
BOOL
failwritesize
;
BOOL
failwritesize
;
int
seekcalls
;
int
seekcalls
;
int
statcalls
;
int
statcalls
;
BOOL
failstatcall
;
LPCSHLWAPI_CLIST
item
;
LPCSHLWAPI_CLIST
item
;
ULARGE_INTEGER
pos
;
}
_IDummyStream
;
}
_IDummyStream
;
static
static
...
@@ -154,8 +156,9 @@ static HRESULT WINAPI Seek(_IDummyStream* This, LARGE_INTEGER dlibMove,
...
@@ -154,8 +156,9 @@ static HRESULT WINAPI Seek(_IDummyStream* This, LARGE_INTEGER dlibMove,
DWORD
dwOrigin
,
ULARGE_INTEGER
*
plibNewPosition
)
DWORD
dwOrigin
,
ULARGE_INTEGER
*
plibNewPosition
)
{
{
++
This
->
seekcalls
;
++
This
->
seekcalls
;
This
->
pos
.
QuadPart
=
dlibMove
.
QuadPart
;
if
(
plibNewPosition
)
if
(
plibNewPosition
)
plibNewPosition
->
QuadPart
=
sizeof
(
ULONG
)
;
plibNewPosition
->
QuadPart
=
dlibMove
.
QuadPart
;
return
S_OK
;
return
S_OK
;
}
}
...
@@ -163,8 +166,10 @@ static HRESULT WINAPI Stat(_IDummyStream* This, STATSTG* pstatstg,
...
@@ -163,8 +166,10 @@ static HRESULT WINAPI Stat(_IDummyStream* This, STATSTG* pstatstg,
DWORD
grfStatFlag
)
DWORD
grfStatFlag
)
{
{
++
This
->
statcalls
;
++
This
->
statcalls
;
if
(
This
->
failstatcall
)
return
E_FAIL
;
if
(
pstatstg
)
if
(
pstatstg
)
pstatstg
->
cbSize
.
QuadPart
=
5000l
;
pstatstg
->
cbSize
.
QuadPart
=
This
->
pos
.
QuadPart
;
return
S_OK
;
return
S_OK
;
}
}
...
@@ -197,6 +202,13 @@ static LPSHLWAPI_CLIST (WINAPI *pSHLWAPI_22)(LPSHLWAPI_CLIST,ULONG);
...
@@ -197,6 +202,13 @@ static LPSHLWAPI_CLIST (WINAPI *pSHLWAPI_22)(LPSHLWAPI_CLIST,ULONG);
static
HRESULT
(
WINAPI
*
pSHLWAPI_17
)(
_IDummyStream
*
,
LPSHLWAPI_CLIST
);
static
HRESULT
(
WINAPI
*
pSHLWAPI_17
)(
_IDummyStream
*
,
LPSHLWAPI_CLIST
);
static
HRESULT
(
WINAPI
*
pSHLWAPI_18
)(
_IDummyStream
*
,
LPSHLWAPI_CLIST
*
);
static
HRESULT
(
WINAPI
*
pSHLWAPI_18
)(
_IDummyStream
*
,
LPSHLWAPI_CLIST
*
);
static
BOOL
(
WINAPI
*
pSHLWAPI_166
)(
_IDummyStream
*
);
static
HRESULT
(
WINAPI
*
pSHLWAPI_184
)(
_IDummyStream
*
,
LPVOID
,
ULONG
);
static
HRESULT
(
WINAPI
*
pSHLWAPI_212
)(
_IDummyStream
*
,
LPCVOID
,
ULONG
);
static
HRESULT
(
WINAPI
*
pSHLWAPI_213
)(
_IDummyStream
*
);
static
HRESULT
(
WINAPI
*
pSHLWAPI_214
)(
_IDummyStream
*
,
ULARGE_INTEGER
*
);
static
void
InitFunctionPtrs
()
static
void
InitFunctionPtrs
()
{
{
SHLWAPI_hshlwapi
=
LoadLibraryA
(
"shlwapi.dll"
);
SHLWAPI_hshlwapi
=
LoadLibraryA
(
"shlwapi.dll"
);
...
@@ -215,6 +227,16 @@ static void InitFunctionPtrs()
...
@@ -215,6 +227,16 @@ static void InitFunctionPtrs()
ok
(
pSHLWAPI_21
!=
0
,
"No Ordinal 21"
);
ok
(
pSHLWAPI_21
!=
0
,
"No Ordinal 21"
);
pSHLWAPI_22
=
(
void
*
)
GetProcAddress
(
SHLWAPI_hshlwapi
,
(
LPSTR
)
22
);
pSHLWAPI_22
=
(
void
*
)
GetProcAddress
(
SHLWAPI_hshlwapi
,
(
LPSTR
)
22
);
ok
(
pSHLWAPI_22
!=
0
,
"No Ordinal 22"
);
ok
(
pSHLWAPI_22
!=
0
,
"No Ordinal 22"
);
pSHLWAPI_166
=
(
void
*
)
GetProcAddress
(
SHLWAPI_hshlwapi
,
(
LPSTR
)
166
);
ok
(
pSHLWAPI_166
!=
0
,
"No Ordinal 166"
);
pSHLWAPI_184
=
(
void
*
)
GetProcAddress
(
SHLWAPI_hshlwapi
,
(
LPSTR
)
184
);
ok
(
pSHLWAPI_184
!=
0
,
"No Ordinal 184"
);
pSHLWAPI_212
=
(
void
*
)
GetProcAddress
(
SHLWAPI_hshlwapi
,
(
LPSTR
)
212
);
ok
(
pSHLWAPI_212
!=
0
,
"No Ordinal 212"
);
pSHLWAPI_213
=
(
void
*
)
GetProcAddress
(
SHLWAPI_hshlwapi
,
(
LPSTR
)
213
);
ok
(
pSHLWAPI_213
!=
0
,
"No Ordinal 213"
);
pSHLWAPI_214
=
(
void
*
)
GetProcAddress
(
SHLWAPI_hshlwapi
,
(
LPSTR
)
214
);
ok
(
pSHLWAPI_214
!=
0
,
"No Ordinal 214"
);
}
}
}
}
...
@@ -232,7 +254,9 @@ static void InitDummyStream(_IDummyStream* iface)
...
@@ -232,7 +254,9 @@ static void InitDummyStream(_IDummyStream* iface)
iface
->
failwritesize
=
FALSE
;
iface
->
failwritesize
=
FALSE
;
iface
->
seekcalls
=
0
;
iface
->
seekcalls
=
0
;
iface
->
statcalls
=
0
;
iface
->
statcalls
=
0
;
iface
->
failstatcall
=
FALSE
;
iface
->
item
=
SHLWAPI_CLIST_items
;
iface
->
item
=
SHLWAPI_CLIST_items
;
iface
->
pos
.
QuadPart
=
0
;
}
}
...
@@ -442,6 +466,146 @@ static void test_CList(void)
...
@@ -442,6 +466,146 @@ static void test_CList(void)
pSHLWAPI_19
(
list
);
pSHLWAPI_19
(
list
);
}
}
static
void
test_SHLWAPI_166
(
void
)
{
_IDummyStream
streamobj
;
BOOL
bRet
;
if
(
!
pSHLWAPI_166
)
return
;
InitDummyStream
(
&
streamobj
);
bRet
=
pSHLWAPI_166
(
&
streamobj
);
ok
(
bRet
==
TRUE
,
"failed before seek adjusted"
);
ok
(
streamobj
.
readcalls
==
0
,
"called Read()"
);
ok
(
streamobj
.
writecalls
==
0
,
"called Write()"
);
ok
(
streamobj
.
seekcalls
==
0
,
"called Seek()"
);
ok
(
streamobj
.
statcalls
==
1
,
"wrong call count"
);
streamobj
.
statcalls
=
0
;
streamobj
.
pos
.
QuadPart
=
50001
;
bRet
=
pSHLWAPI_166
(
&
streamobj
);
ok
(
bRet
==
FALSE
,
"failed after seek adjusted"
);
ok
(
streamobj
.
readcalls
==
0
,
"called Read()"
);
ok
(
streamobj
.
writecalls
==
0
,
"called Write()"
);
ok
(
streamobj
.
seekcalls
==
0
,
"called Seek()"
);
ok
(
streamobj
.
statcalls
==
1
,
"wrong call count"
);
/* Failure cases */
InitDummyStream
(
&
streamobj
);
streamobj
.
pos
.
QuadPart
=
50001
;
streamobj
.
failstatcall
=
TRUE
;
/* 1: Stat() Bad, Read() OK */
bRet
=
pSHLWAPI_166
(
&
streamobj
);
ok
(
bRet
==
FALSE
,
"should be FALSE after read is OK"
);
ok
(
streamobj
.
readcalls
==
1
,
"wrong call count"
);
ok
(
streamobj
.
writecalls
==
0
,
"called Write()"
);
ok
(
streamobj
.
seekcalls
==
1
,
"wrong call count"
);
ok
(
streamobj
.
statcalls
==
1
,
"wrong call count"
);
ok
(
streamobj
.
pos
.
QuadPart
==
0
,
"Didn't seek to start"
);
InitDummyStream
(
&
streamobj
);
streamobj
.
pos
.
QuadPart
=
50001
;
streamobj
.
failstatcall
=
TRUE
;
streamobj
.
failreadcall
=
TRUE
;
/* 2: Stat() Bad, Read() Bad Also */
bRet
=
pSHLWAPI_166
(
&
streamobj
);
ok
(
bRet
==
TRUE
,
"Should be true after read fails"
);
ok
(
streamobj
.
readcalls
==
1
,
"wrong call count"
);
ok
(
streamobj
.
writecalls
==
0
,
"called Write()"
);
ok
(
streamobj
.
seekcalls
==
0
,
"Called Seek()"
);
ok
(
streamobj
.
statcalls
==
1
,
"wrong call count"
);
ok
(
streamobj
.
pos
.
QuadPart
==
50001
,
"called Seek() after read failed"
);
}
static
void
test_SHLWAPI_184
(
void
)
{
_IDummyStream
streamobj
;
char
buff
[
256
];
HRESULT
hRet
;
if
(
!
pSHLWAPI_184
)
return
;
InitDummyStream
(
&
streamobj
);
hRet
=
pSHLWAPI_184
(
&
streamobj
,
buff
,
sizeof
(
buff
));
ok
(
hRet
==
S_OK
,
"failed Read()"
);
ok
(
streamobj
.
readcalls
==
1
,
"wrong call count"
);
ok
(
streamobj
.
writecalls
==
0
,
"called Write()"
);
ok
(
streamobj
.
seekcalls
==
0
,
"called Seek()"
);
}
static
void
test_SHLWAPI_212
(
void
)
{
_IDummyStream
streamobj
;
char
buff
[
256
];
HRESULT
hRet
;
if
(
!
pSHLWAPI_212
)
return
;
InitDummyStream
(
&
streamobj
);
hRet
=
pSHLWAPI_212
(
&
streamobj
,
buff
,
sizeof
(
buff
));
ok
(
hRet
==
S_OK
,
"failed Write()"
);
ok
(
streamobj
.
readcalls
==
0
,
"called Read()"
);
ok
(
streamobj
.
writecalls
==
1
,
"wrong call count"
);
ok
(
streamobj
.
seekcalls
==
0
,
"called Seek()"
);
}
static
void
test_SHLWAPI_213
(
void
)
{
_IDummyStream
streamobj
;
ULARGE_INTEGER
ul
;
LARGE_INTEGER
ll
;
HRESULT
hRet
;
if
(
!
pSHLWAPI_213
||
!
pSHLWAPI_214
)
return
;
InitDummyStream
(
&
streamobj
);
ll
.
QuadPart
=
5000l
;
Seek
(
&
streamobj
,
ll
,
0
,
NULL
);
/* Seek to 5000l */
streamobj
.
seekcalls
=
0
;
pSHLWAPI_213
(
&
streamobj
);
/* Should rewind */
ok
(
streamobj
.
statcalls
==
0
,
"called Stat()"
);
ok
(
streamobj
.
readcalls
==
0
,
"called Read()"
);
ok
(
streamobj
.
writecalls
==
0
,
"called Write()"
);
ok
(
streamobj
.
seekcalls
==
1
,
"wrong call count"
);
ul
.
QuadPart
=
50001
;
hRet
=
pSHLWAPI_214
(
&
streamobj
,
&
ul
);
ok
(
hRet
==
S_OK
,
"failed Stat()"
);
ok
(
ul
.
QuadPart
==
0
,
"213 didn't rewind stream"
);
}
static
void
test_SHLWAPI_214
(
void
)
{
_IDummyStream
streamobj
;
ULARGE_INTEGER
ul
;
LARGE_INTEGER
ll
;
HRESULT
hRet
;
if
(
!
pSHLWAPI_214
)
return
;
InitDummyStream
(
&
streamobj
);
ll
.
QuadPart
=
5000l
;
Seek
(
&
streamobj
,
ll
,
0
,
NULL
);
ul
.
QuadPart
=
0
;
streamobj
.
seekcalls
=
0
;
hRet
=
pSHLWAPI_214
(
&
streamobj
,
&
ul
);
ok
(
hRet
==
S_OK
,
"failed Stat()"
);
ok
(
streamobj
.
statcalls
==
1
,
"wrong call count"
);
ok
(
streamobj
.
readcalls
==
0
,
"called Read()"
);
ok
(
streamobj
.
writecalls
==
0
,
"called Write()"
);
ok
(
streamobj
.
seekcalls
==
0
,
"called Seek()"
);
ok
(
ul
.
QuadPart
==
5000l
,
"Stat gave wrong size"
);
}
START_TEST
(
clist
)
START_TEST
(
clist
)
{
{
...
@@ -449,6 +613,12 @@ START_TEST(clist)
...
@@ -449,6 +613,12 @@ START_TEST(clist)
test_CList
();
test_CList
();
test_SHLWAPI_166
();
test_SHLWAPI_184
();
test_SHLWAPI_212
();
test_SHLWAPI_213
();
test_SHLWAPI_214
();
if
(
SHLWAPI_hshlwapi
)
if
(
SHLWAPI_hshlwapi
)
FreeLibrary
(
SHLWAPI_hshlwapi
);
FreeLibrary
(
SHLWAPI_hshlwapi
);
}
}
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