};
} PORT_MESSAGE, *PPORT_MESSAGE;
-/* FIXME: USE REAL DEFINITION */
-typedef struct _LPC_SECTION_WRITE
+typedef struct _PORT_VIEW
{
- ULONG Length;
- HANDLE SectionHandle;
- ULONG SectionOffset;
- ULONG ViewSize;
- PVOID ViewBase;
- PVOID TargetViewBase;
-} LPC_SECTION_WRITE, *PLPC_SECTION_WRITE;
+ ULONG Length;
+ LPC_HANDLE SectionHandle;
+ ULONG SectionOffset;
+ LPC_SIZE_T ViewSize;
+ LPC_PVOID ViewBase;
+ LPC_PVOID ViewRemoteBase;
+} PORT_VIEW, *PPORT_VIEW;
-/* FIXME: USE REAL DEFINITION */
-typedef struct _LPC_SECTION_READ
+typedef struct _REMOTE_PORT_VIEW
{
- ULONG Length;
- ULONG ViewSize;
- PVOID ViewBase;
-} LPC_SECTION_READ, *PLPC_SECTION_READ;
+ ULONG Length;
+ LPC_SIZE_T ViewSize;
+ LPC_PVOID ViewBase;
+} REMOTE_PORT_VIEW, *PREMOTE_PORT_VIEW;
/* FIXME: USE REAL DEFINITION */
typedef struct _LPC_MAX_MESSAGE
HANDLE NamedPortHandle,
PPORT_MESSAGE ServerReply,
BOOLEAN AcceptIt,
- PLPC_SECTION_WRITE WriteMap,
- PLPC_SECTION_READ ReadMap
+ PPORT_VIEW WriteMap,
+ PREMOTE_PORT_VIEW ReadMap
);
NTSTATUS
PHANDLE PortHandle,
PUNICODE_STRING PortName,
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
- PLPC_SECTION_WRITE SectionInfo,
- PLPC_SECTION_READ MapInfo,
+ PPORT_VIEW SectionInfo,
+ PREMOTE_PORT_VIEW MapInfo,
PULONG MaxMessageSize,
PVOID ConnectInfo,
PULONG ConnectInfoLength
PHANDLE PortHandle,
PUNICODE_STRING PortName,
PSECURITY_QUALITY_OF_SERVICE SecurityQos,
- PLPC_SECTION_WRITE SectionInfo,
- PLPC_SECTION_READ MapInfo,
+ PPORT_VIEW SectionInfo,
+ PREMOTE_PORT_VIEW MapInfo,
PULONG MaxMessageSize,
PVOID ConnectInfo,
PULONG ConnectInfoLength
NtConnectPort (PHANDLE UnsafeConnectedPortHandle,
PUNICODE_STRING PortName,
PSECURITY_QUALITY_OF_SERVICE Qos,
- PLPC_SECTION_WRITE UnsafeWriteMap,
- PLPC_SECTION_READ UnsafeReadMap,
+ PPORT_VIEW UnsafeWriteMap,
+ PREMOTE_PORT_VIEW UnsafeReadMap,
PULONG UnsafeMaximumMessageSize,
PVOID UnsafeConnectData,
PULONG UnsafeConnectDataLength)
{
HANDLE ConnectedPortHandle;
- LPC_SECTION_WRITE WriteMap;
- LPC_SECTION_READ ReadMap;
+ PORT_VIEW WriteMap;
+ REMOTE_PORT_VIEW ReadMap;
ULONG MaximumMessageSize;
PVOID ConnectData = NULL;
ULONG ConnectDataLength = 0;
_SEH_TRY
{
ProbeForWrite(UnsafeWriteMap,
- sizeof(LPC_SECTION_WRITE),
+ sizeof(PORT_VIEW),
1);
RtlCopyMemory(&WriteMap,
UnsafeWriteMap,
- sizeof(LPC_SECTION_WRITE));
+ sizeof(PORT_VIEW));
}
_SEH_HANDLE
{
{
RtlCopyMemory(&WriteMap,
UnsafeWriteMap,
- sizeof(LPC_SECTION_WRITE));
+ sizeof(PORT_VIEW));
}
- if (WriteMap.Length != sizeof(LPC_SECTION_WRITE))
+ if (WriteMap.Length != sizeof(PORT_VIEW))
{
return(STATUS_INVALID_PARAMETER_4);
}
SectionOffset,
WriteMap.ViewSize,
&WriteMap.ViewBase,
- &WriteMap.TargetViewBase,
+ &WriteMap.ViewRemoteBase,
&ReadMap.ViewSize,
&ReadMap.ViewBase,
&MaximumMessageSize,
{
RtlCopyMemory(UnsafeWriteMap,
&WriteMap,
- sizeof(LPC_SECTION_WRITE));
+ sizeof(PORT_VIEW));
}
if (UnsafeReadMap != NULL)
{
RtlCopyMemory(UnsafeReadMap,
&ReadMap,
- sizeof(LPC_SECTION_READ));
+ sizeof(REMOTE_PORT_VIEW));
}
if (UnsafeMaximumMessageSize != NULL)
{
RtlCopyMemory(UnsafeWriteMap,
&WriteMap,
- sizeof(LPC_SECTION_WRITE));
+ sizeof(PORT_VIEW));
}
if (UnsafeReadMap != NULL)
{
RtlCopyMemory(UnsafeReadMap,
&ReadMap,
- sizeof(LPC_SECTION_READ));
+ sizeof(REMOTE_PORT_VIEW));
}
if (UnsafeMaximumMessageSize != NULL)
HANDLE NamedPortHandle,
PPORT_MESSAGE LpcMessage,
BOOLEAN AcceptIt,
- PLPC_SECTION_WRITE WriteMap,
- PLPC_SECTION_READ ReadMap)
+ PPORT_VIEW WriteMap,
+ PREMOTE_PORT_VIEW ReadMap)
{
NTSTATUS Status;
PEPORT NamedPort;
}
SectionOffset.QuadPart = WriteMap->SectionOffset;
- WriteMap->TargetViewBase = 0;
+ WriteMap->ViewRemoteBase = 0;
CReply->ReceiveClientViewSize = WriteMap->ViewSize;
Status = MmMapViewOfSection(SectionObject,
CRequest->ConnectingProcess,
- &WriteMap->TargetViewBase,
+ &WriteMap->ViewRemoteBase,
0,
CReply->ReceiveClientViewSize,
&SectionOffset,
}
if (WriteMap != NULL)
{
- CReply->ReceiveClientViewBase = WriteMap->TargetViewBase;
+ CReply->ReceiveClientViewBase = WriteMap->ViewRemoteBase;
}
CReply->MaximumMessageSize = LPC_MAX_MESSAGE_LENGTH;
NtSecureConnectPort (OUT PHANDLE ConnectedPort,
IN PUNICODE_STRING PortName,
IN PSECURITY_QUALITY_OF_SERVICE Qos,
- IN OUT PLPC_SECTION_WRITE WriteMap OPTIONAL,
+ IN OUT PPORT_VIEW WriteMap OPTIONAL,
IN PSID ServerSid OPTIONAL,
- IN OUT PLPC_SECTION_READ ReadMap OPTIONAL,
+ IN OUT PREMOTE_PORT_VIEW ReadMap OPTIONAL,
OUT PULONG MaxMessageSize OPTIONAL,
IN OUT PVOID ConnectInfo OPTIONAL,
IN OUT PULONG UserConnectInfoLength OPTIONAL)