6 #define DONT_HOLD_FOR_SEQUENCING 0x8000000000000000 35 DEFINE_GUID(CLSID_MiniportDriverDMusUART, 0xd3f0ce1c, 0xFFFC, 0x11D1, 0x81, 0xB0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1);
36 DEFINE_GUID(CLSID_MiniportDriverDMusUARTCapture, 0xD3F0CE1D, 0xFFFC, 0x11D1, 0x81, 0xB0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1);
43 #define INTERFACE IMasterClock 55 #define IMP_IMasterClock \ 56 STDMETHODIMP_(NTSTATUS) GetTime( \ 57 _Out_ REFERENCE_TIME *pTime \ 65 #define INTERFACE IMXF 70 #define DEFINE_ABSTRACT_IMXF() \ 71 STDMETHOD_(NTSTATUS,SetState)(THIS_ \ 74 STDMETHOD_(NTSTATUS,PutMessage)(THIS_ \ 75 _In_ PDMUS_KERNEL_EVENT pDMKEvt \ 77 STDMETHOD_(NTSTATUS,ConnectOutput)(THIS_ \ 80 STDMETHOD_(NTSTATUS,DisconnectOutput)(THIS_ \ 85 STDMETHODIMP_(NTSTATUS) SetState ( \ 86 _In_ KSSTATE State); \ 87 STDMETHODIMP_(NTSTATUS) PutMessage (THIS_ \ 88 _In_ PDMUS_KERNEL_EVENT pDMKEvt); \ 89 STDMETHODIMP_(NTSTATUS) ConnectOutput (THIS_ \ 91 STDMETHODIMP_(NTSTATUS) DisconnectOutput (THIS_ \ 104 #define INTERFACE IAllocatorMXF 106 struct IAllocatorMXF;
109 #define STATIC_IID_IAllocatorMXF\ 110 0xa5f0d62c, 0xb30f, 0x11d2, {0xb7, 0xa3, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1} 112 #define IID_IAllocatorMXF DEFINE_GUIDNAMED(IID_IAllocatorMXF) 135 #define IMP_IAllocatorMXF \ 137 STDMETHODIMP_(NTSTATUS) GetMessage( \ 138 _Out_ PDMUS_KERNEL_EVENT *ppDMKEvt); \ 140 STDMETHODIMP_(USHORT) GetBufferSize(void); \ 142 STDMETHODIMP_(NTSTATUS) GetBuffer( \ 143 _Outptr_result_bytebuffer_(_Inexpressible_(GetBufferSize bytes)) \ 146 STDMETHODIMP_(NTSTATUS) PutBuffer( \ 150 #define INTERFACE IPortDMus 152 DEFINE_GUID(IID_IPortDMus, 0xc096df9c, 0xfb09, 0x11d1, 0x81, 0xb0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1);
153 DEFINE_GUID(CLSID_PortDMus, 0xb7902fe9, 0xfb0a, 0x11d1, 0x81, 0xb0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1);
170 #define IMP_IPortDMus \ 172 STDMETHODIMP_(void) Notify( \ 173 _In_opt_ PSERVICEGROUP ServiceGroup); \ 175 STDMETHODIMP_(void) RegisterServiceGroup( \ 176 _In_ PSERVICEGROUP ServiceGroup) 179 #define INTERFACE IMiniportDMus 181 DEFINE_GUID(IID_IMiniportDMus, 0xc096df9d, 0xfb09, 0x11d1, 0x81, 0xb0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1);
214 #define IMP_IMiniportDMus \ 216 STDMETHODIMP_(NTSTATUS) Init( \ 217 _In_opt_ PUNKNOWN UnknownAdapter, \ 218 _In_ PRESOURCELIST ResourceList, \ 219 _In_ PPORTDMUS Port, \ 220 _Out_ PSERVICEGROUP *ServiceGroup); \ 222 STDMETHODIMP_(void) Service(THIS); \ 224 STDMETHODIMP_(NTSTATUS) NewStream( \ 226 _In_opt_ PUNKNOWN OuterUnknown, \ 227 _In_ POOL_TYPE PoolType, \ 229 _In_ DMUS_STREAM_TYPE StreamType, \ 230 _In_ PKSDATAFORMAT DataFormat, \ 231 _Out_ PSERVICEGROUP *ServiceGroup, \ 232 _In_ PAllocatorMXF AllocatorMXF, \ 233 _In_ PMASTERCLOCK MasterClock, \ 234 _Out_ PULONGLONG SchedulePreFetch) 237 #define STATIC_KSAUDFNAME_DMUSIC_MPU_OUT\ 238 0xA4DF0EB5, 0xBAC9, 0x11d2, {0xB7, 0xA8, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1} 240 #define KSAUDFNAME_DMUSIC_MPU_OUT DEFINE_GUIDNAMED(KSAUDFNAME_DMUSIC_MPU_OUT) 242 #define STATIC_KSAUDFNAME_DMUSIC_MPU_IN\ 243 0xB2EC0A7D, 0xBAC9, 0x11d2, {0xB7, 0xA8, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1} 245 #define KSAUDFNAME_DMUSIC_MPU_IN DEFINE_GUIDNAMED(KSAUDFNAME_DMUSIC_MPU_IN) 247 #define STATIC_IID_IMXF\ 248 0xc096df9e, 0xfb09, 0x11d1, {0x81, 0xb0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1} 250 #define IID_IMXF DEFINE_GUIDNAMED(IID_IMXF) 252 #define DMUS_KEF_EVENT_COMPLETE 0x0000 253 #define DMUS_KEF_EVENT_INCOMPLETE 0x0001 254 #define DMUS_KEF_PACKAGE_EVENT 0x0002 255 #define kBytePositionNone (~(ULONGLONG)0) 257 #define SHORT_EVT(evt) ((evt)->cbEvent <= sizeof(PBYTE)) 258 #define PACKAGE_EVT(evt) ((evt)->usFlags & DMUS_KEF_PACKAGE_EVENT) 259 #define INCOMPLETE_EVT(evt) ((evt)->usFlags & DMUS_KEF_EVENT_INCOMPLETE) 260 #define COMPLETE_EVT(evt) (((evt)->usFlags & DMUS_KEF_EVENT_INCOMPLETE) == 0) 262 #define SET_INCOMPLETE_EVT(evt) ((evt)->usFlags |= DMUS_KEF_EVENT_INCOMPLETE) 263 #define SET_COMPLETE_EVT(evt) ((evt)->usFlags &= (~DMUS_KEF_EVENT_INCOMPLETE)) 264 #define SET_PACKAGE_EVT(evt) ((evt)->usFlags |= DMUS_KEF_PACKAGE_EVENT) 265 #define CLEAR_PACKAGE_EVT(evt) ((evt)->usFlags &= (~DMUS_KEF_PACKAGE_EVENT)) IServiceGroup * PSERVICEGROUP
BOOL WINAPI SHIM_OBJ_NAME() Notify(DWORD fdwReason, PVOID ptr)
#define KSAUDFNAME_DMUSIC_MPU_OUT
#define DEFINE_ABSTRACT_IMXF()
DEFINE_GUIDSTRUCT("a5f0d62c-b30f-11d2-b7a3-0060083316c1", IID_IAllocatorMXF)
#define DEFINE_ABSTRACT_UNKNOWN()
#define DEFINE_ABSTRACT_MINIPORT()
#define IID_IAllocatorMXF
return pMemory GetBuffer()
struct _DMUS_KERNEL_EVENT * PDMUS_KERNEL_EVENT
_Must_inspect_result_ _In_ WDFIORESREQLIST _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFIORESLIST * ResourceList
union _DMUS_KERNEL_EVENT::@1887 uData
struct _DMUS_KERNEL_EVENT * pNextEvt
IMasterClock * PMASTERCLOCK
ULONGLONG ullBytePosition
struct IAllocatorMXF * PAllocatorMXF
static unsigned char bytes[4]
#define _Outptr_result_bytebuffer_(size)
BYTE abData[sizeof(PBYTE)]
_In_ PCCERT_CONTEXT _In_opt_ LPFILETIME pTime
REFERENCE_TIME ullPresTime100ns
DECLARE_INTERFACE_(IMasterClock, IUnknown)
DEFINE_GUID(CLSID_MiniportDriverDMusUART, 0xd3f0ce1c, 0xFFFC, 0x11D1, 0x81, 0xB0, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1)
IResourceList * PRESOURCELIST
IMiniportDMus * PMINIPORTDMUS
#define KSAUDFNAME_DMUSIC_MPU_IN
__GNU_EXTENSION typedef unsigned __int64 * PULONGLONG
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
struct _DMUS_KERNEL_EVENT DMUS_KERNEL_EVENT
static PHARDWARE_TIMER MasterClock
struct _DMUS_KERNEL_EVENT * pPackageEvt
#define DEFINE_ABSTRACT_PORT()