AVC_STREAM_REQUEST_BLOCK 구조체(avcstrm.h)

AVC_STREAM_REQUEST_BLOCK 구조는 avcstrm.sys에서 처리할 AV/C 스트리밍 요청을 설명합니다.

구문

typedef struct _AVC_STREAM_REQUEST_BLOCK {
  ULONG            SizeOfThisBlock;
  ULONG            Version;
  AVCSTRM_FUNCTION Function;
  ULONG            Flags;
  NTSTATUS         Status;
  PVOID            AVCStreamContext;
  PVOID            Context1;
  PVOID            Context2;
  PVOID            Context3;
  PVOID            Context4;
  ULONG            Reserved[4];
  union {
    KSSTATE               StreamState;
    AVCSTRM_OPEN_STRUCT   OpenStruct;
    AVCSTRM_BUFFER_STRUCT BufferStruct;
  } CommandData;
  _tagCommandData  _tagCommandData;
} AVC_STREAM_REQUEST_BLOCK, *PAVC_STREAM_REQUEST_BLOCK;

멤버

SizeOfThisBlock

요청 블록의 크기를 바이트 단위로 지정합니다. 이 값을 직접 설정하지 마세요. 대신 INIT_AVCSTRM_HEADER 매크로를 사용합니다.

Version

요청을 서비스할 avcstrm.sys DDI(디바이스 드라이버 인터페이스)의 버전을 지정합니다. 이 값을 직접 설정하지 마세요. 대신 INIT_AVCSTRM_HEADER 매크로를 사용합니다.

Function

서비스avcstrm.sys 요청(함수 코드)을 나타냅니다. 이 값은 AVCSTRM_FUNCTION 열거형의 값이어야 합니다. 이 값을 직접 설정하지 마세요. 대신 INIT_AVCSTRM_HEADER 매크로를 사용합니다.

Flags

특수 서비스 또는 표준 서비스의 편차를 나타내는 특수 플래그입니다. 현재 사용되지 않습니다.

Status

이 요청의 최종 상태.

AVCStreamContext

스트림의 컨텍스트(핸들)입니다. AVCSTRM_OPEN 함수 코드에 대해 NULL로 설정합니다. 다른 함수 코드의 경우 AVCSTRM_OPEN 대한 이전 호출에서 검색된 유효한 값으로 설정해야 합니다.

Context1

클라이언트의 컨텍스트 포인터입니다.

Context2

클라이언트의 컨텍스트 포인터입니다.

Context3

클라이언트의 컨텍스트 포인터입니다.

Context4

클라이언트의 컨텍스트 포인터입니다.

Reserved[4]

예약되어 있습니다. 사용하지 마십시오.

CommandData

서비스용으로 avcstrm.sys 전달될 명령 데이터의 통합입니다.

플래그 설명
StreamState 지정된 스트림의 현재 상태를 지정합니다. AVCSTRM_GET_STATE 및 AVCSTRM_SET_STATE 함수 코드와 함께 사용됩니다.
OpenStruct 열 스트림에 대한 설명을 지정합니다. AVCSTRM_OPEN 함수 코드 와 함께 사용됩니다.
BufferStruct 지정된 스트림에서 데이터를 읽거나 쓰는 데 사용되는 버퍼에 대한 설명을 지정합니다. AVCSTRM_READ 및 AVCSTRM_WRITE 함수 코드 와 함께 사용됩니다.

CommandData.StreamState

KSSTATE 멤버 StreamState를 정의합니다.

CommandData.OpenStruct

AVCSTRM_OPEN_STRUCT 멤버 OpenStruct를 정의합니다.

CommandData.BufferStruct

AVCSTRM_BUFFER_STRUCT 멤버 BufferStruct를 정의합니다.

_tagCommandData

_tagCommandData 멤버 _tagCommandData 정의합니다.

설명

AVC_STREAM_REQUEST_BLOCK 하위 단위 드라이버가 avcstrm.sys와 인터페이스하는 데 사용하는 기본 구조입니다.

모든 AV/C 스트림 요청은 이 구조로 설명됩니다. 이 구조체는 서비스에 대한 avcstrm.sys IRP의 일부로 전달됩니다.

이 구조를 사용하려면 IRP의 Irp-Parameters-Others.Argument1>> 멤버를 하위 단위 드라이버가 서비스에avcstrm.sys원하는 요청(기능)을 설명하는 할당되고 초기화된 AVC_STREAM_REQUEST_BLOCK 설정합니다.

요구 사항

요구 사항
헤더 avcstrm.h(Avcstrm.h 포함)

추가 정보

AVCSTRM_ABORT_STREAMING

AVCSTRM_BUFFER_STRUCT

AVCSTRM_CLOSE

AVCSTRM_FUNCTION

AVCSTRM_GET_PROPERTY

AVCSTRM_GET_STATE

AVCSTRM_OPEN

AVCSTRM_OPEN_STRUCT

AVCSTRM_READ

AVCSTRM_SET_PROPERTY

AVCSTRM_SET_STATE

AVCSTRM_WRITE

KSSTATE