Module: wine Branch: master Commit: 7330edd25dbebb1cfb856bdf1ae3c627c5ba123f URL: http://source.winehq.org/git/wine.git/?a=commit;h=7330edd25dbebb1cfb856bdf1a...
Author: Alexandre Julliard julliard@winehq.org Date: Tue May 15 21:45:51 2007 +0200
ntoskrnl.exe: Implemented IoCreateSymbolicLink.
---
dlls/ntoskrnl.exe/ntoskrnl.c | 21 +++++++++++++++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- 2 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index ae78665..0aa84b4 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -148,6 +148,27 @@ void WINAPI IoDeleteDevice( DEVICE_OBJECT *device ) }
+/*********************************************************************** + * IoCreateSymbolicLink (NTOSKRNL.EXE.@) + */ +NTSTATUS WINAPI IoCreateSymbolicLink( UNICODE_STRING *name, UNICODE_STRING *target ) +{ + HANDLE handle; + OBJECT_ATTRIBUTES attr; + + attr.Length = sizeof(attr); + attr.RootDirectory = 0; + attr.ObjectName = name; + attr.Attributes = OBJ_CASE_INSENSITIVE | OBJ_OPENIF; + attr.SecurityDescriptor = NULL; + attr.SecurityQualityOfService = NULL; + + TRACE( "%s -> %s\n", debugstr_us(name), debugstr_us(target) ); + /* FIXME: store handle somewhere */ + return NtCreateSymbolicLinkObject( &handle, SYMBOLIC_LINK_ALL_ACCESS, &attr, target ); +} + + /***************************************************** * DllMain */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 04591ba..d5eeb9a 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -345,7 +345,7 @@ @ stub IoCreateStreamFileObject @ stub IoCreateStreamFileObjectEx @ stub IoCreateStreamFileObjectLite -@ stub IoCreateSymbolicLink +@ stdcall IoCreateSymbolicLink(ptr ptr) @ stub IoCreateSynchronizationEvent @ stub IoCreateUnprotectedSymbolicLink @ stub IoCsqInitialize