Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

55 lines
1.4 KiB

#include "ntos.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void
main(
)
{
NTSTATUS Status;
OBJECT_ATTRIBUTES Attr1;
OBJECT_ATTRIBUTES Attr2;
UNICODE_STRING Name1;
UNICODE_STRING Name2;
HANDLE Handle1;
HANDLE Handle2;
IO_STATUS_BLOCK IoStatusBlock;
RtlInitUnicodeString(&Name1, L"\\DosDevices");
RtlInitUnicodeString(&Name2, L"C:\\Nt");
InitializeObjectAttributes(&Attr1,
&Name1,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status = NtOpenDirectoryObject(&Handle1,
DIRECTORY_QUERY,
&Attr1);
if (!NT_SUCCESS(Status)) {
printf("NtOpenDirectoryObject failed %08lx\n",Status);
exit(1);
}
InitializeObjectAttributes(&Attr2,
&Name2,
OBJ_CASE_INSENSITIVE,
Handle1,
NULL);
Status = NtOpenFile(&Handle2,
FILE_LIST_DIRECTORY,
&Attr2,
&IoStatusBlock,
FILE_SHARE_READ | FILE_SHARE_WRITE,
0);
if (!NT_SUCCESS(Status)) {
printf("NtOpenFile failed %08lx\n",Status);
exit(1);
}
printf("success\n");
}