Funzione WdfDeviceCreateDeviceInterface (wdfdevice.h)
[Si applica a KMDF e UMDF]
Il metodo WdfDeviceCreateDeviceInterface crea un'interfaccia del dispositivo per un dispositivo specificato.
Sintassi
NTSTATUS WdfDeviceCreateDeviceInterface(
[in] WDFDEVICE Device,
[in] const GUID *InterfaceClassGUID,
[in, optional] PCUNICODE_STRING ReferenceString
);
Parametri
[in] Device
Handle per un oggetto dispositivo framework.
[in] InterfaceClassGUID
Puntatore a un GUID che identifica la classe dell'interfaccia del dispositivo.
[in, optional] ReferenceString
Puntatore a una struttura UNICODE_STRING che descrive una stringa di riferimento per l'interfaccia del dispositivo. La stringa non deve contenere caratteri separatori di percorso ("/" o "\"). Questo parametro è facoltativo e può essere NULL. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.
Valore restituito
WdfDeviceCreateDeviceInterface restituisce STATUS_SUCCESS se l'operazione ha esito positivo.
Per un elenco di altri valori restituiti che WdfDeviceCreateDeviceInterface può restituire, vedere Errori di creazione di oggetti Framework.
Il metodo potrebbe restituire altri valori NTSTATUS.
Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.
Commenti
Il driver può chiamare WdfDeviceCreateDeviceInterface da EVT_WDF_DRIVER_DEVICE_ADD o dopo l'avvio del dispositivo.
Se il driver chiama questa funzione dalla sua funzione di callback EVT_WDF_DRIVER_DEVICE_ADD , l'interfaccia viene abilitata automaticamente quando il dispositivo viene avviato e disabilitato quando il dispositivo si arresta. Per impedire l'abilitazione automatica, il driver può chiamare WdfDeviceSetDeviceInterfaceStateEx con il parametro IsInterfaceEnabled impostato su FALSE.
Se il driver chiama questa funzione dopo l'avvio del dispositivo, l'interfaccia rimane disabilitata. Il driver può chiamare WdfDeviceSetDeviceInterfaceState in base alle esigenze.
I driver possono usare il parametro ReferenceString per distinguere istanze diverse di una singola interfaccia. In altre parole, se un driver chiama WdfDeviceCreateDeviceInterface due volte per la stessa classe di interfaccia del dispositivo, il driver può specificare un parametro ReferenceString diverso ogni volta. Quando viene aperta un'istanza di un'interfaccia, la gestione I/O passa la stringa di riferimento dell'istanza al driver. La stringa di riferimento viene aggiunta al componente del percorso del nome dell'istanza dell'interfaccia. Il driver può quindi usare la stringa di riferimento per determinare quale istanza della classe dell'interfaccia del dispositivo viene aperta.
Per altre informazioni sulle interfacce del dispositivo e sul metodo WdfDeviceCreateDeviceInterface , vedere Uso di interfacce dispositivo.
Esempio
Nell'esempio seguente viene registrata la classe di interfaccia della porta COM per un dispositivo.
NTSTATUS status;
status = WdfDeviceCreateDeviceInterface(
Device,
(LPGUID) &GUID_DEVINTERFACE_COMPORT,
NULL
);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1,0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfdevice.h (includere Wdf.h) |
Libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |