
CreateEventについて
下記ソースでCreateEventを実行すると例外発生してしまいます。
Structure SECURITY_ATTRIBUTES
Dim nLength As Long
Dim lpSecurityDescriptor As Long
Dim bInheritHandle As Long
End Structure
Dim stSecurityAttributes As SECURITY_ATTRIBUTES
stSecurityAttributes.nLength = Len(stSecurityAttributes)
stSecurityAttributes.bInheritHandle = 0
stSecurityAttributes.lpSecurityDescriptor = 0
Dim h As Long
h = CreateEvent(stSecurityAttributes, True, False, "ABC")
例外内容は、保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。
と出ているのですが、PCに問題ありでしょうか?ソースが間違っているのでしょうか?
環境は、vb.netです。
No.1ベストアンサー
- 回答日時:
CreateEvent の Declare があやしい気がします。
Private Declare Function CreateEvent Lib "kernel32" Alias "CreateEventA" (ByRef lpEventAttributes As SECURITY_ATTRIBUTES, ByVal ManualReset As Long, ByVal bInitialState As Long, ByVal lpName As String) As Long
でやってみましたら、正常に実行できましたよ。
この回答への補足
確かに、上記のソースだとうまくいきました。
私はCreateEventの第一引数をByValで宣言していましたが、ネットで調べてもどれもByValだったと思います。でも正解はByRefなんですかね。。
次にOpenEventでもうまくいかないのですが、それも宣言でしょうか。
OpenEvent(ByVal, ByVal, ByVal)
WaitForSingleObject(ByVal, ByVal)
SetEvent(ByVal)
上記の引数の宣言をしていますが間違っていますでしょうか。
お時間があればよろしくお願いいたします。
No.2
- 回答日時:
>私はCreateEventの第一引数をByValで宣言していましたが、ネットで調べてもどれもByValだったと思います。
そうですかね?
↓の As SECURITY_ATTRIBUTES では BtVal も ByRef もなし(ByRefと同じ) になっていますね。
http://www.winapi-database.com/File/File/CreateF …
>次にOpenEventでもうまくいかないのですが、それも宣言でしょうか。
OpenEvent の引数には構造体はないので、全て ByVal で問題ないのではないかと思いますが・・・。
CreateEvent と同様、例外が発生するのでしょうか?
それとも、例外は発生しないが、戻り値が NULL になるのでしょうか?
戻り値がNULLでした。
宣言かなとよくよく見直すと、VB.netはintegerなんですねlongを使用していました。
integerで無事動作することができました。
とてもありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
Bean→JSPでの文字化け
-
中学のクラス数
-
0歳児の指しゃぶりに関して
-
インスタンス参照でアクセスで...
-
河合塾
-
VBスクリプトでテキストファイ...
-
javascriptからjavaを呼び出したい
-
エクセルVBAで、条件に一致する...
-
進学校通ってたんですけど、眼...
-
canvasで表示されてる画像を1...
-
河合塾のクラス分けについて
-
多人数のじゃんけんプログラム
-
ヒグマを撃退
-
C# 「データが失なわれる可能性...
-
Javaプログラムからポップアッ...
-
オブジェクト参照がオブジェク...
-
フォームのCheck boxとOLEObjec...
-
JavaScriptからJAVAクラスを呼...
-
ブラウザの「更新」を押すと何...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「タイプ初期化子が例外をスロ...
-
Timestamp型への変換について(J...
-
C#の捕捉されない例外処理の対...
-
VB.Net Object型 空かどうか
-
0除算の例外処理ができない!!...
-
VBA Evaluate関数 型が一致しま...
-
VB.NETで16進数が正しいかどう...
-
数字か文字列かを判定する関数
-
【JAVA】与えられた金額を貨幣...
-
時間の取得
-
文字列からダブルクオートの削除
-
VC++におけるCStringの変換
-
String型の日付(2005/11/25)の...
-
C# マルチスレッドにおける例外...
-
nullで、return出来るのはどん...
-
javaのコンパイルエラーが解決...
-
アロー関数のIE対応にpolyfill...
-
Excelでのエラー
-
サーブレットからJSPの呼び出し...
-
連続する「\\」をひとつの「\\...
おすすめ情報