IMiniportMidiStream::Read 메서드(portcls.h)

메서드는 Read 들어오는 MIDI 스트림에서 데이터를 읽습니다.

구문

NTSTATUS Read(
  [in]  PVOID  BufferAddress,
  [in]  ULONG  BufferLength,
  [out] PULONG BytesRead
);

매개 변수

[in] BufferAddress

호출자가 할당한 버퍼의 주소를 지정합니다. 메서드는 들어오는 MIDI 데이터를 디바이스에서 버퍼로 복사합니다. 이 버퍼의 할당된 크기는 BufferLength보다 크거나 같아야 합니다.

[in] BufferLength

BufferAddress가 가리키는 버퍼의 길이(바이트)를 지정합니다.

[out] BytesRead

메서드가 디바이스에서 버퍼로 성공적으로 읽은 실제 바이트 수를 지정하는 개수를 쓰는 호출자 할당 변수에 대한 출력 포인터입니다.

반환 값

Read 는 호출에 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드는 적절한 오류 코드를 반환합니다. 다음 표에서는 가능한 반환 상태 코드 중 일부를 보여 줍니다.

반환 코드 설명
STATUS_INVALID_DEVICE_REQUEST
잘못된 디바이스 요청(예: MIDI 출력 스트림에서 호출 Read ).

설명

미니포트 드라이버는 IPortMidi::Notify 를 호출하여 캡처 디바이스에서 들어오는 MIDI 데이터를 사용할 수 있게 되면 포트 드라이버에 알립니다. 포트 드라이버는 IMiniportMidi::Read 를 호출하여 데이터를 검색합니다. 포트 드라이버는 더 많은 데이터를 사용할 수 있는 한 계속 호출 Read 합니다.

메서드는 Read 디바이스에서 현재 더 이상 MIDI 입력 데이터를 사용할 수 없음을 나타내기 위해 STATUS_SUCCESS 및 BytesRead 수를 0으로 반환합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 portcls.h(Portcls.h 포함)
IRQL DISPATCH_LEVEL

추가 정보

IMiniportMidiStream

IMiniportMidiStream::Write

IPortMidi::Notify