Salve
sto costruendo un driver e non riesco a creare un file a livello kernel utilizzando la funzione

ZwCreateFile all'interno dell'inizializzazione del driver.Questa è la parte che interessa la

creazione

Qualcuno mi aiutiiiii!!!

Grazie mille !!!


//**********************VARIBILI GLOBALI PER LA CREAZIONE DEL FILE****************************
NTSTATUS NtStatus = STATUS_SUCCESS;
PVOID pFileObject= NULL;
PNDIS_BUFFER *pCurrentBuffer = NULL;
PUINT nBufferCount = NULL;
PUINT TotalPacketLength = NULL;
HANDLE hfile;
OBJECT_ATTRIBUTES ObjectAttributes;
IO_STATUS_BLOCK StatusBlock;
UNICODE_STRING pathname ;
ULONG Length;
//************************************************** *******************************************




//************************************************** ***ZwCreateFile****************************

RtlInitUnicodeString(&pathname,L"C:\\InfoPacket.da t"); //Inizializziamo stringa Unicode

InitializeObjectAttributes(&ObjectAttributes,&path name,OBJ_CASE_INSENSITIVE|OBJ_KERNEL_HANDLE,

NULL, NULL) //Inzializziamo struttura

NtStatus = ZwCreateFile(
&hfile,
GENERIC_WRITE,
&ObjectAttributes,

&StatusBlock, //Creazione del File
NULL,
FILE_ATTRIBUTE_NORMAL,
0,
FILE_OVERWRITE_IF,
FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0
);


if(NT_SUCCESS(NtStatus))

NtStatus = ObReferenceObjectByHandle(hfile,GENERIC_WRITE, NULL,KernelMode,pFileObject, NULL);


else

ZwClose(hfile);







//************************************************** *******************************************