初学者!error:1是什么东东? DeviceIoControl小弟我想初始化USN日志

菜鸟求助!error:1是什么错误? DeviceIoControl我想初始化USN日志
我想初始化USN日志文件:

/**  
 * step 03. 初始化USN日志文件  
 */  
#include<stdio.h>
#include<iostream> 
#include<windows.h>
#include <winioctl.h> 
#include<string.h>
using namespace std;
#define FSCTL_CREATE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57, METHOD_NEITHER, FILE_ANY_ACCESS) // CREATE_USN_JOURNAL_DATA,


typedef struct {
  DWORDLONG MaximumSize;
  DWORDLONG AllocationDelta;
} CREATE_USN_JOURNAL_DATA, *PCREATE_USN_JOURNAL_DATA;

int main()

  char fileName[225];
  char volName[10]="C:\\";
  fileName[0]='\0';
  strcpy(fileName,"\\\\.\\");
  strcat(fileName,volName);
  string fileNameStr=(string)fileName;
  fileNameStr.erase(fileNameStr.find_last_of(":")+1);
 //获得磁盘驱动器句柄
  HANDLE hVol=CreateFileA(fileNameStr.data(),
0,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_READONLY,
NULL);
  if(hVol==INVALID_HANDLE_VALUE)printf("获取驱动盘句柄失败--handle:%x error:%d\n",hVol,GetLastError());
  else printf("success\n");

DWORD br;  
CREATE_USN_JOURNAL_DATA cujd;  
cujd.MaximumSize = 0; // 0表示使用默认值  
cujd.AllocationDelta = 0; // 0表示使用默认值  
//初始化USN日志文件
BOOL status = DeviceIoControl(hVol,  
  FSCTL_CREATE_USN_JOURNAL,  
  &cujd,  
  sizeof(cujd),  
  NULL,  
  0,  
  &br,  
  NULL);  
  
if(0!=status){  
  printf("success\n");
}else{  
  printf("初始化USN日志文件失败 —— status:%x error:%d\n", status, GetLastError());  
}  

return 0;
}

最后运行结果这是:初始化USN日志失败,error:1

在dev和VC6.0下都这样

------解决方案--------------------
BOOL status = DeviceIoControl(hVol,
FSCTL_CREATE_USN_JOURNAL,
&cujd,
sizeof(cujd),
&cujd,
sizeof(cujd),
&br,
FALSE);

这样试试 不行的话 看看 这个FSCTL_CREATE_USN_JOURNAL 用得对不对 应该还有别的把~ 多试试 就差不多了
------解决方案--------------------
你把CreateFileA()第一个参数 直接用“\\\\.\\C:”这种 看看 可能我给的不对啊 你自己校队一下

------解决方案--------------------
在网上 找找吧 没弄过USN 但你的错误基本就是这一类的 在网上好好找找吧 
写程序就是这样的 。 就是遇到问题 解决问题 在遇到问题 在解决