SystemRootString.Buffer);
ASSERT(Success);
- /* FIXME: Check Session ID */
- wcscpy(BnoBuffer, L"\\BaseNamedObjects");
+ if (SessionId != 0)
+ {
+ swprintf(BnoBuffer, L"\\Sessions\\%ld\\BaseNamedObjects", SessionId);
+ }
+ else
+ {
+ wcscpy(BnoBuffer, L"\\BaseNamedObjects");
+ }
RtlInitUnicodeString(&BnoString, BnoBuffer);
/* Allocate the server data */
Status = NtCreateSymbolicLinkObject(&SymHandle,
SYMBOLIC_LINK_ALL_ACCESS,
&ObjectAttributes,
- &SymlinkName);
+ &BnoString);
if ((NT_SUCCESS(Status)) && SessionId == 0) NtClose(SymHandle);
/* Make Session point back to BNOLINKS */