Lots of stubs to get winlogon.exe from nt3.51 and other NT3.51 applets

a bit further.
This commit is contained in:
Marcus Meissner 1998-10-31 12:19:56 +00:00 committed by Alexandre Julliard
parent 4f7abc05c2
commit 8143accee2
5 changed files with 217 additions and 35 deletions

View File

@ -431,7 +431,7 @@ WINAPI RtlUnicodeStringToOemString(LPANSI_STRING oem,LPUNICODE_STRING uni,BOOL32
* RtlUnicodeStringToAnsiString [NTDLL.507]
*/
DWORD /* NTSTATUS */
WINAPI RtlUnicodeStringToAnsiString(LPUNICODE_STRING uni,LPANSI_STRING oem,BOOL32 alloc)
WINAPI RtlUnicodeStringToAnsiString(LPANSI_STRING oem,LPUNICODE_STRING uni,BOOL32 alloc)
{
if (alloc) {
oem->Buffer = (LPSTR)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,uni->Length/2)+1;
@ -454,10 +454,11 @@ DWORD WINAPI RtlNtStatusToDosError(DWORD error)
/**************************************************************************
* RtlGetNtProductType [NTDLL.390]
*/
DWORD WINAPI RtlGetNtProductType(LPVOID x)
BOOL32 WINAPI RtlGetNtProductType(LPDWORD type)
{
FIXME(ntdll, "(%p): stub\n", x);
return 0;
FIXME(ntdll, "(%p): stub\n", type);
*type=3; /* dunno. 1 for client, 3 for server? */
return 1;
}
/**************************************************************************
@ -760,11 +761,9 @@ WINAPI RtlExtendedIntegerMultiply(
#endif
}
DWORD WINAPI NtOpenKey(DWORD x1,DWORD x2,DWORD x3) {
FIXME(ntdll,"(0x%08lx(%s),0x%08lx,0x%08lx),stub!\n",x1,
debugstr_w(*(LPWSTR*)x1),x2,x3);
/* hmm... */
return RegOpenKey32W(x2,*(LPWSTR*)x1,x3);
DWORD WINAPI NtOpenKey(DWORD x1,DWORD x2,LPUNICODE_STRING key) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx(%s)),stub!\n",x1,x2,key,key->Buffer);
return RegOpenKey32W(HKEY_LOCAL_MACHINE,key->Buffer,x1);
}
DWORD WINAPI NtQueryValueKey(DWORD x1,DWORD x2,DWORD x3,DWORD x4,DWORD x5,DWORD x6) {
@ -855,11 +854,148 @@ DWORD WINAPI RtlEqualSid(DWORD x1,DWORD x2)
{ FIXME(ntdll,"(0x%08lx,0x%08lx),stub!\n", x1,x2);
return TRUE;
}
/******************************************************************************
* RtlFreeSid [NTDLL.376]
*
*/
DWORD WINAPI RtlFreeSid(DWORD x1)
{ FIXME(ntdll,"(0x%08lx),stub!\n", x1);
return TRUE;
}
/******************************************************************************
* NtCreatePagingFile [NTDLL]
*/
DWORD WINAPI NtCreatePagingFile(DWORD x1,DWORD x2,DWORD x3,DWORD x4) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4);
return 0;
}
/******************************************************************************
* RtlGetDaclSecurityDescriptor [NTDLL]
*/
DWORD WINAPI RtlGetDaclSecurityDescriptor(DWORD x1,DWORD x2,DWORD x3,DWORD x4) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4);
return 0;
}
/******************************************************************************
* NtDuplicateObject [NTDLL]
*/
DWORD WINAPI NtDuplicateObject(DWORD x1,DWORD x2,DWORD x3,DWORD x4,DWORD x5,
DWORD x6,DWORD x7
) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4,x5,x6,x7);
return 0;
}
/******************************************************************************
* RtlCreateEnvironment [NTDLL]
*/
DWORD WINAPI RtlCreateEnvironment(DWORD x1,DWORD x2) {
FIXME(ntdll,"(0x%08lx,0x%08lx),stub!\n",x1,x2);
return 0;
}
/******************************************************************************
* RtlDestroyEnvironment [NTDLL]
*/
DWORD WINAPI RtlDestroyEnvironment(DWORD x) {
FIXME(ntdll,"(0x%08lx),stub!\n",x);
return 0;
}
/******************************************************************************
* RtlQueryEnvironmentVariable_U [NTDLL]
*/
DWORD WINAPI RtlQueryEnvironmentVariable_U(DWORD x1,DWORD x2,DWORD x3) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3);
return 0;
}
/******************************************************************************
* RtlSetEnvironmentVariable [NTDLL]
*/
DWORD WINAPI RtlSetEnvironmentVariable(DWORD x1,DWORD x2,DWORD x3) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3);
return 0;
}
/******************************************************************************
* NtDuplicateToken [NTDLL]
*/
DWORD WINAPI NtDuplicateToken(
DWORD x1,DWORD x2,DWORD x3,DWORD x4,DWORD x5,DWORD x6
) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4,x5,x6);
return 0;
}
/******************************************************************************
* NtAdjustPrivilegesToken [NTDLL]
*/
DWORD WINAPI NtAdjustPrivilegesToken(
DWORD x1,DWORD x2,DWORD x3,DWORD x4,DWORD x5,DWORD x6
) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4,x5,x6);
return 0;
}
/******************************************************************************
* NtOpenProcessToken [NTDLL]
*/
DWORD WINAPI NtOpenProcessToken(DWORD x1,DWORD x2,DWORD x3) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3);
return 0;
}
/******************************************************************************
* NtSetInformationThread [NTDLL]
*/
DWORD WINAPI NtSetInformationThread(DWORD x1,DWORD x2,DWORD x3,DWORD x4) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4);
return 0;
}
/******************************************************************************
* NtOpenThreadToken [NTDLL]
*/
DWORD WINAPI NtOpenThreadToken(DWORD x1,DWORD x2,DWORD x3,DWORD x4) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4);
return 0;
}
/******************************************************************************
* RtlNewSecurityObject [NTDLL]
*/
DWORD WINAPI RtlNewSecurityObject(DWORD x1,DWORD x2,DWORD x3,DWORD x4,DWORD x5,DWORD x6) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4,x5,x6);
return 0;
}
/******************************************************************************
* RtlDeleteSecurityObject [NTDLL]
*/
DWORD WINAPI RtlDeleteSecurityObject(DWORD x1) {
FIXME(ntdll,"(0x%08lx),stub!\n",x1);
return 0;
}
/******************************************************************************
* NtSetVolumeInformationFile [NTDLL]
*/
DWORD WINAPI NtSetVolumeInformationFile(DWORD x1,DWORD x2,DWORD x3,DWORD x4,
DWORD x5
) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4,x5);
return 0;
}
/******************************************************************************
* NtCreatePort [NTDLL]
*/
DWORD WINAPI NtCreatePort(DWORD x1,DWORD x2,DWORD x3,DWORD x4,DWORD x5) {
FIXME(ntdll,"(0x%08lx,0x%08lx,0x%08lx,0x%08lx,0x%08lx),stub!\n",x1,x2,x3,x4,x5);
return 0;
}

View File

@ -55,7 +55,7 @@ type win32
052 stub NtAccessCheck
053 stub NtAccessCheckAndAuditAlarm
054 stub NtAdjustGroupsToken
055 stub NtAdjustPrivilegesToken
055 stdcall NtAdjustPrivilegesToken(long long long long long long) NtAdjustPrivilegesToken
056 stub NtAlertResumeThread
057 stub NtAlertThread
058 stub NtAllocateLocallyUniqueId
@ -79,8 +79,8 @@ type win32
076 stub NtCreateMailslotFile
077 stub NtCreateMutant
078 stub NtCreateNamedPipeFile
079 stub NtCreatePagingFile
080 stub NtCreatePort
079 stdcall NtCreatePagingFile(long long long long) NtCreatePagingFile
080 stdcall NtCreatePort(long long long long long) NtCreatePort
081 stub NtCreateProcess
082 stub NtCreateProfile
083 stub NtCreateSection
@ -96,8 +96,8 @@ type win32
093 stub NtDeleteValueKey
094 stdcall NtDeviceIoControlFile(long long long long long long long long long long) NtDeviceIoControlFile
095 stub NtDisplayString
096 stub NtDuplicateObject
097 stub NtDuplicateToken
096 stdcall NtDuplicateObject(long long long long long long long) NtDuplicateObject
097 stdcall NtDuplicateToken(long long long long long long) NtDuplicateToken
098 stub NtEnumerateBus
099 stub NtEnumerateKey
100 stub NtEnumerateValueKey
@ -133,12 +133,12 @@ type win32
130 stub NtOpenMutant
131 stub NtOpenObjectAuditAlarm
132 stub NtOpenProcess
133 stub NtOpenProcessToken
133 stdcall NtOpenProcessToken(long long long) NtOpenProcessToken
134 stub NtOpenSection
135 stub NtOpenSemaphore
136 stub NtOpenSymbolicLinkObject
137 stub NtOpenThread
138 stub NtOpenThreadToken
138 stdcall NtOpenThreadToken(long long long long) NtOpenThreadToken
139 stub NtOpenTimer
140 stub NtPlugPlayControl
141 stub NtPrivilegeCheck
@ -169,7 +169,7 @@ type win32
166 stub NtQuerySymbolicLinkObject
167 stub NtQuerySystemEnvironmentValue
168 stdcall NtQuerySystemInformation(long long long long) NtQuerySystemInformation
169 stub NtQuerySystemTime
169 stdcall NtQuerySystemTime(ptr) GetSystemTimeAsFileTime
170 stub NtQueryTimer
171 stdcall NtQueryTimerResolution(long long long) NtQueryTimerResolution
172 stdcall NtQueryValueKey(long long long long long long) NtQueryValueKey
@ -208,7 +208,7 @@ type win32
205 stub NtSetInformationKey
206 stub NtSetInformationObject
207 stdcall NtSetInformationProcess(long long long long) NtSetInformationProcess
208 stub NtSetInformationThread
208 stdcall NtSetInformationThread(long long long long) NtSetInformationThread
209 stub NtSetInformationToken
210 stub NtSetIntervalProfile
211 stub NtSetIoCompletion
@ -224,7 +224,7 @@ type win32
221 stdcall NtSetTimer(long long long long long long) NtSetTimer
222 stub NtSetTimerResolution
223 stub NtSetValueKey
224 stub NtSetVolumeInformationFile
224 stdcall NtSetVolumeInformationFile(long long long long long) NtSetVolumeInformationFile
225 stub NtShutdownSystem
226 stub NtStartProfile
227 stub NtStopProfile
@ -308,7 +308,7 @@ type win32
305 stub RtlCopyUnicodeString
306 stdcall RtlCreateAcl(ptr long long) RtlCreateAcl
307 stub RtlCreateAndSetSD
308 stub RtlCreateEnvironment
308 stdcall RtlCreateEnvironment(long long) RtlCreateEnvironment
309 stdcall RtlCreateHeap(long long long) HeapCreate
310 stub RtlCreateProcessParameters
311 stub RtlCreateQueryDebugBuffer
@ -331,8 +331,8 @@ type win32
328 stub RtlDeleteElementGenericTable
329 stub RtlDeleteRegistryValue
330 stub RtlDeleteResource
331 stub RtlDeleteSecurityObject
332 stub RtlDestroyEnvironment
331 stdcall RtlDeleteSecurityObject(long) RtlDeleteSecurityObject
332 stdcall RtlDestroyEnvironment(long) RtlDestroyEnvironment
333 stub RtlDestroyHeap
334 stub RtlDestroyProcessParameters
335 stub RtlDestroyQueryDebugBuffer
@ -384,7 +384,7 @@ type win32
381 stub RtlGetCompressionWorkSpaceSize
382 stub RtlGetControlSecurityDescriptor
383 stub RtlGetCurrentDirectory_U
384 stub RtlGetDaclSecurityDescriptor
384 stdcall RtlGetDaclSecurityDescriptor(long long long long) RtlGetDaclSecurityDescriptor
385 stub RtlGetElementGenericTable
386 stub RtlGetFullPathName_U
387 stub RtlGetGroupSecurityDescriptor
@ -440,7 +440,7 @@ type win32
437 stub RtlMultiByteToUnicodeSize
438 stub RtlNewInstanceSecurityObject
439 stub RtlNewSecurityGrantedAccess
440 stub RtlNewSecurityObject
440 stdcall RtlNewSecurityObject(long long long long long long) RtlNewSecurityObject
441 stdcall RtlNormalizeProcessParams(ptr) RtlNormalizeProcessParams
442 stdcall RtlNtStatusToDosError(long) RtlNtStatusToDosError
443 stub RtlNumberGenericTableElements
@ -454,7 +454,7 @@ type win32
451 stub RtlPrefixString
452 stub RtlPrefixUnicodeString
453 stub RtlProtectHeap
454 stub RtlQueryEnvironmentVariable_U
454 stdcall RtlQueryEnvironmentVariable_U(long long long) RtlQueryEnvironmentVariable_U
455 stub RtlQueryInformationAcl
456 stub RtlQueryProcessBackTraceInformation
457 stub RtlQueryProcessDebugInformation
@ -484,7 +484,7 @@ type win32
481 stub RtlSetCurrentDirectory_U
482 stub RtlSetCurrentEnvironment
483 stdcall RtlSetDaclSecurityDescriptor(ptr long ptr long) RtlSetDaclSecurityDescriptor
484 stub RtlSetEnvironmentVariable
484 stdcall RtlSetEnvironmentVariable(long long long) RtlSetEnvironmentVariable
485 stdcall RtlSetGroupSecurityDescriptor(ptr ptr long) RtlSetGroupSecurityDescriptor
486 stub RtlSetInformationAcl
487 stdcall RtlSetOwnerSecurityDescriptor(ptr ptr long) RtlSetOwnerSecurityDescriptor

