windows-nt/Source/XPSP1/NT/public/internal/admin/inc/idletask.h

75 lines
1.2 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
idletask.h
Abstract:
This module contains the API and type declaration to support
idle/background tasks.
Author:
Dave Fields (davidfie) 26-July-1998
Cenk Ergan (cenke) 14-June-2000
Revision History:
--*/
#ifndef _IDLETASK_H_
#define _IDLETASK_H_
#ifdef __cplusplus
extern "C" {
#endif
//
// Idle task identifier, used as aid in tracking registered idle
// tasks, especially for debugging. Contact code's maintainers if you
// wish to use idletask functionality.
//
typedef enum _IT_IDLE_TASK_ID {
ItPrefetcherMaintenanceIdleTaskId,
ItSystemRestoreIdleTaskId,
ItOptimalDiskLayoutTaskId,
ItPrefetchDirectoryCleanupTaskId,
ItDiskMaintenanceTaskId,
ItHelpSvcDataCollectionTaskId,
ItMaxIdleTaskId
} IT_IDLE_TASK_ID, *PIT_IDLE_TASK_ID;
#ifndef MIDL_PASS
DWORD
RegisterIdleTask (
IN IT_IDLE_TASK_ID IdleTaskId,
OUT HANDLE *ItHandle,
OUT HANDLE *StartEvent,
OUT HANDLE *StopEvent
);
DWORD
UnregisterIdleTask (
IN HANDLE ItHandle,
IN HANDLE StartEvent,
IN HANDLE StopEvent
);
DWORD
ProcessIdleTasks (
VOID
);
#endif // MIDL_PASS
#ifdef __cplusplus
}
#endif
#endif // _IDLETASK_H_