1 /*++
2 
3 Copyright (c) Microsoft Corporation
4 
5 Module Name:
6 
7     FxDeviceToMxInterface.hpp
8 
9 Abstract:
10 
11     Classes in this file are there to enable reaching into those classes that
12     have not yet been made mode agnostic such as FxDevice, FxDeviceInit, FxPkgIo
13     and others. These will not be needed once all objects have been made mode
14     agnostic
15 
16     These classes will be implemented separately by respective frameworks
17 
18     Convention used:
19     - Typically the first parameter to a method exposed by these classes is a
20       pointer to the object that is being exposed. e.g. methods in FxDeviceToMx
21       class have FxDevice* as the first parameter.
22 
23     - The name of method is same as the original method wherever applicable.
24 
25     - For a method of another object that is a member of the object being
26       exposed, the name comprises member object's class name.
27        e.g.  m_Device->m_PkgIo->StopProcessingForPower() is exposed as
28        FxDeviceToMx::FxPkgIo_StopProcessingForPower( )
29        The name of method begins with FxPkgIo_ because StopProcessingForPower is
30        a method of FxPkgIo and not FxDevice.
31 
32 Author:
33 
34 
35 
36 Environment:
37 
38 
39 Revision History:
40 
41 --*/
42 
43 #pragma once
44 
45 
46 
47 
48 
49 WDF_FILEOBJECT_CLASS
50 __inline
51 FxFileObjectClassNormalize(
52     __in WDF_FILEOBJECT_CLASS FileObjectClass
53     );
54 
55 BOOLEAN
56 __inline
57 FxIsFileObjectOptional(
58     __in WDF_FILEOBJECT_CLASS FileObjectClass
59     );
60