mirror of
https://github.com/reactos/reactos.git
synced 2025-06-05 01:10:26 +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
|
OUT PVOID *NextObject
|
||||||
);
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
ObpCreateSymbolicLinkName(
|
||||||
|
IN POBJECT_SYMBOLIC_LINK SymbolicLink
|
||||||
|
);
|
||||||
|
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
ObpDeleteSymbolicLinkName(
|
||||||
|
IN POBJECT_SYMBOLIC_LINK SymbolicLink
|
||||||
|
);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Process/Handle Table Init/Rundown
|
// Process/Handle Table Init/Rundown
|
||||||
//
|
//
|
||||||
|
|
|
@ -719,10 +719,6 @@ NtCreateDirectoryObject(OUT PHANDLE DirectoryHandle,
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
PAGED_CODE();
|
PAGED_CODE();
|
||||||
|
|
||||||
DPRINT("NtCreateDirectoryObject(DirectoryHandle %x, "
|
|
||||||
"DesiredAccess %x, ObjectAttributes %x\n",
|
|
||||||
DirectoryHandle, DesiredAccess, ObjectAttributes);
|
|
||||||
|
|
||||||
/* Check if we need to do any probing */
|
/* Check if we need to do any probing */
|
||||||
if(PreviousMode != KernelMode)
|
if(PreviousMode != KernelMode)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2506,8 +2506,7 @@ ObInsertObject(IN PVOID Object,
|
||||||
if (ObjectType == ObSymbolicLinkType)
|
if (ObjectType == ObSymbolicLinkType)
|
||||||
{
|
{
|
||||||
/* Create the internal name */
|
/* Create the internal name */
|
||||||
DPRINT("FIXME: Created link!\n");
|
ObpCreateSymbolicLinkName(Object);
|
||||||
//ObpCreateSymbolicLinkName(FoundObject);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -828,7 +828,6 @@ ObQueryNameString(IN PVOID Object,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* Directory without a name, we add "..." */
|
/* Directory without a name, we add "..." */
|
||||||
DPRINT("Nameless Directory\n");
|
|
||||||
ObjectName -= sizeof(L"...");
|
ObjectName -= sizeof(L"...");
|
||||||
ObjectName = L"...";
|
ObjectName = L"...";
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -19,6 +19,39 @@ POBJECT_TYPE ObSymbolicLinkType = NULL;
|
||||||
|
|
||||||
/* PRIVATE FUNCTIONS *********************************************************/
|
/* 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
|
* @name ObpDeleteSymbolicLink
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue