snapshot.go
func (s *Snapshot) Child(index int) (*Snapshot, error) {
	var snapshotHandle C.VixHandle = C.VIX_INVALID_HANDLE
	var err C.VixError = C.VIX_OK

	err = C.VixSnapshot_GetChild(s.handle,
		C.int(index),    //index
		&snapshotHandle) //(output) A handle to the child snapshot.

	if C.VIX_OK != err {
		return nil, &Error{
			Operation: "snapshot.Child",
			Code:      int(err & 0xFFFF),
			Text:      C.GoString(C.Vix_GetErrorText(err, nil)),
		}
	}

	snapshot := &Snapshot{
		handle: snapshotHandle,
	}

	runtime.SetFinalizer(snapshot, cleanupSnapshot)

	return snapshot, nil
}
func (s *Snapshot) Child(index int) (*Snapshot, error) {
	var snapshotHandle C.VixHandle = C.VIX_INVALID_HANDLE
	var err C.VixError = C.VIX_OK

	err = C.VixSnapshot_GetChild(s.handle,
		C.int(index),    //index
		&snapshotHandle) //(output) A handle to the child snapshot.

	if C.VIX_OK != err {
		return nil, &Error{
			Operation: "snapshot.Child",
			Code:      int(err & 0xFFFF),
			Text:      C.GoString(C.Vix_GetErrorText(err, nil)),
		}
	}

	snapshot := &Snapshot{
		handle: snapshotHandle,
	}

	runtime.SetFinalizer(snapshot, cleanupSnapshot)

	return snapshot, nil
}
// Child returns the child snapshot corresponding to the index parameter.
//
// Parameters:
//
//  index: Index into the list of snapshots.
//
// Remarks:
//
//   * Snapshots are indexed from 0 to n-1, where n is the number of child
//     snapshots. Use the function Snapshot.NumChildren() to get the value of n.
//   * This function is not supported when using the VMWARE_PLAYER provider.
//
// Since VMware Workstation 6.0