ReactOS 0.4.16-dev-336-gb667d82
dmusicks.h File Reference
#include <dmusprop.h>
Include dependency graph for dmusicks.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _DMUS_KERNEL_EVENT
 

Macros

#define DONT_HOLD_FOR_SEQUENCING   0x8000000000000000
 
#define INTERFACE   IMasterClock
 
#define IMP_IMasterClock
 
#define INTERFACE   IMXF
 
#define DEFINE_ABSTRACT_IMXF()
 
#define IMP_IMXF
 
#define INTERFACE   IAllocatorMXF
 
#define STATIC_IID_IAllocatorMXF    0xa5f0d62c, 0xb30f, 0x11d2, {0xb7, 0xa3, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1}
 
#define IID_IAllocatorMXF   DEFINE_GUIDNAMED(IID_IAllocatorMXF)
 
#define IMP_IAllocatorMXF
 
#define INTERFACE   IPortDMus
 
#define IMP_IPortDMus
 
#define INTERFACE   IMiniportDMus
 
#define IMP_IMiniportDMus
 
#define STATIC_KSAUDFNAME_DMUSIC_MPU_OUT    0xA4DF0EB5, 0xBAC9, 0x11d2, {0xB7, 0xA8, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1}
 
#define KSAUDFNAME_DMUSIC_MPU_OUT   DEFINE_GUIDNAMED(KSAUDFNAME_DMUSIC_MPU_OUT)
 
#define STATIC_KSAUDFNAME_DMUSIC_MPU_IN    0xB2EC0A7D, 0xBAC9, 0x11d2, {0xB7, 0xA8, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1}
 
#define KSAUDFNAME_DMUSIC_MPU_IN   DEFINE_GUIDNAMED(KSAUDFNAME_DMUSIC_MPU_IN)
 
#define STATIC_IID_IMXF    0xc096df9e, 0xfb09, 0x11d1, {0x81, 0xb0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1}
 
#define IID_IMXF   DEFINE_GUIDNAMED(IID_IMXF)
 
#define DMUS_KEF_EVENT_COMPLETE   0x0000
 
#define DMUS_KEF_EVENT_INCOMPLETE   0x0001
 
#define DMUS_KEF_PACKAGE_EVENT   0x0002
 
#define kBytePositionNone   (~(ULONGLONG)0)
 
#define SHORT_EVT(evt)   ((evt)->cbEvent <= sizeof(PBYTE))
 
#define PACKAGE_EVT(evt)   ((evt)->usFlags & DMUS_KEF_PACKAGE_EVENT)
 
#define INCOMPLETE_EVT(evt)   ((evt)->usFlags & DMUS_KEF_EVENT_INCOMPLETE)
 
#define COMPLETE_EVT(evt)   (((evt)->usFlags & DMUS_KEF_EVENT_INCOMPLETE) == 0)
 
#define SET_INCOMPLETE_EVT(evt)   ((evt)->usFlags |= DMUS_KEF_EVENT_INCOMPLETE)
 
#define SET_COMPLETE_EVT(evt)   ((evt)->usFlags &= (~DMUS_KEF_EVENT_INCOMPLETE))
 
#define SET_PACKAGE_EVT(evt)   ((evt)->usFlags |= DMUS_KEF_PACKAGE_EVENT)
 
#define CLEAR_PACKAGE_EVT(evt)   ((evt)->usFlags &= (~DMUS_KEF_PACKAGE_EVENT))
 

Typedefs

typedef LONGLONG REFERENCE_TIME
 
typedef struct _DMUS_KERNEL_EVENT DMUS_KERNEL_EVENT
 
typedef struct _DMUS_KERNEL_EVENTPDMUS_KERNEL_EVENT
 
typedef IMasterClock * PMASTERCLOCK
 
typedef struct IMXF * PMXF
 
typedef struct IAllocatorMXF * PAllocatorMXF
 
typedef IPortDMus * PPORTDMUS
 
typedef IMiniportDMus * PMINIPORTDMUS
 

Enumerations

