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.
 
 
 
 
 
 

72 lines
1.9 KiB

//+---------------------------------------------------------------------------
//
// File: sadat.hxx
//
// Contents: Routines which manipulate the SA.DAT file in the Tasks
// folder. This file is used by both the service and the UI
// to determine service state, OS info, etc.
//
// Classes: None.
//
// Functions: SADatGetData
// SADatCreate
// SADatSetData
//
// History: 08-Jul-96 MarkBl Created
//
//----------------------------------------------------------------------------
#ifndef _SADAT_HXX_
#define _SADAT_HXX_
//
// SA.DAT version 1.0 content consists of three bytes:
//
// ------------------------------------------------------
// | Size (DWORD) | Platform (BYTE) | Service (BYTE) |
// ------------------------------------------------------
//
// where:
// Size specifies DAT data size & provides versioning.
// Platform designates the current OS, either NT or Windows.
// Service is a byte flag range. Currently, only the LSB is used to
// indicate if the service is running.
//
#define SA_DAT_VERSION_ONE_SIZE (sizeof(DWORD) + (sizeof(BYTE) * 2))
#define SA_DAT_SIZE_OFFSET (0)
#define SA_DAT_PLATFORM_OFFSET (sizeof(DWORD))
#define SA_DAT_SVCFLAGS_OFFSET (SA_DAT_PLATFORM_OFFSET + sizeof(BYTE))
#define SA_DAT_SVCFLAG_SVC_RUNNING 0x01
#define SA_DAT_SVCFLAG_RESUME_TIMERS 0x02
HRESULT
SADatGetData(
LPCTSTR ptszFolderPath,
DWORD * pdwVersion,
BYTE * pbPlatform,
BYTE * prgSvcFlags);
HRESULT
SADatGetData(
LPCTSTR ptszFolderPath,
DWORD cbData,
BYTE rgbData[],
HANDLE * phFile = NULL);
HRESULT
SADatCreate(
LPCTSTR ptszFolderPath,
BOOL fServiceStarted = TRUE);
HRESULT
SADatSetData(
HANDLE hFile,
DWORD cbData,
const BYTE rgbData[]);
BOOL
ResumeTimersSupported();
#endif // _SADAT_HXX_