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
2775db3b
Commit
2775db3b
authored
Feb 27, 2007
by
Jeff Latimer
Committed by
Alexandre Julliard
Feb 28, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Framework for NtCreateMailslotFile tests.
parent
829dfa80
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
93 additions
and
0 deletions
+93
-0
Makefile.in
dlls/ntdll/tests/Makefile.in
+1
-0
file.c
dlls/ntdll/tests/file.c
+92
-0
No files found.
dlls/ntdll/tests/Makefile.in
View file @
2775db3b
...
...
@@ -14,6 +14,7 @@ CTESTS = \
generated.c
\
info.c
\
large_int.c
\
file.c
\
om.c
\
path.c
\
port.c
\
...
...
dlls/ntdll/tests/file.c
0 → 100644
View file @
2775db3b
/* Unit test suite for Ntdll file functions
*
* Copyright 2007 Jeff Latimer
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
* NOTES
* We use function pointers here as there is no import library for NTDLL on
* windows.
*/
#include <stdio.h>
#include <stdarg.h>
#include "ntstatus.h"
/* Define WIN32_NO_STATUS so MSVC does not give us duplicate macro
* definition errors when we get to winnt.h
*/
#define WIN32_NO_STATUS
#include "wine/test.h"
#include "winternl.h"
static
VOID
(
WINAPI
*
pRtlInitUnicodeString
)(
PUNICODE_STRING
,
LPCWSTR
);
static
VOID
(
WINAPI
*
pRtlFreeUnicodeString
)(
PUNICODE_STRING
);
static
NTSTATUS
(
WINAPI
*
pNtCreateMailslotFile
)(
PHANDLE
,
ULONG
,
POBJECT_ATTRIBUTES
,
PIO_STATUS_BLOCK
,
ULONG
,
ULONG
,
ULONG
,
PLARGE_INTEGER
);
static
NTSTATUS
(
WINAPI
*
pNtClose
)(
PHANDLE
);
static
void
nt_mailslot_test
(
void
)
{
HANDLE
hslot
;
ACCESS_MASK
DesiredAccess
;
OBJECT_ATTRIBUTES
attr
;
ULONG
CreateOptions
;
ULONG
MailslotQuota
;
ULONG
MaxMessageSize
;
LARGE_INTEGER
TimeOut
;
IO_STATUS_BLOCK
IoStatusBlock
;
NTSTATUS
rc
;
UNICODE_STRING
str
;
WCHAR
buffer1
[]
=
{
'\\'
,
'?'
,
'?'
,
'\\'
,
'M'
,
'A'
,
'I'
,
'L'
,
'S'
,
'L'
,
'O'
,
'T'
,
'\\'
,
'R'
,
':'
,
'\\'
,
'F'
,
'R'
,
'E'
,
'D'
,
'\0'
};
pRtlInitUnicodeString
(
&
str
,
buffer1
);
InitializeObjectAttributes
(
&
attr
,
&
str
,
OBJ_CASE_INSENSITIVE
,
0
,
NULL
);
DesiredAccess
=
CreateOptions
=
MailslotQuota
=
MaxMessageSize
=
0
;
TimeOut
.
QuadPart
=
-
1
;
/*
* Test a valid call
*/
rc
=
pNtCreateMailslotFile
(
&
hslot
,
DesiredAccess
,
&
attr
,
&
IoStatusBlock
,
CreateOptions
,
MailslotQuota
,
MaxMessageSize
,
&
TimeOut
);
ok
(
rc
==
STATUS_SUCCESS
,
"Create MailslotFile failed rc = %x %u
\n
"
,
rc
,
GetLastError
());
ok
(
hslot
!=
0
,
"Handle is invalid
\n
"
);
rc
=
pNtClose
(
hslot
);
ok
(
rc
==
STATUS_SUCCESS
,
"NtClose failed
\n
"
);
pRtlFreeUnicodeString
(
&
str
);
}
START_TEST
(
file
)
{
HMODULE
hntdll
=
GetModuleHandleA
(
"ntdll.dll"
);
if
(
hntdll
)
{
pRtlFreeUnicodeString
=
(
void
*
)
GetProcAddress
(
hntdll
,
"RtlFreeUnicodeString"
);
pRtlInitUnicodeString
=
(
void
*
)
GetProcAddress
(
hntdll
,
"RtlInitUnicodeString"
);
pNtCreateMailslotFile
=
(
void
*
)
GetProcAddress
(
hntdll
,
"NtCreateMailslotFile"
);
pNtClose
=
(
void
*
)
GetProcAddress
(
hntdll
,
"NtClose"
);
nt_mailslot_test
();
}
}
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