次の方法で共有


AcxObjectBagAddI8 関数 (acxmisc.h)

AcxObjectBagAddI8 関数は、初期化された既存の AcxObjectBag に int 8 バイト I8 (LONG64) 値を追加します。

構文

NTSTATUS AcxObjectBagAddI8(
  ACXOBJECTBAG     ObjectBag,
  PCUNICODE_STRING ValueName,
  LONG64           Value
);

パラメーター

ObjectBag

初期化された ObjectBag ACX オブジェクト。 詳細については、ACX - ACX オブジェクトの概要を参照してください。

ValueName

値へのアクセスに使用される値の名前。

Value

ObjectBag に追加する値。

戻り値

呼び出しが成功した場合に STATUS_SUCCESS を返します。 それ以外の場合は、適切なエラー コードが返されます。 詳細については、NTSTATUS 値 の使用に関するを参照してください。

備考

この例では、AcxObjectBagAddI8 の使用を示します。

    ACXOBJECTBAG objBag    = NULL;
    LONG64       i8Value   = 0;

    //Initialize an object bag configuration
    ACX_OBJECTBAG_CONFIG objBagCfg;
    ACX_OBJECTBAG_CONFIG_INIT(&objBagCfg);
    
    // Set the WDF attributes, and create an object bag 
    WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
    attributes.ParentObject = Circuit;
    RETURN_NTSTATUS_IF_FAILED(AcxObjectBagCreate(&attributes, &objBagCfg, &objBag));

    // Enable deletion of the object bag when the function completes and goes out of scope
    auto objBag_scope = scope_exit([&objBag]() {
        if (objBag != NULL)
        {
            WdfObjectDelete(objBag);
        }
    });

    //Create Properties and add them to an object bag
    DECLARE_CONST_ACXOBJECTBAG_DRIVER_PROPERTY_NAME(VendorX, TestI8);

    i8Value = 0x9876543210;
    RETURN_NTSTATUS_IF_FAILED(AcxObjectBagAddI8(objBag, &TestI8, i8Value));

    // Retrieve the value from the object bag
    i8Value = 0;
    RETURN_NTSTATUS_IF_FAILED(AcxObjectBagRetrieveI8(objBag, &TestI8, &i8Value));

ACX の要件

最小 ACX バージョン: 1.0

ACX バージョンの詳細については、ACX バージョンの概要 参照してください。

必要条件

要件 価値
ヘッダー acxmisc.h
IRQL PASSIVE_LEVEL

関連項目

  • acxmisc.h ヘッダー する