Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
En dataströmskontext måste skapas innan AV/C-strömningsfilterdrivrutinen Avcstrm.syskan tillhandahålla tjänster. Kontexten pekar på en ogenomskinlig struktur som innehåller det begärda dataformatet, dataströmstillståndet och egenskaperna, ungefär som ett dataströmstillägg. En dataformatstruktur och dataflödets riktning är dess indataparametrar. Om strömmen kan skapas framgångsrikt, kommer den att returnera en strömkontext. Den här kontexten cachelagras av underenhetsdrivrutinen och används för efterföljande AV/C-direktuppspelningsbegäranden.
Det här är en synkron åtgärd. Åtgärden skapar först en dataströmsbegärandestruktur för att öppna en dataström. Den anropar sedan den användardefinierade synkrona IRP-rutinen för att anropa den lägre drivrutinen för att skapa en dataström som baseras på den angivna dataflödesriktningen och dataformatet som definieras i AVCSTRM_FORMAT_INFO. Följande kodexempel visar hur du öppnar en dataströmkontext.
#include <avcstrm.h>
INIT_AVCSTRM_HEADER(pAVCStrmReq, AVCSTRM_OPEN);
pAVCStrmReq->CommandData.OpenStruct.AVCFormatInfo = &AVCStrmFormatInfoTable[pDevExt->VideoFormatIndex];
pAVCStrmReq->CommandData.OpenStruct.AVCStreamContext = NULL;
pAVCStrmReq->CommandData.OpenStruct.DataFlow = DataFlow;
Status =
AVCStrmReqSubmitIrpSynch(
pDevExt->pBusDeviceObject,
pStrmExt->pIrpReq,
pAVCStrmReq
);
if(STATUS_SUCCESS == Status) {
// Save the context, which is used for a
// Subsequent call to the AVCStrm filter driver
pStrmExt->AVCStreamContext =
pAVCStrmReq->CommandData.OpenStruct.AVCStreamContext;
}