Compartir a través de


SW_DEVICE_CREATE_CALLBACK función de devolución de llamada (swdevice.h)

Proporciona un dispositivo con respaldo en el registro y permite al autor de la llamada realizar llamadas a funciones de API de dispositivo de software con el identificador hSwDevice .

Sintaxis

SW_DEVICE_CREATE_CALLBACK SwDeviceCreateCallback;

void SwDeviceCreateCallback(
  [in]           HSWDEVICE hSwDevice,
  [in]           HRESULT CreateResult,
  [in, optional] PVOID pContext,
  [in, optional] PCWSTR pszDeviceInstanceId
)
{...}

Parámetros

[in] hSwDevice

Identificador del dispositivo de software.

[in] CreateResult

HRESULT que indica si la enumeración del dispositivo de software se realizó correctamente.

[in, optional] pContext

Contexto proporcionado opcionalmente por la aplicación cliente a SwDeviceCreate.

[in, optional] pszDeviceInstanceId

Identificador de instancia de dispositivo que PnP asignó al dispositivo.

Valor devuelto

None

Observaciones

El sistema operativo llama a la función de devolución de llamada SW_DEVICE_CREATE_CALLBACK después de que PnP enumera el dispositivo. Después de llamar a la función de devolución de llamada, el dispositivo tiene copias de seguridad en el registro y se pueden realizar llamadas a funciones de API de dispositivo de software mediante el identificador hSwDevice . También puede usar otras API que funcionan con dispositivos para el dispositivo que se crea.

La enumeración PnP de un dispositivo es el primer paso que un dispositivo se somete. Después de la enumeración PnP del dispositivo, el dispositivo solo tiene respaldo del registro y puede establecer propiedades en el dispositivo. Solo porque PnP ha enumerado el dispositivo, el dispositivo aún no se ha iniciado y aún no hay ningún controlador para el dispositivo registrado o habilitado interfaces. En muchos casos, se recomienda que las aplicaciones esperen a la llegada de la interfaz de dispositivo si quieren usar el dispositivo.

Nota La función de devolución de llamada proporciona el identificador de instancia de dispositivo para el dispositivo creado. Se recomienda que los autores de llamadas de la API de dispositivo de software no intenten adivinar ni construir el identificador de instancia del dispositivo por sí mismos; use siempre el valor proporcionado por la función de devolución de llamada.
 
La función de devolución de llamada se ejecutará en un subproceso arbitrario del grupo de subprocesos. Las aplicaciones cliente pueden realizar tanto trabajo como sea necesario en la función de devolución de llamada.

En Windows 8, no se puede llamar a SwDeviceClose dentro de la función de devolución de llamada. Si lo hace, se producirá un interbloqueo. Tenga cuidado de liberar un objeto con recuento de referencias que llamará a SwDeviceClose cuando se ejecute su destructor. En Windows 8.1, se levanta esta restricción y puede llamar a SwDeviceClose dentro de la función de devolución de llamada.

Compruebe siempre el VALOR HRESULT que se pasa a CreateResult para asegurarse de que PnP pudo enumerar el dispositivo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Escritorio
Encabezado swdevice.h

Consulte también

SwDeviceCreate