summaryrefslogtreecommitdiff
path: root/usb/ufxclientsample/interrupt.h
blob: 9fe520d24a17d72c2aefb69aeb1cad18880ca657 (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
46
47
/*++

Copyright (c) Microsoft Corporation. All rights reserved.

Module Name:

    interrupt.h

Abstract:

    Defines the structures and functions needed to manage wdf interrupt object.

Environment:

    Kernel mode

--*/
#pragma once

#include "registers.h"

//
// Context space for device WDFINTERRUPT object 
//
typedef struct _DEVICE_INTERRUPT_CONTEXT {

    WDFCOMMONBUFFER Buffer;

} DEVICE_INTERRUPT_CONTEXT, *PDEVICE_INTERRUPT_CONTEXT;

WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(DEVICE_INTERRUPT_CONTEXT, DeviceInterruptGetContext)

_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
NTSTATUS
InterruptCreate (
    _In_ WDFDEVICE Device,
    _In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptResourceRaw,
    _In_ PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptResourceTranslated
    );


_IRQL_requires_max_(DISPATCH_LEVEL)
VOID
InterruptProgramEventBuffers (
    _In_ WDFINTERRUPT DeviceInterrupt
    );