Platform SDK: DirectX

IDirectMusicPort::DeviceIoControl

The IDirectMusicPort::DeviceIoControl method calls the Win32 DeviceIoControl function on the underlying file handle implementing the port.

HRESULT DeviceIoControl(
  DWORD dwIoControlCode, 
  LPVOID lpInBuffer, 
  DWORD nInBufferSize, 
  LPVOID lpOutBuffer, 
  DWORD nOutBufferSize, 
  LPDWORD lpBytesReturned, 
  LPOVERLAPPED lpOverlapped
);

Parameters

dwIoControlCode
Control code of the operation to perform.
lpInBuffer
Pointer to the buffer that contains input data.
nInBufferSize
Size of input buffer.
lpOutBuffer
Pointer to the buffer to receive output data.
nOutBufferSize
Size of the output buffer.
lpBytesReturned
Address of a variable to receive the output byte count.
lpOverlapped
Address of an overlapped structure for asynchronous operation.

Return Values

If the method succeeds, the return value is S_OK.

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

E_POINTER
E_NOTIMPL

Remarks

This method is supported only on ports implemented by a Windows Driver Model (WDM) filter graph. In the case of a WDM filter graph, the file handle used is the topmost pin in the graph.

DirectMusic can refuse to perform defined kernel streaming operations on a pin that might collide with operations that it is performing on the filter graph. User-defined operations, however, are never blocked.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in dmusicc.h.