다음을 통해 공유


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