CHAI SDK  Version 1.3
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
CPNS::IVMIDILinkOutLocalDevice Class Referenceabstract

This kind of Local Device is acting as a local output port, aimed to send messages to a MIDI In port automatically created on remote computers. More...

+ Inheritance diagram for CPNS::IVMIDILinkOutLocalDevice:
+ Collaboration diagram for CPNS::IVMIDILinkOutLocalDevice:

Public Member Functions

virtual operator CPNS::IBaseLocalDevice * () const =0
 
virtual void RegisterVMIDILinkOutNotificationHandler (CPNS::IVMIDILinkOutLocalDevice_NotificationHandler *const pHandler)=0
 Register a VMIDILinkOutLocalDevice's notification handler for message reception The VMIDILinkOutLocalDevice's notification handler is used to signal connection status change to the application or data consumed. More...
 
virtual void UnregisterVMIDILinkOutNotificationHandler (CPNS::IVMIDILinkOutLocalDevice_NotificationHandler *const pHandler)=0
 Unregister a VMIDILinkOutLocalDevice's notification handler for message reception. More...
 
virtual CPNS::Enums::Errors SendToChannel (CPNS::uint8 const bChannel, CPNS::IBaseMessage const *const pMsg)=0
 Send a message to the specified MIDI channel. More...
 
virtual CPNS::Enums::Errors Clock_Tick ()=0
 Send a clock tick. More...
 
virtual CPNS::Enums::Errors Clock_RunFromStart ()=0
 Run clock from start. More...
 
virtual CPNS::Enums::Errors Clock_Stop ()=0
 Stop clock. More...
 
virtual CPNS::Enums::Errors Clock_Run ()=0
 Run clock. More...
 
- Public Member Functions inherited from CPNS::IMIDI2CPLocalDevice
virtual void Panic ()=0
 Send a CPNS::Enums::SIG_AllNoteOff signal to all connected devices. More...
 
virtual CPNS::Enums::Errors SendMIDIBlob (CPNS::uint16 const wDataLength, CPNS::byte const *const pData, CPNS::boolean const fFlush, CPNS::uint16 *pwSent=NULL)=0
 Send a MIDI blob. More...
 
- Public Member Functions inherited from CPNS::IBaseLocalDevice
virtual CPNS::ILocalDeviceGetILocalDevice () const =0
 Check LocalDevice type and return an ILocalDevice object pointer if type match. More...
 
virtual CPNS::IMIDI2CPLocalDeviceGetIMIDI2CPLocalDevice () const =0
 Check LocalDevice type and return an IMIDI2CPLocalDevice object pointer if type match. More...
 
virtual CPNS::ICP2MIDILocalDeviceGetICP2MIDILocalDevice () const =0
 Check LocalDevice type and return an ICP2MIDILocalDevice object pointer if type match. More...
 
virtual
CPNS::IHybridMIDILocalDevice
GetIHybridMIDILocalDevice () const =0
 Check LocalDevice type and return an IHybridMIDILocalDevice object pointer if type match. More...
 
virtual
CPNS::IVMIDILinkInLocalDevice
GetIVMIDILinkInLocalDevice () const =0
 Check LocalDevice type and return an IInVMIDILinkLocalDevice object pointer if type match. More...
 
virtual
CPNS::IVMIDILinkOutLocalDevice
GetIVMIDILinkOutLocalDevice () const =0
 Check LocalDevice type and return an IOutVMIDILinkLocalDevice object pointer if type match. More...
 
virtual
CPNS::IVMIDILinkHybridLocalDevice
GetIVMIDILinkHybridLocalDevice () const =0
 Check LocalDevice type and return an IHybridVMIDILinkLocalDevice object pointer if type match. More...
 
virtual
CPNS::ISharedDisplayLocalDevice
GetISharedDisplayLocalDevice () const =0
 Check LocalDevice type and return an ISharedDisplayLocalDevice object pointer if type match. More...
 
virtual
CPNS::ISharedDisplayClientLocalDevice
GetISharedDisplayClientLocalDevice () const =0
 Check LocalDevice type and return an ISharedDisplayClientLocalDevice object pointer if type match. More...
 
