Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
[Avertissement : UMDF 2 est la dernière version de UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide de UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et il existe une prise en charge limitée de UMDF 1 sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Bien démarrer avec UMDF.]
La méthode CreateRemoteInterface crée un objet d’interface distante qui représente une interface d’appareil .
Syntaxe
HRESULT CreateRemoteInterface(
[in] IWDFRemoteInterfaceInitialize *pRemoteInterfaceInit,
[in, optional] IUnknown *pCallbackInterface,
[out] IWDFRemoteInterface **ppRemoteInterface
);
Paramètres
[in] pRemoteInterfaceInit
Pointeur vers une interface IWDFRemoteInterfaceInitialize que la fonction de rappel IPnpCallbackRemoteInterfaceNotification ::OnRemoteInterfaceArrival fonction de rappel reçue.
[in, optional] pCallbackInterface
Pointeur vers une interface de rappel facultative fournie par le pilote. La méthode IUnknown ::QueryInterface de cette interface doit retourner un pointeur vers le IRemoteInterfaceCallbackEvent et interfaces IRemoteInterfaceCallbackRemoval, si le pilote prend en charge ces interfaces. Ce paramètre est facultatif et peut être NULL.
[out] ppRemoteInterface
Pointeur vers un emplacement fourni par le pilote qui reçoit un pointeur vers l’interface IWDFRemoteInterface de l’objet d’interface distante.
Valeur de retour
CreateRemoteInterface retourne S_OK si l’opération réussit. Sinon, la méthode peut retourner la valeur suivante :
Retourner le code | Description |
---|---|
|
Échec de la tentative de l’infrastructure d’allouer de la mémoire. |
Cette méthode peut retourner l’une des autres valeurs que Winerror.h contient.
Remarques
Si votre pilote appelle CreateRemoteInterface, il doit le faire à partir de son IPnpCallbackRemoteInterfaceNotification ::OnRemoteInterfaceArrival fonction de rappel.
Pour plus d’informations sur createRemoteInterface et l’utilisation d’interfaces d’appareil, consultez Using Device Interfaces in UMDF-based Drivers
Exemples
L’exemple de code suivant montre un IPnpCallbackRemoteInterfaceNotification ::OnRemoteInterfaceArrival fonction de rappel qui crée un objet d’interface distante, crée un objet cible distant et ouvre la cible distante pour les opérations d’E/S.
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;
...
}
Exigences
Exigence | Valeur |
---|---|
fin du support | Indisponible dans UMDF 2.0 et versions ultérieures. |
plateforme cible | Bureau |
version minimale de UMDF | 1.9 |
d’en-tête | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |