mirror of
https://github.com/reactos/reactos.git
synced 2025-03-10 18:24:02 +00:00
98 lines
1.5 KiB
C++
98 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_
|