virtual
CPNS::IAudioLanLocalDevice
GetIAudioLanLocalDevice () const =0
 Check LocalDevice type and return an IAudioLanLocalDevice object pointer if type match. More...
 
virtual void SetDisabledDestinationAutoDelete (CPNS::boolean const fAutoDelete)=0
 Enable/disable the automatic deletion of disabled destination after 60 seconds. More...
 
virtual void SetDisabledInternalSnapshot (CPNS::boolean const fDisabled, CPNS::boolean const fAlsoForChildren)=0
 Enable/disable the internal snapshot capability for this device and optionally its descendants By default it is enabled for device hosting outputs, for outputs hosting controllers, and for inputs hosting parameters. More...
 
virtual void SetSectionName (CPNS::SectionID const &sectionID, CPNS::char8 const *const utf8Name)=0
 Set a custom name for the specified section. More...
 
virtual CPNS::UTF8String GetSectionName (CPNS::SectionID const &sectionID)=0
 Get the custom name for the specified section type. More...
 
virtual void FlowControl (CPNS::boolean const fSuspend)=0
 This can be used to notify connected Output that they should suspend or resume sending. More...
 
virtual CPNS::ILocalDeviceAddSubLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual CPNS::IMIDI2CPLocalDeviceAddSubMIDI2CPLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic MIDI to CopperLan sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual CPNS::ICP2MIDILocalDeviceAddSubCP2MIDILocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic CopperLan to MIDI sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual
CPNS::IHybridMIDILocalDevice
AddSubHybridMIDILocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic hybrid MIDI sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual
CPNS::IVMIDILinkOutLocalDevice
AddSubVMIDILinkOutLocalDevice (CPNS::uint16 const wModuleID, CPNS::char8 const *const utf8PortName)=0
 Add a VMIDILink Out sub-device. More...
 
virtual
CPNS::IVMIDILinkInLocalDevice
AddSubVMIDILinkInLocalDevice (CPNS::uint16 const wModuleID, CPNS::char8 const *const utf8PortName)=0
 Add a VMIDILink In sub-device This kind of Local Device is acting as a local input port, aimed to receive messages from a MIDI Out port automatically created on remote computers. More...
 
virtual
CPNS::IVMIDILinkHybridLocalDevice
AddSubVMIDILinkHybridLocalDevice (CPNS::uint16 const wModuleID, CPNS::char8 const *const utf8PortName)=0
 Add a VMIDILink Hybrid sub-device This kind of Local Device is acting as a local input/output port, aimed to receive and send messages from/to a pair of MIDI Out/In ports automatically created on remote computers. More...
 
virtual
CPNS::ISharedDisplayLocalDevice
AddSubSharedDisplayLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic shared display server sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual
CPNS::ISharedDisplayClientLocalDevice
AddSubSharedDisplayClientLocalDevice (CPNS::uint16 const wModuleID, CPNS::boolean const fHidden, CPNS::CombinedExtendedDeviceCapabilities const extDevCaps, CPNS::char8 const *const utf8ModelName)=0
 Add a generic shared display client sub-device A sub-device get the same identity (BrandID and ModelID) than its root, but it has a unique ModuleID that must be <>0. More...
 
virtual CPNS::IBaseLocalDeviceGetFirstSubDevice ()=0
 Get the first sub-device. More...
 
virtual CPNS::IBaseLocalDeviceGetNextDevice ()=0
 Get next sibling device. More...
 
virtual CPNS::IBaseLocalDeviceGetParentDevice ()=0
 Get parent device. More...
 
virtual
CPNS::CombinedDeviceCapabilities 
GetDeviceCapabilities ()=0
 Get the consolidated capabilities of the device and its children. More...
 
virtual
CPNS::CombinedInOutCapabilities 
GetOutputCapabilities ()=0
 Get the consolidated Output capabilities of the device and its children. More...
 
virtual
CPNS::CombinedInOutCapabilities 
GetInputCapabilities ()=0
 Get the consolidated Input capabilities of the device and its children. More...
 
