|
ok. i think its not possible to have empty file except filled with zeros...
Thanks every body for your replies.
Looking to make app that lock the usb data but am unable to start any idea or guidance
will be appreciated .
regards
sarfaraz
|
|
|
|
|
Hi,
Yes, you can create 'empty' files of 1GB size.
If you are on Microsoft Windows XP or above and using an NTFS file system then you can create a sparse file. This will allow you to create 'empty' files of any size that contain 'virtual zeros'. The Windows operating system will report the file as having a valid file size... and it will even apply to user disk quota.
Sparse Files[^]
Steps to create a sparse file:
1.) Call CreateFile [^]and create a new file. Keep the file handle open.
2.) Call DeviceIoControl [^] on your open file handle with the FSCTL_SET_SPARSE control code[^] to mark the file as sparse.
3.) Call the SetFilePointerEx function[^] to move from FILE_BEGIN past the end of file. Make sure to assign liDistanceToMove argument to the desired file size.
4.) Call the SetEndOfFile function[^] to set the EOF to the current position of the file pointer.
5.) Close your file hande.
Best Wishes,
-David Delaune
|
|
|
|
|
No and yes.
No, insofar as the file must contain some data. The data will be meaningless, but it will be there all the same.
Yes, in that you can create a file that occupies 1GB without explictly writing 1gb of data to it. I write a single byte after settiing the file-pointer. This is enough to create the file with the desired size. It takes just as long to run for 1024 bytes as it does for 1024 megabytes.
Code:
#include <stdio.h>
int main()
{
FILE *fp;
const int numMegabytes = 1024; int numBytes = (numMegabytes * 1<<20);
fp = fopen("myFile.dat", "wb");
fseek(fp, numBytes-1, SEEK_END); fwrite("\0", 1, 1, fp); fclose(fp);
return 0;
}
"Science adjusts its views based on what's observed. Faith is the denial of observation, so that belief can be preserved." - Tim Minchin
|
|
|
|
|
The std solution. I tricked one of my friends in the old DOS times with an autoexec program that always filled up the hard drive free space at startup. In DOS this trick created only a chain in the FAT without actually filling up the space so it was very quick.
|
|
|
|
|
pasztorpisti wrote: I tricked one of my friends in the old DOS times with an autoexec program that always filled up the hard drive free space at startup.
I'm in the middle of playing with a similar piece of fun to throw at a friend. I'm planning to port HIDache[^] to the arduino platform with a 'software-only' implementation of the usb protocol[^] to send random keystrokes and mouse-strokes to his pc (or in fact, any device with a usb host that supports HID kbs and mice). Got plenty of old usb memory stick enclosures that will hold an Arduino ProMini. Looks like being the most fun $5 or $6 I've spent in a long time. :evil-grin:
Can't even begin to imagine the fun if I manage to sneak an NRF24L01+ or A7105 2.4ghz transceiver module in there too!
"Science adjusts its views based on what's observed. Faith is the denial of observation, so that belief can be preserved." - Tim Minchin
|
|
|
|
|
|
sarfaraznawaz wrote: please reply me soon ...
Why, are you in a meeting and want to impress someone?
|
|
|
|
|
I know you're helpful here normally, but that's not really an answer, Eric.
"Real men drive manual transmission" - Rajesh.
|
|
|
|
|
If a post offends me then I will reply in an appropriate manner.
By the way my real name is fat_boy, but that account got closed for pointing out obvious truths about a certain person.
|
|
|
|
|
Can we create the virtual drive of usb .
|
|
|
|
|
Erudite_Eric wrote: If a post offends me then I will reply in an appropriate manner.
Yeah, I've done that before, but I found that to be of useful to nobody. I thought I'd just point it out, but you're free to do what you feel is right.
Erudite_Eric wrote: By the way my real name is fat_boy, but that account got closed for pointing out obvious truths about a certain person.
Now, you're being offensive. Because I consider myself as a regggular here.
Anyone who's been here long enough (and regular) will know your story. But it has nothing to do with the icebergs melting, I tell you.
"Real men drive manual transmission" - Rajesh.
|
|
|
|
|
Hi,
I am using DirectShow to capture and play video files in our application. I am facing one issue, whenever I play any HD video in our application, it is not of the same quality as it plays in any other Media player ( Windows Media Player, VLC etc....).
Does anybody have any idea what can be the problem...What should I do to Improve the quality of a video.
Do I need any specific codec or any dll which might be required for the same.
Any help will be appreciated.
Regards,
Mbatra
|
|
|
|
|
How much is it worth to get your product working properly?
I mean, you dont come here with a specific problem, you come here with a 'fix it for me' request. I want to know how much your company is prepared to pay to get their product working.
|
|
|
|
|
Hi,
Can you please be bit more specific. Is it related to the problem I have asked or related to the forum, that I should not ask for the direct solution.?
Regards,
|
|
|
|
|
How much research have you done on this problem so far? It seems very little since you dont have specific questions. That is why I havent given you specific answers.
|
|
|
|
|
Ok fine.
I have not gone too far. I was thinking I might go in the wrong direction.
Please let me know if you need any specific information:
Here I have elaborated what I want:
I am working on a project in which I capture a video using a camera. Now that video plays fine. it will be of the same quality as captured using the camera. I have downloaded some HD video from the net. when I play that video in my application, that video doesn't look like its a HD video. its quality deteriorates somewhat. if I play the same video in any other software (Windows Media player, VLC or any other player which can encode/decode HD video), it plays fine.
Wherever I search on any forum or on any site, I'll found that codecs which uses H.264 standard can better encode/decode HD videos and plays a video with high quality.
Regards,
|
|
|
|
|
So does your application use codec?
|
|
|
|
|
I am not sure about this. I am using only DirectShow to capture and play any video file.
Regards,
|
|
|
|
|
I am using FFmpeg, that produces libraries and programs for handling multimedia data. it includes libavcodec, an audio/video codec library for transcoding multimedia files.
|
|
|
|
|
And are there any better libraries around?
|
|
|
|
|
|
Hi Eric,
I have installed this codec pack on my PC...It does not seem to make any difference....Still playing HD videos shows some blurness at the edges of the objects.
I have seen when playing the same HD video in Windows Media Player, it is quite bright and of good quality. I was wondering what could be the difference in playing a video using DirectShow in Windows Media Player and my Application. Whatelse extra they are implementing or shipping with their product. What special codec or filter is being used.?
Regards,
|
|
|
|
|
I just found that link from a 2 second google, I didnt recomend it, but just gave it as an exmple of what is out there with the implied suggestion that you look yourself.
|
|
|
|
|
Hi Eric,
I want to ask one thing if you have an idea. I have also searched and found that H.264 is the standard used for HD videos.... Now there are various codec using H.264 as the standard for encoding and decoding. One such is x264 codec which is open source and freely available. I have downloaded that codec, now will that work for my application also, if I play any HD file in my application. I mean to ask is it sufficient that a codec is installed on your PC and if you play any HD file in your application, it will encode HD automatically.?
Regards,
|
|
|
|
|
Why am I getting this error ?
Here is the GUID definition
DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE,0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED);
// (A5DCBF10-6530-11D2-901F-00C04FB951ED)
And here is the usage
hDevInfo = SetupDiGetClassDevs(
&GUID_DEVINTERFACE_USB_DEVICE, NULL, 0, DIGCF_DEVICEINTERFACE | DIGCF_PRESENT);
And here is the compiler complaint:
…. cannot convert parameter 1 from 'const struct _GUID *' to 'struct _GUID *'
Any help will be as always appreciated
Cheers Vaclav
|
|
|
|