• ベストアンサー

【 REG_SZ 】 (レジストリのデータ型の一つ) のことで

レジストリ(registry)で用いられるデータ型の一つに、  【 REG_SZ 】: 単純な文字列 というのがありますが、 ここでの "SZ" という表し方は、何から来ているんでしょうか? "S" は String のことかなと思ったりもするんですが、 "Z" の方は見当が付きませんもので。 ---- 同じデータ型でも、  【 REG_BINARY 】: バイナリ値 なんかですと、"そのまんま" なんですけどね。 --

質問者が選んだベストアンサー

  • ベストアンサー
noname#9119
noname#9119
回答No.1

おそらくプログラミング命名規則のハンガリアン記法から来たものでしょう。 ハンガリアン記法では、そのようなASCIIZ文字列 (http://www.atmarkit.co.jp/icd/root/17/5785517.html)の変数には先頭に sz を付けた名前にします。 この SZ の S は string で、Z はゼロ(zero)です。 (ASCIIZ文字列はゼロを終端記号にする。)

参考URL:
http://www.atmarkit.co.jp/icd/root/17/5785517.html
tochinkun
質問者

お礼

おっしゃるように、ハンガリアン記法(Hungarian Notation)というのがあって、 その記法では、 「NULLで終わる文字列」の「プリフィックス」に "sz" が使われていて、 ということのようですね。 勉強になりました。 ありがとうございました。 --

関連するQ&A

  • レジストリの値の取得のデータ型について…

    いつも大変お世話になっています。 今回は、APIのRegQueryValueExを使用してレジストリの値を取得しようとしているのですが、 レジストリのデータ型に対応するVBのデータ型がわからないものがあったので 質問させていただきます。 REG_EXPAND_SZ 展開可能フィールド(%USERNAME% %SystemRoot%など)を含んだ文字列 REG_MULTI_SZ 連続したゼロで終わる文字列(Str1\0Str2\0Str3\0... REG_BINARY バイナリデータ (最大1Mバイト) の3つなんですが、REG_BINARYはByte型でもエラーは出なかったのですが、値がレジストリのものと 違いました。(レジストリ:00 00 01 00 のデータに対して 取得データ:0 が取得されたのです) 他の2つは文字列型、数値型、バリアント型で試しましたが、すべて、メモリの参照エラーになってしまうのです。 どうかよろしくお願いします。

  • レジストリ REG_EXPAND_SZ を作りたい

    レジストリの「REG_EXPAND_SZ」は2ケタ区切りの16進数です。 これを簡単に作る方法ないでしょうか。。。 (できれば、日本語も可) レジストリを開いて、入力したものをエクスポートして文字を確認する方法はなしでお願いします。 ソフトでもサイトでもなんでもいいです。

  • レジストリについて

    レジストリについて調べていて REG_EXPAND_SZというのは NUL 文字で終端された文字列だが、「%PATH%」などのように、 変数への展開が行われていない参照が入っているもの。 実際に値を利用する時点で、変数が展開されます。 例えば「%SYSTEMROOT%\system32」は、 一般的な環境では「C:\WINDOWS\system32」などとなります。 日本語版 Windows では「展開可能な文字列値」となります。 と記されていたのですが、レジストリのデータの欄に%SYSTEMROOT%\system32が記されているということなので、この変数のデータC:\WINDOWSはどこに保存されているのですか?展開という意味がピンときません。どういう意味なのでしょうか。よろしくお願いします。

  • szの意味

    現在WindowsAPIなどを学習しているのですが、 しばしばsz~とかいう変数名が付けられているサンプルを見ます。 char szBuf[256]; みたいな感じです。 推測するに文字列型のものに付けられているみたいですが、 このszって何の略なんでしょうか? sは恐らくStringなのかなとは思いますが・・・。 後もし変数名の規則などが書かれているサイトがありましたら ご紹介頂けたらと思います。

  • レジストリに文字化け (添付画} があります

    新規インストールの Win7pro x64bit の HKEY_CURRENT_USER に 添付画の文字化けがあります。 削除した方が良いでしょうか 「??」 のホルダーには 「規定」 の他に下記があります。 名前------------ 種類----------データ OriginalSchedule---REG_BINARY---10 00 00 00 01 00 00 00 01 00 01 00 00 00 00 00 Schedule---------REG_BINARY---データ 上に同じ StartDate--------REG_SZ--------1304466883 コーレルは WinDVD Pro 2010 と MovieWriter Pro 2010 が入っています。

  • Win7 レジストリの新規キー追加の方法で、

    種類をREG_EXPAND_SZにする方法を教えて下さい。 それと、もともとある(既定) REG_SZをREG_EXPAND_SZに変える方法もわかりやすく教えて下さい。レジストリエディタではデータの入力はできても、(既定)の削除や、種類の変更、新規キー追加時の種類の変更ができません。よろしくお願いします。

  • レジストリエディタ エントリの作成の仕方

    レジストリの修正をしたいのですが、 「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc」キーを開き、その中に次のエントリを作成し値を設定します。 エントリ名「msacm32.drv」、種類「文字列値(REG_SZ)」、値「msacm32.drv」 「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32」キーを開き、その中に次の2つのエントリを作成し値を設定します。 エントリ名「wavemapper」、種類「文字列値(REG_SZ)」、値「msacm32.drv」 エントリ名「midimapper」、種類「文字列値(REG_SZ)」、値「midimap.dll」 と書いてある通りにしたいのですが、どなたか分かりやすく説明していただけないでしょうか

  • レジストリの追加について

    レジストリの追加について質問です。 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\MLS\Extensions] "mp4"="video" [HKEY_CLASSES_ROOT\.mp4] @="mpegfile" "Content Type"="video/mp4" "PerceivedType"="video" "MP2.Last"="Default" ……… という感じのものをレジストリに追加したいのですが 他の質問箱で"右辺"="左辺"で右辺に名称、左辺にデータと教えていただいたのですが (1)@="…"では@はそのまま名称に入れるのでしょうか? (2)新規で作成するとき、文字列、バイナリ値、DWORD値はどのように使い分けたらいいんでしょうか?  DWORD値、バイナリ値は数字、文字列は普通のアルファベットを入れる時に使う?    レジストリをいじるのは初めてでネットも本もかなり難解なのでもしよろしければ教えてほしいです

  • レジストリ

    ファイル名を指定して実行→regedit→OKで レジストリエディタが開いてきます。 HKEY_CURRENT_CONFIGのをクリックすると ProfileFlags REG_BINARY 00 00 00 00と出ています。 これは修正するか削除した方が良いのでしょうか?

  • レジストリ・babylonについての質問です。

    spybotでbabylon.toolbar1エントリ分だけがなぜかどうやっても削除できません。 Glary Utixitiesでも引っかからないし… 一応、spybotでレジストリの場所は出てくるのですが、ファイルではなくフォルダで指定されており、 これはフォルダごと削除していいものなのかわからず困っています。 ちなみにフォルダの名前は HKEY_USERS\S-1-5-21-1197142636-212426984-2060819715-1002\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\{98889811-442D-49DD-99D7-DC866BE87DBC} って出てきます。 このフォルダには3つのファイル?があって、 ・名前…(既定)、種類…REG_SZ、データ(値の設定なし) ・名前…Flags、種類…REG_DWARD、データ…0x00000000(0) ・名前…Version、種類…REG_SZ、データ…* というものがあります。 この中に削除してはいけないものはないのでしょうか…?