Skip to content
This repository was archived by the owner on Mar 22, 2023. It is now read-only.
This repository was archived by the owner on Mar 22, 2023. It is now read-only.

Foget device close #2

@grassto

Description

@grassto

add (gowpd.go)

func (pPortableDevice *IPortableDevice) Close() error {
	hr := C.portableDevice_Close((*C.IPortableDevice)(pPortableDevice))

	if hr < 0 {
		return HRESULT(hr)
	}

	return nil
} 

need close after open (example_content_enumerate_test.go)

func Example_contentEnumerate() {
	gowpd.Initialize()

	mng, err := gowpd.CreatePortableDeviceManager()
	if err != nil {
		panic(err)
	}

	pClientInfo, err := gowpd.CreatePortableDeviceValues()
	if err != nil {
		panic(err)
	}
	pClientInfo.SetStringValue(gowpd.WPD_CLIENT_NAME, "libgowpd")
	pClientInfo.SetUnsignedIntegerValue(gowpd.WPD_CLIENT_MAJOR_VERSION, 1)
	pClientInfo.SetUnsignedIntegerValue(gowpd.WPD_CLIENT_MINOR_VERSION, 0)
	pClientInfo.SetUnsignedIntegerValue(gowpd.WPD_CLIENT_REVISION, 2)

	deviceIDs, err := mng.GetDevices()
	if err != nil {
		panic(err)
	}

	for _, deviceID := range deviceIDs {
		device, err := gowpd.CreatePortableDevice()
		if err != nil {
			panic(err)
		}

		err = device.Open(deviceID, pClientInfo)
		if err != nil {
			panic(err)
		}
		defer device.Close()

		content, err := device.Content()
		if err != nil {
			panic(err)
		}

		RecursiveEnumerate(gowpd.WPD_DEVICE_OBJECT_ID, content)

		gowpd.FreeDeviceID(deviceID)
	}

	gowpd.Uninitialize()
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions