다음을 통해 공유


IMediaLocator::FindMediaFile 메서드

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

참고

[더 이상 사용되지 않습니다. 이 API는 이후 Windows 릴리스에서 제거될 수 있습니다.]

 

메서드는 FindMediaFile 파일을 검색하고 성공하면 파일 경로를 검색합니다.

구문

HRESULT FindMediaFile(
   BSTR Input,
   BSTR FilterString,
   BSTR *pOutput,
   long Flags
);

매개 변수

입력

파일이 마지막으로 상주하는 것으로 알려진 경로를 포함한 파일 이름입니다. 타임라인 원본 개체의 경우 현재 미디어 이름을 사용합니다.

FilterString

OPENFILENAME 구조체의 lpstrFilter 멤버에 필요한 형식의 필터 문자열 쌍을 포함하는 BSTR입니다. 미디어 로케이터는 파일 열기 대화 상자를 표시하는 경우 이 필터를 사용합니다. Flags 매개 변수에 SFN_VALIDATEF_POPUP 플래그가 포함되지 않은 경우 값은 NULL일 수 있습니다.

pOutput

입력에 포함된 값과 다른 경우 및 메서드가 파일을 성공적으로 찾는 경우 파일에 대한 실제 경로를 수신하는 변수에 대한 포인터입니다.

플래그

0개 이상의 플래그의 비트 조합입니다. 가능한 플래그 목록은 파일 이름 유효성 검사 플래그를 참조하세요.

반환 값

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

FilterString 매개 변수로 지정된 파일 열기 대화 상자의 필터 문자열에는 내부 Null 문자가 포함됩니다. 예를 들어 Video\0*.avi\0\0은 유효한 필터 문자열입니다. SysAllocStr 함수를 사용하여 BSTR을 할당할 수 없습니다. 이 함수는 Null로 끝나는 문자열을 예상하며 첫 번째 Null 문자에서 문자열을 자르기 때문입니다. 따라서 길이에 대한 명시적 매개 변수를 포함하는 SysAllocStringLen과 같은 함수를 사용합니다.

BSTR filter = SysAllocStringLen(L"Video\0*.avi\0", 12);
// Note: SysAllocStringLen appends an additional '\0' to the string.

사용자가 파일 열기 대화 상자를 취소하면 메서드는 E_FAIL 반환합니다.

메서드는 pOutput에서 BSTR에 대한 메모리를 할당합니다. 애플리케이션은 메모리를 해제하려면 SysFreeString 을 호출해야 합니다.

참고

헤더 파일 Qedit.h는 버전 7 이후의 Direct3D 헤더와 호환되지 않습니다.

 

참고

Qedit.h를 얻으려면 Windows Vista용 Microsoft Windows SDK 업데이트를 다운로드하고 3.0을 .NET Framework. Qedit.h는 Windows 7 및 .NET Framework 3.5 서비스 팩 1용 Microsoft Windows SDK 사용할 수 없습니다.

 

요구 사항

요구 사항
헤더
Qedit.h
라이브러리
Strmiids.lib

추가 정보

IMediaLocator 인터페이스

오류 및 성공 코드