virtual
CPNS::CombinedDeviceCapabilities 
GetOwnDeviceCapabilities ()=0
 Get the device capabilities. More...
 
virtual
CPNS::CombinedInOutCapabilities 
GetOwnOutputCapabilities ()=0
 Get the Output capabilities. More...
 
virtual
CPNS::CombinedInOutCapabilities 
GetOwnInputCapabilities ()=0
 Get the Input capabilities. More...
 
virtual
CPNS::CombinedExtendedDeviceCapabilities 
GetExtendedDeviceCapabilities ()=0
 Get the extended device capabilities. More...
 
virtual void RegisterNotificationHandler (CPNS::IBaseLocalDevice_NotificationHandler *const pHandler)=0
 Register a Local Device notification handler. More...
 
virtual void UnregisterNotificationHandler (CPNS::IBaseLocalDevice_NotificationHandler *const pHandler)=0
 Unregister a Local Device notification handler. More...
 
virtual void SetSnapshotNotificationHandler (CPNS::IBaseLocalDevice_SnapshotNotificationHandler *const pHandler)=0
 Set a Local Device Snapshot notification handler. More...
 
virtual void SetSmartConnectTargetNotificationHandler (CPNS::IBaseLocalDevice_SmartConnectTargetNotificationHandler *const pHandler)=0
 Set a Local Device notification handler for Smart Connect, Target side. More...
 
virtual CPNS::DeviceID GetDeviceID () const =0
 Get the DeviceID. More...
 
virtual CPNS::Enums::Errors SetExtendeddDevCaps (CPNS::CombinedExtendedDeviceCapabilities const xDevCaps)=0
 Set the device's extended caps. More...
 
virtual
CPNS::CombinedExtendedDeviceCapabilities 
GetExtendedDevCaps () const =0
 Get the extended caps. More...
 
virtual CPNS::DeviceID GetParentDeviceID () const =0
 Get the parent DeviceID. More...
 
virtual CPNS::boolean IsChildOf (CPNS::IBaseLocalDevice *const pCheckDev)=0
 Check if the local device is or is child of another one. More...
 
virtual CPNS::UTF8String GetBrandName ()=0
 Get the Brand name. More...
 
virtual CPNS::UTF8String GetModelName ()=0
 Get the Model name. More...
 
virtual CPNS::Enums::Errors SetCustomName (CPNS::char8 const *const utf8CustomName)=0
 Set the Custom name If not empty, the custom name override the default name. More...
 
virtual CPNS::UTF8String GetCustomName ()=0
 Get the Custom name. More...
 
virtual CPNS::UTF8String GetName (CPNS::Enums::DeviceNameFormats const format)=0
 Get the specified name. More...
 
virtual CPNS::UTF8String GetPath ()=0
 Get the path. More...
 
virtual CPNS::Enums::DuplicateModes GetDuplicateMode () const =0
 Get the duplicate mode. More...
 
virtual CPNS::Enums::Errors SetVisibility (CPNS::boolean const fHidden)=0
 Change device visibility. More...
 
virtual CPNS::Enums::Errors SetStringProperty (CPNS::uint16 const wPropertyNum, CPNS::char8 const *const utf8Value)=0
 Set a text device property. More...
 
virtual CPNS::Enums::Errors SetNumericProperty (CPNS::uint16 const wPropertyNum, CPNS::uint64 const qwValue)=0
 Set a numeric device property. More...
 
virtual CPNS::Enums::Errors GetStringProperty (CPNS::uint16 const wPropertyNum, CPNS::UTF8String &strValue)=0
 
virtual CPNS::Enums::Errors GetNumericProperty (CPNS::uint16 const wPropertyNum, CPNS::uint64 &qwValue)=0
 
virtual CPNS::IOutputAddOutput (CPNS::CombinedInOutCapabilities const outCaps, CPNS::char8 const *const utf8Name, CPNS::SectionID const &sectionID)=0
 Add an Output. More...
 
virtual void ClearOutputs ()=0
 Remove all outputs and associated data (controller definition) More...
 
virtual CPNS::uint16 GetNumOutputs ()=0
 Get the number of Outputs. More...
 
