📄 registry.html
字号:
</dd>
</li>
<dt><strong><a name="item_regcreatekeyexw">RegCreateKeyExW</a></strong>
<dt><strong><code>RegCreateKeyExW( $hKey, $swSubKey, $uZero, $swClass, $uOpts, $uAccess, $pSecAttr, $ohNewKey, $ouDisp )</code></strong>
<dd>
<p><code>$swSubKey</code> and <code>$swClass</code> are UNICODE.</p>
</dd>
</li>
<dt><strong><a name="item_regdeletekeyw">RegDeleteKeyW</a></strong>
<dt><strong><code>RegDeleteKeyW( $hKey, $swSubKey )</code></strong>
<dd>
<p><code>$swSubKey</code> is UNICODE.</p>
</dd>
</li>
<dt><strong><a name="item_regdeletevaluew">RegDeleteValueW</a></strong>
<dt><strong><code>RegDeleteValueW( $hKey, $swValueName )</code></strong>
<dd>
<p><code>$swValueName</code> is UNICODE.</p>
</dd>
</li>
<dt><strong><a name="item_regenumkeyw">RegEnumKeyW</a></strong>
<dt><strong><code>RegEnumKeyW( $hKey, $uIndex, $oswName, $ilwNameSize )</code></strong>
<dd>
<p><code>$oswName</code> is UNICODE and <code>$ilwNameSize</code> is measured as number of
<code>WCHAR</code>s.</p>
</dd>
</li>
<dt><strong><a name="item_regenumkeyexw">RegEnumKeyExW</a></strong>
<dt><strong><code>RegEnumKeyExW( $hKey, $uIndex, $oswName, $iolwName, $pNull, $oswClass, $iolwClass, $opftLastWrite )</code></strong>
<dd>
<p><code>$swName</code> and <code>$swClass</code> are UNICODE and <code>$iolwName</code> and <code>$iolwClass</code>
are measured as number of <code>WCHAR</code>s.</p>
</dd>
</li>
<dt><strong><a name="item_regenumvaluew">RegEnumValueW</a></strong>
<dt><strong><code>RegEnumValueW( $hKey, $uIndex, $oswName, $iolwName, $pNull, $ouType, $opData, $iolData )</code></strong>
<dd>
<p><code>$oswName</code> is UNICODE and <code>$iolwName</code> is measured as number
of <code>WCHAR</code>s.</p>
</dd>
<dd>
<p><code>$opData</code> is UNICODE if <code>$piType</code> is <code>REG_SZ</code>, <code>REG_EXPAND_SZ</code>,
or <code>REG_MULTI_SZ</code>. Note that <code>$iolData</code> is measured as number
of bytes even in these cases.</p>
</dd>
</li>
<dt><strong><a name="item_regloadkeyw">RegLoadKeyW</a></strong>
<dt><strong><code>RegLoadKeyW( $hKey, $swSubKey, $swFileName )</code></strong>
<dd>
<p><code>$swSubKey</code> and <code>$swFileName</code> are UNICODE.</p>
</dd>
</li>
<dt><strong><a name="item_regopenkeyw">RegOpenKeyW</a></strong>
<dt><strong><code>RegOpenKeyW( $hKey, $swSubKey, $ohSubKey )</code></strong>
<dd>
<p><code>$swSubKey</code> is UNICODE.</p>
</dd>
</li>
<dt><strong><a name="item_regopenkeyexw">RegOpenKeyExW</a></strong>
<dt><strong><code>RegOpenKeyExW( $hKey, $swSubKey, $uOptions, $uAccess, $ohSubKey )</code></strong>
<dd>
<p><code>$swSubKey</code> is UNICODE.</p>
</dd>
</li>
<dt><strong><a name="item_regqueryinfokeyw">RegQueryInfoKeyW</a></strong>
<dt><strong><code>RegQueryInfoKeyW( $hKey, $oswClass, $iolwClass, $pNull, $ocSubKeys, $olwSubKey, $olwSubClass, $ocValues, $olwValName, $olValData, $olSecDesc, $opftTime )</code></strong>
<dd>
<p><code>$swClass</code> is UNICODE. <code>$iolwClass</code>, <code>$olwSubKey</code>, <code>$olwSubClass</code>,
and <code>$olwValName</code> are measured as number of <code>WCHAR</code>s. Note that
<code>$olValData</code> is measured as number of bytes.</p>
</dd>
</li>
<dt><strong><a name="item_regquerymultiplevaluesw">RegQueryMultipleValuesW</a></strong>
<dt><strong><code>RegQueryMultipleValuesW( $hKey, $ioarValueEnts, $icValueEnts, $opBuffer, $iolBuffer )</code></strong>
<dd>
<p>The <code>ve_valuename</code> fields of the <code>VALENT</code> [actually <code>VALENTW</code>]
structures in <code>$ioarValueEnts</code> are UNICODE. Values of type <code>REG_SZ</code>,
<code>REG_EXPAND_SZ</code>, and <code>REG_MULTI_SZ</code> are written to <code>$opBuffer</code>
in UNICODE. Note that <code>$iolBuffer</code> and the <code>ve_valuelen</code> fields
of the <code>VALENT</code> [<code>VALENTW</code>] structures are measured as number of
bytes.</p>
</dd>
</li>
<dt><strong><a name="item_regqueryvaluew">RegQueryValueW</a></strong>
<dt><strong><code>RegQueryValueW( $hKey, $swSubKey, $oswValueData, $iolValueData )</code></strong>
<dd>
<p><code>$swSubKey</code> and <code>$oswValueData</code> are UNICODE. Note that
<code>$iolValueData</code> is measured as number of bytes.</p>
</dd>
</li>
<dt><strong><a name="item_regqueryvalueexw">RegQueryValueExW</a></strong>
<dt><strong><code>RegQueryValueExW( $hKey, $swName, $pNull, $ouType, $opData, $iolData )</code></strong>
<dd>
<p><code>$swName</code> is UNICODE.</p>
</dd>
<dd>
<p><code>$opData</code> is UNICODE if <code>$ouType</code> is <code>REG_SZ</code>, <code>REG_EXPAND_SZ</code>,
or <code>REG_MULTI_SZ</code>. Note that <code>$iolData</code> is measured as number of
bytes even in these cases.</p>
</dd>
</li>
<dt><strong><a name="item_regreplacekeyw">RegReplaceKeyW</a></strong>
<dt><strong><code>RegReplaceKeyW( $hKey, $swSubKey, $swNewFile, $swOldFile )</code></strong>
<dd>
<p><code>$swSubKey</code>, <code>$swNewFile</code>, and <code>$swOldFile</code> are UNICODE.</p>
</dd>
</li>
<dt><strong><a name="item_regrestorekeyw">RegRestoreKeyW</a></strong>
<dt><strong><code>RegRestoreKeyW( $hKey, $swFileName, $uFlags )</code></strong>
<dd>
<p><code>$swFileName</code> is UNICODE.</p>
</dd>
</li>
<dt><strong><a name="item_regsavekeyw">RegSaveKeyW</a></strong>
<dt><strong><code>RegSaveKeyW( $hKey, $swFileName, $pSecAttr )</code></strong>
<dd>
<p><code>$swFileName</code> is UNICODE.</p>
</dd>
</li>
<dt><strong><a name="item_regsetvaluew">RegSetValueW</a></strong>
<dt><strong><code>RegSetValueW( $hKey, $swSubKey, $uType, $swValueData, $lValueData )</code></strong>
<dd>
<p><code>$swSubKey</code> and <code>$swValueData</code> are UNICODE. Note that
<code>$lValueData</code> is measured as number of bytes even though
<code>$swValueData</code> is always UNICODE.</p>
</dd>
</li>
<dt><strong><a name="item_regsetvalueexw">RegSetValueExW</a></strong>
<dt><strong><code>RegSetValueExW( $hKey, $swName, $uZero, $uType, $pData, $lData )</code></strong>
<dd>
<p><code>$swName</code> is UNICODE.</p>
</dd>
<dd>
<p><code>$pData</code> is UNICODE if <code>$uType</code> is <code>REG_SZ</code>, <code>REG_EXPAND_SZ</code>,
or <code>REG_MULTI_SZ</code>. Note that <code>$lData</code> is measured as number of
bytes even in these cases.</p>
</dd>
</li>
<dt><strong><a name="item_regunloadkeyw">RegUnLoadKeyW</a></strong>
<dt><strong><code>RegUnLoadKeyW( $hKey, $swSubKey )</code></strong>
<dd>
<p><code>$swSubKey</code> is UNICODE.</p>
</dd>
</li>
<dt><strong><a name="item__3ahkey_">:HKEY_</a></strong>
<dd>
<p>All <code>HKEY_*</code> constants:</p>
</dd>
<dd>
<pre>
HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_CURRENT_USER
HKEY_DYN_DATA HKEY_LOCAL_MACHINE HKEY_PERFORMANCE_DATA
HKEY_USERS</pre>
</dd>
</li>
<dt><strong><a name="item__3akey_">:KEY_</a></strong>
<dd>
<p>All <code>KEY_*</code> constants:</p>
</dd>
<dd>
<pre>
KEY_QUERY_VALUE KEY_SET_VALUE KEY_CREATE_SUB_KEY
KEY_ENUMERATE_SUB_KEYS KEY_NOTIFY KEY_CREATE_LINK
KEY_READ KEY_WRITE KEY_EXECUTE
KEY_ALL_ACCESS</pre>
</dd>
</li>
<dt><strong><a name="item__3areg_">:REG_</a></strong>
<dd>
<p>All <code>REG_*</code> constants:</p>
</dd>
<dd>
<pre>
REG_CREATED_NEW_KEY REG_OPENED_EXISTING_KEY</pre>
</dd>
<dd>
<pre>
REG_LEGAL_CHANGE_FILTER REG_NOTIFY_CHANGE_ATTRIBUTES
REG_NOTIFY_CHANGE_NAME REG_NOTIFY_CHANGE_LAST_SET
REG_NOTIFY_CHANGE_SECURITY REG_LEGAL_OPTION</pre>
</dd>
<dd>
<pre>
REG_OPTION_BACKUP_RESTORE REG_OPTION_CREATE_LINK
REG_OPTION_NON_VOLATILE REG_OPTION_OPEN_LINK
REG_OPTION_RESERVED REG_OPTION_VOLATILE</pre>
</dd>
<dd>
<pre>
REG_WHOLE_HIVE_VOLATILE REG_REFRESH_HIVE
REG_NO_LAZY_FLUSH</pre>
</dd>
<dd>
<pre>
REG_NONE REG_SZ
REG_EXPAND_SZ REG_BINARY
REG_DWORD REG_DWORD_LITTLE_ENDIAN
REG_DWORD_BIG_ENDIAN REG_LINK
REG_MULTI_SZ REG_RESOURCE_LIST
REG_FULL_RESOURCE_DESCRIPTOR REG_RESOURCE_REQUIREMENTS_LIST</pre>
</dd>
</li>
<dt><strong><a name="item__3aall">:ALL</a></strong>
<dd>
<p>All of the above.</p>
</dd>
</li>
<dt><strong><a name="item__3ase_">:SE_</a></strong>
<dd>
<p>The strings for the following privilege names:</p>
</dd>
<dd>
<pre>
SE_ASSIGNPRIMARYTOKEN_NAME SE_AUDIT_NAME
SE_BACKUP_NAME SE_CHANGE_NOTIFY_NAME
SE_CREATE_PAGEFILE_NAME SE_CREATE_PERMANENT_NAME
SE_CREATE_TOKEN_NAME SE_DEBUG_NAME
SE_INCREASE_QUOTA_NAME SE_INC_BASE_PRIORITY_NAME
SE_LOAD_DRIVER_NAME SE_LOCK_MEMORY_NAME
SE_MACHINE_ACCOUNT_NAME SE_PROF_SINGLE_PROCESS_NAME
SE_REMOTE_SHUTDOWN_NAME SE_RESTORE_NAME
SE_SECURITY_NAME SE_SHUTDOWN_NAME
SE_SYSTEMTIME_NAME SE_SYSTEM_ENVIRONMENT_NAME
SE_SYSTEM_PROFILE_NAME SE_TAKE_OWNERSHIP_NAME
SE_TCB_NAME SE_UNSOLICITED_INPUT_NAME</pre>
</dd>
<dd>
<p>It can be difficult to successfully build this module in a way
that makes these constants available. So some builds of this
module may not make them available. For such builds, trying
to export any of these constants will cause a fatal error.
For this reason, none of these symbols are currently included
in the <code>":ALL"</code> grouping.</p>
</dd>
</li>
</dl>
</dl>
<p>
</p>
<h2><a name="the_win32api___heirarchy">The Win32API:: heirarchy</a></h2>
<p>This and the other Win32API:: modules are meant to expose the
nearly raw API calls so they can be used from Perl code in any
way they might be used from C code. This provides the following
advantages:</p>
<dl>
<dt><strong><a name="item_many_modules_can_be_written_by_people_that_don_27t">Many modules can be written by people that don't have a C compiler.</a></strong>
<dt><strong><a name="item_encourages_more_module_code_to_be_written_in_perl_">Encourages more module
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -