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) |