Jump to content

RxUsbDeregisterNotification

From EDM2
Revision as of 23:35, 20 January 2017 by Martini (talk | contribs) (Created page with "==Description== Removes the registration of attach/detach notification semaphores. ==Syntax== <pre> rc = RxUsbDeregisterNotification(NotifyID) </pre> ==Parameters== ; Notif...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Description

Removes the registration of attach/detach notification semaphores.

Syntax

rc = RxUsbDeregisterNotification(NotifyID)

Parameters

NotifyID
the NotifyID received from RxUsbChangeNotification or RxUsbDeviceNotification.

Return Code

Errors

Remarks

Example Code

/* add SysCreateEventSem */
rc = RxFuncAdd('SysCreateEventSem','RexxUtil','SysCreateEventSem')
say '+SysCreateEventSem(),RC=0x'd2x(rc)

/* invoke SysCreateEventSem() */
hSemAttach = SysCreateEventSem()
say '*SysCreateEventSem(),RC=0x'd2x(rc)
hSemDetach = SysCreateEventSem()
say '*SysCreateEventSem(),RC=0x'd2x(rc)

/* drop SysCreateEventSem */
rc = RxFuncDrop('SysCreateEventSem')
say '-SysCreateEventSem(),RC=0x'd2x(rc)

/* add RxUsbRegisterDeviceNotification */
rc = RxFuncAdd('RxUsbRegisterDeviceNotification','usbcalls','RxUsbRegisterDeviceNotification')
say '+RxUsbRegisterDeviceNotification(),RC=0x'd2x(rc)

/* invoke RxUsbRegisterDeviceNotification */
idVendor=x2d(046D) /* vendor identifier */
idProduct=x2d(0804) /* product identifier */
bcdDevice=x2d(0009) /* device release number */
hDevAdd = hSemAttach; /* attach semaphore handle */
hDevRem = hSemDetach; /* detach semaphore handle */
drop NotifyID /* to receive the notification identifier */
rc = RxUsbRegisterDeviceNotification(NotifyID,hDevAdd,hDevRem,idVendor,idProduct,bcdDevice)
say '*RxUsbRegisterDeviceNotification(),RC=0x'd2x(rc)

/* drop RxUsbRegisterDeviceNotification */
rc = RxFuncDrop('RxUsbRegisterDeviceNotification')
say '-RxUsbRegisterDeviceNotification(),RC=0x'd2x(rc)

/* add SysWaitEventSem */
rc = RxFuncAdd('SysWaitEventSem','RexxUtil','SysWaitEventSem')
say '+SysWaitEventSem(),RC=0x'd2x(rc)

/* invoke SysWaitEventSem() */
timeout = 8000; /* await 8 seconds */
rc = SysWaitEventSem(hSemAttach,timeout)
say '*SysWaitEventSem(),RC=0x'd2x(rc)
if (rc=0) then say 'obtained Attach Notification'
rc = SysWaitEventSem(hSemDetach,timeout)
say '*SysWaitEventSem(),RC=0x'd2x(rc)
if (rc=0) then say 'obtained Detach Notification'

/* drop SysWaitEventSem */
rc = RxFuncDrop('SysWaitEventSem')
say '-SysWaitEventSem(),RC=0x'd2x(rc)

Related Functions