// ks.h
typedef struct {
GUID ProtocolId;
PVOID Argument1;
PVOID Argument2;
} KSHANDSHAKE, *PKSHANDSHAKE;
View the official Windows Driver Kit DDI referenceNo description available.
The KSHANDSHAKE structure is used to pass information back and forth while pins are handshaking in an attempt to negotiate a private interface.
ProtocolIdThis member specifies the GUID that represents the interface or protocol being negotiated between two AVStream pins.
Argument1A pointer to an interface-dependent argument. Most often, this is used to pass back and forth COM-style interface pointers once a specific private interface or protocol has been agreed upon.
Argument2A pointer to an interface-dependent argument.
See KsPinHandshake for more information about negotiating private interfaces between AVStream pins.
Pin handshaking is a concept that is usable only between two pins that support IOCTL_KS_HANDSHAKE. Currently, only AVStream pins support this interface; thus this is only useful for negotiating private interfaces between two AVStream pins. Currently, connections between AVStream pins are negotiated via this mechanism.