Alexandre Julliard : ntoskrnl: Implemented IoDeleteSymbolicLink.
Alexandre Julliard
julliard at winehq.org
Tue Oct 21 07:06:02 CDT 2008
Module: wine
Branch: master
Commit: 0b560febeaf12bcec92ff45e94b99ce4ed749e8c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0b560febeaf12bcec92ff45e94b99ce4ed749e8c
Author: Alexandre Julliard <julliard at winehq.org>
Date: Mon Oct 20 16:21:22 2008 +0200
ntoskrnl: Implemented IoDeleteSymbolicLink.
---
dlls/ntoskrnl.exe/ntoskrnl.c | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 4a20d5e..c37b1f8 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -543,8 +543,28 @@ NTSTATUS WINAPI IoCreateSymbolicLink( UNICODE_STRING *name, UNICODE_STRING *targ
*/
NTSTATUS WINAPI IoDeleteSymbolicLink( UNICODE_STRING *name )
{
- FIXME( "%s\n", debugstr_us(name) );
- return STATUS_SUCCESS;
+ HANDLE handle;
+ OBJECT_ATTRIBUTES attr;
+ NTSTATUS status;
+
+ attr.Length = sizeof(attr);
+ attr.RootDirectory = 0;
+ attr.ObjectName = name;
+ attr.Attributes = OBJ_CASE_INSENSITIVE;
+ attr.SecurityDescriptor = NULL;
+ attr.SecurityQualityOfService = NULL;
+
+ if (!(status = NtOpenSymbolicLinkObject( &handle, 0, &attr )))
+ {
+ SERVER_START_REQ( unlink_object )
+ {
+ req->handle = handle;
+ status = wine_server_call( req );
+ }
+ SERVER_END_REQ;
+ NtClose( handle );
+ }
+ return status;
}
More information about the wine-cvs
mailing list