75 lines
1.2 KiB
C
75 lines
1.2 KiB
C
|
/*++
|
||
|
|
||
|
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_
|