enum  DMUS_STREAM_TYPE { DMUS_STREAM_MIDI_INVALID = -1 , DMUS_STREAM_MIDI_RENDER = 0 , DMUS_STREAM_MIDI_CAPTURE , DMUS_STREAM_WAVE_SINK }
 

Functions

 DEFINE_GUID (CLSID_MiniportDriverDMusUART, 0xd3f0ce1c, 0xFFFC, 0x11D1, 0x81, 0xB0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1)
 
 DEFINE_GUID (CLSID_MiniportDriverDMusUARTCapture, 0xD3F0CE1D, 0xFFFC, 0x11D1, 0x81, 0xB0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1)
 
 DECLARE_INTERFACE_ (IMasterClock, IUnknown)
 
 DECLARE_INTERFACE_ (IMXF, IUnknown)
 
 DEFINE_GUIDSTRUCT ("a5f0d62c-b30f-11d2-b7a3-0060083316c1", IID_IAllocatorMXF)
 
 DECLARE_INTERFACE_ (IAllocatorMXF, IMXF)
 
 DEFINE_GUID (IID_IPortDMus, 0xc096df9c, 0xfb09, 0x11d1, 0x81, 0xb0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1)
 
 DEFINE_GUID (CLSID_PortDMus, 0xb7902fe9, 0xfb0a, 0x11d1, 0x81, 0xb0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1)
 
 DECLARE_INTERFACE_ (IPortDMus, IPort)
 
 DEFINE_GUID (IID_IMiniportDMus, 0xc096df9d, 0xfb09, 0x11d1, 0x81, 0xb0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1)
 
 DECLARE_INTERFACE_ (IMiniportDMus, IMiniport)
 
 DEFINE_GUIDSTRUCT ("A4DF0EB5-BAC9-11d2-B7A8-0060083316C1", KSAUDFNAME_DMUSIC_MPU_OUT)
 
 DEFINE_GUIDSTRUCT ("B2EC0A7D-BAC9-11d2-B7A8-0060083316C1", KSAUDFNAME_DMUSIC_MPU_IN)
 
 DEFINE_GUIDSTRUCT ("c096df9e-fb09-11d1-81b0-0060083316c1", IID_IMXF)
 

Macro Definition Documentation

◆ CLEAR_PACKAGE_EVT

#define CLEAR_PACKAGE_EVT (   evt)    ((evt)->usFlags &= (~DMUS_KEF_PACKAGE_EVENT))

Definition at line 265 of file dmusicks.h.

◆ COMPLETE_EVT

#define COMPLETE_EVT (   evt)    (((evt)->usFlags & DMUS_KEF_EVENT_INCOMPLETE) == 0)

Definition at line 260 of file dmusicks.h.

◆ DEFINE_ABSTRACT_IMXF

#define DEFINE_ABSTRACT_IMXF ( )
Value:
STDMETHOD_(NTSTATUS,SetState)(THIS_ \
_In_ KSSTATE State \
) PURE; \
STDMETHOD_(NTSTATUS,PutMessage)(THIS_ \
_In_ PDMUS_KERNEL_EVENT pDMKEvt \
) PURE; \
STDMETHOD_(NTSTATUS,ConnectOutput)(THIS_ \
_In_ PMXF sinkMXF \
) PURE; \
STDMETHOD_(NTSTATUS,DisconnectOutput)(THIS_ \
_In_ PMXF sinkMXF \
) PURE;
LONG NTSTATUS
Definition: precomp.h:26
#define PURE
Definition: basetyps.h:64
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
struct IMXF * PMXF
Definition: dmusicks.h:68
KSSTATE
Definition: ks.h:1214

Definition at line 70 of file dmusicks.h.

◆ DMUS_KEF_EVENT_COMPLETE

#define DMUS_KEF_EVENT_COMPLETE   0x0000

Definition at line 252 of file dmusicks.h.

◆ DMUS_KEF_EVENT_INCOMPLETE

#define DMUS_KEF_EVENT_INCOMPLETE   0x0001

Definition at line 253 of file dmusicks.h.

