gpt4 book ai didi

objective-c - 在 obj-c 对象而不是 C 结构上调用 IOUSBDeviceInterface 函数

转载 作者:行者123 更新时间:2023-11-30 15:56:11 25 4
gpt4 key购买 nike

假设我想关闭 USB 设备。下面是代表 USB 设备的 C 结构体:

struct __USBDevice {

uint16_t idProduct;
io_service_t usbService;
IOUSBDeviceInterface **deviceHandle;
IOUSBInterfaceInterface **interfaceHandle;
Boolean open;

};

typedef struct __USBDevice *USBDeviceRef;

以下是关闭设备的代码:

// device is a USBDeviceRef structure
// USBDeviceClose is a function member of IOUSBDeviceInterface C Pseudoclass

(*device->deviceHandle)->USBDeviceClose(device->deviceHandle);

现在假设设备属性是在 obj-c 类中声明的

@interface Device : NSObject {

NSNumber idProduct
io_service_t usbService;
IOUSBDeviceInterface **deviceHandle;
IOUSBInterfaceInterface **interfaceHandle;
BOOL open;
}

@end

我该如何调用 USBDeviceClose() ?

最佳答案

有两种方法。您可以将您的类建模为类似于结构体,并在声明上方添加 @public (这样语法就不会改变),或者您可以添加一个 Close 方法您的界面将在内部执行相同的逻辑(但当然不需要取消引用 device)。

关于objective-c - 在 obj-c 对象而不是 C 结构上调用 IOUSBDeviceInterface 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11424729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com