IMFHttpDownloadSession::CreateRequest 메서드(mfidl.h)

단일 HTTP 또는 HTTPS 요청을 보내는 데 사용되는 IMFHttpDownloadRequest 인터페이스를 구현하는 개체를 만들기 위해 Microsoft Media Foundation에서 호출합니다. 리소스를 완전히 다운로드하려면 여러 요청이 필요할 수 있으므로 Media Foundation은 동일한 IMFHttpDownloadSession instance CreateRequest를 여러 번 호출할 수 있습니다. Media Foundation은 단일 요청에 대해서만 각 IMFHttpDownloadRequest instance 사용합니다.

구문

HRESULT CreateRequest(
  [in]           LPCWSTR                szObjectName,
  [in]           BOOL                   fBypassProxyCache,
  [in]           BOOL                   fSecure,
  [in, optional] LPCWSTR                szVerb,
  [in, optional] LPCWSTR                szReferrer,
                 IMFHttpDownloadRequest **ppRequest
);

매개 변수

[in] szObjectName

지정된 HTTP 동사의 대상 리소스 이름을 포함하는 문자열에 대한 포인터입니다. 일반적으로 파일 이름, 실행 모듈 또는 검색 지정자입니다. 대상 리소스는 항상 슬래시 문자로 시작하며 URL에 포함된 쿼리 문자열을 포함합니다.

[in] fBypassProxyCache

TRUE로 설정하면 프록시 서버에서 캐시된 버전의 리소스를 보내지 않고 요청을 원래 서버로 전달해야 했음을 나타냅니다. 이 플래그를 TRUE로 설정하면 요청에 "Pragma: no-cache" 헤더를 추가해야 합니다. HTTP/1.1 요청을 만들 때 "Cache-Control: no-cache"도 추가해야 합니다.

[in] fSecure

TRUE로 설정하면 해당하는 경우 프로토콜의 보안 변형이 사용됩니다. 예를 들어 IMFHttpDownloadSession 이 HTTP/HTTPS용인 경우 fSecure 를 TRUE로 설정하면 요청에서 HTTPS를 사용합니다. 그렇지 않으면 프로토콜의 안전하지 않은 변형(이 예제에서는 HTTP)이 사용됩니다.

[in, optional] szVerb

요청에 사용할 HTTP 동사가 포함된 문자열에 대한 포인터입니다. 이 매개 변수가 NULL이면 함수는 GET을 HTTP 동사로 사용합니다.

참고 이 문자열은 모두 대문자여야 합니다. 대부분의 서버는 HTTP 동사를 대/소문자를 구분하는 것으로 간주하며, IETF(Internet Engineering Task Force) RFC(주석 요청)는 대문자만 사용하여 이러한 동사의 철자를 지정합니다.
 

[in, optional] szReferrer

szObjectName 요청의 URL을 가져온 문서의 URL을 지정하는 문자열에 대한 포인터입니다. 이 매개 변수를 NULL로 설정하면 참조 문서가 지정되지 않습니다.

ppRequest

메서드가 성공적으로 반환되면 이 매개 변수는 IMFHttpDownloadRequest 인터페이스로 설정됩니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 설명
S_OK
제공된 정보를 저장했습니다.
E_OUTOFMEMORY
메모리가 부족하여 작업을 완료할 수 없습니다.
MF_E_INVALIDREQUEST
메서드는 Close 이후 또는 SetServer가 호출되기 전에 호출되었습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 10 버전 1703 [데스크톱 앱만 해당]
지원되는 최소 서버 지원되는 버전 없음
대상 플랫폼 Windows
헤더 mfidl.h
라이브러리 Mfplat.lib; Mfplat.dll

참고 항목

IMFHttpDownloadSession