R��mi Bernon (@rbernon) commented about dlls/windows.devices.enumeration/main.c:
+static HRESULT WINAPI device_watcher_Start(IDeviceWatcher *iface) +{
- FIXME("iface %p stub!\n", iface);
- return S_OK;
+}
+static HRESULT WINAPI device_watcher_Stop(IDeviceWatcher *iface) +{
- struct device_watcher *impl = impl_from_IDeviceWatcher(iface);
- HRESULT hr;
- FIXME("iface %p stub!\n", iface);
- IDeviceWatcher_AddRef(&impl->IDeviceWatcher_iface);
- hr = typed_event_handlers_notify(&impl->stopped_handlers, (IInspectable *)iface, NULL);
- IDeviceWatcher_Release(&impl->IDeviceWatcher_iface);
You don't need to AddRef / Release here. Also I'm just reading this quickly but if it's actually implemented you could probably change the trace to TRACE and not FIXME / stub.
One good habit is also to first implement a class or an interface as complete stub first, then implement each method individually (or a few at a time), adding the required members and code to the class and removing the FIXME. Eventually interleaving with new tests for the methods in a first commits with todo_wine, and then the commit implementing the methods with the todo_wine removed.