SW_DEVICE_CREATE_CALLBACK funzione di callback (swdevice.h)
Fornisce un dispositivo con backup nel Registro di sistema e consente al chiamante di effettuare quindi chiamate alle funzioni API del dispositivo software con l'handle hSwDevice .
Sintassi
SW_DEVICE_CREATE_CALLBACK SwDeviceCreateCallback;
void SwDeviceCreateCallback(
[in] HSWDEVICE hSwDevice,
[in] HRESULT CreateResult,
[in, optional] PVOID pContext,
[in, optional] PCWSTR pszDeviceInstanceId
)
{...}
Parametri
[in] hSwDevice
Handle per il dispositivo software.
[in] CreateResult
HRESULT che indica se l'enumerazione del dispositivo software ha avuto esito positivo.
[in, optional] pContext
Contesto fornito facoltativamente dall'app client a SwDeviceCreate.
[in, optional] pszDeviceInstanceId
ID istanza del dispositivo assegnato al dispositivo.
Valore restituito
nessuno
Osservazioni
Il sistema operativo chiama la funzione di callback SW_DEVICE_CREATE_CALLBACK dopo che PnP enumera il dispositivo. Dopo aver chiamato la funzione di callback, il dispositivo ha il backup nel Registro di sistema e le chiamate alle funzioni API del dispositivo software possono essere eseguite usando l'handle hSwDevice . È anche possibile usare altre API che funzionano con i dispositivi per il dispositivo creato.
L'enumerazione PnP di un dispositivo è il primo passaggio sottoposto a un dispositivo. Dopo l'enumerazione PnP del dispositivo, il dispositivo ha solo il backup del Registro di sistema e è possibile impostare le proprietà sul dispositivo. Solo perché PnP enumera il dispositivo, il dispositivo non è ancora stato avviato e nessun driver per il dispositivo ha ancora registrato o abilitato interfacce. In molti casi, è consigliabile che le app attendano l'arrivo dell'interfaccia del dispositivo se vogliono usare il dispositivo.
In Windows 8 non è possibile chiamare SwDeviceClose all'interno della funzione di callback. In questo modo si verificherà un deadlock. Prestare attenzione al rilascio di un oggetto con conteggio di riferimento che chiamerà SwDeviceClose quando viene eseguito il distruttore. In Windows 8.1 questa restrizione viene revocata e è possibile chiamare SwDeviceClose all'interno della funzione di callback.
Controllare sempre HRESULT passato a CreateResult per assicurarsi che PnP sia stato in grado di enumerare il dispositivo.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 8 |
Server minimo supportato | Windows Server 2012 |
Piattaforma di destinazione | Desktop |
Intestazione | swdevice.h |