windows driver 获取文件属性

	OBJECT_ATTRIBUTES oa;
	FILE_NETWORK_OPEN_INFORMATION fnoi;
	UNICODE_STRING strPath = RTL_CONSTANT_STRING(L"\\??\\E:\\安装软件\\win7旗舰版.iso");
	LARGE_INTEGER li_temp;

	char strTime[ArrayLength] = {0};
	ANSI_STRING as;
	TIME_FIELDS tf;
	InitializeObjectAttributes(&oa, &strPath, OBJ_KERNEL_HANDLE, NULL, NULL);
	ZwQueryFullAttributesFile(&oa, &fnoi);
	
	ExSystemTimeToLocalTime(&fnoi.CreationTime, &li_temp);
	RtlTimeToTimeFields(&li_temp, &tf);
	RtlInitEmptyAnsiString(&as, strTime, ArrayLength);
	RtlStringCbPrintfA(as.Buffer, ArrayLength, "%d-%d-%d %d:%d:%d\n", tf.Year, tf.Month, tf.Day, tf.Hour, tf.Minute, tf.Second);
	KdPrint(("创建时间:%s\n", as.Buffer));

	ExSystemTimeToLocalTime(&fnoi.LastWriteTime, &li_temp);
	RtlTimeToTimeFields(&li_temp, &tf);
	RtlInitEmptyAnsiString(&as, strTime, ArrayLength);
	RtlStringCbPrintfA(as.Buffer, ArrayLength, "%d-%d-%d %d:%d:%d\n", tf.Year, tf.Month, tf.Day, tf.Hour, tf.Minute, tf.Second);
	KdPrint(("修改时间:%s\n", as.Buffer));

	ExSystemTimeToLocalTime(&fnoi.LastAccessTime, &li_temp);
	RtlTimeToTimeFields(&li_temp, &tf);
	RtlInitEmptyAnsiString(&as, strTime, ArrayLength);
	RtlStringCbPrintfA(as.Buffer, ArrayLength, "%d-%d-%d %d:%d:%d\n", tf.Year, tf.Month, tf.Day, tf.Hour, tf.Minute, tf.Second);
	KdPrint(("访问时间:%s\n", as.Buffer));

	KdPrint (("文件大小:%I64d", fnoi.AllocationSize.QuadPart));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值