Funzione UcmUcsiPpmCreate (Ucmucsippm.h)
Crea un oggetto Platform Policy Manager (PPM).
Sintassi
NTSTATUS UcmUcsiPpmCreate(
[in] WDFDEVICE WdfDevice,
[in] PUCMUCSI_PPM_CONFIG Config,
[in] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] UCMUCSIPPM *PPMObject
);
Parametri
[in] WdfDevice
Handle per un oggetto dispositivo framework ricevuto dal driver client nella chiamata precedente a WdfDeviceCreate.
[in] Config
Puntatore a una struttura di UCMUCSI_PPM_CONFIG fornita dal chiamante inizializzata chiamando UCMUCSI_PPM_CONFIG_INIT. Il membro ConnectorCollectionHandle deve essere impostato sull'handle recuperato in una chiamata precedente a UcmUcsiConnectorCollectionCreate.
[in] Attributes
Puntatore a una struttura di WDF_OBJECT_ATTRIBUTES fornita dal chiamante che contiene gli attributi per il nuovo oggetto raccolta connettori. Questo parametro è facoltativo e può essere WDF_NO_OBJECT_ATTRIBUTES.
[out] PPMObject
Puntatore a una posizione che riceve un handle per il nuovo oggetto PPM.
Valore restituito
Restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo può restituire un valore NTSTATUS appropriato.
Osservazioni
È previsto che il driver client chiami UcmUcsiPpmCreate dalla funzione di callback EVT_WDF_DEVICE_PREPARE_HARDWARE.
La struttura passata in Config contiene Type-C informazioni sul connettore necessarie per la creazione di connettori con l'estensione della classe connettore USB Type-C (UcmCx) usando UcmConnectorCreate e non sono recuperabili da PPM tramite comandi UCSI come GetCapability o GetConnectorCapability.
La struttura config contiene anche gli ID connettore necessari per il mapping uno-a-uno tra connettori USB Type-C e porte USB.
L'oggetto PPM è anche un WDFOBJECT e crea un'associazione uno-a-uno con l'handle WDFDEVICE fornito dal driver client.
L'oggetto PPM viene padre di WDFOBJECT anche quando UcmUcsiPpmCreate viene chiamato passando WDF_NO_ATTRIBUTES. La durata dell'oggetto è gestita dal framework.
Fabbisogno
Requisito | Valore |
---|---|
versione minima di KMDF | 1.27 |
versione minima di UMDF | N/D |
intestazione | Ucmucsippm.h (include UcmUcsiCx.h) |
libreria | UcmUcsiCxStub.lib |
IRQL | PASSIVE_LEVEL |