Condividi tramite


struttura CIP_FRAME (61883.h)

La struttura CIP_FRAME descrive un frame da collegare a un plug di input o di output.

Sintassi

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;

Members

Reserved

pNext

Riservato per utilizzo interno.

Flags

Specifica le opzioni associate a questo frame.

Per la ricezione dei pacchetti, i flag possono essere uno dei seguenti:

CIP_VALIDATE_FIRST_SOURCE

Indica al driver del protocollo IEC-61883 di chiamare la funzione fornita dal client-driver in pfnValidate per convalidare solo il primo pacchetto di origine.

CIP_VALIDATE_ALL_SOURCE

Indica al driver di protocollo IEC-61883 di chiamare la funzione fornita da client-driver in pfnValidate per convalidare tutti i pacchetti di origine.

Affinché i pacchetti vengano ricevuti, CIP_VALIDATE_XXX possono essere combinati con uno o entrambi i pacchetti seguenti:

CIP_STRIP_SOURCE_HEADER

Indica al driver del protocollo di rimuovere il pacchetto di intestazione di origine all'interno di un pacchetto di origine.

CIP_USE_SOURCE_HEADER_TIMESTAMP

Indica al driver del protocollo di eseguire il timestamp del frame con il timestamp trovato all'interno del pacchetto di intestazione di origine.

Affinché i pacchetti vengano trasmessi, i flag possono essere uno dei seguenti:

CIP_DV_STYLE_SYT

Il valore in TimeStamp viene formattato per la trasmissione dei dati ai dispositivi video digitali (SD-DVCR, HD-DVCR o SDL-DVCR).

CIP_AUDIO_STYLE_SYT

Il valore in TimeStamp viene formattato per la trasmissione di dati audio e musicali ai dispositivi audio.

Affinché i pacchetti vengano trasmessi o ricevuti, i flag possono essere impostati anche con quanto segue:

CIP_RESET_FRAME_ON_DISCONTINUITY

Indica al driver del protocollo di riprendere un flusso arrestato all'inizio del frame anziché al pacchetto di origine successivo.

pfnValidate

Punta a una funzione fornita dal chiamante per convalidare un pacchetto di origine. Questa funzione usa il prototipo seguente: il parametro ValidateInfo deve puntare a una struttura CIP_VALIDATE_INFO che contiene informazioni sul frame.

ULONG 
  (*PCIP_VALIDATE_ROUTINE) ( 
    IN PCIP_VALIDATE_INFO ValidateInfo
   );

ValidateContext

Punta a un contesto facoltativo definito dal chiamante per la funzione in pfnValidate. Se la funzione non richiede un contesto, ValidateContext può essere NULL.

pfnNotify

Punta a una funzione fornita dal chiamante da chiamare dal driver di protocollo al termine del frame richiesto. Il driver del protocollo chiama questa funzione in IRQL = DISPATCH_LEVEL.

Questa funzione usa il prototipo seguente:

ULONG 
  (*PCIP_NOTIFY_ROUTINE) ( 
     IN PCIP_NOTIFY_INFO NotifyInfo 
 );

NotifyContext

Punta a un contesto facoltativo definito dal chiamante per la funzione fornita dal chiamante in pfnNotify. Se la funzione non richiede un contesto, NotifyContext può essere NULL.

Timestamp

Ora associata al completamento del frame.

Affinché i pacchetti vengano ricevuti, il driver del protocollo imposta questo membro sul momento in cui è stata completata la trasmissione del frame, a meno che CIP_USE_SOURCE_HEADER_TIMESTAMP non sia impostato in Flags.

Affinché i pacchetti vengano trasmessi, CIP-DV_STYLE_SYT o CIP_AUDIO_STYLE_SYT in Flags indica il formato del timestamp.

Status

Stato del frame. Può essere uno dei valori seguenti:

CIP_STATUS_SUCCESS

CIP_STATUS_CORRUPT_FRAME

CIP_STATUS_FIRST_FRAME

Packet

Punta all'inizio di un buffer di dati allocato dal chiamante da trasmettere o ricevere con questo frame. La lunghezza del frame specificata nella richiesta di Av61883_AttachFrame associata indica le dimensioni del buffer.

CompletedBytes

Requisiti

Requisito Valore
Intestazione 61883.h (include 61883.h)

Vedi anche

struttura AV_61883_REQUEST