|
zoro 님이 쓰신 글 :
: 저는 버전 4.0이구요..
:
: 제가 확인해봤는데요.
: GetDiskFreeSpaceEx에서 약간 문제가있어
: ::GetDiskFreeSpaceEx로 했더니 아주 잘되요...
: 글구 님의 에러로 봐서는 ULARGE_INTGER가 선언이 안되있는것 같군요...
: 버전이 3이라 그런가 무식해서 잘모르겠구요..
: 정 안되면 헬프에보면 winnt.h에 ULARGE_INTEGER가 있다니까 winnt.h를 include하시던가
: 아님 아예 정의 해버리죠~~
:
: typedef union _ULARGE_INTEGER {
: struct {
: DWORD LowPart;
: DWORD HighPart;
: };
: ULONGLONG QuadPart;
: } ULARGE_INTEGER;
:
: 그래도 안되시면 멜주세요~~ 어설픈 답변에 자멸하고있슴다~~....
: 즐거운 하루되세요~~
:
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: ULARGE_INTEGER FreeBytesAvailableToCaller;
: ULARGE_INTEGER TotalNumberOfBytes;
: ULARGE_INTEGER TotalNumberOfFreeBytes;
: int FreeSpace, TotalSpace;
: char *szDrive = "C:\\"; // C Drive를 알고싶으신가요~~?
:
: ::GetDiskFreeSpaceEx(szDrive, &FreeBytesAvailableToCaller, &TotalNumberOfBytes,
: &TotalNumberOfFreeBytes);
: FreeSpace = (FreeBytesAvailableToCaller.HighPart << 12)
: | (FreeBytesAvailableToCaller.LowPart >> 20);
: TotalSpace = (TotalNumberOfBytes.HighPart << 12)
: | (TotalNumberOfBytes.LowPart >> 20);
: Label1->Caption
: = Format("Current Free Spaces : %d M Bytes, Total Disk Spaces : %d M Bytes",
: OPENARRAY (TVarRec,(FreeSpace, TotalSpace)));
: }
:
:
이걸 어쩌나여.. zoro님의 성의를 봐서라두.. 짠 하구 되야하는데..
또 에러가 생기네여..
ULARGE_INTEGER 는 정의를 했구여..
위에 주신코드를 가져다 썼습니다..
근데.. 또 에러가 나네여..
[C++Error] FtpSrv1.cpp(124): Cannot convert '_ULARGE_INTEGER *' to '_ULARGE_INTEGER *'.
[C++Error] FtpSrv1.cpp(124): Type mismatch in parameter 'lpFreeBytesAvailableToCaller' in call to '__stdcall GetDiskFreeSpaceExA(const char *,_ULARGE_INTEGER *,_ULARGE_INTEGER *,_ULARGE_INTEGER *)'.
[C++Warning] FtpSrv1.cpp(132): 'TotalNumberOfFreeBytes' is declared but never used.
부탁드리겠습니다..
|