Как передать адрес указателя в аргумент C API в Swift? - PullRequest
1 голос
/ 01 ноября 2019

Я импортирую C API в XCode с языком Swift5. У меня проблемы с передачей адреса указателя в аргумент: Вот прототип C API:

DEV_STATUS OpenDevice (PVOID * pHandle);

Какую переменную я должен объявить для этого входного аргумента? Я попытался объявить переменную ниже в swift:

var ppDevHandle: UnsafeMutablePointer<PVOID?>?
devStatus = OpenDevice(ppDevHandle)

Она может быть построена, но ppDevHandle равен нулю до вызова OpenDevice. И API вернул «неверный параметр».

1 Ответ

1 голос
/ 01 ноября 2019

Вы либо ищете это:

var ppDevHandle = PVOID()
devStatus = OpenDevice(&ppDevHandle)

Или это:

var ppDevHandle: PVOID?
devStatus = OpenDevice(&ppDevHandle)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...