Condividi tramite


Funzione AcxObjectBagOpen (acxmisc.h)

La funzione AcxObjectBagOpen apre un oggetto AcxObjectBag inizializzato esistente.

Sintassi

NTSTATUS AcxObjectBagOpen(
  PWDF_OBJECT_ATTRIBUTES Attributes,
  PACX_OBJECTBAG_CONFIG  Config,
  ACXOBJECTBAG           *ObjectBag
);

Parametri

Attributes

Attributi aggiuntivi definiti usando una struttura WDF_OBJECT_ATTRIBUTES utilizzata per impostare i valori di vari oggetti: pulizia ed eliminazione dei callback, tipo di contesto e per specificare il relativo oggetto padre.

Config

Puntatore alla struttura ACX_OBJECTBAG_CONFIG inizializzata.

ObjectBag

Oggetto ACX ObjectBag inizializzato. Per altre informazioni, vedere ACX - Riepilogo degli oggetti ACX.

Valore restituito

Restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato. Per altre informazioni, vedere Uso di valori NTSTATUS.

Osservazioni

Esempio

In questo esempio viene illustrato l'uso di ACX_OBJECTBAG_CONFIG.

        GUID                    uniqueId = { 0 };
        UNICODE_STRING          uniqueIdStr = { 0 };
        UNICODE_STRING          pnpDeviceId = { 0 };
        ACX_OBJECTBAG_CONFIG    objBagCfg;

        DECLARE_CONST_ACXOBJECTBAG_SYSTEM_PROPERTY_NAME(UniqueID);

        ACX_OBJECTBAG_CONFIG_INIT(&objBagCfg);
        objBagCfg.Handle = CircuitConfig->CompositeProperties;
        objBagCfg.Flags |= AcxObjectBagConfigOpenWithHandle;

        WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
        ACXOBJECTBAG objBag = NULL;

        RETURN_NTSTATUS_IF_FAILED(AcxObjectBagOpen(&attributes, &objBagCfg, &objBag));
        auto objBag_free = scope_exit([&objBag]() {
            WdfObjectDelete(objBag);
            });

        RETURN_NTSTATUS_IF_FAILED(AcxObjectBagRetrieveGuid(objBag, &UniqueID, &uniqueId));

Requisiti ACX

versione minima di ACX: 1.0

Per altre informazioni sulle versioni di ACX, vedere panoramica della versione ACX.

Fabbisogno

Requisito Valore
intestazione acxmisc.h
IRQL PASSIVE_LEVEL

Vedere anche