mirror of
https://github.com/reactos/reactos.git
synced 2025-03-10 10:14:44 +00:00
99 lines
1.5 KiB
C++
99 lines
1.5 KiB
C++
![]() |
/*++
|
||
|
|
||
|
Copyright (c) Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
FxDeviceInterface.hpp
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This module implements the device interface object.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
Both kernel and user mode
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _FXDEVICEINTERFACE_H_
|
||
|
#define _FXDEVICEINTERFACE_H_
|
||
|
|
||
|
class FxDeviceInterface : public FxStump
|
||
|
{
|
||
|
public:
|
||
|
GUID m_InterfaceClassGUID;
|
||
|
|
||
|
UNICODE_STRING m_ReferenceString;
|
||
|
|
||
|
UNICODE_STRING m_SymbolicLinkName;
|
||
|
|
||
|
SINGLE_LIST_ENTRY m_Entry;
|
||
|
|
||
|
BOOLEAN m_State;
|
||
|
|
||
|
#if (FX_CORE_MODE == FX_CORE_USER_MODE)
|
||
|
//
|
||
|
// This is needed in UM to get hold of host interface
|
||
|
//
|
||
|
MdDeviceObject m_Device;
|
||
|
|
||
|
#endif
|
||
|
|
||
|
public:
|
||
|
FxDeviceInterface(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
~FxDeviceInterface(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
static
|
||
|
FxDeviceInterface*
|
||
|
_FromEntry(
|
||
|
__in PSINGLE_LIST_ENTRY Entry
|
||
|
)
|
||
|
{
|
||
|
return CONTAINING_RECORD(Entry, FxDeviceInterface, m_Entry);
|
||
|
}
|
||
|
|
||
|
_Must_inspect_result_
|
||
|
NTSTATUS
|
||
|
Initialize(
|
||
|
__in PFX_DRIVER_GLOBALS FxDriverGlobals,
|
||
|
__in CONST GUID* InterfaceGUID,
|
||
|
__in_opt PCUNICODE_STRING ReferenceString
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
SetState(
|
||
|
__in BOOLEAN State
|
||
|
);
|
||
|
|
||
|
_Must_inspect_result_
|
||
|
NTSTATUS
|
||
|
Register(
|
||
|
__in MdDeviceObject Pdo
|
||
|
);
|
||
|
|
||
|
_Must_inspect_result_
|
||
|
NTSTATUS
|
||
|
Register(
|
||
|
_In_ FxDevice* Device
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
GetSymbolicLinkName(
|
||
|
_In_ FxString* LinkString
|
||
|
);
|
||
|
};
|
||
|
|
||
|
#endif // _FXDEVICEINTERFACE_H_
|