virtual CPNS::IOutputFindFirstOutput ()=0
 Get the first Output. More...
 
virtual CPNS::IOutputFindLastOutput ()=0
 Get the last Output. More...
 
virtual CPNS::IOutputFindPrevOutput (CPNS::uint16 const wOutputID)=0
 Get the prev Output. More...
 
virtual CPNS::IOutputFindNextOutput (CPNS::uint16 const wOutputID)=0
 Get the next Output. More...
 
virtual CPNS::IOutputGetOutputFromID (CPNS::uint16 const wOutputID)=0
 Get the specified Output. More...
 
virtual CPNS::Enums::Errors Flush ()=0
 Flush all outputs. More...
 
virtual CPNS::IInputAddInput (CPNS::CombinedInOutCapabilities const inCaps, CPNS::char8 const *const utf8Name, CPNS::SectionID const &sectionID)=0
 Add an Input. More...
 
virtual void ClearInputs ()=0
 Remove all inputs and associated data (parameter definition) More...
 
virtual CPNS::uint16 GetNumInputs ()=0
 Get the number of Inputs. More...
 
virtual CPNS::IInputFindFirstInput ()=0
 Get the first Input. More...
 
virtual CPNS::IInputFindLastInput ()=0
 Get the last Input. More...
 
virtual CPNS::IInputFindPrevInput (CPNS::uint16 const wInputID)=0
 Get the prev Input. More...
 
virtual CPNS::IInputFindNextInput (CPNS::uint16 const wInputID)=0
 Get the next Input. More...
 
virtual CPNS::IInputGetInputFromID (CPNS::uint16 const wInputID)=0
 Get the specified Input. More...
 
virtual CPNS::IControllerAddController (CPNS::char8 const *const utf8Name, CPNS::CombinedControllerTypes const types, CPNS::Enums::MessageTypes const preferredMsgType, CPNS::uint16 const wPreferredMsgNum, CPNS::uint16 const wGroup, CPNS::SectionID const &sectionID)=0
 Add a controller. More...
 
virtual void ClearControllers ()=0
 Remove all controllers. More...
 
virtual CPNS::uint16 GetNumControllers ()=0
 Get the number of Controller. More...
 
virtual CPNS::IControllerFindFirstController ()=0
 Get the first Controller. More...
 
virtual CPNS::IControllerFindLastController ()=0
 Get the last Controller. More...
 
virtual CPNS::IControllerFindPrevController (CPNS::uint16 const wControllerID)=0
 Get the prev Controller. More...
 
virtual CPNS::IControllerFindNextController (CPNS::uint16 const wControllerID)=0
 Get the next Controller. More...
 
virtual CPNS::IControllerGetControllerFromID (CPNS::uint16 const wControllerID)=0
 Get the specified Controller. More...
 
virtual void UnassignAllControllers (CPNS::boolean const fAlsoForChildren)=0
 Unassign all controllers and clear connections for all related Outputs. More...
 
virtual void LeaveLearningMode ()=0
 Leave learning mode if one of this Device's Controller is currently learning. More...
 
virtual CPNS::boolean IsLearningModeActive ()=0
 Check if learning mode is active for one of this Device's Controllers. More...
 
virtual CPNS::IPipeAddPipe (CPNS::boolean const fSynapse)=0
 Add an Pipe. More...
 
virtual void ClearPipes ()=0
 Remove all pipes. More...
 
virtual CPNS::uint16 GetNumPipes ()=0
 Get the number of Pipes. More...
 
virtual CPNS::IPipeFindFirstPipe ()=0
 Get the first Pipe. More...
 
virtual CPNS::IPipeFindNextPipe (CPNS::uint16 const wPipeID)=0
 Get the next Pipe. More...
 
virtual CPNS::IPipeGetPipeFromID (CPNS::uint16 const wPipeID)=0
 Get the specified Pipe. More...
 
virtual void RegisterSignalNotificationHandler (CPNS::IBaseLocalDevice_SignalNotificationHandler *const pHandler)=0
 Register a Signal reception notification handler. More...
 
