// avc.h
typedef struct _AVC_PIN_DESCRIPTOR {
ULONG PinId;
KSPIN_DESCRIPTOR PinDescriptor;
PFNAVCINTERSECTHANDLER IntersectHandler;
PVOID Context;
} AVC_PIN_DESCRIPTOR, *PAVC_PIN_DESCRIPTOR;
View the official Windows Driver Kit DDI referenceNo description available.
The AVC_PIN_DESCRIPTOR structure describes a pin on an AV/C subunit device.
PinIdSpecifies the offset (or ID) of the pin for which information is to be retrieved.
PinDescriptorSpecifies a KSPIN_DESCRIPTOR structure. This structure is allocated in the nonpaged pool. The subunit driver must not free this pointer.
IntersectHandlerAn optional output parameter specifying a data range intersect handler associated with the DataRanges member of the PinDescriptor member.
ContextAn optional output parameter specifying a value to be passed to the IntersectHandler when it is called during format negotiation. For more information about what an intersect handler is, see DataRange Intersections in AVStream.
This structure is used with the AVC_FUNCTION_GET_PIN_DESCRIPTOR function code.
This structure is used only as a member inside the AVC_MULTIFUNC_IRB structure. It is not used by itself.
For information about building and sending an AV/C command, see How to Use Avc.sys.
A description of the members of the KSPIN_DESCRIPTOR structure used in AVC_PIN_DESCRIPTOR follows:
typedef struct {
ULONG InterfacesCount;
const KSPIN_INTERFACE* Interfaces;
ULONG MediumsCount;
const KSPIN_MEDIUM* Mediums;
ULONG DataRangesCount;
const PKSDATARANGE* DataRanges;
KSPIN_DATAFLOW DataFlow;
KSPIN_COMMUNICATION Communication;
const GUID* Category;
const GUID* Name;
union {
LONGLONG Reserved;
struct {
ULONG ConstrainedDataRangesCount;
PKSDATARANGE* ConstrainedDataRanges;
};
};
} KSPIN_DESCRIPTOR, *PKSPIN_DESCRIPTOR;