View File

@ -74,6 +74,7 @@ int RELAY_CallFrom32( int ret_addr, ... )
FARPROC32 func;
unsigned int mask, typemask;
WORD fs;
DWORD deadbeef = 0xdeadbeef,*xdeadbeef = &deadbeef;
int *args = &ret_addr;
/* Relay addr is the return address for this function */
@ -188,6 +189,7 @@ int RELAY_CallFrom32( int ret_addr, ... )
if(show)
DPRINTF( "Ret %s() retval=%08x ret=%08x fs=%04x\n",
buffer, ret, ret_addr, fs );
assert(*xdeadbeef==0xdeadbeef);
return ret;
}

View File

@ -69,7 +69,7 @@ type win32
66 stdcall CreateCaret(long long long long) CreateCaret32
67 stdcall CreateCursor(long long long long long ptr ptr) CreateCursor32
68 stub CreateDesktopA
69 stub CreateDesktopW
69 stdcall CreateDesktopW(wstr wstr ptr long long ptr) CreateDesktop32W
70 stdcall CreateDialogIndirectParamA(long ptr long ptr long) CreateDialogIndirectParam32A
71 stdcall CreateDialogIndirectParamAorW (long ptr long ptr long) CreateDialogIndirectParam32AorW
72 stdcall CreateDialogIndirectParamW(long ptr long ptr long) CreateDialogIndirectParam32W
@ -86,7 +86,7 @@ type win32
83 stdcall CreateWindowExA(long str str long long long long long long long long ptr) CreateWindowEx32A
84 stdcall CreateWindowExW(long wstr wstr long long long long long long long long ptr) CreateWindowEx32W
85 stub CreateWindowStationA
86 stub CreateWindowStationW
86 stdcall CreateWindowStationW(wstr long long ptr) CreateWindowStation32W
87 stub DdeAbandonTransaction
88 stub DdeAccessData
89 stub DdeAddData
@ -434,7 +434,7 @@ type win32
431 stdcall RegisterClipboardFormatA(str) RegisterClipboardFormat32A
432 stdcall RegisterClipboardFormatW(wstr) RegisterClipboardFormat32W
433 stdcall RegisterHotKey(long long long long) RegisterHotKey
434 stub RegisterLogonProcess
434 stdcall RegisterLogonProcess(long long) RegisterLogonProcess
435 stub RegisterSystemThread
436 stdcall RegisterTasklist (long) RegisterTaskList32
437 stdcall RegisterWindowMessageA(ptr) RegisterWindowMessage32A
@ -496,7 +496,7 @@ type win32
493 stub SetMessageExtraInfo
494 stdcall SetMessageQueue(long) SetMessageQueue32
495 stdcall SetParent(long long) SetParent32
496 stub SetProcessWindowStation
496 stdcall SetProcessWindowStation(long) SetProcessWindowStation
497 stdcall SetPropA(long str long) SetProp32A
498 stdcall SetPropW(long wstr long) SetProp32W
499 stdcall SetRect(ptr long long long long) SetRect32
@ -514,14 +514,14 @@ type win32
511 stdcall SetTimer(long long long ptr) SetTimer32
512 stdcall SetUserObjectInformationA(long long long long) SetUserObjectInformation32A
513 stub SetUserObjectInformationW
514 stub SetUserObjectSecurity
514 stdcall SetUserObjectSecurity(long ptr ptr) SetUserObjectSecurity
515 stdcall SetWindowContextHelpId(long long) SetWindowContextHelpId
516 stub SetWindowFullScreenState
517 stdcall SetWindowLongA(long long long) SetWindowLong32A
518 stdcall SetWindowLongW(long long long) SetWindowLong32W
519 stdcall SetWindowPlacement(long ptr) SetWindowPlacement32
520 stdcall SetWindowPos(long long long long long long long) SetWindowPos32
521 stub SetWindowStationUser
521 stdcall SetWindowStationUser(long long) SetWindowStationUser
522 stdcall SetWindowTextA(long str) SetWindowText32A
523 stdcall SetWindowTextW(long wstr) SetWindowText32W
524 stdcall SetWindowWord(long long long) SetWindowWord32

