私は Windows API を使用しており、Delphi 内に構造を再作成するrecord
必要があります。私はそれを落としたと思いますが、これは少し混乱していたので、これを正しく行ったことを確認する必要があります.
元の C++ 構造は次のとおりです。
typedef struct RETRIEVAL_POINTERS_BUFFER {
DWORD ExtentCount;
LARGE_INTEGER StartingVcn;
struct {
LARGE_INTEGER NextVcn;
LARGE_INTEGER Lcn;
} Extents[1];
} RETRIEVAL_POINTERS_BUFFER, *PRETRIEVAL_POINTERS_BUFFER;
この構造体内に配列構造体があることに注意してください。ここで迷子になりました。私が間違っていなければ、Delphi のバージョンは次のようになります。
TExtent = record
NextVcn: Integer;
Lcn: Integer;
end;
TExtents = array of TExtent;
PRETRIEVAL_POINTERS_BUFFER = ^TRETRIEVAL_POINTERS_BUFFER;
TRETRIEVAL_POINTERS_BUFFER = record
ExtentCount: DWORD;
StartingVcn: Integer;
Extents: TExtents;
end;
Windows API でこの構造を使用すると、機能しているように見えます。しかし、この構造体配列が構造体内にあるため、これを正しく行ったかどうか少しためらっています。これは正しく見えますか?