Método IWDFRemoteTarget::OpenRemoteInterface (wudfddi.h)
[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui o UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum recurso novo está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Os drivers universais do Windows devem usar o UMDF 2. Para obter mais informações, consulte Introdução aoda UMDF .]
O método OpenRemoteInterface abre uma interface do dispositivo para que o driver possa enviar solicitações de E/S para ele.
Sintaxe
HRESULT OpenRemoteInterface(
[in] IWDFRemoteInterface *pRemoteInterface,
[in, optional] PCWSTR pszRelativeFileName,
[in] DWORD DesiredAccess,
[in, optional] PUMDF_IO_TARGET_OPEN_PARAMS pOpenParams
);
Parâmetros
[in] pRemoteInterface
Um ponteiro para uma interface IWDFRemoteInterface que o driver obteve de uma chamada anterior para IWDFDevice2::CreateRemoteInterface.
[in, optional] pszRelativeFileName
Um ponteiro opcional para um chamador fornecido, cadeia de caracteresterminada nula que a estrutura acrescenta ao nome simbólico do link da interface do dispositivo.
[in] DesiredAccess
Uma máscara de bits que especifica o acesso desejado do chamador ao arquivo. Para obter mais informações sobre esse membro, consulte o parâmetro DesiredAccess de CreateFile no SDK do Windows.
[in, optional] pOpenParams
Um ponteiro para uma estrutura de UMDF_IO_TARGET_OPEN_PARAMS alocada por chamador que contém parâmetros adicionais. Esse parâmetro é opcional e pode ser NULL.
Valor de retorno
OpenRemoteInterface retornará S_OK se a operação for bem-sucedida. Caso contrário, o método poderá retornar o seguinte valor:
Código de retorno | Descrição |
---|---|
|
Falha na tentativa da estrutura de alocar memória. |
Esse método pode retornar um dos outros valores que Winerror.h contém.
O verificador de da estrutura relatará um erro se a estrutura não puder abrir o arquivo.
Observações
Depois que um driver IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival função de retorno de chamada recebe a notificação de que uma interface do dispositivo está disponível, e depois que o driver chama IWDFDevice2::CreateRemoteInterface para criar um objeto de interface remota, o driver pode chamar OpenRemoteInterface para que possa enviar solicitações de E/S para a interface do dispositivo.
A interface do dispositivo deve ser acessível pela conta que carregou o driver baseado em UMDF, que normalmente é a conta de Serviço Local. No entanto, se o driver usa representação quando chama OpenRemoteInterface, a interface do dispositivo deve ser acessível pela conta representada.
Para obter mais informações sobre OpenRemoteInterface e como usar interfaces de dispositivo em drivers baseados em UMDF, consulte Usando interfaces de dispositivo em drivers baseados em UMDF.
Exemplos
O exemplo de código a seguir mostra como uma função de retorno de chamada IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival pode criar uma interface remota e objetos de destino remotos para uma interface do dispositivo e, em seguida, abrir a interface para operações de E/S.
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:
...
Requisitos
Requisito | Valor |
---|---|
fim do suporte | Indisponível no UMDF 2.0 e posterior. |
da Plataforma de Destino | Área de trabalho |
versão mínima do UMDF | 1.9 |
cabeçalho | wudfddi.h (inclua Wudfddi.h) |
de DLL | WUDFx.dll |