blob: a00ea7f4079df935b8af7f7b76291d3249b720a2 (
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
45
|
//
// Copyright (C) Microsoft. All rights reserved.
//
#pragma once
typedef struct _WMBCLASS_DEVICE_CONTEXT
{
void* WdfTriageInfoPtr;
WDFDEVICE WdfDevice;
bool m_armedWake;
ULONG TraceInstance;
MBB_BUS_HANDLE BusHandle;
MBB_BUS_PARAMETERS BusParams;
ULONGLONG DSSPacketsReceivedCount;
ULONGLONG DSSPacketsSentCount;
LONG NtbSequenceNumber;
WDFLOOKASIDE ReceiveLookasideList;
PUCHAR sharedPaddingBuffer;
struct
{
WDFSPINLOCK WdfRecvSpinLock;
struct _WMBCLASS_NETADAPTER_CONTEXT* NetAdapterContext; // the context of the netAdapter instance if this session is in use
} Sessions[MBB_MAX_NUMBER_OF_SESSIONS];
} WMBCLASS_DEVICE_CONTEXT, *PWMBCLASS_DEVICE_CONTEXT;
WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(WMBCLASS_DEVICE_CONTEXT, WmbClassGetDeviceContext);
EVT_WDF_DEVICE_PREPARE_HARDWARE EvtDevicePrepareHardware;
EVT_WDF_DEVICE_RELEASE_HARDWARE EvtDeviceReleaseHardware;
EVT_WDF_DEVICE_SURPRISE_REMOVAL EvtDeviceSurpriseRemoval;
EVT_MBB_DEVICE_SEND_MBIM_FRAGMENT EvtMbbDeviceSendMbimFragment;
EVT_MBB_DEVICE_RECEIVE_MBIM_FRAGMENT EvtMbbDeviceReceiveMbimFragment;
EVT_MBB_DEVICE_CREATE_ADAPTER EvtMbbDeviceCreateAdapter;
//EVT_NET_DEVICE_RESET EvtMbbDeviceReset;
EVT_WDF_OBJECT_CONTEXT_CLEANUP EvtAdapterCleanup;
|