Thanks buddy... -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Waldemar Haszlakiewicz Sent: Sunday, April 11, 2004 4:02 AM To: Nitin Porwal (HCL Technologies Ltd) Subject: [wdmaudiodev] Re: Need help !!! Here are parts of our logger -> I hope it helps ---------------------------------- //Create string. swprintf( loggerPath, L"\\??\\C:\\glDriver_logger%d.txt", i ); RtlInitUnicodeString( &fileName, loggerPath ); InitializeObjectAttributes( &ObjectAttributes, &fileName, OBJ_CASE_INSENSITIVE, NULL, NULL ); Status = ZwCreateFile( &fileHandle, GENERIC_WRITE, &ObjectAttributes, &IoStatusBlock, NULL, FILE_ATTRIBUTE_NORMAL, 0, FILE_CREATE, FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0 ); if ( SUCCESS( Status ) ) { //Close opened file and signal that we can log. ZwClose( fileHandle ); canLog = YES; break; } ------------------------------------------- //Open logging file. RtlInitUnicodeString( &fileName, loggerPath ); InitializeObjectAttributes( &objectAttributes, &fileName, OBJ_CASE_INSENSITIVE, NULL, NULL ); //Direct disk access. Status = ZwCreateFile( &fileHandle, FILE_WRITE_DATA | SYNCHRONIZE, &objectAttributes, &ioStatusBlock, NULL, FILE_ATTRIBUTE_NORMAL, FILE_SHARE_READ, FILE_OPEN, FILE_NO_INTERMEDIATE_BUFFERING | FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0 ); //Extra check. if ( fileHandle == NULL ) { Status = STATUS_UNSUCCESSFUL; } //Append buffer to disk buffer and save. if ( SUCCESS( Status ) ) { //Append string to main buffer. strcpy( pFileBuffer, buffer ); //Write main buffer to disk. //Direct disk access. ZwWriteFile( fileHandle, NULL, NULL, NULL, &ioStatusBlock, &fileBuffer, FILE_BUFFER_SIZE, &byteOffset, NULL ); ZwClose(fileHandle); -------------------------------------------- NPHTL> Hi, NPHTL> I have written a PCI device driver. I need to create a file from driver. NPHTL> I tried with ZwCreateFile and ZwWriteFile functions, but it didn't work. NPHTL> Does anybody have any sample code for this? I used these function - NPHTL> ntStatus = ZwCreateFile(&pDevExt->hLogFile, NPHTL> FILE_APPEND_DATA|GENERIC_WRITE|SYNCHRONIZE, NPHTL> &objectAttributes, NPHTL> &IoStatus, NPHTL> 0, NPHTL> FILE_ATTRIBUTE_NORMAL, NPHTL> FILE_SHARE_WRITE, NPHTL> FILE_OVERWRITE_IF, NPHTL> FILE_NON_DIRECTORY_FILE | NPHTL> FILE_SYNCHRONOUS_IO_ALERT, NPHTL> NULL, NPHTL> 0 NPHTL> ); NPHTL> ZwWriteFile(pDevExt->hLogFile, NULL, NULL, NPHTL> NULL,&IoStatus,pDevExt->achBuffer,ulLength,NULL,NULL); NPHTL> Is anything wrong with the calls? The file is getting created properly NPHTL> but writes are failing. NPHTL> If anybody has any solution, then please revert back to me. NPHTL> Thanks NPHTL> Nitin ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/ ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/