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 사용할 수 없습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보