Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The KsGetCurrentCommunication method retrieves the current communication direction, interface, and medium of a pin.
Syntax
HRESULT KsGetCurrentCommunication(
[out, optional] KSPIN_COMMUNICATION *Communication,
[out, optional] KSPIN_INTERFACE *Interface,
[out, optional] KSPIN_MEDIUM *Medium
);
Parameters
[out, optional] Communication
Pointer to a variable that receives one of the following values from the KSPIN_COMMUNICATION enumerated type describing the current communication direction for a pin:
Value | Description |
---|---|
KSPIN_COMMUNICATION_NONE | The pin factory does not create any pin instances. |
KSPIN_COMMUNICATION_SINK | The pin factory creates instances of IRP sink pins. Such pins can only be connected to IRP source pins. |
KSPIN_COMMUNICATION_SOURCE | The pin factory creates instances of IRP source pins. Such pins can only be connected to IRP sink pins. |
KSPIN_COMMUNICATION_BOTH | The pin factory creates instances of pins that are both IRP sinks and IRP sources. |
KSPIN_COMMUNICATION_BRIDGE | The pin cannot connect to other pins, but instances may be created on it to receive non-KS I/O requests. |
[out, optional] Interface
Pointer to a variable that receives a KSPIN_INTERFACE structure that describes the current interface for a pin.
[out, optional] Medium
Pointer to a variable that receives a KSPIN_MEDIUM structure that describes the current medium for a pin.
Return value
Returns NOERROR if successful; otherwise, returns an error code.
Remarks
Source pins send IRPs to sink pins. Do not confuse the communication direction with data flow direction. (See KSPROPERTY_PIN_DATAFLOW.) A source pin may read or write data, and a sink pin may have data read to it or written from it.
The current communication direction, interface, and medium of a pin are a subset of those available to the pin, and are selected when the pin handle is created.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | ksproxy.h (include Ksproxy.h) |