작성기에 싱크 추가
[Windows Media Format 11 SDK 이 페이지와 연결된 기능은 레거시 기능입니다. 소스 리더 및 싱크 라이터로 대체되었습니다. 원본 판독기 및 싱크 기록기 Windows 10 및 Windows 11에 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 원본 판독기 및 싱크 기록기 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
기록기 싱크는 작성기와 별개의 개체이며 사용할 작성기에 추가해야 합니다. 파일에 쓰는 경우 IWMWriter::SetOutputFilename호출하면 파일 싱크가 자동으로 설정됩니다. 그렇지 않은 경우 작성기에 싱크를 추가하려면 IWMWriterAdvanced::AddSink 메서드를 호출합니다. AddSink 싱크의 IWMWriterSink 인터페이스에 대한 포인터가 필요합니다.
싱크 사용을 마치면 싱크 유형에 따라 적절한 메서드를 호출하여 닫은 다음 IWMWriterAdvanced::RemoveSink호출하여 기록기에서 제거해야 합니다.
다음 예제 코드에서는 기록기 파일 싱크를 만들고 작성기에 추가하는 방법을 보여 있습니다. 이 코드를 사용하는 방법에 대한 자세한 내용은 코드 예제 사용을 참조하세요.
HRESULT AddFileSink(IWMWriterFileSink** ppFileSink, IWMWriter* pWriter)
{
HRESULT hr = S_OK;
IWMWriterSink* pSinkBase = NULL;
IWMWriterAdvanced* pWriterAdvanced = NULL;
hr = CreateWriterFileSink(ppFileSink);
GOTO_EXIT_IF_FAILED(hr);
hr = *ppFileSink->QueryInterface(IID_IWMWriterSink,
(void**) &pSinkBase);
GOTO_EXIT_IF_FAILED(hr);
hr = pWriter->QueryInterface(IID_IWMWriterAdvanced,
(void**) &pWriterAdvanced);
GOTO_EXIT_IF_FAILED(hr);
hr = pWriterAdvanced->AddSink(pSinkBase);
GOTO_EXIT_IF_FAILED(hr);
Exit:
SAFE_RELEASE(pSinkBase);
SAFE_RELEASE(pWriterAdvanced);
return hr;
}
관련 항목