View File

@ -421,3 +421,47 @@ DWORD WINAPI UserSeeUserDo(WORD wReqType, WORD wParam1, WORD wParam2, WORD wPara
}
}
DWORD WINAPI RegisterLogonProcess(HANDLE32 hprocess,BOOL32 x) {
FIXME(win32,"(%d,%d),stub!\n",hprocess,x);
return 1;
}
HANDLE32 /* HWINSTA */ WINAPI CreateWindowStation32W(
LPWSTR winstation,DWORD res1,DWORD desiredaccess,
LPSECURITY_ATTRIBUTES lpsa
) {
FIXME(win32,"(%s,0x%08lx,0x%08lx,%p),stub!\n",debugstr_w(winstation),
res1,desiredaccess,lpsa
);
return 0xdeadcafe;
}
BOOL32 WINAPI SetProcessWindowStation(/*HWINSTA*/ HANDLE32 hWinSta) {
FIXME(win32,"(%d),stub!\n",hWinSta);
return TRUE;
}
BOOL32 WINAPI SetUserObjectSecurity(
HANDLE32 hObj,
/*LPSECURITY_INFORMATION*/LPVOID pSIRequested,
/*LPSECURITY_DESCRIPTOR*/LPVOID pSID
) {
FIXME(win32,"(%d,%p,%p),stub!\n",hObj,pSIRequested,pSID);
return TRUE;
}
/*HDESK*/HANDLE32 WINAPI CreateDesktop32W(
LPWSTR lpszDesktop,LPWSTR lpszDevice,LPDEVMODE32W pDevmode,
DWORD dwFlags,DWORD dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa
) {
FIXME(win32,"(%s,%s,%p,0x%08lx,0x%08lx,%p),stub!\n",
debugstr_w(lpszDesktop),debugstr_w(lpszDevice),pDevmode,
dwFlags,dwDesiredAccess,lpsa
);
return 0xcafedead;
}
DWORD WINAPI SetWindowStationUser(DWORD x1,DWORD x2) {
FIXME(win32,"(%d,%d),stub!\n",x1,x2);
return 1;
}