Microsoft DirectX 8.0 (C++)

IDirectMusicPerformance8::AssignPChannelBlock

Assigns a block of 16 performance channels to the performance and maps them to a port and a channel group. This method is valid only for performances that do not use audiopaths; that is, performances initialized by using IDirectMusicPerformance8::Init.

HRESULT AssignPChannelBlock(
  DWORD dwBlockNum,
  IDirectMusicPort* pPort,
  DWORD dwGroup
);

Parameters

dwBlockNum
Block number, in which 0 represents channels 0 through 15, 1 represents channels 16 through 31, and so on.
pPort
Address of a variable that contains the port to which the channels are assigned.
dwGroup
Channel group on the port. Must be 1 or greater.

Return Values

If the method succeeds, the return value is S_OK or S_FALSE (see Remarks).

If it fails, the method can return one of the following error values:

E_INVALIDARG
E_POINTER

Remarks

This method must be called when a port has been added to a performance, except when the default port has been added by passing NULL to IDirectMusicPerformance8::AddPort.

The method returns S_FALSE if dwGroup is out of the range of the port. The channels have been assigned, but the port cannot play this group.

The method returns E_INVALIDARG if the port has not been added to the performance through a call to the IDirectMusicPerformance8::AddPort method.

Requirements

  Header: Declared in dmusici.h.

See Also

IDirectMusicPerformance8::AssignPChannel, IDirectMusicPerformance8::PChannelInfo, Channels