11 const GUID IID_IKsAllocatorEx = {0x091bb63a, 0x603f, 0x11d1, {0xb0, 0x67, 0x00, 0xa0, 0xc9, 0x06, 0x28, 0x02}};
12 const GUID IID_IKsAllocator = {0x8da64899, 0xc0d9, 0x11d0, {0x84, 0x13, 0x00, 0x00, 0xf8, 0x22, 0xfe, 0x8a}};
98 reinterpret_cast<IUnknown*>(*Output)->AddRef();
102 IsEqualGUID(refiid, IID_IMemAllocatorCallbackTemp))
105 reinterpret_cast<IMemAllocatorCallbackTemp*>(*Output)->AddRef();
114 m_Mode(KsAllocatorMode_User),
164 if (
m_Mode == KsAllocatorMode_Kernel)
226 if (
m_Mode == KsAllocatorMode_Kernel)
313 if (
m_Mode == KsAllocatorMode_Kernel)
373 while(Sample ==
NULL);
495 KSALLOCATORMODE
Mode)
503 PALLOCATOR_PROPERTIES_EX
513 PALLOCATOR_PROPERTIES_EX Properties)
553 hPin =
pObject->KsGetObjectHandle();
static ACPI_BUFFER CurrentBuffer
CRITICAL_SECTION m_CriticalSection
virtual ULONG Release(__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
MediaSampleList m_UsedList
HRESULT STDMETHODCALLTYPE KsGetAllocatorStatus(PKSSTREAMALLOCATOR_STATUS AllocatorStatus)
DWORD dwAllocationGranularity
ALLOCATOR_PROPERTIES_EX m_Properties
HRESULT STDMETHODCALLTYPE SetNotify(IMemAllocatorNotifyCallbackTemp *pNotify)
_In_ PKSALLOCATOR_FRAMING AllocatorFraming
IMemAllocatorNotifyCallbackTemp * m_Notify
#define INVALID_HANDLE_VALUE
IN PVOID IN PVOID IN USHORT IN USHORT Size
STDMETHODIMP_(ULONG) Release()
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
HRESULT STDMETHODCALLTYPE ReleaseBuffer(IMediaSample *pBuffer)
KSALLOCATORMODE STDMETHODCALLTYPE KsGetAllocatorMode()
HRESULT STDMETHODCALLTYPE Decommit()
PALLOCATOR_PROPERTIES_EX STDMETHODCALLTYPE KsGetProperties()
HRESULT STDMETHODCALLTYPE GetFreeCount(LONG *plBuffersFree)
HANDLE STDMETHODCALLTYPE KsGetAllocatorHandle()
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
HANDLE STDMETHODCALLTYPE KsCreateAllocatorAndGetHandle(IKsPin *KsPin)
#define KSALLOCATOR_OPTIONF_SYSTEM_MEMORY
LPVOID NTAPI VirtualAlloc(IN LPVOID lpAddress, IN SIZE_T dwSize, IN DWORD flAllocationType, IN DWORD flProtect)
#define VFW_E_ALREADY_COMMITTED
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
HRESULT STDMETHODCALLTYPE Commit()
KSDDKAPI DWORD NTAPI KsCreateAllocator(HANDLE ConnectionHandle, PKSALLOCATOR_FRAMING AllocatorFraming, PHANDLE AllocatorHandle)
HRESULT STDMETHODCALLTYPE GetBuffer(IMediaSample **ppBuffer, REFERENCE_TIME *pStartTime, REFERENCE_TIME *pEndTime, DWORD dwFlags)
HRESULT STDMETHODCALLTYPE GetProperties(ALLOCATOR_PROPERTIES *pProps)
VOID STDMETHODCALLTYPE KsSetAllocatorMode(KSALLOCATORMODE Mode)
_In_ WDFCOLLECTION _In_ ULONG Index
#define STDMETHODCALLTYPE
const GUID IID_IKsAllocatorEx
STDMETHODIMP_(ULONG) AddRef()
#define InterlockedDecrement
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
VOID STDMETHODCALLTYPE FreeMediaSamples()
const GUID IID_IKsAllocator
_In_ PKSALLOCATOR_FRAMING _Out_ PHANDLE AllocatorHandle
#define InterlockedIncrement
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
HRESULT STDMETHODCALLTYPE SetProperties(ALLOCATOR_PROPERTIES *pRequest, ALLOCATOR_PROPERTIES *pActual)
#define VFW_E_BUFFERS_OUTSTANDING
VOID WINAPI GetSystemInfo(IN LPSYSTEM_INFO lpSystemInfo)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
MediaSampleStack m_FreeList
#define VFW_E_NOT_COMMITTED
HRESULT WINAPI CKsAllocator_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
BOOL NTAPI VirtualFree(IN LPVOID lpAddress, IN SIZE_T dwSize, IN DWORD dwFreeType)
std::list< IMediaSample * > MediaSampleList
UINT(* handler)(MSIPACKAGE *)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
VOID STDMETHODCALLTYPE KsSetAllocatorHandle(HANDLE AllocatorHandle)
std::stack< IMediaSample * > MediaSampleStack
STDMETHODIMP QueryInterface(REFIID InterfaceId, PVOID *Interface)
VOID STDMETHODCALLTYPE KsSetProperties(PALLOCATOR_PROPERTIES_EX Properties)