◆ DMUS_KEF_PACKAGE_EVENT

#define DMUS_KEF_PACKAGE_EVENT   0x0002

Definition at line 254 of file dmusicks.h.

◆ DONT_HOLD_FOR_SEQUENCING

#define DONT_HOLD_FOR_SEQUENCING   0x8000000000000000

Definition at line 6 of file dmusicks.h.

◆ IID_IAllocatorMXF

#define IID_IAllocatorMXF   DEFINE_GUIDNAMED(IID_IAllocatorMXF)

Definition at line 112 of file dmusicks.h.

◆ IID_IMXF

#define IID_IMXF   DEFINE_GUIDNAMED(IID_IMXF)

Definition at line 250 of file dmusicks.h.

◆ IMP_IAllocatorMXF

#define IMP_IAllocatorMXF
Value:
STDMETHODIMP_(NTSTATUS) GetMessage( \
_Out_ PDMUS_KERNEL_EVENT *ppDMKEvt); \
\
STDMETHODIMP_(USHORT) GetBufferSize(void); \
\
STDMETHODIMP_(NTSTATUS) GetBuffer( \
_Outptr_result_bytebuffer_(_Inexpressible_(GetBufferSize bytes)) \
PBYTE *ppBuffer); \
\
STDMETHODIMP_(NTSTATUS) PutBuffer( \
static unsigned char bytes[4]
Definition: adnsresfilter.c:74
#define IMP_IMXF
Definition: dmusicks.h:84
return pMemory GetBuffer()
#define _Outptr_result_bytebuffer_(s)
Definition: no_sal2.h:288
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
BYTE * PBYTE
Definition: pedump.c:66
unsigned short USHORT
Definition: pedump.c:61
PVOID pBuffer
#define GetMessage
Definition: winuser.h:5802

Definition at line 135 of file dmusicks.h.

◆ IMP_IMasterClock

#define IMP_IMasterClock
Value:
)
#define STDMETHODIMP_(t)
Definition: basetyps.h:44
LONGLONG REFERENCE_TIME
Definition: dmusicks.h:9
#define GetTime(fmt)
Definition: lcformat.c:111
_In_ PCCERT_CONTEXT _In_opt_ LPFILETIME pTime
Definition: wincrypt.h:4837

Definition at line 55 of file dmusicks.h.

◆ IMP_IMiniportDMus

#define IMP_IMiniportDMus
Value:
STDMETHODIMP_(NTSTATUS) Init( \
_In_opt_ PUNKNOWN UnknownAdapter, \
_Out_ PSERVICEGROUP *ServiceGroup); \
\
STDMETHODIMP_(void) Service(THIS); \
\
STDMETHODIMP_(NTSTATUS) NewStream( \
_Out_ PMXF *MXF, \
_In_opt_ PUNKNOWN OuterUnknown, \
_In_ ULONG PinID, \
_In_ DMUS_STREAM_TYPE StreamType, \
_Out_ PSERVICEGROUP *ServiceGroup, \
_In_ PAllocatorMXF AllocatorMXF, \
_Out_ PULONGLONG SchedulePreFetch)
#define THIS
Definition: basetyps.h:66
IPortDMus * PPORTDMUS
Definition: dmusicks.h:168
struct IAllocatorMXF * PAllocatorMXF
Definition: dmusicks.h:107
IMasterClock * PMASTERCLOCK
Definition: dmusicks.h:53
DMUS_STREAM_TYPE
Definition: dmusicks.h:28
CPPORT Port[4]
Definition: headless.c:35
#define _In_opt_
Definition: no_sal2.h:212
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
Definition: ntbasedef.h:391
@ Service
Definition: ntsecapi.h:292
static PHARDWARE_TIMER MasterClock
Definition: pit.c:28
IResourceList * PRESOURCELIST
Definition: portcls.h:442
#define IMP_IMiniport
Definition: portcls.h:1291
IServiceGroup * PSERVICEGROUP
Definition: portcls.h:614
INT POOL_TYPE
Definition: typedefs.h:78
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
Definition: wdfdevice.h:3815
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
Definition: wdfresource.h:309

