On Thu Aug 29 23:38:23 2024 +0000, Vibhav Pant wrote:
> @zfigura Testing it is tricky. My plan was to utilize it in the
> bluetooth driver by directly calling `plugplay_send_event` from the
> driver code itself, and I'm not sure what the equivalent of that would
> be in Windows.
> @rbernon I'm okay with using reserved as an offset to pass the device
> path, but we'd still have to pass it for every message for filtering. I
> didn't want to utilize `reserved` mostly out of caution, if it ever
> turned out to be that the field did have some undocumented semantics
> after all.
After doing a bit of research, I believe the Windows interface is IoReportTargetDeviceChange(). See [1], which mentions using that function to report the device notification, and that user mode should register for it with RegisterDeviceNotification().
That function is probably only used for DBT_DEVTYP_HANDLE. I suspect there is no public interface for DBT_DEVTYP_DEVICEINTERFACE. The corresponding kernel-mode identifier for that one is EventCategoryDeviceInterfaceChange, but I suspect that IoReportTargetDeviceChange() only deals with EventCategoryTargetDeviceChange. This would make sense since device interface notifications should only be generated by the kernel anyway.
[I have no idea about the other DBT_DEVTYPE_* values. Are they even ever sent in NT?]
[1] https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/using-pnp…
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6315#note_80501
On Fri Aug 30 02:21:05 2024 +0000, Alexandre Julliard wrote:
> Much better, thanks. Could you please fix the authorship information in
> the commit to use your full name?
My apologies. I thought the authorship name was supposed to match the gitlab username instead of full name. It is corrected now.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6299#note_80500
Using IMF2DBuffer2_Lock2DSize with LockFlags_Write dramatically improves
performance over IMFMediaBuffer_Lock when using a DXGI buffer.
IMFMediaBuffer_Lock does not know that this buffer will not be read and
therefore performs an unnecessary transfer of the texture from GPU to CPU
before it is overwritten.
--
v2: winegstreamer: Optimise copy to DXGI buffer.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5978
The MR adds implementations (+ a few tests) for the following methods in `bluetoothapis.h`:
* `BluetoothSdpEnumAttributes`
* `BluetoothSdpGetContainerElementData`
* `BluetoothSdpGetElementData`
* `BluetoothSdpGetAttributeValue`
--
v5: bluetoothapis/tests: Add test for BluetoothSdpGetAttributeValue.
bluetoothapis: Implement BluetoothSdpGetAttributeValue.
bluetoothapis/tests: Add unit tests for BluetoothSdpEnumAttributes, BluetoothSdpGetContainerElementData, and BluetoothSdpGetElementData.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6402
The MR adds implementations (+ a few tests) for the following methods in `bluetoothapis.h`:
* `BluetoothSdpEnumAttributes`
* `BluetoothSdpGetContainerElementData`
* `BluetoothSdpGetElementData`
* `BluetoothSdpGetAttributeValue`
--
v4: bluetoothapis/tests: Add test for BluetoothSdpGetAttributeValue.
bluetoothapis: Implement BluetoothSdpGetAttributeValue.
bluetoothapis/tests: Add unit tests for BluetoothSdpEnumAttributes, BluetoothSdpGetContainerElementData, and BluetoothSdpGetElementData.
bluetoothapis: Implement BluetoothSdpEnumAttributes.
bluetoothapis: Implement BluetoothSdpGetContainerElementData.
bluetoothapis: Implement BluetoothSdpGetElementData.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6402
The MR adds implementations (+ a few tests) for the following methods in `bluetoothapis.h`:
* `BluetoothSdpEnumAttributes`
* `BluetoothSdpGetContainerElementData`
* `BluetoothSdpGetElementData`
* `BluetoothSdpGetAttributeValue`
--
v3: bluetoothapis/tests: Add test for BluetoothSdpGetAttributeValue.
bluetoothapis: Implement BluetoothSdpGetAttributeValue.
bluetoothapis/tests: Add unit tests for BluetoothSdpEnumAttributes, BluetoothSdpGetContainerElementData, and BluetoothSdpGetElementData.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6402
On Thu Aug 29 16:19:09 2024 +0000, Elizabeth Figura wrote:
> Actually, I'm a bit confused, because now I'm not sure where RPC does do
> that? I was assuming it was a user-marshalled type which implicitly
> calls DuplicateHandle(), but that's not the case.
> The lack of tests in this patch set is a little disturbing. Is it
> possible to test this behaviour? I don't know under what circumstances
> handle events are sent [and I can't easily find anyone successfully
> using DBT_DEVTYP_HANDLE online]. We do have support for testing PnP
> drivers, though, if that's necessary; see dlls/ntoskrnl.exe/tests/driver_pnp.c.
@zfigura Testing it is tricky. My plan was to utilize it in the bluetooth driver by directly calling `plugplay_send_event` from the driver code itself, and I'm not sure what the equivalent of that would be in Windows.
@rbernon I'm okay with using reserved as an offset to pass the device path, but we'd still have to pass it for every message for filtering. I didn't want to utilize `reserved` mostly out of caution, if it ever turned out to be that the field did have some undocumented semantics after all.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6315#note_80493
The macOS Sequoia SDK has "obsoleted" this function: calling it
triggers a build error when targeting macOS Sequoia.
It can still be used though, either by targeting pre-Sequoia or by
getting a pointer to the function through dlsym().
This is intended to be temporary until ScreenCaptureKit.framework or
some other approach can be used (see !5935).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6403