Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*************************************************************************
* TASK1.C * * Routines used to enumerate all tasks. * *************************************************************************/
#include <string.h>
#include "toolpriv.h"
/* ----- Functions ----- */
/* TaskFirst
* Returns information about the first task in the task chain. */
BOOL TOOLHELPAPI TaskFirst( TASKENTRY FAR *lpTask) { /* Check for errors */ if (!wLibInstalled || !lpTask || lpTask->dwSize != sizeof (TASKENTRY)) return FALSE;
/* Pass a pointer to the first block to the assembly routine */ return TaskInfo(lpTask, *(WORD FAR *)MAKEFARPTR(segKernel, npwTDBHead)); }
/* TaskNext
* Returns information about the next task in the task chain. */
BOOL TOOLHELPAPI TaskNext( TASKENTRY FAR *lpTask) { /* Check for errors */ if (!wLibInstalled || !lpTask || !lpTask->hNext || lpTask->dwSize != sizeof (TASKENTRY)) return FALSE;
/* Pass a pointer to the next block to the assembly routine */ return TaskInfo(lpTask, lpTask->hNext); }
/* TaskFindHandle
* Returns information about the task with the given task handle. */
BOOL TOOLHELPAPI TaskFindHandle( TASKENTRY FAR *lpTask, HANDLE hTask) { /* Check for errors */ if (!wLibInstalled || !lpTask || lpTask->dwSize != sizeof (TASKENTRY)) return FALSE;
#ifdef WOW
if ( (hTask & 0x4) == 0 && hTask <= 0xffe0 && hTask != 0 ) { //
// If they are getting a task handle for an htask alias, then
// just fill in the hinst method and return.
//
// Special hack for OLE 2.0's BusyDialog.
//
lpTask->hInst = hTask; return( TRUE ); } #endif
/* Pass a pointer to the first block to the assembly routine */ return TaskInfo(lpTask, hTask); }
|