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