// 61883.h
typedef struct _CIP_FRAME {
union {
IN PVOID Reserved;
IN PVOID pNext;
};
IN ULONG Flags;
IN PCIP_VALIDATE_ROUTINE pfnValidate;
IN PVOID ValidateContext;
IN PCIP_NOTIFY_ROUTINE pfnNotify;
IN PVOID NotifyContext;
OUT CYCLE_TIME Timestamp;
OUT ULONG Status;
IN OUT PUCHAR Packet;
OUT ULONG CompletedBytes;
} CIP_FRAME, *PCIP_FRAME;
View the official Windows Driver Kit DDI referenceNo description available.
The CIP_FRAME structure describes a frame to be attached to an input or output plug.
ReservedpNextReserved for internal use.
FlagsSpecifies options associated with this frame.
For packets to be received, Flags can be one of the following:
Instructs the IEC-61883 protocol driver to call the client-driver-supplied function at pfnValidate to validate only the first source packet.
Instructs the IEC-61883 protocol driver to call the client-driver-supplied function at pfnValidate to validate all source packets.
For packets to be received, CIP_VALIDATE_XXX can be combined with either or both of the following:
Instructs the protocol driver to strip the source header packet within a source packet.
Instructs the protocol driver to timestamp the frame with the timestamp found within the source header packet.
For packets to be transmitted, Flags can be one of the following:
The value at TimeStamp is formatted for data transmission to digital video devices (SD-DVCR, HD-DVCR, or SDL-DVCR).
The value at TimeStamp is formatted for audio and music data transmission to audio devices.
For packets to be transmitted or received, Flags can also be set with the following:
Instructs the protocol driver to resume a stopped stream at the beginning of the frame instead of the next source packet.
pfnValidatePoints to a caller-supplied function to validate a source packet. This function uses the following prototype: The parameter ValidateInfo must point to a CIP_VALIDATE_INFO structure that contains information about the frame.
ULONG
(*PCIP_VALIDATE_ROUTINE) (
IN PCIP_VALIDATE_INFO ValidateInfo
);
ValidateContextPoints to an optional caller-defined context for the function at pfnValidate. If the function does not require a context, ValidateContext can be NULL.
pfnNotifyPoints to a caller-supplied function to be called by the protocol driver when the requested frame is completed. The protocol driver calls this function at IRQL = DISPATCH_LEVEL.
This function uses the following prototype:
ULONG
(*PCIP_NOTIFY_ROUTINE) (
IN PCIP_NOTIFY_INFO NotifyInfo
);
NotifyContextPoints to an optional caller-defined context for the caller-supplied function at pfnNotify. If the function does not require a context, NotifyContext can be NULL.
TimestampThe time associated with completion of the frame.
For packets to be received, the protocol driver sets this member to the time when transmission of the frame was completed, unless CIP_USE_SOURCE_HEADER_TIMESTAMP is set in Flags.
For packets to be transmitted, CIP-DV_STYLE_SYT or CIP_AUDIO_STYLE_SYT in Flags indicates the format of the timestamp.
StatusThe status of the frame. Can be one of the following:
CIP_STATUS_SUCCESS
CIP_STATUS_CORRUPT_FRAME
CIP_STATUS_FIRST_FRAME
PacketPoints to the beginning of a caller-allocated data buffer to be transmitted or received with this frame. The frame length specified in the associated Av61883_AttachFrame request indicates the size of the buffer.
CompletedBytes