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.
|
|
#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");
}
|