twain3/Tirdparty/3rdparty/win/ddk/iointex.h

74 lines
1.5 KiB
C

/*++
Copyright (c) Microsoft Corporation. All rights reserved.
Module Name:
iointex.h
Abstract:
This header exposes the new kernel APIs to connect and disconnect
interrupts in a manner that makes it possible for drivers referencing
these new APIs to run on downlevel systems.
--*/
#ifndef _IOINTEX_IOINTEX_H_
#define _IOINTEX_IOINTEX_H_
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
//
// Supply an overrideable library implementation of IoConnectInterruptEx.
// See DDK documentation for more details on this API.
//
#undef IoConnectInterruptEx
#define IoConnectInterruptEx WdmlibIoConnectInterruptEx
__drv_requiresIRQL(PASSIVE_LEVEL)
NTSTATUS
WdmlibIoConnectInterruptEx (
__inout PIO_CONNECT_INTERRUPT_PARAMETERS Parameters
);
//
// Supply an overrideable library implementation of IoDisconnectInterruptEx.
// See DDK documentation for more details on this API.
//
#undef IoDisconnectInterruptEx
#define IoDisconnectInterruptEx WdmlibIoDisconnectInterruptEx
__drv_requiresIRQL(PASSIVE_LEVEL)
NTSTATUS
WdmlibIoDisconnectInterruptEx (
__inout PIO_DISCONNECT_INTERRUPT_PARAMETERS Parameters
);
//
// Supply an overrideable library implementation of IoGetAffinityInterrupt.
// See DDK documentation for more details on this API.
//
#undef IoGetAffinityInterrupt
#define IoGetAffinityInterrupt WdmlibIoGetAffinityInterrupt
NTSTATUS
WdmlibIoGetAffinityInterrupt (
__in PKINTERRUPT InterruptObject,
__out PGROUP_AFFINITY GroupAffinity
);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // !defined(_IOINTEX_IOINTEX_H_)