39. FAQ o Win API |
Q> How to look, what there already "нашедулено"?
A>
#include <windows.h>
#include <lm.h>
#include <stdio.h>
#include <stdlib.h>
#pragma hdrstop
#define BREAK_ME 1///#undef to get working code
#undef BREAK_ME
#pragma pack (push)
#ifdef BREAK_ME
#pragma pack (2)
#else
#pragma pack (4)
#endif
#include <lmat.h>
#pragma pack (pop)
#define lenof (x) (sizeof (x) / sizeof (x) [0])
int main (int argc, char *argv [])
{
wchar_t server [256];
AT_ENUM *pBuf, *pJob;
DWORD i, rc, nRead, nLeftBeforeCall, hResume;
bool goForIt;
if (argc> 2)
{
puts ("usage: nsje [\\\\server]");
return 1;
}
if (argc> 2)
mbstowcs (server, argv [2], lenof (server));
else
server [0] = L '\0 ';
hResume = 0;
printf ("%8.8s %.70s\n", "JobId", "Command");
printf ("%8.8s %.70s\n", "--------",
"----------------------------------------------------------------------" );
goForIt = true;
while (goForIt)
{
pBuf = NULL;
rc = NetScheduleJobEnum (*server == L '\0 '? NULL: server, (BYTE **) &pBuf,
8192, &nRead, &nLeftBeforeCall, &hResume);
if (rc! = ERROR_SUCCESS && rc! = ERROR_MORE_DATA)
{
printf ("Doh! rc = %lu\n", rc);
return 1;
}
for (pJob = pBuf, i = 0; i <nRead; ++ i, ++ pJob)
{
printf ("%8lu %.70S\n", pJob-> JobId, pJob-> Command);
}
if (pBuf! = NULL)
NetApiBufferFree (pBuf);
if (rc == ERROR_SUCCESS)
goForIt = false;
}
return 0;
}
|
2000 (c) DM