mirror of
https://github.com/reactos/reactos.git
synced 2025-06-01 23:48:12 +00:00
- Implement ObpCreateSymbolicLinkName and enable call to the function. It shouldn't do any work currently because we don't have DOS Device Maps.
- Also stub ObpDeleteSymbolicLinkName since it'll probably be needed later. svn path=/trunk/; revision=25385
This commit is contained in:
parent
76de33fe36
commit
8c9205dfd5
5 changed files with 46 additions and 7 deletions
|
@ -149,6 +149,18 @@ ObpParseSymbolicLink(
|
|||
OUT PVOID *NextObject
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
ObpCreateSymbolicLinkName(
|
||||
IN POBJECT_SYMBOLIC_LINK SymbolicLink
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
ObpDeleteSymbolicLinkName(
|
||||
IN POBJECT_SYMBOLIC_LINK SymbolicLink
|
||||
);
|
||||
|
||||
//
|
||||
// Process/Handle Table Init/Rundown
|
||||
//
|
||||
|
|
|
@ -719,10 +719,6 @@ NtCreateDirectoryObject(OUT PHANDLE DirectoryHandle,
|
|||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
PAGED_CODE();
|
||||
|
||||
DPRINT("NtCreateDirectoryObject(DirectoryHandle %x, "
|
||||
"DesiredAccess %x, ObjectAttributes %x\n",
|
||||
DirectoryHandle, DesiredAccess, ObjectAttributes);
|
||||
|
||||
/* Check if we need to do any probing */
|
||||
if(PreviousMode != KernelMode)
|
||||
{
|
||||
|
|
|
@ -2506,8 +2506,7 @@ ObInsertObject(IN PVOID Object,
|
|||
if (ObjectType == ObSymbolicLinkType)
|
||||
{
|
||||
/* Create the internal name */
|
||||
DPRINT("FIXME: Created link!\n");
|
||||
//ObpCreateSymbolicLinkName(FoundObject);
|
||||
ObpCreateSymbolicLinkName(Object);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -828,7 +828,6 @@ ObQueryNameString(IN PVOID Object,
|
|||
else
|
||||
{
|
||||
/* Directory without a name, we add "..." */
|
||||
DPRINT("Nameless Directory\n");
|
||||
ObjectName -= sizeof(L"...");
|
||||
ObjectName = L"...";
|
||||
break;
|
||||
|
|
|
@ -19,6 +19,39 @@ POBJECT_TYPE ObSymbolicLinkType = NULL;
|
|||
|
||||
/* PRIVATE FUNCTIONS *********************************************************/
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
ObpDeleteSymbolicLinkName(IN POBJECT_SYMBOLIC_LINK SymbolicLink)
|
||||
{
|
||||
/* FIXME: Device maps not supported yet */
|
||||
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
ObpCreateSymbolicLinkName(IN POBJECT_SYMBOLIC_LINK SymbolicLink)
|
||||
{
|
||||
POBJECT_HEADER ObjectHeader;
|
||||
POBJECT_HEADER_NAME_INFO ObjectNameInfo;
|
||||
|
||||
/* Get header data */
|
||||
ObjectHeader = OBJECT_TO_OBJECT_HEADER(SymbolicLink);
|
||||
ObjectNameInfo = OBJECT_HEADER_TO_NAME_INFO(ObjectHeader);
|
||||
|
||||
/* Check if we are not actually in a directory with a device map */
|
||||
if (!(ObjectNameInfo) ||
|
||||
!(ObjectNameInfo->Directory) ||
|
||||
!(ObjectNameInfo->Directory->DeviceMap))
|
||||
{
|
||||
/* There's nothing to do, return */
|
||||
return;
|
||||
}
|
||||
|
||||
/* FIXME: We don't support device maps yet */
|
||||
DPRINT1("Unhandled path!\n");
|
||||
KEBUGCHECK(0);
|
||||
}
|
||||
|
||||
/*++
|
||||
* @name ObpDeleteSymbolicLink
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue