Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygencmfuncs.h
Go to the documentation of this file.
00001 /*++ NDK Version: 0098 00002 00003 Copyright (c) Alex Ionescu. All rights reserved. 00004 00005 Header Name: 00006 00007 cmfuncs.h 00008 00009 Abstract: 00010 00011 Function definitions for the Configuration Manager. 00012 00013 Author: 00014 00015 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006 00016 00017 --*/ 00018 00019 #ifndef _CMFUNCS_H 00020 #define _CMFUNCS_H 00021 00022 // 00023 // Dependencies 00024 // 00025 #include <umtypes.h> 00026 #include <cmtypes.h> 00027 00028 // 00029 // Native calls 00030 // 00031 NTSTATUS 00032 NTAPI 00033 NtCompactKeys( 00034 IN ULONG Count, 00035 IN PHANDLE KeyArray 00036 ); 00037 00038 NTSTATUS 00039 NTAPI 00040 NtCompressKey( 00041 IN HANDLE Key 00042 ); 00043 00044 NTSYSCALLAPI 00045 NTSTATUS 00046 NTAPI 00047 NtCreateKey( 00048 OUT PHANDLE KeyHandle, 00049 IN ACCESS_MASK DesiredAccess, 00050 IN POBJECT_ATTRIBUTES ObjectAttributes, 00051 IN ULONG TitleIndex, 00052 IN PUNICODE_STRING Class OPTIONAL, 00053 IN ULONG CreateOptions, 00054 IN PULONG Disposition OPTIONAL 00055 ); 00056 00057 NTSYSCALLAPI 00058 NTSTATUS 00059 NTAPI 00060 NtDeleteKey( 00061 IN HANDLE KeyHandle 00062 ); 00063 00064 NTSYSCALLAPI 00065 NTSTATUS 00066 NTAPI 00067 NtDeleteValueKey( 00068 IN HANDLE KeyHandle, 00069 IN PUNICODE_STRING ValueName 00070 ); 00071 00072 NTSYSCALLAPI 00073 NTSTATUS 00074 NTAPI 00075 NtEnumerateKey( 00076 IN HANDLE KeyHandle, 00077 IN ULONG Index, 00078 IN KEY_INFORMATION_CLASS KeyInformationClass, 00079 OUT PVOID KeyInformation, 00080 IN ULONG Length, 00081 OUT PULONG ResultLength 00082 ); 00083 00084 NTSYSCALLAPI 00085 NTSTATUS 00086 NTAPI 00087 NtEnumerateValueKey( 00088 IN HANDLE KeyHandle, 00089 IN ULONG Index, 00090 IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, 00091 OUT PVOID KeyValueInformation, 00092 IN ULONG Length, 00093 OUT PULONG ResultLength 00094 ); 00095 00096 NTSYSCALLAPI 00097 NTSTATUS 00098 NTAPI 00099 NtFlushKey( 00100 IN HANDLE KeyHandle 00101 ); 00102 00103 NTSYSCALLAPI 00104 NTSTATUS 00105 NTAPI 00106 NtGetPlugPlayEvent( 00107 IN ULONG Reserved1, 00108 IN ULONG Reserved2, 00109 OUT PPLUGPLAY_EVENT_BLOCK Buffer, 00110 IN ULONG BufferSize 00111 ); 00112 00113 NTSYSCALLAPI 00114 NTSTATUS 00115 NTAPI 00116 NtInitializeRegistry( 00117 USHORT Flag 00118 ); 00119 00120 NTSYSCALLAPI 00121 NTSTATUS 00122 NTAPI 00123 NtLoadKey( 00124 IN POBJECT_ATTRIBUTES KeyObjectAttributes, 00125 IN POBJECT_ATTRIBUTES FileObjectAttributes 00126 ); 00127 00128 NTSYSCALLAPI 00129 NTSTATUS 00130 NTAPI 00131 NtLoadKey2( 00132 IN POBJECT_ATTRIBUTES KeyObjectAttributes, 00133 IN POBJECT_ATTRIBUTES FileObjectAttributes, 00134 IN ULONG Flags 00135 ); 00136 00137 NTSTATUS 00138 NTAPI 00139 NtLoadKeyEx( 00140 IN POBJECT_ATTRIBUTES TargetKey, 00141 IN POBJECT_ATTRIBUTES SourceFile, 00142 IN ULONG Flags, 00143 IN HANDLE TrustClassKey 00144 ); 00145 00146 NTSTATUS 00147 NTAPI 00148 NtLockProductActivationKeys( 00149 IN PULONG pPrivateVer, 00150 IN PULONG pSafeMode 00151 ); 00152 00153 NTSTATUS 00154 NTAPI 00155 NtLockRegistryKey( 00156 IN HANDLE KeyHandle 00157 ); 00158 00159 NTSYSCALLAPI 00160 NTSTATUS 00161 NTAPI 00162 NtNotifyChangeKey( 00163 IN HANDLE KeyHandle, 00164 IN HANDLE Event, 00165 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL, 00166 IN PVOID ApcContext OPTIONAL, 00167 OUT PIO_STATUS_BLOCK IoStatusBlock, 00168 IN ULONG CompletionFilter, 00169 IN BOOLEAN Asynchroneous, 00170 OUT PVOID ChangeBuffer, 00171 IN ULONG Length, 00172 IN BOOLEAN WatchSubtree 00173 ); 00174 00175 NTSTATUS 00176 NTAPI 00177 NtNotifyChangeMultipleKeys( 00178 IN HANDLE MasterKeyHandle, 00179 IN ULONG Count, 00180 IN POBJECT_ATTRIBUTES SlaveObjects, 00181 IN HANDLE Event, 00182 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL, 00183 IN PVOID ApcContext OPTIONAL, 00184 OUT PIO_STATUS_BLOCK IoStatusBlock, 00185 IN ULONG CompletionFilter, 00186 IN BOOLEAN WatchTree, 00187 OUT PVOID Buffer, 00188 IN ULONG Length, 00189 IN BOOLEAN Asynchronous 00190 ); 00191 00192 NTSYSCALLAPI 00193 NTSTATUS 00194 NTAPI 00195 NtOpenKey( 00196 OUT PHANDLE KeyHandle, 00197 IN ACCESS_MASK DesiredAccess, 00198 IN POBJECT_ATTRIBUTES ObjectAttributes 00199 ); 00200 00201 NTSYSCALLAPI 00202 NTSTATUS 00203 NTAPI 00204 NtPlugPlayControl( 00205 IN PLUGPLAY_CONTROL_CLASS PlugPlayControlClass, 00206 IN OUT PVOID Buffer, 00207 IN ULONG BufferSize 00208 ); 00209 00210 NTSYSCALLAPI 00211 NTSTATUS 00212 NTAPI 00213 NtQueryKey( 00214 IN HANDLE KeyHandle, 00215 IN KEY_INFORMATION_CLASS KeyInformationClass, 00216 OUT PVOID KeyInformation, 00217 IN ULONG Length, 00218 OUT PULONG ResultLength 00219 ); 00220 00221 NTSYSCALLAPI 00222 NTSTATUS 00223 NTAPI 00224 NtQueryMultipleValueKey( 00225 IN HANDLE KeyHandle, 00226 IN OUT PKEY_VALUE_ENTRY ValueList, 00227 IN ULONG NumberOfValues, 00228 OUT PVOID Buffer, 00229 IN OUT PULONG Length, 00230 OUT PULONG ReturnLength 00231 ); 00232 00233 NTSTATUS 00234 NTAPI 00235 NtQueryOpenSubKeys( 00236 IN POBJECT_ATTRIBUTES TargetKey, 00237 OUT PULONG HandleCount 00238 ); 00239 00240 NTSTATUS 00241 NTAPI 00242 NtQueryOpenSubKeysEx( 00243 IN POBJECT_ATTRIBUTES TargetKey, 00244 IN ULONG BufferLength, 00245 IN PVOID Buffer, 00246 IN PULONG RequiredSize 00247 ); 00248 00249 NTSYSCALLAPI 00250 NTSTATUS 00251 NTAPI 00252 NtQueryValueKey( 00253 IN HANDLE KeyHandle, 00254 IN PUNICODE_STRING ValueName, 00255 IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, 00256 OUT PVOID KeyValueInformation, 00257 IN ULONG Length, 00258 OUT PULONG ResultLength 00259 ); 00260 00261 NTSYSCALLAPI 00262 NTSTATUS 00263 NTAPI 00264 NtRenameKey( 00265 IN HANDLE KeyHandle, 00266 IN PUNICODE_STRING ReplacementName 00267 ); 00268 00269 NTSYSCALLAPI 00270 NTSTATUS 00271 NTAPI 00272 NtReplaceKey( 00273 IN POBJECT_ATTRIBUTES ObjectAttributes, 00274 IN HANDLE Key, 00275 IN POBJECT_ATTRIBUTES ReplacedObjectAttributes 00276 ); 00277 00278 NTSYSCALLAPI 00279 NTSTATUS 00280 NTAPI 00281 NtRestoreKey( 00282 IN HANDLE KeyHandle, 00283 IN HANDLE FileHandle, 00284 IN ULONG RestoreFlags 00285 ); 00286 00287 NTSYSCALLAPI 00288 NTSTATUS 00289 NTAPI 00290 NtSaveKey( 00291 IN HANDLE KeyHandle, 00292 IN HANDLE FileHandle 00293 ); 00294 00295 NTSYSCALLAPI 00296 NTSTATUS 00297 NTAPI 00298 NtSaveKeyEx( 00299 IN HANDLE KeyHandle, 00300 IN HANDLE FileHandle, 00301 IN ULONG Flags 00302 ); 00303 00304 00305 NTSTATUS 00306 NTAPI 00307 NtSaveMergedKeys( 00308 IN HANDLE HighPrecedenceKeyHandle, 00309 IN HANDLE LowPrecedenceKeyHandle, 00310 IN HANDLE FileHandle 00311 ); 00312 00313 NTSYSCALLAPI 00314 NTSTATUS 00315 NTAPI 00316 NtSetInformationKey( 00317 IN HANDLE KeyHandle, 00318 IN KEY_SET_INFORMATION_CLASS KeyInformationClass, 00319 IN PVOID KeyInformation, 00320 IN ULONG KeyInformationLength 00321 ); 00322 00323 NTSYSCALLAPI 00324 NTSTATUS 00325 NTAPI 00326 NtSetValueKey( 00327 IN HANDLE KeyHandle, 00328 IN PUNICODE_STRING ValueName, 00329 IN ULONG TitleIndex OPTIONAL, 00330 IN ULONG Type, 00331 IN PVOID Data, 00332 IN ULONG DataSize 00333 ); 00334 00335 NTSYSCALLAPI 00336 NTSTATUS 00337 NTAPI 00338 NtUnloadKey( 00339 IN POBJECT_ATTRIBUTES KeyObjectAttributes 00340 ); 00341 00342 NTSTATUS 00343 NTAPI 00344 NtUnloadKey2( 00345 IN POBJECT_ATTRIBUTES TargetKey, 00346 IN ULONG Flags 00347 ); 00348 00349 NTSTATUS 00350 NTAPI 00351 NtUnloadKeyEx( 00352 IN POBJECT_ATTRIBUTES TargetKey, 00353 IN HANDLE Event 00354 ); 00355 00356 #ifdef NTOS_MODE_USER 00357 NTSYSAPI 00358 NTSTATUS 00359 NTAPI 00360 ZwCreateKey( 00361 OUT PHANDLE KeyHandle, 00362 IN ACCESS_MASK DesiredAccess, 00363 IN POBJECT_ATTRIBUTES ObjectAttributes, 00364 IN ULONG TitleIndex, 00365 IN PUNICODE_STRING Class OPTIONAL, 00366 IN ULONG CreateOptions, 00367 IN PULONG Disposition OPTIONAL 00368 ); 00369 00370 NTSYSAPI 00371 NTSTATUS 00372 NTAPI 00373 ZwDeleteKey( 00374 IN HANDLE KeyHandle 00375 ); 00376 00377 NTSYSAPI 00378 NTSTATUS 00379 NTAPI 00380 ZwDeleteValueKey( 00381 IN HANDLE KeyHandle, 00382 IN PUNICODE_STRING ValueName 00383 ); 00384 00385 NTSYSAPI 00386 NTSTATUS 00387 NTAPI 00388 ZwEnumerateKey( 00389 IN HANDLE KeyHandle, 00390 IN ULONG Index, 00391 IN KEY_INFORMATION_CLASS KeyInformationClass, 00392 OUT PVOID KeyInformation, 00393 IN ULONG Length, 00394 OUT PULONG ResultLength 00395 ); 00396 00397 NTSYSAPI 00398 NTSTATUS 00399 NTAPI 00400 ZwEnumerateValueKey( 00401 IN HANDLE KeyHandle, 00402 IN ULONG Index, 00403 IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, 00404 OUT PVOID KeyValueInformation, 00405 IN ULONG Length, 00406 OUT PULONG ResultLength 00407 ); 00408 00409 NTSYSAPI 00410 NTSTATUS 00411 NTAPI 00412 ZwFlushKey( 00413 IN HANDLE KeyHandle 00414 ); 00415 00416 NTSYSAPI 00417 NTSTATUS 00418 NTAPI 00419 ZwGetPlugPlayEvent( 00420 IN ULONG Reserved1, 00421 IN ULONG Reserved2, 00422 OUT PPLUGPLAY_EVENT_BLOCK Buffer, 00423 IN ULONG BufferSize 00424 ); 00425 00426 NTSYSAPI 00427 NTSTATUS 00428 NTAPI 00429 ZwLoadKey( 00430 IN POBJECT_ATTRIBUTES KeyObjectAttributes, 00431 IN POBJECT_ATTRIBUTES FileObjectAttributes 00432 ); 00433 00434 NTSYSAPI 00435 NTSTATUS 00436 NTAPI 00437 ZwLoadKey2( 00438 IN POBJECT_ATTRIBUTES KeyObjectAttributes, 00439 IN POBJECT_ATTRIBUTES FileObjectAttributes, 00440 IN ULONG Flags 00441 ); 00442 00443 NTSYSAPI 00444 NTSTATUS 00445 NTAPI 00446 ZwNotifyChangeKey( 00447 IN HANDLE KeyHandle, 00448 IN HANDLE Event, 00449 IN PIO_APC_ROUTINE ApcRoutine OPTIONAL, 00450 IN PVOID ApcContext OPTIONAL, 00451 OUT PIO_STATUS_BLOCK IoStatusBlock, 00452 IN ULONG CompletionFilter, 00453 IN BOOLEAN Asynchroneous, 00454 OUT PVOID ChangeBuffer, 00455 IN ULONG Length, 00456 IN BOOLEAN WatchSubtree 00457 ); 00458 00459 NTSYSAPI 00460 NTSTATUS 00461 NTAPI 00462 ZwOpenKey( 00463 OUT PHANDLE KeyHandle, 00464 IN ACCESS_MASK DesiredAccess, 00465 IN POBJECT_ATTRIBUTES ObjectAttributes 00466 ); 00467 00468 NTSYSAPI 00469 NTSTATUS 00470 NTAPI 00471 ZwPlugPlayControl( 00472 IN PLUGPLAY_CONTROL_CLASS PlugPlayControlClass, 00473 IN OUT PVOID Buffer, 00474 IN ULONG BufferSize 00475 ); 00476 00477 NTSYSAPI 00478 NTSTATUS 00479 NTAPI 00480 ZwQueryKey( 00481 IN HANDLE KeyHandle, 00482 IN KEY_INFORMATION_CLASS KeyInformationClass, 00483 OUT PVOID KeyInformation, 00484 IN ULONG Length, 00485 OUT PULONG ResultLength 00486 ); 00487 00488 NTSYSAPI 00489 NTSTATUS 00490 NTAPI 00491 ZwQueryMultipleValueKey( 00492 IN HANDLE KeyHandle, 00493 IN OUT PKEY_VALUE_ENTRY ValueList, 00494 IN ULONG NumberOfValues, 00495 OUT PVOID Buffer, 00496 IN OUT PULONG Length, 00497 OUT PULONG ReturnLength 00498 ); 00499 00500 NTSYSAPI 00501 NTSTATUS 00502 NTAPI 00503 ZwQueryValueKey( 00504 IN HANDLE KeyHandle, 00505 IN PUNICODE_STRING ValueName, 00506 IN KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, 00507 OUT PVOID KeyValueInformation, 00508 IN ULONG Length, 00509 OUT PULONG ResultLength 00510 ); 00511 00512 NTSYSAPI 00513 NTSTATUS 00514 NTAPI 00515 ZwReplaceKey( 00516 IN POBJECT_ATTRIBUTES ObjectAttributes, 00517 IN HANDLE Key, 00518 IN POBJECT_ATTRIBUTES ReplacedObjectAttributes 00519 ); 00520 00521 NTSYSAPI 00522 NTSTATUS 00523 NTAPI 00524 ZwRestoreKey( 00525 IN HANDLE KeyHandle, 00526 IN HANDLE FileHandle, 00527 IN ULONG RestoreFlags 00528 ); 00529 00530 NTSYSAPI 00531 NTSTATUS 00532 NTAPI 00533 ZwSaveKey( 00534 IN HANDLE KeyHandle, 00535 IN HANDLE FileHandle 00536 ); 00537 00538 NTSYSAPI 00539 NTSTATUS 00540 NTAPI 00541 ZwSaveKeyEx( 00542 IN HANDLE KeyHandle, 00543 IN HANDLE FileHandle, 00544 IN ULONG Flags 00545 ); 00546 00547 NTSYSAPI 00548 NTSTATUS 00549 NTAPI 00550 ZwSetInformationKey( 00551 IN HANDLE KeyHandle, 00552 IN KEY_SET_INFORMATION_CLASS KeyInformationClass, 00553 IN PVOID KeyInformation, 00554 IN ULONG KeyInformationLength 00555 ); 00556 00557 NTSYSAPI 00558 NTSTATUS 00559 NTAPI 00560 ZwSetValueKey( 00561 IN HANDLE KeyHandle, 00562 IN PUNICODE_STRING ValueName, 00563 IN ULONG TitleIndex OPTIONAL, 00564 IN ULONG Type, 00565 IN PVOID Data, 00566 IN ULONG DataSize 00567 ); 00568 #endif 00569 00570 NTSYSAPI 00571 NTSTATUS 00572 NTAPI 00573 ZwInitializeRegistry( 00574 USHORT Flag 00575 ); 00576 00577 NTSYSAPI 00578 NTSTATUS 00579 NTAPI 00580 ZwUnloadKey( 00581 IN POBJECT_ATTRIBUTES KeyObjectAttributes 00582 ); 00583 00584 #endif Generated on Sat May 26 2012 04:29:28 for ReactOS by
1.7.6.1
|