virtual void UnregisterSignalNotificationHandler (CPNS::IBaseLocalDevice_SignalNotificationHandler *const pHandler)=0
 Unregister a Signal reception notification handler. More...
 
virtual CPNS::Enums::Errors Signal_Direct (CPNS::DeviceID const &devID, CPNS::uint16 const wSignalNumber, CPNS::uint16 const wOptionalData0, CPNS::uint16 const wOptionalData1, CPNS::uint16 const wOptionalData2, CPNS::uint16 const wOptionalData3, CPNS::char8 const *const utf8OptionalData, CPNS::Endpoint const &optionalEndpoint)=0
 Send a directed signal to the specified device. More...
 
virtual CPNS::Enums::Errors Signal_Broadcast (CPNS::uint16 const wSignalNumber, CPNS::uint16 const wOptionalData0, CPNS::uint16 const wOptionalData1, CPNS::uint16 const wOptionalData2, CPNS::uint16 const wOptionalData3, CPNS::char8 const *const utf8OptionalData, CPNS::Endpoint const &optionalEndpoint)=0
 Send a broadcast signal to all devices. More...
 
virtual CPNS::Enums::Errors SmartConnectTarget_UnassignAndRequestSectionList (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID)=0
 Query the SmartConnect source side to clear its controller assignments and to reply the consolidated section list. More...
 
virtual CPNS::Enums::Errors SmartConnectTarget_RequestControllerList (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID, CPNS::SectionID const &sectionID)=0
 Query the SmartConnect source side to reply the controller list related to the specified section instance. More...
 
virtual CPNS::Enums::Errors SmartConnectTarget_AssignController (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID, CPNS::uint16 const wControllerID, CPNS::ControllerAssignment const &assignment)=0
 Assign the specified controller to a target parameter. More...
 
virtual CPNS::Enums::Errors SmartConnectTarget_AssignOutput (CPNS::uint16 const wSessionID, CPNS::DeviceID const &devID, CPNS::SectionID const &sectionID, CPNS::Endpoint const &targetEndpoint)=0
 Assign the specified source section to a target input. More...
 
virtual CPNS::Enums::Errors SmartConnectTarget_Finished (CPNS::uint16 const wSessionID, CPNS::Enums::Errors const errCode)=0
 Close the SmartConnect session To be called from the SmartConnect target side. More...
 
virtual CPNS::uint32 GetInternalSnapshotDataSize ()=0
 Get the buffer size needed to store this device's internal snapshot data. More...
 
virtual CPNS::Enums::Errors GetInternalSnapshotData (CPNS::byte *const pData, CPNS::uint32 const dwSize)=0
 Get internal snapshot data. More...
 
virtual CPNS::Enums::Errors RestoreInternalSnapshotData (CPNS::byte const *const pData, CPNS::uint32 const dwSize)=0
 Restore internal snapshot data. More...
 
virtual CPNS::Enums::Errors Reply_RequestCollectSnapshotData (CPNS::uint16 const wRequestID, CPNS::Enums::SnapshotBlockPriorities const priority, CPNS::uint32 const dwContextData, CPNS::uint16 const wBlockSize, CPNS::boolean const fLastBlock, void *const pBlockData)=0
 Reply to a snapshot data collect request Call this to terminate a IBaseLocalDevice_SnapshotNotificationHandler::OnBaseLocalDevice_RequestCollectSnapshotData call. More...
 
virtual CPNS::Enums::Errors Reply_RequestRestoreSnapshotData (CPNS::uint16 const wRequestID, CPNS::Enums::Errors const returnCode, CPNS::uint32 const dwContextData)=0
 Reply to a snapshot data restore request Call this to terminate a IBaseLocalDevice_SnapshotNotificationHandler::OnBaseLocalDevice_RequestRestoreSnapshotData call. More...
 
virtual CPNS::Enums::Errors Reply_InvalidRequest (CPNS::uint16 const wRequestID)=0
 Invalid Request Call this to terminate a Request if no valid return can be done. More...
 
- Public Member Functions inherited from CPNS::IObject
virtual CPNS::ICHAIGetCHAI ()=0
 Get a pointer to the CHAI hosting this object. More...
 
