Microsoft DirectX 9.0

IDirectMusicPort8::DeviceIoControl

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

Syntax

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

Buffer that contains input data.

nInBufferSize

Size of input buffer.

lpOutBuffer

Buffer that receives output data.

nOutBufferSize

Size of the output buffer.

lpBytesReturned

Address of a variable that receives the output byte count.

lpOverlapped

Address of an OVERLAPPED structure for asynchronous operation. OVERLAPPED is defined in Winbase.h.

Return Values

If the method succeeds, the return value is S_OK.

If it fails, the method can return one of the error values shown in the following table.

Return code
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

  Header: Declared in dmusicc.h.

See Also