IWDFDevice2::CreateRemoteInterface 메서드(wudfddi.h)
[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에는 새로운 기능이 추가되지 않으며 최신 버전의 Windows 10에서는 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF시작 .]을 참조하세요.
CreateRemoteInterface 메서드는 디바이스 인터페이스나타내는 원격 인터페이스 개체를 만듭니다.
통사론
HRESULT CreateRemoteInterface(
[in] IWDFRemoteInterfaceInitialize *pRemoteInterfaceInit,
[in, optional] IUnknown *pCallbackInterface,
[out] IWDFRemoteInterface **ppRemoteInterface
);
매개 변수
[in] pRemoteInterfaceInit
드라이버의 IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival 콜백 함수가 수신한 IWDFRemoteInterfaceInitialize 인터페이스에 대한 포인터입니다.
[in, optional] pCallbackInterface
선택적 드라이버 제공 콜백 인터페이스에 대한 포인터입니다. 이 인터페이스의 IUnknown::QueryInterface 메서드는 드라이버가 해당 인터페이스를 지원하는 경우 드라이버의 IRemoteInterfaceCallbackEvent 및 IRemoteInterfaceCallbackRemoval 인터페이스에 대한 포인터를 반환해야 합니다. 이 매개 변수는 선택 사항이며 NULL 수 있습니다.
[out] ppRemoteInterface
새 원격 인터페이스 개체의 IWDFRemoteInterface 인터페이스에 대한 포인터를 수신하는 드라이버 제공 위치에 대한 포인터입니다.
반환 값
CreateRemoteInterface 작업이 성공하면 S_OK 반환합니다. 그렇지 않으면 메서드가 다음 값을 반환할 수 있습니다.
반환 코드 | 묘사 |
---|---|
|
프레임워크의 메모리 할당 시도가 실패했습니다. |
이 메서드는 Winerror.h에 포함된 다른 값 중 하나를 반환할 수 있습니다.
발언
드라이버가 createRemoteInterface 호출하는 경우 IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival 콜백 함수 내에서 호출해야 합니다.
CreateRemoteInterface 및 디바이스 인터페이스 사용에 대한 자세한 내용은 UMDF 기반 드라이버 디바이스 인터페이스 사용 참조하세요.
예제
다음 코드 예제에서는 원격 인터페이스 개체를 만들고, 원격 대상 개체를 만들고, I/O 작업에 대한 원격 대상을 여는 IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival 콜백 함수를 보여 줍니다.
void
STDMETHODCALLTYPE
CMyDevice::OnRemoteInterfaceArrival(
__in IWDFRemoteInterfaceInitialize * FxRemoteInterfaceInit
)
{
HRESULT hr = S_OK;
//
// Create a new remote interface object and provide a callback
// object to handle remote interface events.
//
CComPtr<IWDFRemoteInterface> fxRemoteInterface;
hr = m_FxDevice->CreateRemoteInterface(FxRemoteInterfaceInit,
MyRemoteInterfaceIUnknown,
&fxRemoteInterface);
if (FAILED(hr)) goto Error;
//
// Create a new remote target object and provide a callback
// object to handle remote target events.
//
CComPtr<IWDFRemoteTarget> fxTarget;
hr = m_FxDevice->CreateRemoteTarget(MyRemoteTargetIUnknown,
fxRemoteInterface,
&fxTarget);
if (FAILED(hr)) goto Error;
//
// Open the remote interface with read/write access.
//
hr = FxTarget->OpenRemoteInterface(fxRemoteInterface,
NULL,
GENERIC_READ | GENERIC_WRITE,
NULL);
if (FAILED(hr)) goto Error;
...
}
요구 사항
요구 | 값 |
---|---|
지원 종료 | UMDF 2.0 이상에서는 사용할 수 없습니다. |
대상 플랫폼 | 바탕 화면 |
최소 UMDF 버전 | 1.9 |
헤더 | wudfddi.h(Wudfddi.h 포함) |
DLL | WUDFx.dll |