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
522cecf6
Commit
522cecf6
authored
Apr 23, 2024
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
include: Update a couple of RPC structures.
parent
bcb7396a
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
79 additions
and
39 deletions
+79
-39
ndr_clientserver.c
dlls/rpcrt4/ndr_clientserver.c
+2
-4
generated.c
dlls/rpcrt4/tests/generated.c
+6
-6
ndr_marshall.c
dlls/rpcrt4/tests/ndr_marshall.c
+5
-5
rpcndr.h
include/rpcndr.h
+64
-17
rpcproxy.h
include/rpcproxy.h
+2
-7
No files found.
dlls/rpcrt4/ndr_clientserver.c
View file @
522cecf6
...
@@ -78,7 +78,6 @@ void WINAPI NdrClientInitializeNew( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE
...
@@ -78,7 +78,6 @@ void WINAPI NdrClientInitializeNew( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE
pStubMsg
->
PointerLength
=
0
;
pStubMsg
->
PointerLength
=
0
;
pStubMsg
->
fInDontFree
=
0
;
pStubMsg
->
fInDontFree
=
0
;
pStubMsg
->
fDontCallFreeInst
=
0
;
pStubMsg
->
fDontCallFreeInst
=
0
;
pStubMsg
->
fInOnlyParam
=
0
;
pStubMsg
->
fHasReturn
=
0
;
pStubMsg
->
fHasReturn
=
0
;
pStubMsg
->
fHasExtensions
=
0
;
pStubMsg
->
fHasExtensions
=
0
;
pStubMsg
->
fHasNewCorrDesc
=
0
;
pStubMsg
->
fHasNewCorrDesc
=
0
;
...
@@ -89,7 +88,7 @@ void WINAPI NdrClientInitializeNew( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE
...
@@ -89,7 +88,7 @@ void WINAPI NdrClientInitializeNew( PRPC_MESSAGE pRpcMessage, PMIDL_STUB_MESSAGE
pStubMsg
->
fHasMemoryValidateCallback
=
0
;
pStubMsg
->
fHasMemoryValidateCallback
=
0
;
pStubMsg
->
fInFree
=
0
;
pStubMsg
->
fInFree
=
0
;
pStubMsg
->
fNeedMCCP
=
0
;
pStubMsg
->
fNeedMCCP
=
0
;
pStubMsg
->
fUnused
=
0
;
pStubMsg
->
fUnused
2
=
0
;
pStubMsg
->
dwDestContext
=
MSHCTX_DIFFERENTMACHINE
;
pStubMsg
->
dwDestContext
=
MSHCTX_DIFFERENTMACHINE
;
pStubMsg
->
pvDestContext
=
NULL
;
pStubMsg
->
pvDestContext
=
NULL
;
pStubMsg
->
pRpcChannelBuffer
=
NULL
;
pStubMsg
->
pRpcChannelBuffer
=
NULL
;
...
@@ -132,7 +131,6 @@ unsigned char* WINAPI NdrServerInitializeNew( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_M
...
@@ -132,7 +131,6 @@ unsigned char* WINAPI NdrServerInitializeNew( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_M
pStubMsg
->
PointerLength
=
0
;
pStubMsg
->
PointerLength
=
0
;
pStubMsg
->
fInDontFree
=
0
;
pStubMsg
->
fInDontFree
=
0
;
pStubMsg
->
fDontCallFreeInst
=
0
;
pStubMsg
->
fDontCallFreeInst
=
0
;
pStubMsg
->
fInOnlyParam
=
0
;
pStubMsg
->
fHasReturn
=
0
;
pStubMsg
->
fHasReturn
=
0
;
pStubMsg
->
fHasExtensions
=
0
;
pStubMsg
->
fHasExtensions
=
0
;
pStubMsg
->
fHasNewCorrDesc
=
0
;
pStubMsg
->
fHasNewCorrDesc
=
0
;
...
@@ -142,7 +140,7 @@ unsigned char* WINAPI NdrServerInitializeNew( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_M
...
@@ -142,7 +140,7 @@ unsigned char* WINAPI NdrServerInitializeNew( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_M
pStubMsg
->
fHasMemoryValidateCallback
=
0
;
pStubMsg
->
fHasMemoryValidateCallback
=
0
;
pStubMsg
->
fInFree
=
0
;
pStubMsg
->
fInFree
=
0
;
pStubMsg
->
fNeedMCCP
=
0
;
pStubMsg
->
fNeedMCCP
=
0
;
pStubMsg
->
fUnused
=
0
;
pStubMsg
->
fUnused
2
=
0
;
pStubMsg
->
dwDestContext
=
MSHCTX_DIFFERENTMACHINE
;
pStubMsg
->
dwDestContext
=
MSHCTX_DIFFERENTMACHINE
;
pStubMsg
->
pvDestContext
=
NULL
;
pStubMsg
->
pvDestContext
=
NULL
;
pStubMsg
->
pRpcChannelBuffer
=
NULL
;
pStubMsg
->
pRpcChannelBuffer
=
NULL
;
...
...
dlls/rpcrt4/tests/generated.c
View file @
522cecf6
...
@@ -686,9 +686,9 @@ static void test_pack_MIDL_SYNTAX_INFO(void)
...
@@ -686,9 +686,9 @@ static void test_pack_MIDL_SYNTAX_INFO(void)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
8
)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
8
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
8
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
8
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
56
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
56
)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
p
Reserved1
,
8
)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
p
MethodProperties
,
8
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
p
Reserved1
,
8
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
p
MethodProperties
,
8
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
p
Reserved1
,
64
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
p
MethodProperties
,
64
)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
pReserved2
,
8
)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
pReserved2
,
8
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
pReserved2
,
8
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
pReserved2
,
8
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
pReserved2
,
72
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
pReserved2
,
72
)
...
@@ -1548,9 +1548,9 @@ static void test_pack_MIDL_SYNTAX_INFO(void)
...
@@ -1548,9 +1548,9 @@ static void test_pack_MIDL_SYNTAX_INFO(void)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
4
)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
4
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
4
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
4
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
36
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
aUserMarshalQuadruple
,
36
)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
p
Reserved1
,
4
)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
p
MethodProperties
,
4
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
p
Reserved1
,
4
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
p
MethodProperties
,
4
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
p
Reserved1
,
40
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
p
MethodProperties
,
40
)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
pReserved2
,
4
)
TEST_FIELD_SIZE
(
MIDL_SYNTAX_INFO
,
pReserved2
,
4
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
pReserved2
,
4
)
TEST_FIELD_ALIGN
(
MIDL_SYNTAX_INFO
,
pReserved2
,
4
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
pReserved2
,
44
)
TEST_FIELD_OFFSET
(
MIDL_SYNTAX_INFO
,
pReserved2
,
44
)
...
...
dlls/rpcrt4/tests/ndr_marshall.c
View file @
522cecf6
...
@@ -1728,11 +1728,11 @@ static void test_common_stub_data( const char *prefix, const MIDL_STUB_MESSAGE *
...
@@ -1728,11 +1728,11 @@ static void test_common_stub_data( const char *prefix, const MIDL_STUB_MESSAGE *
ok
(
stubMsg
->
fBufferValid
==
0
,
ok
(
stubMsg
->
fBufferValid
==
0
,
"%s: fBufferValid should have been set to 0 instead of %d
\n
"
,
prefix
,
stubMsg
->
fBufferValid
);
"%s: fBufferValid should have been set to 0 instead of %d
\n
"
,
prefix
,
stubMsg
->
fBufferValid
);
TEST_ZERO
(
fNeedMCCP
,
"%d"
);
TEST_ZERO
(
fNeedMCCP
,
"%d"
);
ok
(
stubMsg
->
fUnused
==
0
||
ok
(
stubMsg
->
fUnused
2
==
0
||
stubMsg
->
fUnused
==
-
2
,
/* Vista */
stubMsg
->
fUnused
2
==
-
2
,
/* Vista */
"%s: fUnused
should have been set to 0 or -2 instead of %d
\n
"
,
prefix
,
stubMsg
->
fUnused
);
"%s: fUnused
2 should have been set to 0 or -2 instead of %d
\n
"
,
prefix
,
stubMsg
->
fUnused2
);
ok
(
stubMsg
->
fUnused
2
==
0xffffcccc
,
"%s: fUnused2
should have been 0xffffcccc instead of 0x%x
\n
"
,
ok
(
stubMsg
->
fUnused
3
==
0xffffcccc
,
"%s: fUnused3
should have been 0xffffcccc instead of 0x%x
\n
"
,
prefix
,
stubMsg
->
fUnused
2
);
prefix
,
stubMsg
->
fUnused
3
);
ok
(
stubMsg
->
dwDestContext
==
MSHCTX_DIFFERENTMACHINE
,
ok
(
stubMsg
->
dwDestContext
==
MSHCTX_DIFFERENTMACHINE
,
"%s: dwDestContext should have been MSHCTX_DIFFERENTMACHINE instead of %ld
\n
"
,
"%s: dwDestContext should have been MSHCTX_DIFFERENTMACHINE instead of %ld
\n
"
,
prefix
,
stubMsg
->
dwDestContext
);
prefix
,
stubMsg
->
dwDestContext
);
...
...
include/rpcndr.h
View file @
522cecf6
...
@@ -71,6 +71,11 @@ typedef INT64 hyper;
...
@@ -71,6 +71,11 @@ typedef INT64 hyper;
typedef
UINT64
MIDL_uhyper
;
typedef
UINT64
MIDL_uhyper
;
typedef
unsigned
char
boolean
;
typedef
unsigned
char
boolean
;
#ifndef _ERROR_STATUS_T_DEFINED
typedef
ULONG
error_status_t
;
#define _ERROR_STATUS_T_DEFINED
#endif
#define __RPC_CALLEE WINAPI
#define __RPC_CALLEE WINAPI
#define RPC_VAR_ENTRY WINAPIV
#define RPC_VAR_ENTRY WINAPIV
#define NDR_SHAREABLE static
#define NDR_SHAREABLE static
...
@@ -179,7 +184,7 @@ typedef struct _MIDL_STUB_MESSAGE
...
@@ -179,7 +184,7 @@ typedef struct _MIDL_STUB_MESSAGE
ULONG
PointerLength
;
ULONG
PointerLength
;
unsigned
int
fInDontFree
:
1
;
unsigned
int
fInDontFree
:
1
;
unsigned
int
fDontCallFreeInst
:
1
;
unsigned
int
fDontCallFreeInst
:
1
;
unsigned
int
f
InOnlyParam
:
1
;
unsigned
int
f
Unused1
:
1
;
unsigned
int
fHasReturn
:
1
;
unsigned
int
fHasReturn
:
1
;
unsigned
int
fHasExtensions
:
1
;
unsigned
int
fHasExtensions
:
1
;
unsigned
int
fHasNewCorrDesc
:
1
;
unsigned
int
fHasNewCorrDesc
:
1
;
...
@@ -190,8 +195,8 @@ typedef struct _MIDL_STUB_MESSAGE
...
@@ -190,8 +195,8 @@ typedef struct _MIDL_STUB_MESSAGE
unsigned
int
fHasMemoryValidateCallback
:
1
;
unsigned
int
fHasMemoryValidateCallback
:
1
;
unsigned
int
fInFree
:
1
;
unsigned
int
fInFree
:
1
;
unsigned
int
fNeedMCCP
:
1
;
unsigned
int
fNeedMCCP
:
1
;
int
fUnused
:
3
;
int
fUnused
2
:
3
;
int
fUnused
2
:
16
;
int
fUnused
3
:
16
;
DWORD
dwDestContext
;
DWORD
dwDestContext
;
void
*
pvDestContext
;
void
*
pvDestContext
;
NDR_SCONTEXT
*
SavedContextHandles
;
NDR_SCONTEXT
*
SavedContextHandles
;
...
@@ -303,6 +308,39 @@ typedef struct _COMM_FAULT_OFFSETS
...
@@ -303,6 +308,39 @@ typedef struct _COMM_FAULT_OFFSETS
short
FaultOffset
;
short
FaultOffset
;
}
COMM_FAULT_OFFSETS
;
}
COMM_FAULT_OFFSETS
;
typedef
enum
_IDL_CS_CONVERT
{
IDL_CS_NO_CONVERT
,
IDL_CS_IN_PLACE_CONVERT
,
IDL_CS_NEW_BUFFER_CONVERT
}
IDL_CS_CONVERT
;
typedef
void
(
__RPC_USER
*
CS_TYPE_NET_SIZE_ROUTINE
)(
RPC_BINDING_HANDLE
,
ULONG
,
ULONG
,
IDL_CS_CONVERT
*
,
ULONG
*
,
error_status_t
*
);
typedef
void
(
__RPC_USER
*
CS_TYPE_TO_NETCS_ROUTINE
)(
RPC_BINDING_HANDLE
,
ULONG
,
void
*
,
ULONG
,
byte
*
,
ULONG
*
,
error_status_t
*
);
typedef
void
(
__RPC_USER
*
CS_TYPE_LOCAL_SIZE_ROUTINE
)(
RPC_BINDING_HANDLE
,
ULONG
,
ULONG
,
IDL_CS_CONVERT
*
,
ULONG
*
,
error_status_t
*
);
typedef
void
(
__RPC_USER
*
CS_TYPE_FROM_NETCS_ROUTINE
)(
RPC_BINDING_HANDLE
,
ULONG
,
byte
*
,
ULONG
,
ULONG
,
void
*
,
ULONG
*
,
error_status_t
*
);
typedef
void
(
__RPC_USER
*
CS_TAG_GETTING_ROUTINE
)(
RPC_BINDING_HANDLE
,
int
,
ULONG
*
,
ULONG
*
,
ULONG
*
,
error_status_t
*
);
typedef
struct
_NDR_CS_SIZE_CONVERT_ROUTINES
{
CS_TYPE_NET_SIZE_ROUTINE
pfnNetSize
;
CS_TYPE_TO_NETCS_ROUTINE
pfnToNetCs
;
CS_TYPE_LOCAL_SIZE_ROUTINE
pfnLocalSize
;
CS_TYPE_FROM_NETCS_ROUTINE
pfnFromNetCs
;
}
NDR_CS_SIZE_CONVERT_ROUTINES
;
typedef
struct
_NDR_CS_ROUTINES
{
NDR_CS_SIZE_CONVERT_ROUTINES
*
pSizeConvertRoutines
;
CS_TAG_GETTING_ROUTINE
*
pTagGettingRoutines
;
}
NDR_CS_ROUTINES
;
typedef
struct
_NDR_EXPR_DESC
{
const
unsigned
short
*
pOffset
;
PFORMAT_STRING
pFormatExpr
;
}
NDR_EXPR_DESC
;
typedef
struct
_MIDL_STUB_DESC
typedef
struct
_MIDL_STUB_DESC
{
{
void
*
RpcInterfaceInformation
;
void
*
RpcInterfaceInformation
;
...
@@ -326,22 +364,36 @@ typedef struct _MIDL_STUB_DESC
...
@@ -326,22 +364,36 @@ typedef struct _MIDL_STUB_DESC
const
USER_MARSHAL_ROUTINE_QUADRUPLE
*
aUserMarshalQuadruple
;
const
USER_MARSHAL_ROUTINE_QUADRUPLE
*
aUserMarshalQuadruple
;
const
NDR_NOTIFY_ROUTINE
*
NotifyRoutineTable
;
const
NDR_NOTIFY_ROUTINE
*
NotifyRoutineTable
;
ULONG_PTR
mFlags
;
ULONG_PTR
mFlags
;
ULONG_PTR
Reserved3
;
const
NDR_CS_ROUTINES
*
CsRoutineTables
;
ULONG_PTR
Reserved4
;
void
*
ProxyServerInfo
;
ULONG_PTR
Reserved5
;
const
NDR_EXPR_DESC
*
pExprInfo
;
}
MIDL_STUB_DESC
;
}
MIDL_STUB_DESC
;
typedef
const
MIDL_STUB_DESC
*
PMIDL_STUB_DESC
;
typedef
const
MIDL_STUB_DESC
*
PMIDL_STUB_DESC
;
typedef
struct
_MIDL_FORMAT_STRING
typedef
struct
_MIDL_FORMAT_STRING
{
{
short
Pad
;
short
Pad
;
#if defined(__GNUC__)
unsigned
char
Format
[];
unsigned
char
Format
[
0
];
#else
unsigned
char
Format
[
1
];
#endif
}
MIDL_FORMAT_STRING
;
}
MIDL_FORMAT_STRING
;
typedef
struct
_MIDL_METHOD_PROPERTY
{
ULONG
Id
;
ULONG_PTR
Value
;
}
MIDL_METHOD_PROPERTY
,
*
PMIDL_METHOD_PROPERTY
;
typedef
struct
_MIDL_METHOD_PROPERTY_MAP
{
ULONG
Count
;
const
MIDL_METHOD_PROPERTY
*
Properties
;
}
MIDL_METHOD_PROPERTY_MAP
,
*
PMIDL_METHOD_PROPERTY_MAP
;
typedef
struct
_MIDL_INTERFACE_METHOD_PROPERTIES
{
unsigned
short
MethodCount
;
const
MIDL_METHOD_PROPERTY_MAP
*
const
*
MethodProperties
;
}
MIDL_INTERFACE_METHOD_PROPERTIES
;
typedef
struct
_MIDL_SYNTAX_INFO
typedef
struct
_MIDL_SYNTAX_INFO
{
{
RPC_SYNTAX_IDENTIFIER
TransferSyntax
;
RPC_SYNTAX_IDENTIFIER
TransferSyntax
;
...
@@ -350,7 +402,7 @@ typedef struct _MIDL_SYNTAX_INFO
...
@@ -350,7 +402,7 @@ typedef struct _MIDL_SYNTAX_INFO
const
unsigned
short
*
FmtStringOffset
;
const
unsigned
short
*
FmtStringOffset
;
PFORMAT_STRING
TypeString
;
PFORMAT_STRING
TypeString
;
const
void
*
aUserMarshalQuadruple
;
const
void
*
aUserMarshalQuadruple
;
ULONG_PTR
pReserved1
;
const
MIDL_INTERFACE_METHOD_PROPERTIES
*
pMethodProperties
;
ULONG_PTR
pReserved2
;
ULONG_PTR
pReserved2
;
}
MIDL_SYNTAX_INFO
,
*
PMIDL_SYNTAX_INFO
;
}
MIDL_SYNTAX_INFO
,
*
PMIDL_SYNTAX_INFO
;
...
@@ -443,11 +495,6 @@ typedef struct _FULL_PTR_XLAT_TABLES {
...
@@ -443,11 +495,6 @@ typedef struct _FULL_PTR_XLAT_TABLES {
struct
IRpcStubBuffer
;
struct
IRpcStubBuffer
;
#ifndef _ERROR_STATUS_T_DEFINED
typedef
ULONG
error_status_t
;
#define _ERROR_STATUS_T_DEFINED
#endif
typedef
void
*
NDR_CCONTEXT
;
typedef
void
*
NDR_CCONTEXT
;
typedef
struct
_SCONTEXT_QUEUE
{
typedef
struct
_SCONTEXT_QUEUE
{
...
...
include/rpcproxy.h
View file @
522cecf6
...
@@ -17,8 +17,7 @@
...
@@ -17,8 +17,7 @@
*/
*/
#ifndef __RPCPROXY_H_VERSION__
#ifndef __RPCPROXY_H_VERSION__
/* FIXME: Find an appropriate version number. I guess something is better than nothing */
#define __RPCPROXY_H_VERSION__ (477)
#define __RPCPROXY_H_VERSION__ ( 399 )
#endif
#endif
#ifndef __WINE_RPCPROXY_H
#ifndef __WINE_RPCPROXY_H
...
@@ -78,11 +77,7 @@ typedef struct tagCInterfaceProxyHeader
...
@@ -78,11 +77,7 @@ typedef struct tagCInterfaceProxyHeader
typedef
struct
tagCInterfaceProxyVtbl
typedef
struct
tagCInterfaceProxyVtbl
{
{
CInterfaceProxyHeader
header
;
CInterfaceProxyHeader
header
;
#if defined(__GNUC__)
void
*
Vtbl
[];
void
*
Vtbl
[
0
];
#else
void
*
Vtbl
[
1
];
#endif
}
CInterfaceProxyVtbl
;
}
CInterfaceProxyVtbl
;
typedef
void
(
__RPC_STUB
*
PRPC_STUB_FUNCTION
)(
typedef
void
(
__RPC_STUB
*
PRPC_STUB_FUNCTION
)(
...
...
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