Added parameters to NtXxxPort functions prototypes
Alberto Massari
alby at exln.com
Tue Dec 10 04:42:04 CST 2002
Changelog:
- Added parameters to NtXxxPort functions prototypes (as reported by "Undocumented Windows NT" - from http://www.windowsitlibrary.com/Documents/Book.cfm?DocumentID=356)
Alberto
Index: nt.c
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/nt.c,v
retrieving revision 1.47
diff -u -r1.47 nt.c
--- nt.c 5 Dec 2002 19:56:16 -0000 1.47
+++ nt.c 10 Dec 2002 10:31:22 -0000
@@ -33,6 +33,41 @@
WINE_DEFAULT_DEBUG_CHANNEL(ntdll);
+/* Structures used by NtConnectPort */
+
+typedef struct LpcSectionInfo
+{
+ DWORD Length;
+ HANDLE SectionHandle;
+ DWORD Param1;
+ DWORD SectionSize;
+ DWORD ClientBaseAddress;
+ DWORD ServerBaseAddress;
+} LPCSECTIONINFO, *PLPCSECTIONINFO;
+
+typedef struct LpcSectionMapInfo
+{
+ DWORD Length;
+ DWORD SectionSize;
+ DWORD ServerBaseAddress;
+} LPCSECTIONMAPINFO, *PLPCSECTIONMAPINFO;
+
+/* Structure used by NtAcceptConnectPort, NtReplyWaitReceivePort */
+
+#define MAX_MESSAGE_DATA 328
+
+typedef struct LpcMessage
+{
+ WORD ActualMessageLength;
+ WORD TotalMessageLength;
+ DWORD MessageType;
+ DWORD ClientProcessId;
+ DWORD ClientThreadId;
+ DWORD MessageId;
+ DWORD SharedSectionSize;
+ BYTE MessageData[MAX_MESSAGE_DATA];
+} LPCMESSAGE, *PLPCMESSAGE;
+
/*
* Timer object
*/
@@ -440,81 +475,100 @@
* NtCreatePort [NTDLL.@]
* ZwCreatePort [NTDLL.@]
*/
-NTSTATUS WINAPI NtCreatePort(DWORD x1,DWORD x2,DWORD x3,DWORD x4,DWORD x5)
+NTSTATUS WINAPI NtCreatePort(PHANDLE PortHandle,POBJECT_ATTRIBUTES ObjectAttributes,
+ DWORD MaxConnectInfoLength,DWORD MaxDataLength,DWORD unknown)
{
- FIXME("(0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4,x5);
- return 0;
+ FIXME("(%p,%p,0x%08lx,0x%08lx,0x%08lx),stub!\n",PortHandle,ObjectAttributes,
+ MaxConnectInfoLength,MaxDataLength,unknown);
+ return 0;
}
/******************************************************************************
* NtConnectPort [NTDLL.@]
* ZwConnectPort [NTDLL.@]
*/
-NTSTATUS WINAPI NtConnectPort(DWORD x1,PUNICODE_STRING uni,DWORD x3,DWORD x4,DWORD x5,DWORD x6,DWORD x7,DWORD x8)
-{
- FIXME("(0x%08lx,%s,0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",
- x1,debugstr_w(uni->Buffer),x3,x4,x5,x6,x7,x8);
- return 0;
+NTSTATUS WINAPI NtConnectPort(PHANDLE PortHandle,PUNICODE_STRING PortName,PVOID Unknown1,
+ PLPCSECTIONINFO sectionInfo,PLPCSECTIONMAPINFO mapInfo,PVOID Unknown2,
+ PVOID ConnectInfo,PDWORD pConnectInfoLength)
+{
+ FIXME("(%p,%s,%p,%p,%p,%p,%p,%p (%ld)),stub!\n",PortHandle,debugstr_w(PortName->Buffer),Unknown1,
+ sectionInfo,mapInfo,Unknown2,ConnectInfo,pConnectInfoLength,pConnectInfoLength?*pConnectInfoLength:-1);
+ if(ConnectInfo && pConnectInfoLength)
+ TRACE("\tMessage = %s\n",debugstr_an(ConnectInfo,*pConnectInfoLength));
+ return 0;
}
/******************************************************************************
* NtListenPort [NTDLL.@]
* ZwListenPort [NTDLL.@]
*/
-NTSTATUS WINAPI NtListenPort(DWORD x1,DWORD x2)
+NTSTATUS WINAPI NtListenPort(HANDLE PortHandle,PLPCMESSAGE pLpcMessage)
{
- FIXME("(0x%08lx,0x%08lx),stub!\n",x1,x2);
- return 0;
+ FIXME("(%p,%p),stub!\n",PortHandle,pLpcMessage);
+ return 0;
}
/******************************************************************************
* NtAcceptConnectPort [NTDLL.@]
* ZwAcceptConnectPort [NTDLL.@]
*/
-NTSTATUS WINAPI NtAcceptConnectPort(DWORD x1,DWORD x2,DWORD x3,DWORD x4,DWORD x5,DWORD x6)
+NTSTATUS WINAPI NtAcceptConnectPort(PHANDLE PortHandle,DWORD Unknown,PLPCMESSAGE pLpcMessage,
+ DWORD acceptIt,DWORD Unknown2,PLPCSECTIONMAPINFO mapInfo)
{
- FIXME("(0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4,x5,x6);
- return 0;
+ FIXME("(%p,0x%08lx,%p,0x%08lx,0x%08lx,%p),stub!\n",PortHandle,Unknown,pLpcMessage,acceptIt,Unknown2,mapInfo);
+ return 0;
}
/******************************************************************************
* NtCompleteConnectPort [NTDLL.@]
* ZwCompleteConnectPort [NTDLL.@]
*/
-NTSTATUS WINAPI NtCompleteConnectPort(DWORD x1)
+NTSTATUS WINAPI NtCompleteConnectPort(HANDLE PortHandle)
{
- FIXME("(0x%08lx),stub!\n",x1);
- return 0;
+ FIXME("(%p),stub!\n",PortHandle);
+ return 0;
}
/******************************************************************************
* NtRegisterThreadTerminatePort [NTDLL.@]
* ZwRegisterThreadTerminatePort [NTDLL.@]
*/
-NTSTATUS WINAPI NtRegisterThreadTerminatePort(DWORD x1)
+NTSTATUS WINAPI NtRegisterThreadTerminatePort(HANDLE PortHandle)
{
- FIXME("(0x%08lx),stub!\n",x1);
- return 0;
+ FIXME("(%p),stub!\n",PortHandle);
+ return 0;
}
/******************************************************************************
* NtRequestWaitReplyPort [NTDLL.@]
* ZwRequestWaitReplyPort [NTDLL.@]
*/
-NTSTATUS WINAPI NtRequestWaitReplyPort(DWORD x1,DWORD x2,DWORD x3)
+NTSTATUS WINAPI NtRequestWaitReplyPort(HANDLE PortHandle,PLPCMESSAGE pLpcMessageIn,PLPCMESSAGE pLpcMessageOut)
{
- FIXME("(0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3);
- return 0;
+ FIXME("(%p,%p,%p),stub!\n",PortHandle,pLpcMessageIn,pLpcMessageOut);
+ if(pLpcMessageIn)
+ {
+ TRACE("Message to send:\n");
+ TRACE("\tActualMessageLength = %d\n",pLpcMessageIn->ActualMessageLength);
+ TRACE("\tTotalMessageLength = %d\n",pLpcMessageIn->TotalMessageLength);
+ TRACE("\tMessageType = %ld\n",pLpcMessageIn->MessageType);
+ TRACE("\tClientProcessId = %ld\n",pLpcMessageIn->ClientProcessId);
+ TRACE("\tClientThreadId = %ld\n",pLpcMessageIn->ClientThreadId);
+ TRACE("\tMessageId = %ld\n",pLpcMessageIn->MessageId);
+ TRACE("\tSharedSectionSize = %ld\n",pLpcMessageIn->SharedSectionSize);
+ TRACE("\tMessageData = %s\n",debugstr_an(pLpcMessageIn->MessageData,pLpcMessageIn->ActualMessageLength));
+ }
+ return 0;
}
/******************************************************************************
* NtReplyWaitReceivePort [NTDLL.@]
* ZwReplyWaitReceivePort [NTDLL.@]
*/
-NTSTATUS WINAPI NtReplyWaitReceivePort(DWORD x1,DWORD x2,DWORD x3,DWORD x4)
+NTSTATUS WINAPI NtReplyWaitReceivePort(HANDLE PortHandle,PDWORD Unknown,PLPCMESSAGE pLpcMessageOut,PLPCMESSAGE pLpcMessageIn)
{
- FIXME("(0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4);
- return 0;
+ FIXME("(%p,%p,%p,%p),stub!\n",PortHandle,Unknown,pLpcMessageOut,pLpcMessageIn);
+ return 0;
}
/*
Index: ntdll.spec
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/ntdll.spec,v
retrieving revision 1.83
diff -u -r1.83 ntdll.spec
--- ntdll.spec 27 Nov 2002 20:21:24 -0000 1.83
+++ ntdll.spec 10 Dec 2002 10:31:22 -0000
@@ -54,7 +54,7 @@
@ extern NlsAnsiCodePage NlsAnsiCodePage
@ extern NlsMbCodePageTag NlsMbCodePageTag
@ extern NlsMbOemCodePageTag NlsMbOemCodePageTag
-@ stdcall NtAcceptConnectPort(long long long long long long) NtAcceptConnectPort
+@ stdcall NtAcceptConnectPort(ptr long ptr long long ptr) NtAcceptConnectPort
@ stdcall NtAccessCheck(ptr long long ptr ptr ptr ptr ptr) NtAccessCheck
@ stub NtAccessCheckAndAuditAlarm
@ stub NtAdjustGroupsToken
@@ -70,8 +70,8 @@
@ stdcall NtClearEvent(long) NtClearEvent
@ stdcall NtClose(long) NtClose
@ stub NtCloseObjectAuditAlarm
-@ stdcall NtCompleteConnectPort(long) NtCompleteConnectPort
-@ stdcall NtConnectPort(long long long long long long long long) NtConnectPort
+@ stdcall NtCompleteConnectPort(ptr) NtCompleteConnectPort
+@ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) NtConnectPort
@ stub NtContinue
@ stdcall NtCreateDirectoryObject(long long long) NtCreateDirectoryObject
@ stdcall NtCreateEvent(long long long long long) NtCreateEvent
@@ -83,7 +83,7 @@
@ stub NtCreateMutant
@ stub NtCreateNamedPipeFile
@ stdcall NtCreatePagingFile(long long long long) NtCreatePagingFile
-@ stdcall NtCreatePort(long long long long long) NtCreatePort
+@ stdcall NtCreatePort(ptr ptr long long long) NtCreatePort
@ stub NtCreateProcess
@ stub NtCreateProfile
@ stdcall NtCreateSection(ptr long ptr ptr long long long) NtCreateSection
@@ -118,7 +118,7 @@
@ stub NtImpersonateClientOfPort
@ stub NtImpersonateThread
@ stub NtInitializeRegistry
-@ stdcall NtListenPort(long long) NtListenPort
+@ stdcall NtListenPort(ptr ptr) NtListenPort
@ stub NtLoadDriver
@ stdcall NtLoadKey(ptr ptr) NtLoadKey
@ stub NtLockFile
@@ -185,18 +185,18 @@
@ stub NtReadRequestData
@ stub NtReadVirtualMemory
@ stub NtRegisterNewDevice
-@ stdcall NtRegisterThreadTerminatePort(long) NtRegisterThreadTerminatePort
+@ stdcall NtRegisterThreadTerminatePort(ptr) NtRegisterThreadTerminatePort
@ stub NtReleaseMutant
@ stub NtReleaseProcessMutant
@ stdcall NtReleaseSemaphore(long long ptr) NtReleaseSemaphore
@ stub NtRemoveIoCompletion
@ stdcall NtReplaceKey(ptr long ptr) NtReplaceKey
@ stub NtReplyPort
-@ stdcall NtReplyWaitReceivePort(long long long long) NtReplyWaitReceivePort
+@ stdcall NtReplyWaitReceivePort(ptr ptr ptr ptr) NtReplyWaitReceivePort
@ stub NtReplyWaitReceivePortEx
@ stub NtReplyWaitReplyPort
@ stub NtRequestPort
-@ stdcall NtRequestWaitReplyPort(long long long) NtRequestWaitReplyPort
+@ stdcall NtRequestWaitReplyPort(ptr ptr ptr) NtRequestWaitReplyPort
@ stdcall NtResetEvent(long ptr) NtResetEvent
@ stdcall NtRestoreKey(long long long) NtRestoreKey
@ stdcall NtResumeThread(long long) NtResumeThread
@@ -574,7 +574,7 @@
@ stdcall RtlxUnicodeStringToAnsiSize(ptr) RtlUnicodeStringToAnsiSize
@ stdcall RtlxUnicodeStringToOemSize(ptr) RtlUnicodeStringToOemSize
@ stub SaveEm87Context
-@ stdcall ZwAcceptConnectPort(long long long long long long) NtAcceptConnectPort
+@ stdcall ZwAcceptConnectPort(ptr long ptr long long ptr) NtAcceptConnectPort
@ stdcall ZwAccessCheck(ptr long long ptr ptr ptr ptr ptr) NtAccessCheck
@ stub ZwAccessCheckAndAuditAlarm
@ stdcall ZwAdjustGroupsToken(long long long long long long) NtAdjustPrivilegesToken
@@ -590,8 +590,8 @@
@ stdcall ZwClearEvent(long) NtClearEvent
@ stdcall ZwClose(long) NtClose
@ stub ZwCloseObjectAuditAlarm
-@ stdcall ZwCompleteConnectPort(long) NtCompleteConnectPort
-@ stdcall ZwConnectPort(long long long long long long long long) NtConnectPort
+@ stdcall ZwCompleteConnectPort(ptr) NtCompleteConnectPort
+@ stdcall ZwConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) NtConnectPort
@ stub ZwContinue
@ stdcall ZwCreateDirectoryObject(long long long) NtCreateDirectoryObject
@ stdcall ZwCreateEvent(long long long long long) NtCreateEvent
@@ -603,7 +603,7 @@
@ stub ZwCreateMutant
@ stub ZwCreateNamedPipeFile
@ stdcall ZwCreatePagingFile(long long long long) NtCreatePagingFile
-@ stdcall ZwCreatePort(long long long long long) NtCreatePort
+@ stdcall ZwCreatePort(ptr ptr long long long) NtCreatePort
@ stub ZwCreateProcess
@ stub ZwCreateProfile
@ stdcall ZwCreateSection(ptr long ptr ptr long long long) NtCreateSection
@@ -637,7 +637,7 @@
@ stub ZwImpersonateClientOfPort
@ stub ZwImpersonateThread
@ stub ZwInitializeRegistry
-@ stdcall ZwListenPort(long long) NtListenPort
+@ stdcall ZwListenPort(ptr ptr) NtListenPort
@ stub ZwLoadDriver
@ stdcall ZwLoadKey(ptr ptr) NtLoadKey
@ stub ZwLockFile
@@ -704,17 +704,17 @@
@ stub ZwReadRequestData
@ stub ZwReadVirtualMemory
@ stub ZwRegisterNewDevice
-@ stdcall ZwRegisterThreadTerminatePort(long) NtRegisterThreadTerminatePort
+@ stdcall ZwRegisterThreadTerminatePort(ptr) NtRegisterThreadTerminatePort
@ stub ZwReleaseMutant
@ stub ZwReleaseProcessMutant
@ stdcall ZwReleaseSemaphore(long long ptr) NtReleaseSemaphore
@ stub ZwRemoveIoCompletion
@ stdcall ZwReplaceKey(ptr long ptr) NtReplaceKey
@ stub ZwReplyPort
-@ stdcall ZwReplyWaitReceivePort(long long long long) NtReplyWaitReceivePort
+@ stdcall ZwReplyWaitReceivePort(ptr ptr ptr ptr) NtReplyWaitReceivePort
@ stub ZwReplyWaitReplyPort
@ stub ZwRequestPort
-@ stdcall ZwRequestWaitReplyPort(long long long) NtRequestWaitReplyPort
+@ stdcall ZwRequestWaitReplyPort(ptr ptr ptr) NtRequestWaitReplyPort
@ stdcall ZwResetEvent(long ptr) NtResetEvent
@ stdcall ZwRestoreKey(long long long) NtRestoreKey
@ stdcall ZwResumeThread(long long) NtResumeThread
More information about the wine-patches
mailing list