2005 vs VBで以下のコードを書くと以下のエラーがでます。すごく素人ですが、どうすればエラーがとれるでしょうか。


Structure SECURITY_ATTRIBUTES
nLength As Integer
lpSecurityDescriptor As Integer
bInheritHandle As Integer
End Structure


error BC30281: Structure 'SECURITY_ATTRIBUTES' には、少なくとも 1 つのインスタンス メンバ変数宣言またはイベント宣言が含まれていなければなりません。

やりたいことはcreatefilemappingをしたく、以下のリンクを参照しています。
http://www.winapi-database.com/File/FileMapping/CreateFileMapping.html
http://www.winapi-database.com/Struct/SECURITY_ATTRIBUTES.html

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/11/06 00:37:01
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:rsc96074 No.1

回答回数4503ベストアンサー獲得回数437

ポイント23pt

 こちらは参考になるでしょうか。ふつう、構造体のメンバーには、「public」、「private」、「dim」などをつけるようです。

●名前付きパイプ通信について: DOBON.NETプログラミング掲示板過去ログ

  • CreateFileの宣言

<StructLayout(LayoutKind.Sequential)> _

Public Structure SECURITY_ATTRIBUTES

Public nLength As Integer

Public lpSecurityDescriptor As Integer

Public bInheritHandle As Boolean

End Structure

http://dobon.net/vb/bbs/log3-1/257.html

id:HALSPECIAL No.2

回答回数407ベストアンサー獲得回数86

ポイント35pt

Dim が欠落しているのではないでしょうか。

Structure SECURITY_ATTRIBUTES
	Dim nLength As Integer 
	Dim lpSecurityDescriptor As Integer 
	Dim bInheritHandle As Integer 
End Structure
id:khazad-Lefty No.3

回答回数181ベストアンサー獲得回数27

ポイント22pt

構造体のメンバはクラスのフィールドと同様宣言時にスコープを宣言する必要があります。

なので例に出したやつだと。

Structure SECURITY_ATTRIBUTES
  public nLength As Integer
  public lpSecurityDescriptor As Integer
  public bInheritHandle As Integer
End Structure

な感じになります。たぶん元サイトの記述誤りじゃないかと。

参考:

http://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet03/vb6tonet03...

> やりたいことはcreatefilemappingをしたく、以下のリンクを参照しています。

このあたりが参考にならないでしょうか?

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=45790&fo...

id:SmallBay No.4

回答回数2ベストアンサー獲得回数0

ポイント10pt

ご提示のページを拝見したところ、VB.NETの方式で定義しているように見えます。

VB.5-6の方法で定義してもエラーとなりますでしょうか?

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=45790&fo...

このページが参考になりませんか?

(vbソースの中にcreatefilemappingを使用している箇所があります)

見当違いでしたら申し訳ありません。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません