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 altre informazioni, vedere la sezione Osservazioni seguente.
Valore restituito
WdfDeviceCreateDeviceInterface restituisce STATUS_SUCCESS se l'operazione ha esito positivo.
Per un elenco di altri valori restituiti che WdfDeviceCreateDeviceInterface possono restituire, vedere Framework Object Creation Errors.
Il metodo potrebbe restituire altri valori NTSTATUS .
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.
Osservazioni
Il driver può chiamare WdfDeviceCreateDeviceInterface da EVT_WDF_DRIVER_DEVICE_ADDo dopo l'avvio del dispositivo.
Se il driver chiama questa funzione dalla relativa funzione di callback EVT_WDF_DRIVER_DEVICE_ADD, l'interfaccia viene abilitata automaticamente all'avvio e alla disabilitazione del dispositivo 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 ogni volta. Quando viene aperta un'istanza di un'interfaccia, il gestore di I/O passa la stringa di riferimento dell'istanza al driver. La stringa di riferimento viene aggiunta al componente path 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 WdfDeviceCreateDeviceInter face, vedere Using Device Interfaces.
Esempi
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
);
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
versione minima di KMDF | 1.0 |
versione minima di UMDF | 2.0 |
intestazione | wdfdevice.h (include Wdf.h) |
libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |