Я пытаюсь отследить, когда файл создается на WPD-совместимом устройстве, таком как цифровая камера или телефон Android. Я регистрируюсь для получения событий с помощью Advice
, и мой обратный вызов вызывается правильно, но я не могу правильно получить имя файла (возможно, OBJECT_NAME). Вот что у меня есть:
TPortableDeviceEventsCallback = class(TInterfacedObject, IPortableDeviceEventCallback)
public
function OnEvent(const pEventParameters: IPortableDeviceValues): HResult; dynamic; stdcall;
end;
.
.
.
function TPortableDeviceEventsCallback.OnEvent(const pEventParameters: IPortableDeviceValues): HResult;
var
ObjName: PWideChar;
begin
pEventParameters.GetStringValue(WPD_EVENT_PARAMETER_OBJECT_NAME, ObjName);
Log(string(ObjName));
end;
Я получаю только мусор вместо имени добавленного/удаленного объекта. Что мне здесь не хватает?