📄 enumstreams.c
字号:
/*__________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: EnumStreams.c,v 1.3 2002/08/06 20:10:09 dallen Exp $
__________________________________________________________________________*/
#ifdef _IA64_
#pragma warning(disable: 4127)
#endif
#include "precomp.h"
#include <tchar.h>
#include "findstream.h"
DWORD WipeStreams(PGPContextRef context,HWND hwnd,
char *szFile,DWORD dwWipeFlags,DWORD dwPasses)
{
HANDLE hFindStream;
STREAM_FIND_DATA ffStream;
DWORD WipeReturn;
WipeReturn=WIPE_OK;
hFindStream = FindFirstStream(szFile, &ffStream);
if (hFindStream == INVALID_HANDLE_VALUE)
{
// _tprintf(_T("Cannot get list of streams. LastError = %d\n"),
// GetLastError());
return WipeReturn;
}
// Enumerate the streams
while (1)
{
if(ffStream.cStreamName[0]!=0)
{
char *szName;
szName=(char *)malloc(strlen(szFile)+1+strlen(ffStream.cStreamName)+1);
if(szName!=NULL)
{
sprintf(szName,_T("%s:%s"),
szFile,
ffStream.cStreamName);
// MessageBox(NULL,szName,"ADS Test",MB_OK);
WipeReturn=InternalFileWipe(context,
hwnd,szName,dwWipeFlags|WIPE_ADS|WIPE_DONOTDELETE,
dwPasses,(PGPUInt64)(ffStream.Size.QuadPart));
free(szName);
}
if(WipeReturn!=WIPE_OK)
break;
}
// _tprintf(_T("stream '%s' of size %I64u\n"),
// ffStream.cStreamName,
// ffStream.Size);
if (!FindNextStream(hFindStream, &ffStream))
if (GetLastError() == ERROR_NO_MORE_FILES)
break;
else
{
// _tprintf(_T("Error getting next stream data %u\n"),
// GetLastError());
break;
}
}
// Close the handle
FindCloseStream(hFindStream);
return WipeReturn;
}
/*__Editor_settings____
Local Variables:
tab-width: 4
End:
vi: ts=4 sw=4
vim: si
_____________________*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -