Condividi tramite


Metodo IWDFDevice::CreateDeviceInterface (wudfddi.h)

[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre informazioni, vedi Introduzione a UMDF.]

Il metodo CreateDeviceInterface crea un'istanza di una classe di interfaccia dispositivo.

Sintassi

HRESULT CreateDeviceInterface(
  [in]           LPCGUID pDeviceInterfaceGuid,
  [in, optional] PCWSTR  pReferenceString
);

Parametri

[in] pDeviceInterfaceGuid

Puntatore al GUID per una classe di interfaccia del dispositivo.

[in, optional] pReferenceString

Puntatore a un NULLstringa con terminazione contenente il nome dell'istanza dell'interfaccia del dispositivo. Questo parametro è facoltativo. Il driver può passare NULL se il driver non deve specificare un nome. Se il driver deve specificare un nome, la stringa passata dal driver non deve contenere caratteri separatori di percorso ("/" o "\").

Valore restituito

CreateDeviceInterface restituisce S_OK se l'operazione ha esito positivo. In caso contrario, questo metodo restituisce uno dei codici di errore definiti in Winerror.h.

Osservazioni

I driver possono usare il parametro pReferenceString per distinguere istanze diverse di una singola interfaccia. In altre parole, se un driver chiama CreateDeviceInterface due volte per la stessa classe di interfaccia del dispositivo, il driver può specificare una stringa diversa per pReferenceString ogni volta. Quando viene aperta un'istanza di un'interfaccia, il framework 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.

Se CreateDeviceInterface ha esito positivo, lo stato iniziale dell'interfaccia è disabilitato. Se la creazione ha esito positivo, il framework abilita e disabilita automaticamente l'interfaccia in base allo stato PnP del dispositivo. Inoltre, un driver può disabilitare e riabilitare un'interfaccia del dispositivo in base alle esigenze chiamando IWDFDevice::AssignDeviceInterfaceState.

Per altre informazioni sulle interfacce dei dispositivi, vedere Using Device Interfaces in UMDF-based Drivers.For more information about device interfaces, see Using Device Interfaces in UMDF-based Drivers.

Esempi

Nell'esempio di codice seguente viene illustrato come creare un'istanza dell'interfaccia del dispositivo. In questo esempio il driver chiama in modo esplicito IWDFDevice::AssignDeviceInterfaceState per abilitare l'interfaccia.

    //
    // Create the device interface.
    //
    HRESULT hr;
    if (S_OK == hr) {
        hr = m_FxDevice->CreateDeviceInterface(
                         &GUID_DEVINTERFACE_OSRUSBFX2,
                         NULL);
    }
    if (S_OK == hr) {
        hr = m_FxDevice->AssignDeviceInterfaceState(
                        &GUID_DEVINTERFACE_OSRUSBFX2,
                        NULL,
                        TRUE);
    }

Fabbisogno

Requisito Valore
Fine del supporto Non disponibile in UMDF 2.0 e versioni successive.
piattaforma di destinazione Desktop
versione minima di UMDF 1.5
intestazione wudfddi.h (include Wudfddi.h)
dll WUDFx.dll

Vedere anche

IWDFDevice

IWDFDevice::AssignDeviceInterfaceState