0
Bluetoothの低エネルギー広告に含まれているデータを分析しようとしていますが、これはこれまでのコードです。Bluetoothで低エネルギーの広告データをC++で抽出する
HRESULT BLEWatcher::OnAdvertisementReceived(IBluetoothLEAdvertisementWatcher* watcher, IBluetoothLEAdvertisementReceivedEventArgs* args)
{
IBluetoothLEAdvertisement** advertisement;
args->get_Advertisement(advertisement);
__FIVector_1_Windows__CDevices__CBluetooth__CAdvertisement__CBluetoothLEAdvertisementDataSection** dataSections;
(*advertisement)->get_DataSections(dataSections);
IBluetoothLEAdvertisementDataSection** dataSection;
(*dataSections)->GetAt(2, dataSection);
ABI::Windows::Storage::Streams::IBuffer** buffer;
(*dataSection)->get_Data(buffer);
ComPtr<ABI::Windows::Storage::Streams::IDataReader> reader;
UINT32 *length;
(*buffer)->get_Length(length);
return S_OK;
}
データをIBufferから、好ましくはバイト配列として抽出する方法が見つかりません。より良いデータの抽出方法があれば、誰でもIBufferをバイト配列に変換する方法を知っていれば、あなたの助けには大いに感謝しています。
また、これまでのコードが正しいことを確認する方法がないため、間違いがあった場合はお気軽にお知らせください。
これは、次のように役立ちます。https://stackoverflow.com/questions/11853838/getting-an-array-of-bytes-out-of-windowsstoragestreamsibuffer –