Definition at line 214 of file dmusicks.h.

◆ IMP_IMXF

#define IMP_IMXF
Value:
STDMETHODIMP_(NTSTATUS) SetState ( \
STDMETHODIMP_(NTSTATUS) PutMessage (THIS_ \
STDMETHODIMP_(NTSTATUS) ConnectOutput (THIS_ \
_In_ PMXF sinkMXF); \
STDMETHODIMP_(NTSTATUS) DisconnectOutput (THIS_ \
_In_ PMXF sinkMXF)
#define THIS_
Definition: basetyps.h:65

Definition at line 84 of file dmusicks.h.

◆ IMP_IPortDMus

#define IMP_IPortDMus
Value:
IMP_IPort; \
STDMETHODIMP_(void) Notify( \
_In_opt_ PSERVICEGROUP ServiceGroup); \
\
STDMETHODIMP_(void) RegisterServiceGroup( \
_In_ PSERVICEGROUP ServiceGroup)
BOOL WINAPI SHIM_OBJ_NAME() Notify(DWORD fdwReason, PVOID ptr)

Definition at line 170 of file dmusicks.h.

◆ INCOMPLETE_EVT

#define INCOMPLETE_EVT (   evt)    ((evt)->usFlags & DMUS_KEF_EVENT_INCOMPLETE)

Definition at line 259 of file dmusicks.h.

◆ INTERFACE [1/5]

#define INTERFACE   IMasterClock

Definition at line 179 of file dmusicks.h.

◆ INTERFACE [2/5]

#define INTERFACE   IMXF

Definition at line 179 of file dmusicks.h.

◆ INTERFACE [3/5]

#define INTERFACE   IAllocatorMXF

Definition at line 179 of file dmusicks.h.

◆ INTERFACE [4/5]

#define INTERFACE   IPortDMus

Definition at line 179 of file dmusicks.h.

◆ INTERFACE [5/5]

#define INTERFACE   IMiniportDMus

Definition at line 179 of file dmusicks.h.

◆ kBytePositionNone

#define kBytePositionNone   (~(ULONGLONG)0)

Definition at line 255 of file dmusicks.h.

◆ KSAUDFNAME_DMUSIC_MPU_IN

#define KSAUDFNAME_DMUSIC_MPU_IN   DEFINE_GUIDNAMED(KSAUDFNAME_DMUSIC_MPU_IN)

Definition at line 245 of file dmusicks.h.

◆ KSAUDFNAME_DMUSIC_MPU_OUT

#define KSAUDFNAME_DMUSIC_MPU_OUT   DEFINE_GUIDNAMED(KSAUDFNAME_DMUSIC_MPU_OUT)

Definition at line 240 of file dmusicks.h.

◆ PACKAGE_EVT

#define PACKAGE_EVT (   evt)    ((evt)->usFlags & DMUS_KEF_PACKAGE_EVENT)

Definition at line 258 of file dmusicks.h.

◆ SET_COMPLETE_EVT

#define SET_COMPLETE_EVT (   evt)    ((evt)->usFlags &= (~DMUS_KEF_EVENT_INCOMPLETE))

Definition at line 263 of file dmusicks.h.

◆ SET_INCOMPLETE_EVT

#define SET_INCOMPLETE_EVT (   evt)    ((evt)->usFlags |= DMUS_KEF_EVENT_INCOMPLETE)

Definition at line 262 of file dmusicks.h.

◆ SET_PACKAGE_EVT

#define SET_PACKAGE_EVT (   evt)    ((evt)->usFlags |= DMUS_KEF_PACKAGE_EVENT)

Definition at line 264 of file dmusicks.h.

◆ SHORT_EVT

#define SHORT_EVT (   evt)    ((evt)->cbEvent <= sizeof(PBYTE))

Definition at line 257 of file dmusicks.h.

◆ STATIC_IID_IAllocatorMXF

#define STATIC_IID_IAllocatorMXF    0xa5f0d62c, 0xb30f, 0x11d2, {0xb7, 0xa3, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1}

Definition at line 109 of file dmusicks.h.

◆ STATIC_IID_IMXF

#define STATIC_IID_IMXF    0xc096df9e, 0xfb09, 0x11d1, {0x81, 0xb0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1}

Definition at line 247 of file dmusicks.h.

◆ STATIC_KSAUDFNAME_DMUSIC_MPU_IN

#define STATIC_KSAUDFNAME_DMUSIC_MPU_IN    0xB2EC0A7D, 0xBAC9, 0x11d2, {0xB7, 0xA8, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1}

Definition at line 242 of file dmusicks.h.

◆ STATIC_KSAUDFNAME_DMUSIC_MPU_OUT

#define STATIC_KSAUDFNAME_DMUSIC_MPU_OUT    0xA4DF0EB5, 0xBAC9, 0x11d2, {0xB7, 0xA8, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1}

Definition at line 237 of file dmusicks.h.

Typedef Documentation

◆ DMUS_KERNEL_EVENT

◆ PAllocatorMXF

typedef struct IAllocatorMXF* PAllocatorMXF

Definition at line 107 of file dmusicks.h.

◆ PDMUS_KERNEL_EVENT

◆ PMASTERCLOCK

typedef IMasterClock* PMASTERCLOCK

Definition at line 53 of file dmusicks.h.

◆ PMINIPORTDMUS

typedef IMiniportDMus* PMINIPORTDMUS

Definition at line 211 of file dmusicks.h.

◆ PMXF

typedef struct IMXF* PMXF

Definition at line 68 of file dmusicks.h.

◆ PPORTDMUS

typedef IPortDMus* PPORTDMUS

Definition at line 168 of file dmusicks.h.

◆ REFERENCE_TIME

Definition at line 9 of file dmusicks.h.

Enumeration Type Documentation

◆ DMUS_STREAM_TYPE

Enumerator
DMUS_STREAM_MIDI_INVALID 
DMUS_STREAM_MIDI_RENDER 
DMUS_STREAM_MIDI_CAPTURE 
DMUS_STREAM_WAVE_SINK 

Definition at line 28 of file dmusicks.h.

28 {
@ DMUS_STREAM_MIDI_RENDER
Definition: dmusicks.h:30
@ DMUS_STREAM_MIDI_CAPTURE
Definition: dmusicks.h:31
@ DMUS_STREAM_WAVE_SINK
Definition: dmusicks.h:32
@ DMUS_STREAM_MIDI_INVALID
Definition: dmusicks.h:29

Function Documentation

◆ DECLARE_INTERFACE_() [1/5]

DECLARE_INTERFACE_ ( IAllocatorMXF  ,
IMXF   
)

Definition at line 115 of file dmusicks.h.

115 {
117
119
121 _Out_ PDMUS_KERNEL_EVENT *ppDMKEvt
122 ) PURE;
123
124 STDMETHOD_(USHORT,GetBufferSize)(THIS) PURE;
125
127 _Outptr_result_bytebuffer_(_Inexpressible_(GetBufferSize bytes)) PBYTE *ppBuffer
128 )PURE;
129
130 STDMETHOD_(NTSTATUS,PutBuffer)(THIS_
132 ) PURE;
133};
#define DEFINE_ABSTRACT_IMXF()
Definition: dmusicks.h:70
#define DEFINE_ABSTRACT_UNKNOWN()
Definition: ksiface.h:5

◆ DECLARE_INTERFACE_() [2/5]

DECLARE_INTERFACE_ ( IMasterClock  ,
IUnknown   
)

Definition at line 45 of file dmusicks.h.

◆ DECLARE_INTERFACE_() [3/5]

DECLARE_INTERFACE_ ( IMiniportDMus  ,
IMiniport   
)

Definition at line 183 of file dmusicks.h.

183 {
185
187
189 _In_opt_ PUNKNOWN UnknownAdapter,
192 _Out_ PSERVICEGROUP *ServiceGroup
193 ) PURE;
194
196
197 STDMETHOD_(NTSTATUS,NewStream)(THIS_
198 _Out_ PMXF *MXF,
199 _In_opt_ PUNKNOWN OuterUnknown,
201 _In_ ULONG PinID,
202 _In_ DMUS_STREAM_TYPE StreamType,
204 _Out_ PSERVICEGROUP *ServiceGroup,
205 _In_ PAllocatorMXF AllocatorMXF,
207 _Out_ PULONGLONG SchedulePreFetch
208 ) PURE;
209};
#define DEFINE_ABSTRACT_MINIPORT()
Definition: portcls.h:1279

