IOCTL_STREAM_LOCATE_REMOTE_PLUG

This IOCTL permits the caller to attempt to locate or cause the remote node to create a plug on a remote node that is capable of handling the type of media stream required by the application.

Parameters

  • hDevice
    [in] Handle to the target object. To get a device handle, call the CreateFile function with a name dynamically obtained from the SetupDiEnumDeviceInterfaces function.
  • dwIoControlCode
    [in] IOCTL for the operation. This value identifies the target operation and the type of device on which to perform the operation. For this operation, use IOCTL_STREAM_LOCATE_REMOTE_PLUG.
  • lpInBuffer
    [in] Must be filled in with a properly initialized STREAM_LocateRemotePlug_Request structure. The slrp_MediaType, slrp_Direction, and slrp_SubunitPlugID members must be pre-initialized.
  • nInBufferSize
    [in] Set to sizeof(STREAM_LocateRemotePlug_Request).
  • lpOutBuffer
    [out] Must point to a STREAM_LocateRemotePlug_Response structure.
  • nOutBufferSize
    [in] Set to sizeof(STREAM_LocateRemotePlug_Response).
  • lpBytesReturned
    [out] Pointer to a DWORD variable that receives the actual count of bytes returned by the function in the output buffer.
  • lpOverlapped
    [out] If not used, set to NULL. Otherwise, this should point to a completely filled out OVERLAPPED structure that contains a valid event. The event will be signaled when the I/O operation is complete.

Return Values

If the operation succeeds, the DeviceIoControl function returns a non-zero value. If the operation fails, DeviceIoControl returns zero. To obtain extended error information, call GetLastError.

Remarks

Connecting to individually numbered serial bus plugs on remote nodes is fairly straightforward. However, knowing which serial bus plug on a remote node to connect can be more complex. This IOCTL encapsulates most of that process. Given the type of media that an application expects to transfer and the actual subunit, implicitly defined by the device object being dealt with, requests will be made to locate or establish a plug of the correct type connected to the given subunit.

Several AV/C plug control systems exist, and some differ in structure. To provide for future compatibility, complete any successful location of a plug with this IOCTL with a call to the IOCTL_STREAM_DEREFERENCE_REMOTE_PLUG, IOCTL when the plug is no longer needed. Depending on the mechanism used, this dereference IOCTL may or may not take action.

Requirements

OS Versions: Windows CE .NET 4.0 and later.
Header: Avc_stream.h.

See Also

IOCTL_STREAM_CREATE_LOCAL_PLUG | IOCTL_STREAM_DELETE_LOCAL_PLUG | IOCTL_STREAM_START_RECV_SESSION | IOCTL_STREAM_START_XMIT_SESSION | IOCTL_STREAM_DEREFERENCE_REMOTE_PLUG | CreateFile | STREAM_LocateRemotePlug_Request | STREAM_LocateRemotePlug_Response | DeviceIoControl

 Last updated on Tuesday, May 18, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.