다음을 통해 공유


IWDFRemoteTarget::OpenRemoteInterface 메서드(wudfddi.h)

[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에는 새로운 기능이 추가되지 않으며 최신 버전의 Windows 10에서는 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF시작 .]을 참조하세요.

OpenRemoteInterface 메서드는 드라이버가 I/O 요청을 보낼 수 있도록 디바이스 인터페이스 엽니다.

통사론

HRESULT OpenRemoteInterface(
  [in]           IWDFRemoteInterface         *pRemoteInterface,
  [in, optional] PCWSTR                      pszRelativeFileName,
  [in]           DWORD                       DesiredAccess,
  [in, optional] PUMDF_IO_TARGET_OPEN_PARAMS pOpenParams
);

매개 변수

[in] pRemoteInterface

드라이버가 IWDFDevice2::CreateRemoteInterface 이전 호출에서 얻은 IWDFRemoteInterface 인터페이스에 대한 포인터입니다.

[in, optional] pszRelativeFileName

프레임워크가 디바이스 인터페이스의 기호 링크 이름에 추가하는 호출자 제공 null종료 문자열에 대한 선택적 포인터입니다.

[in] DesiredAccess

파일에 대한 호출자의 원하는 액세스를 지정하는 비트 마스크입니다. 이 멤버에 대한 자세한 내용은 Windows SDK에서 CreateFileDesiredAccess 매개 변수를 참조하세요.

[in, optional] pOpenParams

추가 매개 변수를 포함하는 호출자 할당 UMDF_IO_TARGET_OPEN_PARAMS 구조체에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL 수 있습니다.

반환 값

OpenRemoteInterface 작업이 성공하면 S_OK 반환합니다. 그렇지 않으면 메서드가 다음 값을 반환할 수 있습니다.

반환 코드 묘사
E_OUTOFMEMORY
프레임워크의 메모리 할당 시도가 실패했습니다.
 

이 메서드는 Winerror.h에 포함된 다른 값 중 하나를 반환할 수 있습니다.

프레임워크의 검증 도구는 프레임워크가 파일을 열 수 없는 경우 오류를 보고할 있습니다.

발언

드라이버의 IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival 콜백 함수는 디바이스 인터페이스를 사용할 수 있다는 알림을 수신합니다. 드라이버가 IWDFDevice2::CreateRemoteInterface 호출하여 원격 인터페이스 개체를 만든 후 드라이버는 OpenRemoteInterface 호출하여 I/O 요청을 디바이스 인터페이스로 보낼 수 있습니다.

디바이스 인터페이스는 일반적으로 로컬 서비스 계정인 UMDF 기반 드라이버를 로드한 계정으로 액세스할 수 있어야 합니다. 그러나 드라이버가 OpenRemoteInterface호출할 때 가장 사용하는 경우 가장된 계정으로 디바이스 인터페이스에 액세스할 수 있어야 합니다.

OpenRemoteInterface 및 UMDF 기반 드라이버에서 디바이스 인터페이스를 사용하는 방법에 대한 자세한 내용은 UMDF 기반 드라이버디바이스 인터페이스를 사용하는 방법을 참조하세요.

예제

다음 코드 예제에서는 IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival 콜백 함수가 디바이스 인터페이스에 대한 원격 인터페이스 및 원격 대상 개체를 만든 다음 I/O 작업에 대한 인터페이스를 여는 방법을 보여 줍니다.

void 
STDMETHODCALLTYPE
CMyDevice::OnRemoteInterfaceArrival(
    __in IWDFRemoteInterfaceInitialize * FxRemoteInterfaceInit
    )
...
    HRESULT hr;
    CComPtr<IWDFRemoteInterface> fxRemoteInterface;
    CComPtr<IWDFRemoteTarget> m_FxTarget;

    hr = m_FxDevice->CreateRemoteInterface(FxRemoteInterfaceInit, 
                                           NULL, 
                                           &fxRemoteInterface);
    if (FAILED(hr)) goto Error;
    hr = FxDevice->CreateRemoteTarget(unknown,
                                      fxRemoteInterface,
                                      &m_FxTarget);
    if (FAILED(hr)) goto Error;
    hr = m_FxTarget->OpenRemoteInterface(fxRemoteInterface, 
                                         NULL,
                                         GENERIC_READ | GENERIC_WRITE,
                                         NULL);
...
Error:
...

요구 사항

요구
지원 종료 UMDF 2.0 이상에서는 사용할 수 없습니다.
대상 플랫폼 바탕 화면
최소 UMDF 버전 1.9
헤더 wudfddi.h(Wudfddi.h 포함)
DLL WUDFx.dll

참고 항목

IWDFRemoteTarget

IWDFRemoteTarget::OpenFileByName