◆ DECLARE_INTERFACE_() [4/5]

DECLARE_INTERFACE_ ( IMXF  ,
IUnknown   
)

Definition at line 94 of file dmusicks.h.

◆ DECLARE_INTERFACE_() [5/5]

DECLARE_INTERFACE_ ( IPortDMus  ,
IPort   
)

Definition at line 155 of file dmusicks.h.

155 {
157
159
161 _In_opt_ PSERVICEGROUP ServiceGroup
162 ) PURE;
163
164 STDMETHOD_(void,RegisterServiceGroup)(THIS_
165 _In_ PSERVICEGROUP ServiceGroup
166 ) PURE;
167};
#define DEFINE_ABSTRACT_PORT()
Definition: portcls.h:1047

◆ DEFINE_GUID() [1/5]

DEFINE_GUID ( CLSID_MiniportDriverDMusUART  ,
0xd3f0ce1c  ,
0xFFFC  ,
0x11D1  ,
0x81  ,
0xB0  ,
0x00  ,
0x60  ,
0x08  ,
0x33  ,
0x16  ,
0xC1   
)

◆ DEFINE_GUID() [2/5]

DEFINE_GUID ( CLSID_MiniportDriverDMusUARTCapture  ,
0xD3F0CE1D  ,
0xFFFC  ,
0x11D1  ,
0x81  ,
0xB0  ,
0x00  ,
0x60  ,
0x08  ,
0x33  ,
0x16  ,
0xC1   
)

