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
- named pipes
- files
- Hyper-V sockets
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:
- creating and managing GUIDs
- writing to ETW
- opening and manageing VHDs
- parsing Windows Image files
- auto-generating Win32 API code
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 ¶
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 ¶
Directories ¶
Path | Synopsis |
---|---|
backuptar | |
internal | |
pkg | |
pkg/etw | Package etw provides support for TraceLogging-based ETW (Event Tracing for Windows). |
pkg/etw/sample | |
pkg/fs | This package contains Win32 filesystem functionality. |
pkg/guid | Package guid provides a GUID type. |
tools | |
tools/etw-provider-gen | |
tools/mkwinsyscall | mkwinsyscall generates windows system call bodies |
wim | Package wim implements a WIM file parser. |
wim/lzx | Package 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.