本文整理汇总了C++中skip函数的典型用法代码示例。如果您正苦于以下问题:C++ skip函数的具体用法?C++ skip怎么用?C++ skip使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了skip函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: test_dtm_set_and_get_system_time
static void test_dtm_set_and_get_system_time(void)
{
LRESULT r;
SYSTEMTIME st, getSt, ref;
HWND hWnd, hWndDateTime_test_gdt_none;
hWndDateTime_test_gdt_none = create_datetime_control(0);
ok(hWndDateTime_test_gdt_none!=NULL, "Expected non NULL, got %p\n", hWndDateTime_test_gdt_none);
if(hWndDateTime_test_gdt_none) {
r = SendMessage(hWndDateTime_test_gdt_none, DTM_SETSYSTEMTIME, GDT_NONE, (LPARAM)&st);
expect(0, r);
}
else {
skip("hWndDateTime_test_gdt_none is NULL\n");
flush_sequences(sequences, NUM_MSG_SEQUENCES);
return;
}
DestroyWindow(hWndDateTime_test_gdt_none);
hWnd = create_datetime_control(DTS_SHOWNONE);
flush_sequences(sequences, NUM_MSG_SEQUENCES);
r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_NONE, (LPARAM)&st);
expect(1, r);
r = SendMessage(hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM)&getSt);
ok(r == GDT_NONE, "Expected %d, not %d(GDT_VALID) or %d(GDT_ERROR), got %ld\n", GDT_NONE, GDT_VALID, GDT_ERROR, r);
/* set st to lowest possible value */
fill_systime_struct(&st, 1601, 1, 0, 1, 0, 0, 0, 0);
r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&st);
expect(1, r);
/* set st to highest possible value */
fill_systime_struct(&st, 30827, 12, 6, 31, 23, 59, 59, 999);
r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&st);
expect(1, r);
/* set st to value between min and max */
fill_systime_struct(&st, 1980, 1, 3, 23, 14, 34, 37, 465);
r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&st);
expect(1, r);
r = SendMessage(hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM)&getSt);
ok(r == GDT_VALID, "Expected %d, not %d(GDT_NONE) or %d(GDT_ERROR), got %ld\n", GDT_VALID, GDT_NONE, GDT_ERROR, r);
expect_systime(&st, &getSt);
/* set st to invalid value */
fill_systime_struct(&st, 0, 0, 7, 0, 24, 60, 60, 1000);
r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&st);
expect_unsuccess(0, r);
ok_sequence(sequences, DATETIME_SEQ_INDEX, test_dtm_set_and_get_system_time_seq, "test_dtm_set_and_get_system_time", FALSE);
/* set to some valid value */
GetSystemTime(&ref);
r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&ref);
expect(1, r);
r = SendMessage(hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM)&getSt);
expect(GDT_VALID, r);
expect_systime(&ref, &getSt);
/* year invalid */
st = ref;
st.wYear = 0;
r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&st);
todo_wine expect(1, r);
r = SendMessage(hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM)&getSt);
expect(GDT_VALID, r);
expect_systime(&ref, &getSt);
/* month invalid */
st = ref;
st.wMonth = 13;
r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&st);
expect(0, r);
r = SendMessage(hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM)&getSt);
expect(GDT_VALID, r);
expect_systime(&ref, &getSt);
/* day invalid */
st = ref;
st.wDay = 32;
r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&st);
expect(0, r);
r = SendMessage(hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM)&getSt);
expect(GDT_VALID, r);
expect_systime(&ref, &getSt);
/* day of week isn't validated */
st = ref;
st.wDayOfWeek = 10;
r = SendMessage(hWnd, DTM_SETSYSTEMTIME, GDT_VALID, (LPARAM)&st);
expect(1, r);
r = SendMessage(hWnd, DTM_GETSYSTEMTIME, 0, (LPARAM)&getSt);
expect(GDT_VALID, r);
expect_systime(&ref, &getSt);
/* hour invalid */
//.........这里部分代码省略.........
开发者ID:austin987,项目名称:wine,代码行数:101,代码来源:datetime.c
示例2: connect
void MediaView::activeRowChanged(int row) {
if (stopped) return;
errorTimer->stop();
#ifdef APP_PHONON
mediaObject->stop();
#endif
if (downloadItem) {
downloadItem->stop();
delete downloadItem;
downloadItem = 0;
currentVideoSize = 0;
}
Video *video = playlistModel->videoAt(row);
if (!video) return;
videoAreaWidget->showLoading(video);
connect(video, SIGNAL(gotStreamUrl(QUrl)),
SLOT(gotStreamUrl(QUrl)), Qt::UniqueConnection);
connect(video, SIGNAL(errorStreamUrl(QString)),
SLOT(skip()), Qt::UniqueConnection);
video->loadStreamUrl();
// video title in titlebar
MainWindow::instance()->setWindowTitle(video->title() + " - " + Constants::NAME);
// ensure active item is visible
if (row != -1) {
QModelIndex index = playlistModel->index(row, 0, QModelIndex());
playlistView->scrollTo(index, QAbstractItemView::EnsureVisible);
}
// enable/disable actions
The::globalActions()->value("download")->setEnabled(
DownloadManager::instance()->itemForVideo(video) == 0);
The::globalActions()->value("previous")->setEnabled(row > 0);
The::globalActions()->value("stopafterthis")->setEnabled(true);
The::globalActions()->value("related-videos")->setEnabled(true);
bool enableDownload = video->license() == Video::LicenseCC;
#ifdef APP_ACTIVATION
enableDownload = enableDownload || Activation::instance().isLegacy();
#endif
#ifdef APP_DOWNLOADS
enableDownload = true;
#endif
QAction *a = The::globalActions()->value("download");
a->setEnabled(enableDownload);
a->setVisible(enableDownload);
updateSubscriptionAction(video, YTChannel::isSubscribed(video->channelId()));
foreach (QAction *action, currentVideoActions)
action->setEnabled(true);
#ifndef APP_PHONON_SEEK
QSlider *slider = MainWindow::instance()->getSlider();
slider->setEnabled(false);
slider->setValue(0);
#endif
if (snapshotSettings) {
delete snapshotSettings;
snapshotSettings = 0;
MainWindow::instance()->adjustStatusBarVisibility();
}
// see you in gotStreamUrl...
}
开发者ID:PatMart,项目名称:minitube,代码行数:72,代码来源:mediaview.cpp
示例3: parse_dhcp
// ------------------------------------------------
// Function: parse_dhcp()
// ------------------------------------------------
// Input: Message buffer
// Output: Opcode or 0xff if failed
// ------------------------------------------------
// Description: Parse an incoming DHCP message
// ------------------------------------------------
BYTE parse_dhcp(PPBUF pbuf)
{
BYTE opt;
BYTE type, size;
// ---------------------
// jump to the data area
// ---------------------
skip(pbuf, BOOTP_HDR_SIZE);
opt = 0xff;
// -----------------
// check DHCP fields
// -----------------
if(DHCP(pbuf->data)->op != 2) return 0xff;
if(DHCP(pbuf->data)->xid != xid.d) return 0xff;
if(read_uint32(pbuf) != 0x63825363) return 0xff;
// ----------------
// update temp data
// ----------------
ip_tmp.d = DHCP(pbuf->data)->yi.d;
ip_dhcp.d = IPH(pbuf->start)->source.d;
// -------------
// parse options
// -------------
while(!is_eof(pbuf)) {
type = read_byte(pbuf);
size = read_byte(pbuf);
switch(type) {
case DHCP_OPT_TYPE:
opt = read_byte(pbuf);
skip(pbuf, size-1);
break;
case DHCP_OPT_MASK:
ip_mask[INTERFACE_ETH] = read_ip(pbuf);
skip(pbuf, size-4);
break;
case DHCP_OPT_ROUTER:
ip_gateway[INTERFACE_ETH] = read_ip(pbuf);
skip(pbuf, size-4);
break;
#ifdef _DNS
case DHCP_OPT_DNS:
ip_dns[INTERFACE_ETH] = read_ip(pbuf);
skip(pbuf, size-4);
break;
#endif
case DHCP_OPT_END:
return opt;
break;
default:
skip(pbuf, size); // ignore other options
break;
}
}
return opt;
}
开发者ID:BrunoBasseto,项目名称:Hermes,代码行数:73,代码来源:dhcp.c
示例4: getasciilabel
/*
* Read an ascii label in from FILE f,
* in the same format as that put out by display(),
* and fill in lp.
*/
int
getasciilabel(FILE *f, struct disklabel *lp)
{
char **cpp, *cp;
const char *errstr;
struct partition *pp;
char *tp, *s, line[BUFSIZ];
int lineno = 0, errors = 0;
u_int32_t v, fsize;
u_int64_t lv;
lp->d_version = 1;
lp->d_bbsize = BBSIZE; /* XXX */
lp->d_sbsize = SBSIZE; /* XXX */
while (fgets(line, sizeof(line), f)) {
lineno++;
if ((cp = strpbrk(line, "#\r\n")))
*cp = '\0';
cp = skip(line);
if (cp == NULL)
continue;
tp = strchr(cp, ':');
if (tp == NULL) {
warnx("line %d: syntax error", lineno);
errors++;
continue;
}
*tp++ = '\0', tp = skip(tp);
if (!strcmp(cp, "type")) {
if (tp == NULL)
tp = "unknown";
else if (strcasecmp(tp, "IDE") == 0)
tp = "ESDI";
cpp = dktypenames;
for (; cpp < &dktypenames[DKMAXTYPES]; cpp++)
if ((s = *cpp) && !strcasecmp(s, tp)) {
lp->d_type = cpp - dktypenames;
goto next;
}
v = GETNUM(lp->d_type, tp, 0, &errstr);
if (errstr || v >= DKMAXTYPES)
warnx("line %d: warning, unknown disk type: %s",
lineno, tp);
lp->d_type = v;
continue;
}
if (!strcmp(cp, "flags")) {
for (v = 0; (cp = tp) && *cp != '\0';) {
tp = word(cp);
if (!strcmp(cp, "badsect"))
v |= D_BADSECT;
else if (!strcmp(cp, "vendor"))
v |= D_VENDOR;
else {
warnx("line %d: bad flag: %s",
lineno, cp);
errors++;
}
}
lp->d_flags = v;
continue;
}
if (!strcmp(cp, "drivedata")) {
int i;
for (i = 0; (cp = tp) && *cp != '\0' && i < NDDATA;) {
v = GETNUM(lp->d_drivedata[i], cp, 0, &errstr);
if (errstr)
warnx("line %d: bad drivedata %s",
lineno, cp);
lp->d_drivedata[i++] = v;
tp = word(cp);
}
continue;
}
if (sscanf(cp, "%d partitions", &v) == 1) {
if (v == 0 || v > MAXPARTITIONS) {
warnx("line %d: bad # of partitions", lineno);
lp->d_npartitions = MAXPARTITIONS;
errors++;
} else
lp->d_npartitions = v;
continue;
}
if (tp == NULL)
tp = "";
if (!strcmp(cp, "disk")) {
strncpy(lp->d_typename, tp, sizeof (lp->d_typename));
continue;
}
if (!strcmp(cp, "label")) {
strncpy(lp->d_packname, tp, sizeof (lp->d_packname));
continue;
}
if (!strcmp(cp, "duid")) {
//.........这里部分代码省略.........
开发者ID:enukane,项目名称:openbsd-work,代码行数:101,代码来源:disklabel.c
示例5: collect
void collect(void)
{
int j;
Tchar i, *strp, *lim, **argpp, **argppend;
int quote;
Stack *savnxf;
copyf++;
nxf->nargs = 0;
savnxf = nxf;
if (skip())
goto rtn;
{
char *memp;
memp = (char *)savnxf;
/*
* 1 s structure for the macro descriptor
* APERMAC Tchar *'s for pointers into the strings
* space for the Tchar's themselves
*/
memp += sizeof(Stack);
/*
* CPERMAC = the total # of characters for ALL arguments
*/
#define CPERMAC 200
#define APERMAC 9
memp += APERMAC * sizeof(Tchar *);
memp += CPERMAC * sizeof(Tchar);
nxf = (Stack *)memp;
}
lim = (Tchar *)nxf;
argpp = (Tchar **)(savnxf + 1);
argppend = &argpp[APERMAC];
SPACETEST(argppend, sizeof(Tchar *));
strp = (Tchar *)argppend;
/*
* Zero out all the string pointers before filling them in.
*/
for (j = 0; j < APERMAC; j++)
argpp[j] = 0;
/* ERROR "savnxf=0x%x,nxf=0x%x,argpp=0x%x,strp=argppend=0x%x, lim=0x%x",
* savnxf, nxf, argpp, strp, lim WARN;
*/
strflg = 0;
while (argpp != argppend && !skip()) {
*argpp++ = strp;
quote = 0;
if (cbits(i = getch()) == '"')
quote++;
else
ch = i;
while (1) {
i = getch();
/* fprintf(stderr, "collect %c %d\n", cbits(i), cbits(i)); */
if (nlflg || (!quote && argpp != argppend && cbits(i) == ' '))
break; /* collects rest into $9 */
if ( quote
&& cbits(i) == '"'
&& cbits(i = getch()) != '"') {
ch = i;
break;
}
*strp++ = i;
if (strflg && strp >= lim) {
/* ERROR "strp=0x%x, lim = 0x%x", strp, lim WARN; */
ERROR "Macro argument too long" WARN;
copyf--;
edone(004);
}
SPACETEST(strp, 3 * sizeof(Tchar));
}
*strp++ = 0;
}
nxf = savnxf;
nxf->nargs = argpp - (Tchar **)(savnxf + 1);
argtop = strp;
rtn:
copyf--;
}
开发者ID:AustenConrad,项目名称:plan-9,代码行数:80,代码来源:n3.c
示例6: test_heap_checks
static void test_heap_checks( DWORD flags )
{
BYTE old, *p, *p2;
BOOL ret;
SIZE_T i, size, large_size = 3000 * 1024 + 37;
if (flags & HEAP_PAGE_ALLOCS) return; /* no tests for that case yet */
trace( "testing heap flags %08x\n", flags );
p = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, 17 );
ok( p != NULL, "HeapAlloc failed\n" );
ret = HeapValidate( GetProcessHeap(), 0, p );
ok( ret, "HeapValidate failed\n" );
size = HeapSize( GetProcessHeap(), 0, p );
ok( size == 17, "Wrong size %lu\n", size );
ok( p[14] == 0, "wrong data %x\n", p[14] );
ok( p[15] == 0, "wrong data %x\n", p[15] );
ok( p[16] == 0, "wrong data %x\n", p[16] );
if (flags & HEAP_TAIL_CHECKING_ENABLED)
{
ok( p[17] == 0xab, "wrong padding %x\n", p[17] );
ok( p[18] == 0xab, "wrong padding %x\n", p[18] );
ok( p[19] == 0xab, "wrong padding %x\n", p[19] );
}
p2 = HeapReAlloc( GetProcessHeap(), HEAP_REALLOC_IN_PLACE_ONLY, p, 14 );
if (p2 == p)
{
if (flags & HEAP_TAIL_CHECKING_ENABLED)
{
ok( p[14] == 0xab, "wrong padding %x\n", p[14] );
ok( p[15] == 0xab, "wrong padding %x\n", p[15] );
ok( p[16] == 0xab, "wrong padding %x\n", p[16] );
}
else
{
ok( p[14] == 0, "wrong padding %x\n", p[14] );
ok( p[15] == 0, "wrong padding %x\n", p[15] );
}
}
else skip( "realloc in place failed\n");
ret = HeapFree( GetProcessHeap(), 0, p );
ok( ret, "HeapFree failed\n" );
p = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, 17 );
ok( p != NULL, "HeapAlloc failed\n" );
old = p[17];
p[17] = 0xcc;
if (flags & HEAP_TAIL_CHECKING_ENABLED)
{
ret = HeapValidate( GetProcessHeap(), 0, p );
ok( !ret, "HeapValidate succeeded\n" );
/* other calls only check when HEAP_VALIDATE is set */
if (flags & HEAP_VALIDATE)
{
size = HeapSize( GetProcessHeap(), 0, p );
ok( size == ~(SIZE_T)0 || broken(size == ~0u), "Wrong size %lu\n", size );
p2 = HeapReAlloc( GetProcessHeap(), 0, p, 14 );
ok( p2 == NULL, "HeapReAlloc succeeded\n" );
ret = HeapFree( GetProcessHeap(), 0, p );
ok( !ret || broken(sizeof(void*) == 8), /* not caught on xp64 */
"HeapFree succeeded\n" );
}
p[17] = old;
size = HeapSize( GetProcessHeap(), 0, p );
ok( size == 17, "Wrong size %lu\n", size );
p2 = HeapReAlloc( GetProcessHeap(), 0, p, 14 );
ok( p2 != NULL, "HeapReAlloc failed\n" );
p = p2;
}
ret = HeapFree( GetProcessHeap(), 0, p );
ok( ret, "HeapFree failed\n" );
p = HeapAlloc( GetProcessHeap(), 0, 37 );
ok( p != NULL, "HeapAlloc failed\n" );
memset( p, 0xcc, 37 );
ret = HeapFree( GetProcessHeap(), 0, p );
ok( ret, "HeapFree failed\n" );
if (flags & HEAP_FREE_CHECKING_ENABLED)
{
ok( p[16] == 0xee, "wrong data %x\n", p[16] );
ok( p[17] == 0xfe, "wrong data %x\n", p[17] );
ok( p[18] == 0xee, "wrong data %x\n", p[18] );
ok( p[19] == 0xfe, "wrong data %x\n", p[19] );
ret = HeapValidate( GetProcessHeap(), 0, NULL );
//.........这里部分代码省略.........
开发者ID:alu3177,项目名称:-LDH-Pract4,代码行数:101,代码来源:heap.c
示例7: test_install_svc_from
static void test_install_svc_from(void)
{
char inf[2048];
char path[MAX_PATH];
HINF infhandle;
BOOL ret;
SC_HANDLE scm_handle, svc_handle;
/* Bail out if we are on win98 */
SetLastError(0xdeadbeef);
scm_handle = OpenSCManagerA(NULL, NULL, GENERIC_ALL);
if (!scm_handle && (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED))
{
win_skip("OpenSCManagerA is not implemented, we are most likely on win9x\n");
return;
}
CloseServiceHandle(scm_handle);
/* Basic inf file to satisfy SetupOpenInfFileA */
strcpy(inf, "[Version]\nSignature=\"$Chicago$\"\n");
create_inf_file(inffile, inf);
sprintf(path, "%s\\%s", CURR_DIR, inffile);
infhandle = SetupOpenInfFileA(path, NULL, INF_STYLE_WIN4, NULL);
/* Nothing but the Version section */
SetLastError(0xdeadbeef);
ret = SetupInstallServicesFromInfSectionA(infhandle, "Winetest.Services", 0);
ok(!ret, "Expected failure\n");
ok(GetLastError() == ERROR_SECTION_NOT_FOUND,
"Expected ERROR_SECTION_NOT_FOUND, got %08x\n", GetLastError());
SetupCloseInfFile(infhandle);
DeleteFileA(inffile);
/* Add the section */
strcat(inf, "[Winetest.Services]\n");
create_inf_file(inffile, inf);
infhandle = SetupOpenInfFileA(path, NULL, INF_STYLE_WIN4, NULL);
SetLastError(0xdeadbeef);
ret = SetupInstallServicesFromInfSectionA(infhandle, "Winetest.Services", 0);
ok(!ret, "Expected failure\n");
ok(GetLastError() == ERROR_SECTION_NOT_FOUND,
"Expected ERROR_SECTION_NOT_FOUND, got %08x\n", GetLastError());
SetupCloseInfFile(infhandle);
DeleteFileA(inffile);
/* Add a reference */
strcat(inf, "AddService=Winetest,,Winetest.Service\n");
create_inf_file(inffile, inf);
infhandle = SetupOpenInfFileA(path, NULL, INF_STYLE_WIN4, NULL);
SetLastError(0xdeadbeef);
ret = SetupInstallServicesFromInfSectionA(infhandle, "Winetest.Services", 0);
ok(!ret, "Expected failure\n");
ok(GetLastError() == ERROR_BAD_SERVICE_INSTALLSECT,
"Expected ERROR_BAD_SERVICE_INSTALLSECT, got %08x\n", GetLastError());
SetupCloseInfFile(infhandle);
DeleteFileA(inffile);
/* Add the section */
strcat(inf, "[Winetest.Service]\n");
create_inf_file(inffile, inf);
infhandle = SetupOpenInfFileA(path, NULL, INF_STYLE_WIN4, NULL);
SetLastError(0xdeadbeef);
ret = SetupInstallServicesFromInfSectionA(infhandle, "Winetest.Services", 0);
ok(!ret, "Expected failure\n");
ok(GetLastError() == ERROR_BAD_SERVICE_INSTALLSECT,
"Expected ERROR_BAD_SERVICE_INSTALLSECT, got %08x\n", GetLastError());
SetupCloseInfFile(infhandle);
DeleteFileA(inffile);
/* Just the ServiceBinary */
strcat(inf, "ServiceBinary=%12%\\winetest.sys\n");
create_inf_file(inffile, inf);
infhandle = SetupOpenInfFileA(path, NULL, INF_STYLE_WIN4, NULL);
SetLastError(0xdeadbeef);
ret = SetupInstallServicesFromInfSectionA(infhandle, "Winetest.Services", 0);
ok(!ret, "Expected failure\n");
ok(GetLastError() == ERROR_BAD_SERVICE_INSTALLSECT,
"Expected ERROR_BAD_SERVICE_INSTALLSECT, got %08x\n", GetLastError());
SetupCloseInfFile(infhandle);
DeleteFileA(inffile);
/* Add the ServiceType */
strcat(inf, "ServiceType=1\n");
create_inf_file(inffile, inf);
infhandle = SetupOpenInfFileA(path, NULL, INF_STYLE_WIN4, NULL);
SetLastError(0xdeadbeef);
ret = SetupInstallServicesFromInfSectionA(infhandle, "Winetest.Services", 0);
ok(!ret, "Expected failure\n");
ok(GetLastError() == ERROR_BAD_SERVICE_INSTALLSECT,
"Expected ERROR_BAD_SERVICE_INSTALLSECT, got %08x\n", GetLastError());
SetupCloseInfFile(infhandle);
DeleteFileA(inffile);
/* Add the StartType */
strcat(inf, "StartType=4\n");
create_inf_file(inffile, inf);
infhandle = SetupOpenInfFileA(path, NULL, INF_STYLE_WIN4, NULL);
SetLastError(0xdeadbeef);
ret = SetupInstallServicesFromInfSectionA(infhandle, "Winetest.Services", 0);
//.........这里部分代码省略.........
开发者ID:bdidemus,项目名称:wine,代码行数:101,代码来源:install.c
示例8: test_driver_install
static void test_driver_install(void)
{
HANDLE handle;
SC_HANDLE scm_handle, svc_handle;
BOOL ret;
char path[MAX_PATH], windir[MAX_PATH], driver[MAX_PATH];
DWORD attrs;
/* Minimal stuff needed */
static const char *inf =
"[Version]\n"
"Signature=\"$Chicago$\"\n"
"[DestinationDirs]\n"
"Winetest.DriverFiles=12\n"
"[DefaultInstall]\n"
"CopyFiles=Winetest.DriverFiles\n"
"[DefaultInstall.Services]\n"
"AddService=Winetest,,Winetest.Service\n"
"[Winetest.Service]\n"
"ServiceBinary=%12%\\winetest.sys\n"
"ServiceType=1\n"
"StartType=4\n"
"ErrorControl=1\n"
"[Winetest.DriverFiles]\n"
"winetest.sys";
/* Bail out if we are on win98 */
SetLastError(0xdeadbeef);
scm_handle = OpenSCManagerA(NULL, NULL, GENERIC_ALL);
if (!scm_handle && (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED))
{
win_skip("OpenSCManagerA is not implemented, we are most likely on win9x\n");
return;
}
else if (!scm_handle && (GetLastError() == ERROR_ACCESS_DENIED))
{
skip("Not enough rights to install the service\n");
return;
}
CloseServiceHandle(scm_handle);
/* Place where we expect the driver to be installed */
GetWindowsDirectoryA(windir, MAX_PATH);
lstrcpyA(driver, windir);
lstrcatA(driver, "\\system32\\drivers\\winetest.sys");
/* Create a dummy driver file */
handle = CreateFileA("winetest.sys", GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
CloseHandle(handle);
create_inf_file(inffile, inf);
sprintf(path, "%s\\%s", CURR_DIR, inffile);
run_cmdline("DefaultInstall", 128, path);
/* Driver should have been installed */
attrs = GetFileAttributesA(driver);
ok(attrs != INVALID_FILE_ATTRIBUTES, "Expected driver to exist\n");
scm_handle = OpenSCManagerA(NULL, NULL, GENERIC_ALL);
/* Open the service to see if it's really there */
svc_handle = OpenServiceA(scm_handle, "Winetest", DELETE);
ok(svc_handle != NULL, "Service was not created\n");
SetLastError(0xdeadbeef);
ret = DeleteService(svc_handle);
ok(ret, "Service could not be deleted : %d\n", GetLastError());
CloseServiceHandle(svc_handle);
CloseServiceHandle(scm_handle);
/* File cleanup */
DeleteFileA(inffile);
DeleteFileA("winetest.sys");
DeleteFileA(driver);
}
开发者ID:bdidemus,项目名称:wine,代码行数:77,代码来源:install.c
示例9: printf
//.........这里部分代码省略.........
printf("[ASF PACKET]At pos 0x%" PRIx64" \n",(uint64_t)ftello(_fd));
printf("[ASF PACKET]not a 82 packet but 0x%x\n",r82);
return 0;
}
aprintf("============== New packet ===============\n");
read16(); // Always 0 ????
// / end of error correction
// Payload parsing information
packetLen=0;
paddingLen=0;
sequenceType=0;
sequenceLen=0;
sequence=0;
offsetLenType=0;
replicaLenType=0;
streamNumberLenType=0;
mediaObjectNumberLenType=0;
lengthTypeFlags=read8();
propertyFlags=read8();
multiplePayloadPresent=lengthTypeFlags&1;
// Read packetLen
packetLen=readVCL(lengthTypeFlags>>5,pakSize);
// Sequence len
sequenceLen=readVCL(lengthTypeFlags>>1,0);
// Read padding size (padding):
paddingLen=readVCL(lengthTypeFlags>>3,0);
//
replicaLenType=(propertyFlags>>0)&3;
offsetLenType=(propertyFlags>>2)&3;
mediaObjectNumberLenType=(propertyFlags>>4)&3;
streamNumberLenType=(propertyFlags>>6)&3;
// Send time
dts=1000*read32(); // Send time (ms)
aduration=read16(); // Duration (ms)
aprintf(":: Time 1 %s\n",ADM_us2plain(dts));
if(!packetLen)
{
// Padding (relative) size
packetLen=pakSize-_offset;
packetLen=packetLen-paddingLen;
}
int mediaObjectNumber, offset,replica,r;
int32_t remaining;
uint32_t payloadLen;
uint32_t keyframe;
// Multi payload
if(multiplePayloadPresent)
{
uint8_t r=read8();
nbSeg=r&0x3f;
payloadLengthType=r>>6;
aprintf("Multiple Payload :%d\n",(int)nbSeg);
// Now read Segments....
//
for(int seg=0;seg<nbSeg;seg++)
{
r=read8(); // Read stream Id
uint64_t pts=ADM_NO_PTS;
if(r&0x80)
{
keyframe=AVI_KEY_FRAME;
aprintf(">>>KeyFrame\n");
}
else keyframe=0;
streamId=r&0x7f;
//printf(">>>>>Stream Id : %x, duration %d ms, send time:%d ms <<<<<\n",streamId,aduration,dts);
mediaObjectNumber=readVCL(mediaObjectNumberLenType,0); // Media object number
offset=readVCL(offsetLenType,0);
replica=readVCL(replicaLenType,0);
pts=readPtsFromReplica(replica);
payloadLen=readVCL(payloadLengthType,0);
remaining=pakSize-_offset;
remaining=remaining-paddingLen;
if(remaining<=0)
{
ADM_warning("** Err: No data left (%d)\n",remaining);
}
if(!payloadLen)
{
payloadLen=remaining;
}
if(remaining<payloadLen)
{
ADM_warning("** WARNING too big %d %d\n", remaining,packetLen);
payloadLen=remaining;
}
// else we read "payloadLen" bytes and put them at offset "offset"
if(streamId==streamWanted|| streamWanted==0xff)
{
pushPacket(keyframe,currentPacket,offset,mediaObjectNumber,payloadLen,streamId,dts,pts);
dts=ADM_NO_PTS;
}else
skip(payloadLen);
}
}
else
{ // single payload
开发者ID:TotalCaesar659,项目名称:avidemux2,代码行数:101,代码来源:ADM_asfPacket.cpp
示例10: testGetDllDirectory
static void testGetDllDirectory(void)
{
CHAR bufferA[MAX_PATH];
WCHAR bufferW[MAX_PATH];
DWORD length, ret;
int i;
static const char *dll_directories[] =
{
"",
"C:\\Some\\Path",
"C:\\Some\\Path\\",
"Q:\\A\\Long\\Path with spaces that\\probably\\doesn't exist!",
};
const int test_count = sizeof(dll_directories) / sizeof(dll_directories[0]);
if (!pGetDllDirectoryA || !pGetDllDirectoryW)
{
win_skip("GetDllDirectory not available\n");
return;
}
if (!pSetDllDirectoryA)
{
win_skip("SetDllDirectoryA not available\n");
return;
}
for (i = 0; i < test_count; i++)
{
length = strlen(dll_directories[i]);
if (!pSetDllDirectoryA(dll_directories[i]))
{
skip("i=%d, SetDllDirectoryA failed\n", i);
continue;
}
/* no buffer, determine length */
ret = pGetDllDirectoryA(0, NULL);
ok(ret == length + 1, "Expected %u, got %u\n", length + 1, ret);
ret = pGetDllDirectoryW(0, NULL);
ok(ret == length + 1, "Expected %u, got %u\n", length + 1, ret);
/* buffer of exactly the right size */
bufferA[length] = 'A';
bufferA[length + 1] = 'A';
ret = pGetDllDirectoryA(length + 1, bufferA);
ok(ret == length || broken(ret + 1 == length) /* win8 */,
"i=%d, Expected %u(+1), got %u\n", i, length, ret);
ok(bufferA[length + 1] == 'A', "i=%d, Buffer overflow\n", i);
ok(strcmp(bufferA, dll_directories[i]) == 0, "i=%d, Wrong path returned: '%s'\n", i, bufferA);
bufferW[length] = 'A';
bufferW[length + 1] = 'A';
ret = pGetDllDirectoryW(length + 1, bufferW);
ok(ret == length, "i=%d, Expected %u, got %u\n", i, length, ret);
ok(bufferW[length + 1] == 'A', "i=%d, Buffer overflow\n", i);
ok(cmpStrAW(dll_directories[i], bufferW, length, length),
"i=%d, Wrong path returned: %s\n", i, wine_dbgstr_w(bufferW));
/* Zero size buffer. The buffer may or may not be terminated depending
* on the Windows version and whether the A or W API is called. */
bufferA[0] = 'A';
ret = pGetDllDirectoryA(0, bufferA);
ok(ret == length + 1, "i=%d, Expected %u, got %u\n", i, length + 1, ret);
bufferW[0] = 'A';
ret = pGetDllDirectoryW(0, bufferW);
ok(ret == length + 1, "i=%d, Expected %u, got %u\n", i, length + 1, ret);
ok(bufferW[0] == 0 || /* XP, 2003 */
broken(bufferW[0] == 'A'), "i=%d, Buffer overflow\n", i);
/* buffer just one too short */
bufferA[0] = 'A';
ret = pGetDllDirectoryA(length, bufferA);
ok(ret == length + 1, "i=%d, Expected %u, got %u\n", i, length + 1, ret);
if (length != 0)
ok(bufferA[0] == 0, "i=%d, Buffer not null terminated\n", i);
bufferW[0] = 'A';
ret = pGetDllDirectoryW(length, bufferW);
ok(ret == length + 1, "i=%d, Expected %u, got %u\n", i, length + 1, ret);
ok(bufferW[0] == 0 || /* XP, 2003 */
broken(bufferW[0] == 'A'), "i=%d, Buffer overflow\n", i);
if (0)
{
/* crashes on win8 */
/* no buffer, but too short length */
ret = pGetDllDirectoryA(length, NULL);
ok(ret == length + 1, "i=%d, Expected %u, got %u\n", i, length + 1, ret);
ret = pGetDllDirectoryW(length, NULL);
ok(ret == length + 1, "i=%d, Expected %u, got %u\n", i, length + 1, ret);
}
}
/* unset whatever we did so following tests won't be affected */
pSetDllDirectoryA(NULL);
}
开发者ID:hoangduit,项目名称:reactos,代码行数:99,代码来源:module.c
示例11: setdraw
void setdraw(void) /* generate internal cookies for a drawing function */
{
int i, j, k, dx[NPAIR], dy[NPAIR], delim, type;
Tchar c, drawbuf[NC];
int drawch = '.'; /* character to draw with */
/* input is \D'f dx dy dx dy ... c' (or at least it had better be) */
/* this does drawing function f with character c and the */
/* specified dx,dy pairs interpreted as appropriate */
/* pairs are deltas from last point, except for radii */
/* l dx dy: line from here by dx,dy */
/* c x: circle of diameter x, left side here */
/* e x y: ellipse of diameters x,y, left side here */
/* a dx1 dy1 dx2 dy2:
ccw arc: ctr at dx1,dy1, then end at dx2,dy2 from there */
/* ~ dx1 dy1 dx2 dy2...:
spline to dx1,dy1 to dx2,dy2 ... */
/* b x c:
built-up character of type c, ht x */
/* f dx dy ...: f is any other char: like spline */
if (ismot(c = getch()))
return;
delim = cbits(c);
numerr.escarg = type = cbits(getch());
if (type == '~') /* head off the .tr ~ problem */
type = 's';
for (i = 0; i < NPAIR ; i++) {
skip();
vflag = 0;
dfact = EM;
dx[i] = quant(atoi0(), HOR);
if (dx[i] > MAXMOT)
dx[i] = MAXMOT;
else if (dx[i] < -MAXMOT)
dx[i] = -MAXMOT;
skip();
if (type == 'c') {
dy[i] = 0;
goto eat;
}
vflag = 1;
dfact = lss;
dy[i] = quant(atoi0(), VERT);
if (dy[i] > MAXMOT)
dy[i] = MAXMOT;
else if (dy[i] < -MAXMOT)
dy[i] = -MAXMOT;
eat:
if (cbits(c = getch()) != ' ') { /* must be the end */
if (cbits(c) != delim) {
drawch = cbits(c);
getch();
}
i++;
break;
}
}
dfact = 1;
vflag = 0;
if (TROFF) {
drawbuf[0] = DRAWFCN | chbits | ZBIT;
drawbuf[1] = type | chbits | ZBIT;
drawbuf[2] = drawch | chbits | ZBIT;
for (k = 0, j = 3; k < i; k++) {
drawbuf[j++] = MOT | ((dx[k] >= 0) ? dx[k] : (NMOT | -dx[k]));
drawbuf[j++] = MOT | VMOT | ((dy[k] >= 0) ? dy[k] : (NMOT | -dy[k]));
}
if (type == DRAWELLIPSE) {
drawbuf[5] = drawbuf[4] | NMOT; /* so the net vertical is zero */
j = 6;
} else if (type == DRAWBUILD) {
drawbuf[4] = drawbuf[3] | NMOT; /* net horizontal motion is zero */
drawbuf[2] &= ~ZBIT; /* width taken from drawing char */
j = 5;
}
drawbuf[j++] = DRAWFCN | chbits | ZBIT; /* marks end for ptout */
drawbuf[j] = 0;
pushback(drawbuf);
}
}
开发者ID:00001,项目名称:plan9port,代码行数:82,代码来源:n9.c
示例12: setperusersecvalues_test
static void setperusersecvalues_test(void)
{
PERUSERSECTIONA peruser;
HRESULT hr;
HKEY guid;
lstrcpyA(peruser.szDispName, "displayname");
lstrcpyA(peruser.szLocale, "locale");
lstrcpyA(peruser.szStub, "stub");
lstrcpyA(peruser.szVersion, "1,1,1,1");
lstrcpyA(peruser.szCompID, "compid");
peruser.dwIsInstalled = 1;
peruser.bRollback = FALSE;
/* try a NULL pPerUser */
if (0)
{
/* This crashes on systems with IE7 */
hr = pSetPerUserSecValues(NULL);
todo_wine
ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
ok(!OPEN_GUID_KEY(), "Expected guid key to not exist\n");
}
/* at the very least, szGUID must be valid */
peruser.szGUID[0] = '\0';
hr = pSetPerUserSecValues(&peruser);
ok(hr == S_OK, "Expected S_OK, got %d\n", hr);
ok(!OPEN_GUID_KEY(), "Expected guid key to not exist\n");
/* set initial values */
lstrcpyA(peruser.szGUID, "guid");
hr = pSetPerUserSecValues(&peruser);
if (hr == E_FAIL)
{
skip("SetPerUserSecValues is broken\n");
return;
}
ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
ok(OPEN_GUID_KEY(), "Expected guid key to exist\n");
ok(check_reg_str(guid, NULL, "displayname"), "Expected displayname\n");
ok(check_reg_str(guid, "ComponentID", "compid"), "Expected compid\n");
ok(check_reg_str(guid, "Locale", "locale"), "Expected locale\n");
ok(check_reg_str(guid, "StubPath", "stub"), "Expected stub\n");
ok(check_reg_str(guid, "Version", "1,1,1,1"), "Expected 1,1,1,1\n");
ok(check_reg_dword(guid, "IsInstalled", 1), "Expected 1\n");
ok(!REG_VAL_EXISTS(guid, "OldDisplayName"), "Expected OldDisplayName to not exist\n");
ok(!REG_VAL_EXISTS(guid, "OldLocale"), "Expected OldLocale to not exist\n");
ok(!REG_VAL_EXISTS(guid, "OldStubPath"), "Expected OldStubPath to not exist\n");
ok(!REG_VAL_EXISTS(guid, "OldVersion"), "Expected OldVersion to not exist\n");
ok(!REG_VAL_EXISTS(guid, "RealStubPath"), "Expected RealStubPath to not exist\n");
/* raise the version, but bRollback is FALSE, so vals not saved */
lstrcpyA(peruser.szVersion, "2,1,1,1");
hr = pSetPerUserSecValues(&peruser);
ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
ok(check_reg_str(guid, NULL, "displayname"), "Expected displayname\n");
ok(check_reg_str(guid, "ComponentID", "compid"), "Expected compid\n");
ok(check_reg_str(guid, "Locale", "locale"), "Expected locale\n");
ok(check_reg_str(guid, "StubPath", "stub"), "Expected stub\n");
ok(check_reg_str(guid, "Version", "2,1,1,1"), "Expected 2,1,1,1\n");
ok(check_reg_dword(guid, "IsInstalled", 1), "Expected 1\n");
ok(!REG_VAL_EXISTS(guid, "OldDisplayName"), "Expected OldDisplayName to not exist\n");
ok(!REG_VAL_EXISTS(guid, "OldLocale"), "Expected OldLocale to not exist\n");
ok(!REG_VAL_EXISTS(guid, "OldStubPath"), "Expected OldStubPath to not exist\n");
ok(!REG_VAL_EXISTS(guid, "OldVersion"), "Expected OldVersion to not exist\n");
ok(!REG_VAL_EXISTS(guid, "RealStubPath"), "Expected RealStubPath to not exist\n");
/* raise the version again, bRollback is TRUE so vals are saved */
peruser.bRollback = TRUE;
lstrcpyA(peruser.szVersion, "3,1,1,1");
hr = pSetPerUserSecValues(&peruser);
ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
ok(check_reg_str(guid, NULL, "displayname"), "Expected displayname\n");
ok(check_reg_str(guid, "ComponentID", "compid"), "Expected compid\n");
ok(check_reg_str(guid, "Locale", "locale"), "Expected locale\n");
ok(check_reg_dword(guid, "IsInstalled", 1), "Expected 1\n");
ok(check_reg_str(guid, "Version", "3,1,1,1"), "Expected 3,1,1,1\n");
todo_wine
{
ok(check_reg_str(guid, "OldDisplayName", "displayname"), "Expected displayname\n");
ok(check_reg_str(guid, "OldLocale", "locale"), "Expected locale\n");
ok(check_reg_str(guid, "RealStubPath", "stub"), "Expected stub\n");
ok(check_reg_str(guid, "OldStubPath", "stub"), "Expected stub\n");
ok(check_reg_str(guid, "OldVersion", "2,1,1,1"), "Expected 2,1,1,1\n");
ok(check_reg_str(guid, "StubPath",
"rundll32.exe advpack.dll,UserInstStubWrapper guid"),
"Expected real stub\n");
}
RegDeleteKeyA(HKEY_LOCAL_MACHINE, GUID_KEY);
}
开发者ID:Strongc,项目名称:reactos,代码行数:92,代码来源:advpack.c
示例13: translateinfstring_test
static void translateinfstring_test(void)
{
HRESULT hr;
char buffer[MAX_PATH];
DWORD dwSize;
create_inf_file();
/* pass in a couple invalid parameters */
hr = pTranslateInfString(NULL, NULL, NULL, NULL, buffer, MAX_PATH, &dwSize, NULL);
ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got 0x%08x\n", (UINT)hr);
/* try to open an inf file that doesn't exist */
hr = pTranslateInfString("c:\\a.inf", "Options.NTx86", "Options.NTx86",
"InstallDir", buffer, MAX_PATH, &dwSize, NULL);
ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) || hr == E_INVALIDARG ||
hr == HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND),
"Expected E_INVALIDARG, 0x80070002 or 0x8007007e, got 0x%08x\n", (UINT)hr);
if(hr == HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND))
{
win_skip("WinNT 3.51 detected. Skipping tests for TranslateInfString()\n");
return;
}
/* try a nonexistent section */
buffer[0] = 0;
hr = pTranslateInfString(inf_file, "idontexist", "Options.NTx86",
"InstallDir", buffer, MAX_PATH, &dwSize, NULL);
if (hr == E_ACCESSDENIED)
{
skip("TranslateInfString is broken\n");
return;
}
ok(hr == S_OK, "Expected S_OK, got 0x%08x\n", (UINT)hr);
ok(!strcmp(buffer, TEST_STRING2), "Expected %s, got %s\n", TEST_STRING2, buffer);
ok(dwSize == 25, "Expected size 25, got %d\n", dwSize);
buffer[0] = 0;
/* try other nonexistent section */
hr = pTranslateInfString(inf_file, "Options.NTx86", "idontexist",
"InstallDir", buffer, MAX_PATH, &dwSize, NULL);
ok(hr == SPAPI_E_LINE_NOT_FOUND || hr == E_INVALIDARG,
"Expected SPAPI_E_LINE_NOT_FOUND or E_INVALIDARG, got 0x%08x\n", (UINT)hr);
buffer[0] = 0;
/* try nonexistent key */
hr = pTranslateInfString(inf_file, "Options.NTx86", "Options.NTx86",
"notvalid", buffer, MAX_PATH, &dwSize, NULL);
ok(hr == SPAPI_E_LINE_NOT_FOUND || hr == E_INVALIDARG,
"Expected SPAPI_E_LINE_NOT_FOUND or E_INVALIDARG, got 0x%08x\n", (UINT)hr);
buffer[0] = 0;
/* test the behavior of pszInstallSection */
hr = pTranslateInfString(inf_file, "section", "Options.NTx86",
"InstallDir", buffer, MAX_PATH, &dwSize, NULL);
ok(hr == ERROR_SUCCESS || hr == E_FAIL,
"Expected ERROR_SUCCESS or E_FAIL, got 0x%08x\n", (UINT)hr);
if(hr == ERROR_SUCCESS)
{
ok(!strcmp(buffer, APP_PATH), "Expected '%s', got '%s'\n", APP_PATH, buffer);
ok(dwSize == APP_PATH_LEN, "Expected size %d, got %d\n", APP_PATH_LEN, dwSize);
}
buffer[0] = 0;
/* try without a pszInstallSection */
hr = pTranslateInfString(inf_file, NULL, "Options.NTx86",
"InstallDir", buffer, MAX_PATH, &dwSize, NULL);
ok(hr == S_OK, "Expected S_OK, got 0x%08x\n", (UINT)hr);
todo_wine
{
ok(!strcmp(buffer, TEST_STRING2), "Expected %s, got %s\n", TEST_STRING2, buffer);
ok(dwSize == 25, "Expected size 25, got %d\n", dwSize);
}
DeleteFileA("c:\\a.inf");
DeleteFileA(inf_file);
}
开发者ID:Strongc,项目名称:reactos,代码行数:79,代码来源:advpack.c
示例14: test_profile_items
static void test_profile_items(void)
{
char path[MAX_PATH], commonprogs[MAX_PATH];
HMODULE hShell32;
BOOL (WINAPI *pSHGetFolderPathA)(HWND hwnd, int nFolder, HANDLE hToken, DWORD dwFlags, LPSTR pszPath);
static const char *inf =
"[Version]\n"
"Signature=\"$Chicago$\"\n"
"[DefaultInstall]\n"
"ProfileItems=TestItem,TestItem2,TestGroup\n"
"[TestItem]\n"
"Name=TestItem\n"
"CmdLine=11,,notepad.exe\n"
"[TestItem2]\n"
"Name=TestItem2\n"
"CmdLine=11,,notepad.exe\n"
"SubDir=TestDir\n"
"[TestGroup]\n"
"Name=TestGroup,4\n"
;
hShell32 = LoadLibraryA("shell32");
pSHGetFolderPathA = (void*)GetProcAddress(hShell32, "SHGetFolderPathA");
if (!pSHGetFolderPathA)
{
win_skip("SHGetFolderPathA is not available\n");
goto cleanup;
}
if (S_OK != pSHGetFolderPathA(NULL, CSIDL_COMMON_PROGRAMS, NULL, SHGFP_TYPE_CURRENT, commonprogs))
{
skip("No common program files directory exists\n");
goto cleanup;
}
create_inf_file(inffile, inf);
sprintf(path, "%s\\%s", CURR_DIR, inffile);
run_cmdline("DefaultInstall", 128, path);
snprintf(path, MAX_PATH, "%s\\TestItem.lnk", commonprogs);
if (INVALID_FILE_ATTRIBUTES == GetFileAttributesA(path))
{
win_skip("ProfileItems not implemented on this system\n");
}
else
{
snprintf(path, MAX_PATH, "%s\\TestDir", commonprogs);
ok(INVALID_FILE_ATTRIBUTES != GetFileAttributesA(path), "directory not created\n");
snprintf(path, MAX_PATH, "%s\\TestDir\\TestItem2.lnk", commonprogs);
ok(INVALID_FILE_ATTRIBUTES != GetFileAttributesA(path), "link not created\n");
snprintf(path, MAX_PATH, "%s\\TestGroup", commonprogs);
ok(INVALID_FILE_ATTRIBUTES != GetFileAttributesA(path), "group not created\n");
}
snprintf(path, MAX_PATH, "%s\\TestItem.lnk", commonprogs);
DeleteFileA(path);
snprintf(path, MAX_PATH, "%s\\TestDir\\TestItem2.lnk", commonprogs);
DeleteFileA(path);
snprintf(path, MAX_PATH, "%s\\TestItem2.lnk", commonprogs);
DeleteFileA(path);
snprintf(path, MAX_PATH, "%s\\TestDir", commonprogs);
RemoveDirectoryA(path);
snprintf(path, MAX_PATH, "%s\\TestGroup", commonprogs);
RemoveDirectoryA(path);
cleanup:
if (hShell32) FreeLibrary(hShell32);
DeleteFileA(inffile);
}
|
请发表评论