go-winio – github.com/Microsoft/go-winio Index | Files | Directories

package winio

import "github.com/Microsoft/go-winio"

This package provides utilities for efficiently performing Win32 IO operations in Go. Currently, this package is provides support for genreal IO and management of

This code is similar to Go's net package, and uses IO completion ports to avoid blocking IO on system threads, allowing Go to reuse the thread to schedule other goroutines.

This limits support to Windows Vista and newer operating systems.

Additionally, this package provides support for:

Index

Functions

func EncodeExtendedAttributes

func EncodeExtendedAttributes(eas []ExtendedAttribute) ([]byte, error)

EncodeExtendedAttributes encodes a list of EAs into a FILE_FULL_EA_INFORMATION buffer for use with BackupWrite, ZwSetEaFile, etc.

Types

type ExtendedAttribute

type ExtendedAttribute struct {
	Name  string
	Value []byte
	Flags uint8
}

ExtendedAttribute represents a single Windows EA.

func DecodeExtendedAttributes

func DecodeExtendedAttributes(b []byte) (eas []ExtendedAttribute, err error)

DecodeExtendedAttributes decodes a list of EAs from a FILE_FULL_EA_INFORMATION buffer retrieved from BackupRead, ZwQueryEaFile, etc.

Source Files

doc.go ea.go

Directories

PathSynopsis
backuptar
internal
pkg
pkg/etwPackage etw provides support for TraceLogging-based ETW (Event Tracing for Windows).
pkg/etw/sample
pkg/fsThis package contains Win32 filesystem functionality.
pkg/guidPackage guid provides a GUID type.
tools
tools/etw-provider-gen
tools/mkwinsyscallmkwinsyscall generates windows system call bodies
wimPackage wim implements a WIM file parser.
wim/lzxPackage lzx implements a decompressor for the the WIM variant of the LZX compression algorithm.
wim/validate
Version
v0.6.2 (latest)
Published
Apr 9, 2024
Platform
linux/amd64
Imports
3 packages
Last checked
22 hours ago

Tools for package owners.