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

메서드는 Write 나가는 MIDI 스트림에 데이터를 씁니다.

구문

NTSTATUS Write(
  [in]  PVOID  BufferAddress,
  [in]  ULONG  BytesToWrite,
  [out] PULONG BytesWritten
);

매개 변수

[in] BufferAddress

나가는 MIDI 데이터를 포함하는 호출자가 할당한 버퍼에 대한 포인터

[in] BytesToWrite

BufferAddress가 가리키는 버퍼에 포함된 MIDI 데이터의 바이트 수를 지정합니다.

[out] BytesWritten

메서드가 MIDI 출력 디바이스에 쓰기에 성공한 실제 바이트 수를 지정하는 개수를 작성하는 호출자 할당 변수에 대한 출력 포인터입니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

반환 값

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

반환 코드 설명
STATUS_IO_DEVICE_ERROR
디바이스 오류로 인해 호출이 실패했습니다.
STATUS_INVALID_DEVICE_REQUEST
잘못된 디바이스 요청(예: MIDI 입력 스트림에서 호출 Write ).

설명

메서드가 성공하면 BytesWritten 매개 변수를 통해 다음 값 중 하나를 호출자에게 출력합니다.

  • BytesToWrite와 동일한 값입니다. 이 값은 메서드가 모든 BytesToWrite 데이터 바이트를 디바이스에 쓰는 데 성공했음을 나타냅니다.
  • BytesToWrite보다 작은 4개의 배수입니다. 메서드가 일부 호출자의 데이터를 디바이스에 쓸 수 있는 경우 4의 배수인 바이트 수를 작성해야 합니다. 이 값은 호출자가 메서드를 다른 호출하여 나머지 데이터를 작성해야 했음을 나타냅니다.
  • 단계 없음. 이 값은 디바이스가 너무 바빠서 현재 호출 중에 호출자의 데이터를 작성할 수 없지만 나중에 호출자가 다시 시도해야 했음을 나타냅니다. 미니포트 드라이버는 사용 중인 디바이스를 디바이스 오류와 구분해야 합니다. 메서드는 항상 성공을 반환하지만 0바이트를 쓰는 무한 연속 호출을 생성하지 않아야 합니다.

요구 사항

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

추가 정보

IMiniportMidiStream

IMiniportMidiStream::Read