◆ DEFINE_GUID() [3/5]

DEFINE_GUID ( CLSID_PortDMus  ,
0xb7902fe9  ,
0xfb0a  ,
0x11d1  ,
0x81  ,
0xb0  ,
0x00  ,
0x60  ,
0x08  ,
0x33  ,
0x16  ,
0xc1   
)

◆ DEFINE_GUID() [4/5]

DEFINE_GUID ( IID_IMiniportDMus  ,
0xc096df9d  ,
0xfb09  ,
0x11d1  ,
0x81  ,
0xb0  ,
0x00  ,
0x60  ,
0x08  ,
0x33  ,
0x16  ,
0xc1   
)

◆ DEFINE_GUID() [5/5]

DEFINE_GUID ( IID_IPortDMus  ,
0xc096df9c  ,
0xfb09  ,
0x11d1  ,
0x81  ,
0xb0  ,
0x00  ,
0x60  ,
0x08  ,
0x33  ,
0x16  ,
0xc1   
)

◆ DEFINE_GUIDSTRUCT() [1/4]

DEFINE_GUIDSTRUCT ( "A4DF0EB5-BAC9-11d2-B7A8-0060083316C1"  ,
KSAUDFNAME_DMUSIC_MPU_OUT   
)

◆ DEFINE_GUIDSTRUCT() [2/4]

DEFINE_GUIDSTRUCT ( "a5f0d62c-b30f-11d2-b7a3-0060083316c1"  ,
IID_IAllocatorMXF   
)

◆ DEFINE_GUIDSTRUCT() [3/4]

DEFINE_GUIDSTRUCT ( "B2EC0A7D-BAC9-11d2-B7A8-0060083316C1"  ,
KSAUDFNAME_DMUSIC_MPU_IN   
)

◆ DEFINE_GUIDSTRUCT() [4/4]

DEFINE_GUIDSTRUCT ( "c096df9e-fb09-11d1-81b0-0060083316c1"  ,
IID_IMXF   
)