usakdsteen

ゆうさくですてぃーん

2024年06月18日(Tue)の独り言

の呟きは 22

 < の独り言 | の独り言 | の独り言 > 
  •  #

    こう、か?

    f:id:neetsdkasu:20240616230514p:plain
    •  #

      GetValueでPROPVARIANTがobjectにマーシャルされちゃうと
      PropVariantClear関数を呼び出せないが

      objectじゃなくIntPtrにすると
      PROPVARIANTのための領域確保どうしたらいいかわからないな・・・

      •  #

        GetAtまでは何とか実行できたのに
        GetValueのところにきて手詰まりかよ・・・

      •  (UPD ) #

        https://github.com/mingw-w64/mingw-w64/blob/master/mingw-w64-headers/include/wtypes.h
        https://github.com/mingw-w64/mingw-w64/blob/master/mingw-w64-headers/include/propidl.h

        https://github.com/microsoft/windows-rs/blob/master/crates/libs/core/src/imp/bindings.rs

        おそらく24+16=40bytes?
        VARIANTと似たような構造部分はおそらくVARIANTと同じ24bytes
        後部のdecVal(?)とやらは16bytes

        •  #

          MarshalクラスのAlloc系使えばいいのだろうか・・・?

          •  #

            アロケーション使ってマーシャルするのがいいんかね・・・?


            f:id:neetsdkasu:20240618135906p:plain
            •  #

              強引にプロパティ読むをやったけど
              vtに謎の4127ってあって、これ何・・・

              f:id:neetsdkasu:20240618163419p:plainf:id:neetsdkasu:20240618163432p:plainf:id:neetsdkasu:20240618163443p:plainf:id:neetsdkasu:20240618163455p:plain
              •  (UPD ) #

                VARENUMはフラグのようにORで重ねるものでは無さそうだし・・・何これ

                •  #

                  よく見たらVT_TYPEMASKというのがあるな・・・
                  マジか・・・マスク・・・

              •  #

                4127を消せた・・・

                f:id:neetsdkasu:20240618163507p:plain
                •  #

                  VT_VECTORって・・・

                •  #

                  FILETIME処理した

                  f:id:neetsdkasu:20240619000543p:plain
                  •  #

                    文字列補間というやつバグでもあるのか知らんけど

                    public override string ToString() =>
                    $"{wYear:D4}-{wMonth:D2}-{wDay:D2}T{wHour:D2}:{wMinute:D2}:{wSecond:D2}.{wMilliseconds:D3}";

                    としたら

                    Props.cs(139,82): error CS0103: 現在のコンテキストに 'wMilliSeconds' という名前は存在しません

                    とかいうエラー出してきてクソ

                    f:id:neetsdkasu:20240619000520p:plain
                  •  #

                    LPWSTRも処理した

                    f:id:neetsdkasu:20240619000532p:plain
                    •  #

                      問題はVT_VECTOR|VT_LPWSTRのやつ・・・

                      •  #

                        おそらくば
                        null文字末尾文字列データが並べられて格納されている?

                        ["abc","xyz","123"]
                        なら
                        ['a','b','c','\0','x','y','z','\0','1','2','3','\0']
                        てな感じ?

                        ポインタ操作が必要ぽい・・・?

                        •  (UPD ) #

                          (omitted)

  •  #

    https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/patterns

    C#のswitchステートメントとswitch式とやら・・・複雑では・・・

    •  #

      switch式って何ぞ・・・いつそんなもん出来たんだ・・・?

  •  #

    ポケGO
    消えたなくなったと思ってた大量にあった周辺のルートどもが復活してたんだが・・・
    俺の作ったルートも周辺ルートに表示されてるのだが・・・誰かがプレイして報告でもされたら困る・・・

    •  #

      俺の作ったルートは俺ひとりのものでよかったのに・・・

 < の独り言 | の独り言 | の独り言 >