94 lines
2.2 KiB
C
94 lines
2.2 KiB
C
|
|
||
|
//
|
||
|
// Module: clock.h
|
||
|
//
|
||
|
// Description:
|
||
|
//
|
||
|
//
|
||
|
//@@BEGIN_MSINTERNAL
|
||
|
// Development Team:
|
||
|
// Mike McLaughlin
|
||
|
//
|
||
|
// History: Date Author Comment
|
||
|
//
|
||
|
//@@END_MSINTERNAL
|
||
|
//---------------------------------------------------------------------------
|
||
|
//
|
||
|
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||
|
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||
|
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
|
||
|
// PURPOSE.
|
||
|
//
|
||
|
// Copyright (c) 1996-1999 Microsoft Corporation. All Rights Reserved.
|
||
|
//
|
||
|
//---------------------------------------------------------------------------
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
// Constants and Macros
|
||
|
//---------------------------------------------------------------------------
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
// Classes
|
||
|
//---------------------------------------------------------------------------
|
||
|
|
||
|
typedef class CClockInstance : public CInstance
|
||
|
{
|
||
|
public:
|
||
|
CClockInstance(
|
||
|
IN PPARENT_INSTANCE pParentInstance
|
||
|
);
|
||
|
|
||
|
static NTSTATUS
|
||
|
ClockDispatchCreate(
|
||
|
IN PDEVICE_OBJECT pDeviceObject,
|
||
|
IN PIRP pIrp
|
||
|
);
|
||
|
|
||
|
static NTSTATUS
|
||
|
ClockDispatchCreateKP(
|
||
|
PCLOCK_INSTANCE pClockInstance,
|
||
|
PKSCLOCK_CREATE pClockCreate
|
||
|
);
|
||
|
|
||
|
static NTSTATUS
|
||
|
ClockDispatchIoControl(
|
||
|
IN PDEVICE_OBJECT pDeviceObject,
|
||
|
IN PIRP pIrp
|
||
|
);
|
||
|
|
||
|
static NTSTATUS
|
||
|
ClockGetFunctionTable(
|
||
|
IN PIRP pIrp,
|
||
|
IN PKSPROPERTY pProperty,
|
||
|
IN OUT PKSCLOCK_FUNCTIONTABLE pFunctionTable
|
||
|
);
|
||
|
|
||
|
static LONGLONG FASTCALL
|
||
|
ClockGetTime(
|
||
|
IN PFILE_OBJECT FileObject
|
||
|
);
|
||
|
|
||
|
static LONGLONG FASTCALL
|
||
|
ClockGetPhysicalTime(
|
||
|
IN PFILE_OBJECT FileObject
|
||
|
);
|
||
|
|
||
|
static LONGLONG FASTCALL
|
||
|
ClockGetCorrelatedTime(
|
||
|
IN PFILE_OBJECT FileObject,
|
||
|
OUT PLONGLONG Time
|
||
|
);
|
||
|
|
||
|
static LONGLONG FASTCALL
|
||
|
ClockGetCorrelatedPhysicalTime(
|
||
|
IN PFILE_OBJECT FileObject,
|
||
|
OUT PLONGLONG Time
|
||
|
);
|
||
|
private:
|
||
|
KSCLOCK_FUNCTIONTABLE FunctionTable;
|
||
|
DefineSignature(0x494b4c43); // CLKI
|
||
|
|
||
|
} CLOCK_INSTANCE, *PCLOCK_INSTANCE;
|
||
|
|
||
|
//---------------------------------------------------------------------------
|