次の方法で共有


AcxObjectBagOpen 関数 (acxmisc.h)

関数 AcxObjectBagOpen は、初期化された既存の AcxObjectBag を開きます。

構文

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

パラメーター

Attributes

さまざまなオブジェクトの値を設定するために使用される WDF_OBJECT_ATTRIBUTES 構造体を使用して定義された追加の属性: コールバックのクリーンアップと破棄、コンテキストの種類、および親オブジェクトの指定。

Config

初期化された ACX_OBJECTBAG_CONFIG 構造体へのポインター。

ObjectBag

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

戻り値

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

解説

この例では、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));

ACX の要件

最小 ACX バージョン: 1.0

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

要件

要件
Header acxmisc.h
IRQL PASSIVE_LEVEL

こちらもご覧ください