11 const GUID IID_IKsClockForwarder = {0x877e4352, 0x6fea, 0x11d0, {0xb8, 0x63, 0x00, 0xaa, 0x00, 0xa2, 0x16, 0xa1}};
72 m_ThreadStarted(
FALSE),
89 reinterpret_cast<IUnknown*>(*Output)->AddRef();
95 *
Output = (IKsObject*)(
this);
96 reinterpret_cast<IKsObject*>(*Output)->AddRef();
103 reinterpret_cast<IDistributorNotify*>(*Output)->AddRef();
HRESULT STDMETHODCALLTYPE Run(REFERENCE_TIME tStart)
#define IOCTL_KS_PROPERTY
_In_ ULONG _In_ ULONG State
BOOL WINAPI DECLSPEC_HOTPATCH SetEvent(IN HANDLE hEvent)
DWORD WINAPI GetLastError(VOID)
KSDDKAPI HRESULT WINAPI KsSynchronousDeviceControl(HANDLE Handle, ULONG IoControl, PVOID InBuffer, ULONG InLength, PVOID OutBuffer, ULONG OutLength, PULONG BytesReturned)
#define OutputDebugString
HRESULT STDMETHODCALLTYPE NotifyGraphChange()
friend DWORD WINAPI CKsClockForwarder_ThreadStartup(LPVOID lpParameter)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateEventW(IN LPSECURITY_ATTRIBUTES lpEventAttributes OPTIONAL, IN BOOL bManualReset, IN BOOL bInitialState, IN LPCWSTR lpName OPTIONAL)
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_ ULONG _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_MEMORY_DESCRIPTOR _In_opt_ PWDF_REQUEST_SEND_OPTIONS _Out_opt_ PULONG_PTR BytesReturned
void WINAPI SHIM_OBJ_NAME() OutputDebugStringW(LPCWSTR lpOutputString)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
namespace GUID const ADDRINFOEXW ADDRINFOEXW struct timeval OVERLAPPED LPLOOKUPSERVICE_COMPLETION_ROUTINE HANDLE * handle
DWORD WINAPI CKsClockForwarder_ThreadStartup(LPVOID lpParameter)
const GUID KSPROPSETID_Clock
HRESULT STDMETHODCALLTYPE SetClockState(KSSTATE State)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
HRESULT STDMETHODCALLTYPE Stop()
#define MAKE_HRESULT(sev, fac, code)
#define STDMETHODCALLTYPE
CKsClockForwarder(HANDLE handle)
const GUID IID_IKsClockForwarder
#define InterlockedDecrement
STDMETHODIMP QueryInterface(REFIID InterfaceId, PVOID *Interface)
STDMETHODIMP_(ULONG) Release()
int _cdecl swprintf(const WCHAR *,...)
HANDLE STDMETHODCALLTYPE KsGetObjectHandle()
HRESULT STDMETHODCALLTYPE SetSyncSource(IReferenceClock *pClock)
#define InterlockedIncrement
IN PVOID IN PVOID IN USHORT IN USHORT IN PINTERFACE Interface
virtual ~CKsClockForwarder()
STDMETHODIMP_(ULONG) AddRef()
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
_Check_return_ _CRTIMP clock_t __cdecl clock(void)
const GUID IID_IDistributorNotify
HRESULT STDMETHODCALLTYPE Pause()
IReferenceClock * m_Clock
#define KSPROPERTY_TYPE_SET
HRESULT GetTime([out] REFERENCE_TIME *pTime)
HRESULT WINAPI CKsClockForwarder_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
static PLARGE_INTEGER Time
KSDDKAPI HRESULT WINAPI KsOpenDefaultDevice(REFGUID Category, ACCESS_MASK Access, PHANDLE DeviceHandle)