How to use ZwOpenSymbolicLinkObject and ZwQuerySymbolicLinkObject?

Hi:
Here are my codes about using ZwOpenSymbolicLinkObject and ZwQuerySymbolicLinkObject.There must be something wrong with them.But i don’t know where it is.

PDEVICE_OBJECT PointertoC;
PFILE_OBJECT FilePointertoC;
UNICODE_STRING DeviceName;
OBJECT_ATTRIBUTES ObjectAttributes;
PHANDLE Handle=NULL;
ULONG RetNum;

InitializeObjectAttributes(&ObjectAttributes,L"//DosDevices//C:",NULL,NULL,NULL);

if(!NT_SUCCESS(ZwOpenSymbolicLinkObject(Handle,GENERIC_READ,&ObjectAttributes)))
KdPrint((“ZwOpenSymbolicLinkObject failed\n”));

//I don’t know how to use RtlInitUnicodeString.so…
RtlInitUnicodeString(&DeviceName,L"//device//Dddddddddddddddddddddddddddddddddddd:");

if(!NT_SUCCESS(ZwQuerySymbolicLinkObject(*Handle,&DeviceName,&RetNum)))
KdPrint((“ZwQuerySymbolicLinkObject failed\n”));

if(!NT_SUCCESS(IoGetDeviceObjectPointer(&DeviceName,FILE_READ_DATA,&FilePointertoC,&PointertoC)))
KdPrint((“IoGetDeviceObjectPointer failed\n”));

ZwOpenSymbolicLinkObject() doesn’t return STATUS_SUCCESS.What’s the problem?

Thanks!

Jim