Documentation ¶
Index ¶
- Variables
- func BstrToString(p *uint16) string
- func CoInitialize(p uintptr) (err error)
- func CoInitializeEx(p uintptr, coinit uint32) (err error)
- func CoUninitialize()
- func GetUserDefaultLCID() (lcid uint32)
- func GetVariantDate(value uint64) (time.Time, error)
- func IsUserAnAdmin() (bool, error)
- func LpOleStrToString(p *uint16) string
- func RetInt(r *VARIANT) (ret int)
- func RetSS(r *VARIANT) (ret []string)
- func RetStr(r *VARIANT) (ret string)
- func RunCP(cmdName string, arg ...string) bool
- func SysAllocStringLen(v string) (ss *int16)
- func SysFreeString(v *int16) (err error)
- func SysStringLen(v *int16) uint32
- func VariantClear(v *VARIANT) (err error)
- func VariantInit(v *VARIANT) (err error)
- type CpClass
- func (c *CpClass) BlockRequest()
- func (c *CpClass) CodeToName(cod string) (r *VARIANT)
- func (c *CpClass) Create(name string)
- func (c *CpClass) GetDataValue(typ int, idx int) (result *VARIANT)
- func (c *CpClass) GetHeaderValue(typ int) (result *VARIANT)
- func (c *CpClass) GetStockListByMarket(cod int) (r *VARIANT)
- func (c *CpClass) GetStockListedDate(cod string) (r *VARIANT)
- func (c *CpClass) GetStockSectionKind(cod string) (r *VARIANT)
- func (c *CpClass) GetStockStatusKind(cod string) (r *VARIANT)
- func (c *CpClass) GetStockSupervisionKind(cod string) (r *VARIANT)
- func (c *CpClass) IsConnect() (r *VARIANT)
- func (c *CpClass) IsSPAC(cod string) (r *VARIANT)
- func (c *CpClass) NameToCode(nm string) (r *VARIANT)
- func (c *CpClass) Release()
- func (c *CpClass) SetInputValue(typ int, val interface{})
- type DISPPARAMS
- type EXCEPINFO
- type GUID
- type IDispatch
- func (v *IDispatch) GetIDsOfName(names []string) (dispid []int32, err error)
- func (v *IDispatch) GetSingleIDOfName(name string) (displayID int32, err error)
- func (v *IDispatch) Invoke(dispid int32, dispatch int16, params ...interface{}) (result *VARIANT, err error)
- func (v *IDispatch) InvokeWithOptionalArgs(name string, dispatch int16, params []interface{}) (result *VARIANT, err error)
- func (v *IDispatch) VTable() *IDispatchVtbl
- type IDispatchVtbl
- type IUnknown
- type IUnknownVtbl
- type OleError
- type SafeArray
- type SafeArrayConversion
- func (sac *SafeArrayConversion) GetDimensions() (dimensions *uint32, err error)
- func (sac *SafeArrayConversion) GetSize() (length *uint32, err error)
- func (sac *SafeArrayConversion) GetType() (varType uint16, err error)
- func (sac *SafeArrayConversion) Release()
- func (sac *SafeArrayConversion) ToByteArray() (bytes []byte)
- func (sac *SafeArrayConversion) ToStringArray() (strings []string)
- func (sac *SafeArrayConversion) ToValueArray() (values []interface{})
- func (sac *SafeArrayConversion) TotalElements(index uint32) (totalElements int32, err error)
- type VARIANT
- func CallMethod(disp *IDispatch, name string, params ...interface{}) (result *VARIANT, err error)
- func GetProperty(disp *IDispatch, name string, params ...interface{}) (result *VARIANT, err error)
- func MustCallMethod(disp *IDispatch, name string, params ...interface{}) (result *VARIANT)
- func MustGetProperty(disp *IDispatch, name string, params ...interface{}) (result *VARIANT)
- func NewVariant(vt VT, val int64) VARIANT
- type VT
Constants ¶
This section is empty.
Variables ¶
var ( // IID_IUnknown is for IUnknown interfaces. IID_IUnknown = NewGUID("{00000000-0000-0000-C000-000000000046}") // IID_IDispatch is for IDispatch interfaces. IID_IDispatch = NewGUID("{00020400-0000-0000-C000-000000000046}") // IID_NULL is null Interface ID, used when no other Interface ID is known. IID_NULL = NewGUID("{00000000-0000-0000-0000-000000000000}") )
Functions ¶
func BstrToString ¶
BstrToString converts COM binary string to Go string.
func CoInitialize ¶
CoInitialize initializes COM library on current thread.
MSDN documentation suggests that this function should not be called. Call CoInitializeEx() instead. The reason has to do with threading and this function is only for single-threaded apartments.
That said, most users of the library have gotten away with just this function. If you are experiencing threading issues, then use CoInitializeEx().
func CoInitializeEx ¶
CoInitializeEx initializes COM library with concurrency model.
func GetUserDefaultLCID ¶
func GetUserDefaultLCID() (lcid uint32)
GetUserDefaultLCID retrieves current user default locale.
func GetVariantDate ¶
GetVariantDate converts COM Variant Time value to Go time.Time.
func IsUserAnAdmin ¶
func LpOleStrToString ¶
LpOleStrToString converts COM Unicode to Go string.
func SysAllocStringLen ¶
SysAllocStringLen copies up to length of given string returning pointer.
func SysFreeString ¶
SysFreeString frees string system memory. This must be called with SysAllocString.
func SysStringLen ¶
SysStringLen is the length of the system allocated string.
func VariantClear ¶
VariantClear clears value in Variant settings to VT_EMPTY.
Types ¶
type CpClass ¶
type CpClass struct { Obj *IDispatch // contains filtered or unexported fields }
사이보스플러스 또는 크레온플러스 객체
func (*CpClass) CodeToName ¶
CodeToName : 입력된 종목코드에 대응하는 종목명을 반환함 CpUtil.CpStockCode.CodeToName, CpUtil.CpCodeMgr.CodeToName 입력 : cod - string (종목코드) 출력 : name - string (종목명)
func (*CpClass) GetDataValue ¶
사이보스플러스 GetDataValue 메서드 Wrapper
func (*CpClass) GetHeaderValue ¶
사이보스플러스 GetHeaderValue 메서드 Wrapper
func (*CpClass) GetStockListByMarket ¶
GetStockListByMarket : 코스피와 코스닥 종목 코드 전달
CpUtil.CpCodeMgr.GetStockListByMarket 입력 : mcode - 시장 코드 (코스피 1, 코스 2) 리턴 : codes - 문자열 slice (종목코드들)
func (*CpClass) GetStockListedDate ¶
GetStockListedDate : 입력된 종목코드에 해당하는 상장사의 상장일을 리턴함 CpUtil.CpCodeMgr.GetStockListedDate 입력 : cod - string (종목코드) 리턴 : ret - int (상장일을 yyyymmdd 형태의 정수로 반환함 - 문자열이나 date로 변환 필요함)
func (*CpClass) GetStockSectionKind ¶
func (*CpClass) GetStockStatusKind ¶
GetStockStatusKind : 입력된 종목코드에 해당하는 상태를 리턴함 CpUtil.CpCodeMgr.GetStockStatusKind 입력 : cod - string (종목코드) 리턴 : ret - int (주식상태 0: 정상, 1: 거래정지 2: 거래중단)
func (*CpClass) GetStockSupervisionKind ¶
GetStockSupervisionKind : 입력된 종목코드에 해당하는 상태를 리턴함 CpUtil.CpCodeMgr.GetStockSupervisionKind 입력 : cod - string (종목코드) 리턴 : ret - int (관리구분 0: 일반종목, 1: 관리종목)
func (*CpClass) NameToCode ¶
사이보스플러스 CpUtil.CpStockCode NameToCode 메서드 Wrapper
func (*CpClass) SetInputValue ¶
사이보스플러스 SetInputValue 메서드 Wrapper
type DISPPARAMS ¶
type DISPPARAMS struct {
// contains filtered or unexported fields
}
DISPPARAMS are the arguments that passed to methods or property.
type EXCEPINFO ¶
type EXCEPINFO struct {
// contains filtered or unexported fields
}
EXCEPINFO defines exception info.
type GUID ¶
GUID is Windows API specific GUID type.
This exists to match Windows GUID type for direct passing for COM. Format is in xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx.
func CLSIDFromString ¶
CLSIDFromString retrieves Class ID from string representation.
This is technically the string version of the GUID and will convert the string to object.
CLSIDFromString in Windows API.
func NewGUID ¶
NewGUID converts the given string into a globally unique identifier that is compliant with the Windows API.
The supplied string may be in any of these formats:
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
The conversion of the supplied string is not case-sensitive.
type IDispatch ¶
type IDispatch struct {
IUnknown
}
func (*IDispatch) GetIDsOfName ¶
func (*IDispatch) GetSingleIDOfName ¶
GetSingleIDOfName is a helper that returns single display ID for IDispatch name.
This replaces the common pattern of attempting to get a single name from the list of available IDs. It gives the first ID, if it is available.
func (*IDispatch) InvokeWithOptionalArgs ¶
func (v *IDispatch) InvokeWithOptionalArgs(name string, dispatch int16, params []interface{}) (result *VARIANT, err error)
InvokeWithOptionalArgs accepts arguments as an array, works like Invoke.
Accepts name and will attempt to retrieve Display ID to pass to Invoke.
Passing params as an array is a workaround that could be fixed in later versions of Go that prevent passing empty params. During testing it was discovered that this is an acceptable way of getting around not being able to pass params normally.
func (*IDispatch) VTable ¶
func (v *IDispatch) VTable() *IDispatchVtbl
type IDispatchVtbl ¶
type IDispatchVtbl struct { IUnknownVtbl GetTypeInfoCount uintptr GetTypeInfo uintptr GetIDsOfNames uintptr Invoke uintptr }
type IUnknown ¶
type IUnknown struct {
RawVTable *interface{}
}
func CreateInstance ¶
CreateInstance of single uninitialized object with GUID.
func (*IUnknown) VTable ¶
func (v *IUnknown) VTable() *IUnknownVtbl
type IUnknownVtbl ¶
type OleError ¶
type OleError struct {
// contains filtered or unexported fields
}
OleError stores COM errors.
func NewErrorWithSubError ¶
NewErrorWithSubError creates new COM error with parent error.
func (*OleError) Description ¶
Description retrieves error summary, if there is one.
type SafeArray ¶
type SafeArray struct { Dimensions uint16 FeaturesFlag uint16 ElementsSize uint32 LocksAmount uint32 Data uint32 Bounds [16]byte }
SafeArray is how COM handles arrays.
type SafeArrayConversion ¶
type SafeArrayConversion struct {
Array *SafeArray
}
func (*SafeArrayConversion) GetDimensions ¶
func (sac *SafeArrayConversion) GetDimensions() (dimensions *uint32, err error)
func (*SafeArrayConversion) GetSize ¶
func (sac *SafeArrayConversion) GetSize() (length *uint32, err error)
func (*SafeArrayConversion) GetType ¶
func (sac *SafeArrayConversion) GetType() (varType uint16, err error)
func (*SafeArrayConversion) Release ¶
func (sac *SafeArrayConversion) Release()
Release Safe Array memory
func (*SafeArrayConversion) ToByteArray ¶
func (sac *SafeArrayConversion) ToByteArray() (bytes []byte)
func (*SafeArrayConversion) ToStringArray ¶
func (sac *SafeArrayConversion) ToStringArray() (strings []string)
func (*SafeArrayConversion) ToValueArray ¶
func (sac *SafeArrayConversion) ToValueArray() (values []interface{})
func (*SafeArrayConversion) TotalElements ¶
func (sac *SafeArrayConversion) TotalElements(index uint32) (totalElements int32, err error)
type VARIANT ¶
func CallMethod ¶
CallMethod calls method on IDispatch with parameters.
func GetProperty ¶
GetProperty retrieves property from IDispatch.
func MustCallMethod ¶
MustCallMethod calls method on IDispatch with parameters or panics.
func MustGetProperty ¶
MustGetProperty retrieves property from IDispatch or panics.
func NewVariant ¶
NewVariant returns new variant based on type and value.
func (*VARIANT) ToArray ¶
func (v *VARIANT) ToArray() *SafeArrayConversion
ToArray converts variant to SafeArray helper.
func (*VARIANT) ToIDispatch ¶
ToIDispatch converts variant to dispatch object.
func (*VARIANT) ToIUnknown ¶
ToIUnknown converts Variant to Unknown object.
func (*VARIANT) Value ¶
func (v *VARIANT) Value() interface{}
Value returns variant value based on its type.
Currently supported types: 2- and 4-byte integers, strings, bools. Note that 64-bit integers, datetimes, and other types are stored as strings and will be returned as strings.
Needs to be further converted, because this returns an interface{}.
type VT ¶
type VT uint16
const ( CLSCTX_INPROC_SERVER = 1 CLSCTX_INPROC_HANDLER = 2 CLSCTX_LOCAL_SERVER = 4 CLSCTX_INPROC_SERVER16 = 8 CLSCTX_REMOTE_SERVER = 16 CLSCTX_ALL = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER CLSCTX_INPROC = CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER CLSCTX_SERVER = CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER | CLSCTX_REMOTE_SERVER DISPATCH_PROPERTYPUT = 4 DISPATCH_PROPERTYPUTREF = 8 DISPID_PROPERTYPUT = -3 DISPATCH_METHOD = 1 DISPATCH_PROPERTYGET = 2 VT_EMPTY VT = 0x0 VT_NULL VT = 0x1 VT_I2 VT = 0x2 VT_I4 VT = 0x3 VT_R4 VT = 0x4 VT_R8 VT = 0x5 VT_CY VT = 0x6 VT_DATE VT = 0x7 VT_BSTR VT = 0x8 VT_DISPATCH VT = 0x9 VT_ERROR VT = 0xa VT_BOOL VT = 0xb VT_VARIANT VT = 0xc VT_UNKNOWN VT = 0xd VT_DECIMAL VT = 0xe VT_I1 VT = 0x10 VT_UI1 VT = 0x11 VT_UI2 VT = 0x12 VT_UI4 VT = 0x13 VT_I8 VT = 0x14 VT_UI8 VT = 0x15 VT_INT VT = 0x16 VT_UINT VT = 0x17 VT_VOID VT = 0x18 VT_HRESULT VT = 0x19 VT_PTR VT = 0x1a VT_SAFEARRAY VT = 0x1b VT_CARRAY VT = 0x1c VT_USERDEFINED VT = 0x1d VT_LPSTR VT = 0x1e VT_LPWSTR VT = 0x1f VT_RECORD VT = 0x24 VT_INT_PTR VT = 0x25 VT_UINT_PTR VT = 0x26 VT_FILETIME VT = 0x40 VT_BLOB VT = 0x41 VT_STREAM VT = 0x42 VT_STORAGE VT = 0x43 VT_STREAMED_OBJECT VT = 0x44 VT_STORED_OBJECT VT = 0x45 VT_BLOB_OBJECT VT = 0x46 VT_CF VT = 0x47 VT_CLSID VT = 0x48 VT_BSTR_BLOB VT = 0xfff VT_VECTOR VT = 0x1000 VT_ARRAY VT = 0x2000 VT_BYREF VT = 0x4000 VT_RESERVED VT = 0x8000 VT_ILLEGAL VT = 0xffff VT_ILLEGALMASKED VT = 0xfff VT_TYPEMASK VT = 0xfff )