virtual void RegisterObjectNotificationHandler (CPNS::IObject_NotificationHandler *const pHandler)=0
 Register an Object's notification handler. More...
 
virtual void UnregisterObjectNotificationHandler (CPNS::IObject_NotificationHandler *const pHandler)=0
 Unregister an Object's notification handler. More...
 
virtual CPNS::Enums::ObjectTypes GetObjectType () const =0
 Get the object type. More...
 
virtual CPNS::uint32 GetHandle () const =0
 Get a unique handle to the object if this object is handled by the trashcan. More...
 
virtual void SetUserDataPtr (void const *const pData)=0
 Set a custom user ptr data. More...
 
virtual void * GetUserDataPtr () const =0
 Get custom user ptr data. More...
 
virtual void SetUserDataUInt32 (const CPNS::uint32 dwData)=0
 Set a custom user uint32 data. More...
 
virtual CPNS::uint32 GetUserDataUInt32 () const =0
 Get custom user uint32 data. More...
 

Detailed Description

This kind of Local Device is acting as a local output port, aimed to send messages to a MIDI In port automatically created on remote computers.

This is inheriting from IMIDI2CPLocalDevice, so it is possible to use it as a standard MIDI to CopperLan bridge. However you can send CopperLan messages using the SendToChannel method and use clock specific methods for a direct control without using MIDI messages.

Member Function Documentation

virtual CPNS::Enums::Errors CPNS::IVMIDILinkOutLocalDevice::Clock_Run ( )
pure virtual
virtual CPNS::Enums::Errors CPNS::IVMIDILinkOutLocalDevice::Clock_RunFromStart ( )
pure virtual
virtual CPNS::Enums::Errors CPNS::IVMIDILinkOutLocalDevice::Clock_Stop ( )
pure virtual
virtual CPNS::Enums::Errors CPNS::IVMIDILinkOutLocalDevice::Clock_Tick ( )
pure virtual
virtual void CPNS::IVMIDILinkOutLocalDevice::RegisterVMIDILinkOutNotificationHandler ( CPNS::IVMIDILinkOutLocalDevice_NotificationHandler *const  pHandler)
pure virtual

Register a VMIDILinkOutLocalDevice's notification handler for message reception The VMIDILinkOutLocalDevice's notification handler is used to signal connection status change to the application or data consumed.

Parameters
[in]pHandlerPointer to the application object implementing IVMIDILinkOutLocalDevice_NotificationHandler. If pHandler is NULL, clear all registered handlers.
virtual CPNS::Enums::Errors CPNS::IVMIDILinkOutLocalDevice::SendToChannel ( CPNS::uint8 const  bChannel,
CPNS::IBaseMessage const *const  pMsg 
)
pure virtual

Send a message to the specified MIDI channel.

This is acting exactly like the CPNS::IOutput::Send method.

Parameters
[in]bChannelMIDI channel
[in]pMsgPointer to the message to send. This message object can be released as soon this method returns.
Returns
CPNS::Enums::ERR_None | CPNS::Enums::ERR_SentToNotYetValidatedDestination | CPNS::Enums::ERR_NoDestination | CPNS::Enums::ERR_NotReadyToSend | CPNS::Enums::ERR_Failed | CPNS::Enums::ERR_TooManyDestinations | CPNS::Enums::ERR_TooManyRecordingDestinations | CPNS::Enums::ERR_MessageDontSupportMulticast
Remarks
If some destination is not yet validated, the method returns CPNS::Enums::ERR_SentToNotYetValidatedDestination. The message delivery is not guaranteed for those destinations.
virtual void CPNS::IVMIDILinkOutLocalDevice::UnregisterVMIDILinkOutNotificationHandler ( CPNS::IVMIDILinkOutLocalDevice_NotificationHandler *const  pHandler)
pure virtual

Unregister a VMIDILinkOutLocalDevice's notification handler for message reception.

Parameters
[in]pHandlerPointer to the application object implementing IVMIDILinkOutLocalDevice_NotificationHandler. If pHandler is NULL, clear all registered handlers.