CIP_FRAME 结构 (61883.h)

CIP_FRAME 结构描述要连接到输入或输出插头的帧。

语法

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;

成员

Reserved

pNext

保留以供内部使用。

Flags

指定与此帧关联的选项。

对于要接收的数据包, 标志 可以是以下选项之一:

CIP_VALIDATE_FIRST_SOURCE

指示 IEC-61883 协议驱动程序在 pfnValidate 调用客户端驱动程序提供的函数,以仅验证第一个源数据包。

CIP_VALIDATE_ALL_SOURCE

指示 IEC-61883 协议驱动程序在 pfnValidate 调用客户端驱动程序提供的函数,以验证所有源数据包。

对于要接收的数据包,CIP_VALIDATE_XXX可以与以下任一项或两者结合使用:

CIP_STRIP_SOURCE_HEADER

指示协议驱动程序在源数据包中去除源标头数据包。

CIP_USE_SOURCE_HEADER_TIMESTAMP

指示协议驱动程序使用源标头数据包中找到的时间戳为帧添加时间戳。

对于要传输的数据包, 标志 可以是以下选项之一:

CIP_DV_STYLE_SYT

TimeStamp 中的值已格式化,以便将数据传输到数字视频设备, (SD-DVCR、HD-DVCR 或 SDL-DVCR) 。

CIP_AUDIO_STYLE_SYT

TimeStamp 中的值已格式化,以便将音频和音乐数据传输到音频设备。

对于要传输或接收的数据包,还可以使用以下项设置 标志

CIP_RESET_FRAME_ON_DISCONTINUITY

指示协议驱动程序恢复帧开头停止的流,而不是下一个源数据包。

pfnValidate

指向调用方提供的函数以验证源数据包。 此函数使用以下原型:参数 ValidateInfo 必须指向包含帧相关信息 的CIP_VALIDATE_INFO 结构。

ULONG 
  (*PCIP_VALIDATE_ROUTINE) ( 
    IN PCIP_VALIDATE_INFO ValidateInfo
   );

ValidateContext

指向 pfnValidate 处函数的调用方定义的可选上下文。 如果函数不需要上下文, 则 ValidateContext 可以为 NULL

pfnNotify

指向调用方提供的函数,该函数将在请求的帧完成时由协议驱动程序调用。 协议驱动程序在 IRQL = DISPATCH_LEVEL 调用此函数。

此函数使用以下原型:

ULONG 
  (*PCIP_NOTIFY_ROUTINE) ( 
     IN PCIP_NOTIFY_INFO NotifyInfo 
 );

NotifyContext

指向 pfnNotify 上调用方提供的函数的可选调用方定义的上下文。 如果函数不需要上下文, NotifyContext 可以为 NULL

Timestamp

与帧完成相关的时间。

对于要接收的数据包,协议驱动程序将此成员设置为帧传输完成的时间,除非在 Flags 中设置了CIP_USE_SOURCE_HEADER_TIMESTAMP。

对于要传输的数据包, 标志 中的 CIP-DV_STYLE_SYT 或 CIP_AUDIO_STYLE_SYT 指示时间戳的格式。

Status

帧的状态。 可以是以下值之一:

CIP_STATUS_SUCCESS

CIP_STATUS_CORRUPT_FRAME

CIP_STATUS_FIRST_FRAME

Packet

指向要使用此帧传输或接收的调用方分配的数据缓冲区的开头。 在关联的 Av61883_AttachFrame 请求中指定的帧长度指示缓冲区的大小。

CompletedBytes

要求

要求
Header 61883.h (包括 61883.h)

另请参阅

AV_61883_REQUEST 结构