aleksey.tomin
07/14/2020, 9:26 AMval pSensorManager = zeroValue<ISensorManager>().getPointer(memScope)
CoCreateInstance(CLSID_SensorManager.ptr, null, CLSCTX_INPROC_SERVER.toUInt(), IID_ISensorManager.ptr, pSensorManager.reinterpret())
pSensorManager.pointed.lpVtbl?.pointed?.let { sensorManagerVtbl: ISensorManagerVtbl ->
println("----AddRef: ${sensorManagerVtbl.AddRef?.rawValue}") // looks like a ref: 0x7ffebe937468
println("----GetSensorsByCategory: ${sensorManagerVtbl.GetSensorsByCategory?.rawValue}") // looks like a ref: 0x-45520ff300000000
println("----GetSensorsByType: ${sensorManagerVtbl.GetSensorsByType?.rawValue}") // look like error: 0x-1
sensorManagerVtbl.AddRef?.invoke(pSensorManager) // Error: User-mode data execution prevention (DEP) violation at location 0x7ffebe937468
sensorManagerVtbl.GetSensorsByCategory?.invoke(pSensorManager, SENSOR_CATEGORY_LOCATION.ptr, pSensorCollection) // The same error
What do I wrong?aleksey.tomin
07/20/2020, 12:08 PMIWbemLocator* wbemLocator = NULL;
CoCreateInstance(CLSID_WbemLocator, NULL, CLSCTX_INPROC_SERVER,
IID_IWbemLocator, (void **)&wbemLocator);
In kotlin I write
val wbemLocator = zeroValue<IWbemLocator>().getPointer(memScope)
CoCreateInstance(CLSID_WbemLocator.ptr, null, CLSCTX_INPROC_SERVER,
IID_IWbemLocator.ptr, wbemLocator.reinterpret())
Is it correct?aleksey.tomin
07/21/2020, 5:50 AM