first commit
This commit is contained in:
86
windows/storage/streams/idatawriter.go
Normal file
86
windows/storage/streams/idatawriter.go
Normal file
@ -0,0 +1,86 @@
|
||||
// Code generated by winrt-go-gen. DO NOT EDIT.
|
||||
|
||||
//go:build windows
|
||||
|
||||
//nolint:all
|
||||
package streams
|
||||
|
||||
import (
|
||||
"syscall"
|
||||
"unsafe"
|
||||
|
||||
"github.com/go-ole/go-ole"
|
||||
)
|
||||
|
||||
const GUIDIDataWriter string = "64b89265-d341-4922-b38a-dd4af8808c4e"
|
||||
const SignatureIDataWriter string = "{64b89265-d341-4922-b38a-dd4af8808c4e}"
|
||||
|
||||
type IDataWriter struct {
|
||||
ole.IInspectable
|
||||
}
|
||||
|
||||
type IDataWriterVtbl struct {
|
||||
ole.IInspectableVtbl
|
||||
|
||||
GetUnstoredBufferLength uintptr
|
||||
GetUnicodeEncoding uintptr
|
||||
SetUnicodeEncoding uintptr
|
||||
GetByteOrder uintptr
|
||||
SetByteOrder uintptr
|
||||
WriteByte uintptr
|
||||
WriteBytes uintptr
|
||||
WriteBuffer uintptr
|
||||
WriteBufferRange uintptr
|
||||
WriteBoolean uintptr
|
||||
WriteGuid uintptr
|
||||
WriteInt16 uintptr
|
||||
WriteInt32 uintptr
|
||||
WriteInt64 uintptr
|
||||
WriteUInt16 uintptr
|
||||
WriteUInt32 uintptr
|
||||
WriteUInt64 uintptr
|
||||
WriteSingle uintptr
|
||||
WriteDouble uintptr
|
||||
WriteDateTime uintptr
|
||||
WriteTimeSpan uintptr
|
||||
WriteString uintptr
|
||||
MeasureString uintptr
|
||||
StoreAsync uintptr
|
||||
FlushAsync uintptr
|
||||
DetachBuffer uintptr
|
||||
DetachStream uintptr
|
||||
}
|
||||
|
||||
func (v *IDataWriter) VTable() *IDataWriterVtbl {
|
||||
return (*IDataWriterVtbl)(unsafe.Pointer(v.RawVTable))
|
||||
}
|
||||
|
||||
func (v *IDataWriter) WriteBytes(valueSize uint32, value []uint8) error {
|
||||
hr, _, _ := syscall.SyscallN(
|
||||
v.VTable().WriteBytes,
|
||||
uintptr(unsafe.Pointer(v)), // this
|
||||
uintptr(valueSize), // in uint32
|
||||
uintptr(unsafe.Pointer(&value[0])), // in uint8
|
||||
)
|
||||
|
||||
if hr != 0 {
|
||||
return ole.NewError(hr)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (v *IDataWriter) DetachBuffer() (*IBuffer, error) {
|
||||
var out *IBuffer
|
||||
hr, _, _ := syscall.SyscallN(
|
||||
v.VTable().DetachBuffer,
|
||||
uintptr(unsafe.Pointer(v)), // this
|
||||
uintptr(unsafe.Pointer(&out)), // out IBuffer
|
||||
)
|
||||
|
||||
if hr != 0 {
|
||||
return nil, ole.NewError(hr)
|
||||
}
|
||||
|
||||
return out, nil
|
||||
}
|
Reference in New Issue
Block a user