pub struct IOHIDDeviceTransactionInterface {Show 13 fields
pub QueryInterface: Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>,
pub AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
pub Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>,
pub getAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *const CFType) -> IOReturn>,
pub setDirection: Option<unsafe extern "C-unwind" fn(*mut c_void, IOHIDTransactionDirectionType, IOOptionBits) -> IOReturn>,
pub getDirection: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDTransactionDirectionType) -> IOReturn>,
pub addElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn>,
pub removeElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn>,
pub containsElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut u8, IOOptionBits) -> IOReturn>,
pub setValue: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut IOHIDValue, IOOptionBits) -> IOReturn>,
pub getValue: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut *mut IOHIDValue, IOOptionBits) -> IOReturn>,
pub commit: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, IOHIDCallback, *mut c_void, IOOptionBits) -> IOReturn>,
pub clear: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>,
/* private fields */
}hid only.Expand description
The object you use to access a HID transaction from user space, returned by version 1.5 of the IOHIDFamily.
The functions listed here will work with any version of the IOHIDDeviceTransactionInterface. This functionality is useful when either setting or getting the values for multiple parsed elements.
See also Apple’s documentation
Fields§
§QueryInterface: Option<unsafe extern "C-unwind" fn(*mut c_void, REFIID, *mut LPVOID) -> HRESULT>§AddRef: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>§Release: Option<unsafe extern "C-unwind" fn(*mut c_void) -> ULONG>§getAsyncEventSource: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut *const CFType) -> IOReturn>Obtains the event source for this IOHIDDeviceTransactionInterface instance.
The returned event source can be of type CFRunLoopSourceRef or CFRunLoopTimerRef.
Parameter self: Pointer to the IOHIDDeviceTransactionInterface.
Parameter pSource: Pointer to a CFType to return the run loop event source.
Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
setDirection: Option<unsafe extern "C-unwind" fn(*mut c_void, IOHIDTransactionDirectionType, IOOptionBits) -> IOReturn>Sets the direction for this IOHIDDeviceTransactionInterface instance.
Direction constants are declared in IOHIDTransactionDirectionType. Changing directions is useful when dealing with elements of type kIOHIDElementTypeFeature as you use the transaction to both set and get element values.
Parameter self: Pointer to the IOHIDDeviceTransactionInterface.
Parameter direction: Transaction direction of type IOHIDTransactionDirectionType.
Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.
Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
getDirection: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDTransactionDirectionType) -> IOReturn>Obtains the direction for this IOHIDDeviceTransactionInterface instance.
Direction constants are declared in IOHIDTransactionDirectionType.
Parameter self: Pointer to the IOHIDDeviceTransactionInterface.
Parameter pDirection: Pointer to a IOHIDTransactionDirectionType to obtain transaction direction.
Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
addElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn>Adds an element to this IOHIDDeviceTransactionInterface instance.
Parameter self: Pointer to the IOHIDDeviceTransactionInterface.
Parameter element: IOHIDElementRef referencing the element to be added to the transaction.
Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.
Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
removeElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, IOOptionBits) -> IOReturn>Removes an element from this IOHIDDeviceTransactionInterface instance.
Parameter self: Pointer to the IOHIDDeviceTransactionInterface.
Parameter element: IOHIDElementRef referencing the element to be removed from the transaction.
Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.
Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
containsElement: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut u8, IOOptionBits) -> IOReturn>Checks whether an element has been added to this IOHIDDeviceTransactionInterface instance.
Parameter self: Pointer to the IOHIDDeviceTransactionInterface.
Parameter element: IOHIDElementRef referencing the element to be be found in the transaction.
Parameter pValue: Pointer to a Boolean to return whether or not the element was found in the transaction.
Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.
Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
setValue: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut IOHIDValue, IOOptionBits) -> IOReturn>Sets the transaction value for an element in this IOHIDDeviceTransactionInterface instance.
This method is intended for use with transaction of direction kIOHIDTransactionDirectionTypeOutput. Use the kIOHIDTransactionOptionDefaultOutputValue option to set the default element value.
Parameter self: Pointer to the IOHIDDeviceTransactionInterface.
Parameter element: IOHIDElementRef referencing the element of interest.
Parameter value: IOHIDValueRef referencing element value to be used in the transaction.
Parameter options: See IOHIDTransactionOption.
Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
getValue: Option<unsafe extern "C-unwind" fn(*mut c_void, *mut IOHIDElement, *mut *mut IOHIDValue, IOOptionBits) -> IOReturn>Obtains the transaction value for an element in this IOHIDDeviceTransactionInterface instance.
Use the kIOHIDTransactionOptionDefaultOutputValue option to get the default element value.
Parameter self: Pointer to the IOHIDDeviceTransactionInterface.
Parameter element: IOHIDElementRef referencing the element of interest.
Parameter pValue: Pointer to an IOHIDValueRef to return the element value of the transaction.
Parameter options: See IOHIDTransactionOption.
Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
commit: Option<unsafe extern "C-unwind" fn(*mut c_void, u32, IOHIDCallback, *mut c_void, IOOptionBits) -> IOReturn>Commits element transaction to an IOHIDDevice in this IOHIDDeviceTransactionInterface instance.
In regards to kIOHIDTransactionDirectionTypeOutput direction, default element values will be used if
element values are not set. If neither are set, that element will be omitted from the commit. After
a transaction is committed, transaction element values will be cleared and default values preserved.
Note:
It is possible for elements from different reports to be present in a given transaction
causing a commit to transcend multiple reports. Keep this in mind when setting a timeout.
Parameter self: Pointer to the IOHIDDeviceTransactionInterface.
Parameter timeout: Timeout in milliseconds for issuing the transaction.
Parameter callback: Callback of type IOHIDCallback to be used when transaction has been completed. If null,
this method will behave synchronously.
Parameter context: Pointer to data to be passed to the callback.
Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.
Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
clear: Option<unsafe extern "C-unwind" fn(*mut c_void, IOOptionBits) -> IOReturn>Clears element transaction values for an IOHIDDeviceTransactionInterface.
In regards to kIOHIDTransactionDirectionTypeOutput direction, default element values will be preserved.
Parameter self: Pointer to the IOHIDDeviceTransactionInterface.
Parameter options: Reserved for future use. Ignored in current implementation. Set to zero.
Returns: Returns kIOReturnSuccess if successful or a kern_return_t if unsuccessful.
Trait Implementations§
Source§impl Clone for IOHIDDeviceTransactionInterface
impl Clone for IOHIDDeviceTransactionInterface
Source§fn clone(&self) -> IOHIDDeviceTransactionInterface
fn clone(&self) -> IOHIDDeviceTransactionInterface
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Encode for IOHIDDeviceTransactionInterface
Available on crate feature objc2 only.
impl Encode for IOHIDDeviceTransactionInterface
objc2 only.Source§impl PartialEq for IOHIDDeviceTransactionInterface
impl PartialEq for IOHIDDeviceTransactionInterface
Source§fn eq(&self, other: &IOHIDDeviceTransactionInterface) -> bool
fn eq(&self, other: &IOHIDDeviceTransactionInterface) -> bool
self and other values to be equal, and is used by ==.Source§impl RefEncode for IOHIDDeviceTransactionInterface
Available on crate feature objc2 only.
impl RefEncode for IOHIDDeviceTransactionInterface
objc2 only.