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);
//************************************************** *******************************************