Condividi tramite


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)

Vedere anche

UNICODE_STRING

WdfDeviceSetDeviceInterfaceState