summaryrefslogtreecommitdiff
path: root/gnss/gnssUmdf/Device.h
blob: 35072bfc06bbc35877452433d4d8e15ecef38a04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*++

Copyright (c) Microsoft Corporation.  All rights reserved.

Module Name:

    device.h

Abstract:

    This file contains the device definitions.

Environment:

    Windows User-Mode Driver Framework

--*/

#pragma once

class CQueue;

class CDevice
{
public:
    // This is called from PnP manager in response to AddDevice call
    static EVT_WDF_DRIVER_DEVICE_ADD OnDeviceAdd;

private:
    CDevice(_In_ WDFDEVICE Device);
    ~CDevice();

    static EVT_WDF_OBJECT_CONTEXT_CLEANUP OnCleanup;
    static EVT_WDF_DEVICE_D0_ENTRY OnD0Entry;
    static EVT_WDF_DEVICE_D0_EXIT OnD0Exit;

    NTSTATUS Initialize();
    CQueue* GetQueue();

    WDFDEVICE _Device = nullptr;
    CQueue* _Queue = nullptr;
};

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(CDevice, GetDeviceObject);