[32]C.wchar_t
をgo文字列に変換します。GoLang C.wchar_tを文字列に変換します。
typedef struct myStruct {
WCHAR someString[32];
}
次のように私は行くに構造体を定義しています:
type myStruct struct {
someString [32]C.wchar_t
}
私はdll
のメソッドを持っている私が話しているdll
に次のように
配列が定義されています。
DLLINTERFACE HRESULT __stdcall GetMyStruct (myStruct* ptrMyStruct);
このメソッドは、someString
myStruct
のフィールド。
私はそうのようなメソッドを呼び出しています(これは正しく動作している、私はsomeString
の内容を見ることができていない、と思う):
func getMyStruct() (*myStruct, uintptr) {
var getMyStruct = dll.MustFindProc("GetMyStruct")
var args = new(myStruct)
ret, _, _ := getMyStruct .Call(uintptr(unsafe.Pointer(args)))
fmt.Printf("Return: %d\n", (int)(ret))
return args, ret
}
私は、外出先文字列へsomeString
を変換する必要があります。私は"github.com/GeertJohan/cgo.wchar"
を使用しようとしましたが、[]C.whar_t
を文字列に変換する方法はありません。
現在、私のgo structが正しいかどうかはわかりません。私はmyStruct
をdllに送信する前に正しく初期化しているかどうかもわかりません。
ご協力いただきますようお願い申し上げます。