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)

Vedi anche

UNICODE_STRING

WdfDeviceSetDeviceInterfaceState