ICADevices provides the Image Capture Architecture device-driver APIs for acquiring images from cameras and scanners on macOS. Use it to write device modules that open and close sessions, enumerate connected devices, and import or download images, working through parameter-block structures such as ICAGetDeviceListPB, ICAOpenSessionPB, ICAImportImagePB, and ICADownloadFilePB. For scanners, types including ICAScannerInitializePB, ICAScannerGetParametersPB, ICAScannerSetParametersPB, and ICAScannerStartPB drive configuration and scanning, while ICD-prefixed structures like ICD_NewObjectPB, ICD_ObjectSendMessagePB, and ICD_callback_functions support the driver side of object management and message dispatch. Image objects and their metadata are described by ICAObjectInfo, ICAHeader, and ICARawFileHeader, and notifications flow through ICARegisterForEventNotificationPB and ICASendNotificationPB.
Sessions and Device Management 5
Parameter blocks for loading device modules and opening or closing capture sessions.
- StICALoadDeviceModulePBA parameter block for loading a device module into the Image Capture framework.
- StICAUnloadDeviceModulePB@struct ICAUnloadDeviceModulePB
- StICAGetDeviceListPB@struct ICAGetDeviceListPB
- StICAOpenSessionPB@struct ICAOpenSessionPB
- StICACloseSessionPB@struct ICACloseSessionPB
Image Import and File Transfer 3
Parameter blocks for importing images and downloading or uploading files from a connected device.
- StICAImportImagePB@struct ICAImportImagePB
- StICADownloadFilePB@struct ICADownloadFilePB
- StICAUploadFilePB@struct ICAUploadFilePB
Objects and Properties 5
Structures that describe captured objects and their thumbnails, data, and property dictionaries.
- StICAObjectInfo@struct ICAObjectInfo
- StICACopyObjectPropertyDictionaryPB@struct ICACopyObjectPropertyDictionaryPB
- StICACopyObjectThumbnailPB@struct ICACopyObjectThumbnailPB
- StICACopyObjectDataPB@struct ICACopyObjectDataPB
- StICARawFileHeaderA structure describing the header of a raw image file captured from a device.
Messaging and Notifications 5
Headers and parameter blocks for dispatching messages and registering for event notifications.
- StICAHeader@struct ICAHeader
- StICAMessage@struct ICAMessage
- StICAObjectSendMessagePB@struct ICAObjectSendMessagePB
- StICARegisterForEventNotificationPB@struct ICARegisterForEventNotificationPB
- StICASendNotificationPBA parameter block for sending a notification to registered clients.
Scanner Sessions and Scanning 7
Parameter blocks that open scanner sessions and drive initialization, configuration, status, and scanning.
- StICAScannerOpenSessionPB@struct ICAScannerOpenSessionPB
- StICAScannerCloseSessionPB@struct ICAScannerCloseSessionPB
- StICAScannerInitializePB@struct ICAScannerInitializePB
- StICAScannerGetParametersPB@struct ICAScannerGetParametersPB
- StICAScannerSetParametersPB@struct ICAScannerSetParametersPB
- StICAScannerStatusPB@struct ICAScannerStatusPB
- StICAScannerStartPB@struct ICAScannerStartPB
PTP Pass-Through 2
Structures supporting Picture Transfer Protocol pass-through commands and event data.
- StICAPTPPassThroughPB@struct ICAPTPPassThroughPB
- StICAPTPEventDataset@struct ICAPTPEventDataset
Device Module Object Management 6
Driver-side structures for creating, disposing, and messaging capture objects and dispatching callbacks.
- StICDHeader@struct ICDHeader
- StICD_NewObjectPB@struct ICD_NewObjectPB
- StICD_DisposeObjectPB@struct ICD_DisposeObjectPB
- StObjectInfoA structure describing a capture object on the device-module side.
- StICD_ObjectSendMessagePBA device-module parameter block for sending a message to a capture object.
- StICD_callback_functionsA structure of callback functions a device module provides to the Image Capture framework.
Device Module Scanner Support 10
Driver-side scanner structures for sessions, configuration, status, scanning, and scanner callbacks.
- StScannerObjectInfoA structure describing a scanner object on the device-module side.
- StICD_ScannerObjectSendMessagePBA device-module parameter block for sending a message to a scanner object.
- StICD_ScannerOpenSessionPBA device-module parameter block for opening a scanning session.
- StICD_ScannerCloseSessionPBA device-module parameter block for closing a scanning session.
- StICD_ScannerInitializePBA device-module parameter block for initializing a scanner.
- StICD_ScannerGetParametersPBA device-module parameter block for retrieving scanner parameters.
- StICD_ScannerSetParametersPBA device-module parameter block for setting scanner parameters.
- StICD_ScannerStatusPBA device-module parameter block for querying scanner status.
- StICD_ScannerStartPBA device-module parameter block for starting a scan.
- StICD_Scannerscanner_callback_functionsA structure of scanner callback functions a device module provides to the Image Capture framework.
Type Aliases 63
- TyICAError@header
- TyICACompletion
- TyICAImportFilterProc
- TyICANotificationProc
- TyICAObject
- TyICAProperty
- TyICAConnectionID
- TyICASessionID
- TyICAScannerSessionID
- TyICAEventDataCookie
- TyICANotification
- TyICDCompletion@typedef ICDCompletion
- Ty__ICD_OpenUSBDevice
- Ty__ICD_OpenUSBDeviceWithIORegPath
- Ty__ICD_OpenFireWireDevice
- Ty__ICD_OpenFireWireDeviceWithIORegPath
Show 47 more
- Ty__ICD_OpenBluetoothDevice
- Ty__ICD_OpenTCPIPDevice
- Ty__ICD_OpenMassStorageDevice
- Ty__ICD_CloseDevice
- Ty__ICD_PeriodicTask
- Ty__ICD_GetObjectInfo
- Ty__ICD_Cleanup
- Ty__ICD_GetPropertyData
- Ty__ICD_SetPropertyData
- Ty__ICD_ReadFileData
- Ty__ICD_WriteFileData
- Ty__ICD_SendMessage
- Ty__ICD_AddPropertiesToCFDictionary
- Ty__ICD_WriteDataToFile
- Ty__ICD_WriteDataToFileDescriptor
- Ty__ICD_WriteDataToFileDescriptor64
- Ty__ICD_ReadFileData64
- TyICDNewObjectCreatedCompletion
- Ty__ICD_ScannerOpenUSBDevice
- Ty__ICD_ScannerOpenUSBDeviceWithIORegPath
- Ty__ICD_ScannerOpenFireWireDevice
- Ty__ICD_ScannerOpenFireWireDeviceWithIORegPath
- Ty__ICD_ScannerOpenBluetoothDevice
- Ty__ICD_ScannerOpenTCPIPDevice
- Ty__ICD_ScannerOpenMassStorageDevice
- Ty__ICD_ScannerCloseDevice
- Ty__ICD_ScannerPeriodicTask
- Ty__ICD_ScannerGetObjectInfo
- Ty__ICD_ScannerCleanup
- Ty__ICD_ScannerGetPropertyData
- Ty__ICD_ScannerSetPropertyData
- Ty__ICD_ScannerReadFileData
- Ty__ICD_ScannerReadFileData64
- Ty__ICD_ScannerWriteFileData
- Ty__ICD_ScannerSendMessage
- Ty__ICD_ScannerAddPropertiesToCFDictionary
- Ty__ICD_ScannerOpenSession
- Ty__ICD_ScannerCloseSession
- Ty__ICD_ScannerInitialize
- Ty__ICD_ScannerGetParameters
- Ty__ICD_ScannerSetParameters
- Ty__ICD_ScannerStatus
- Ty__ICD_ScannerStart
- Ty__ICD_ScannerWriteDataToFile
- Ty__ICD_ScannerWriteDataToFileDescriptor
- Ty__ICD_ScannerWriteDataToFileDescriptor64
- TyICD_scanner_callback_functions