Changeset 1890 for trunk/include/win/ntddk.h
- Timestamp:
- Nov 30, 1999, 8:38:24 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/win/ntddk.h
r31 r1890 1 /* $Id: ntddk.h,v 1.2 1999-06-01 21:57:25 phaller Exp $ */ 2 3 /* 4 this file defines interfaces mainly exposed to device drivers and 5 native nt dll's 1 /* $Id: ntddk.h,v 1.3 1999-11-30 19:38:23 sandervl Exp $ */ 2 /* 3 this file defines interfaces mainly exposed to device drivers and 4 native nt dll's 6 5 7 6 */ … … 9 8 #define __WINE_NTDDK_H 10 9 11 #include <ntdef.h>12 #include <winnt.h>13 #include "winbase.h" 10 #include "ntdef.h" 11 #include "winnt.h" 12 #include "winbase.h" /* fixme: should be taken out sometimes */ 14 13 15 14 #ifdef __cplusplus … … 17 16 #endif 18 17 19 /****************** 20 * asynchronous I/O 21 */ 22 #undef Status /* conflict with X11-includes*/ 23 24 typedef struct _IO_STATUS_BLOCK 25 { union 26 { NTSTATUS Status; 27 PVOID Pointer; 28 } u; 29 ULONG_PTR Information; 30 } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; 31 32 typedef VOID (NTAPI IO_APC_ROUTINE) ( PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved ); 33 typedef IO_APC_ROUTINE *PIO_APIO_APC_ROUTINE; 34 18 /****************** 19 * asynchronous I/O 20 */ 21 #undef Status /* conflict with X11-includes*/ 22 23 typedef struct _IO_STATUS_BLOCK 24 { 25 union { 26 NTSTATUS Status; 27 PVOID Pointer; 28 } DUMMYUNIONNAME; 29 ULONG_PTR Information; 30 } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK; 31 32 typedef VOID (NTAPI *PIO_APC_ROUTINE) ( PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved ); 35 33 36 34 typedef enum _KEY_INFORMATION_CLASS { 37 38 39 35 KeyBasicInformation, 36 KeyNodeInformation, 37 KeyFullInformation 40 38 } KEY_INFORMATION_CLASS; 41 39 42 40 typedef enum _KEY_VALUE_INFORMATION_CLASS { 43 44 45 46 47 41 KeyValueBasicInformation, 42 KeyValueFullInformation, 43 KeyValuePartialInformation, 44 KeyValueFullInformationAlign64, 45 KeyValuePartialInformationAlign64 48 46 } KEY_VALUE_INFORMATION_CLASS; 49 47 50 typedef enum _THREADINFOCLASS 51 { 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 48 typedef enum _THREADINFOCLASS 49 { ThreadBasicInformation, 50 ThreadTimes, 51 ThreadPriority, 52 ThreadBasePriority, 53 ThreadAffinityMask, 54 ThreadImpersonationToken, 55 ThreadDescriptorTableEntry, 56 ThreadEnableAlignmentFaultFixup, 57 ThreadEventPair_Reusable, 58 ThreadQuerySetWin32StartAddress, 59 ThreadZeroTlsCell, 60 ThreadPerformanceCount, 61 ThreadAmILastThread, 62 ThreadIdealProcessor, 63 ThreadPriorityBoost, 64 ThreadSetTlsArrayAddress, 65 ThreadIsIoPending, 66 MaxThreadInfoClass 69 67 } THREADINFOCLASS; 70 68 71 69 typedef enum _FILE_INFORMATION_CLASS { 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 70 FileDirectoryInformation = 1, 71 FileFullDirectoryInformation, 72 FileBothDirectoryInformation, 73 FileBasicInformation, 74 FileStandardInformation, 75 FileInternalInformation, 76 FileEaInformation, 77 FileAccessInformation, 78 FileNameInformation, 79 FileRenameInformation, 80 FileLinkInformation, 81 FileNamesInformation, 82 FileDispositionInformation, 83 FilePositionInformation, 84 FileFullEaInformation, 85 FileModeInformation, 86 FileAlignmentInformation, 87 FileAllInformation, 88 FileAllocationInformation, 89 FileEndOfFileInformation, 90 FileAlternateNameInformation, 91 FileStreamInformation, 92 FilePipeInformation, 93 FilePipeLocalInformation, 94 FilePipeRemoteInformation, 95 FileMailslotQueryInformation, 96 FileMailslotSetInformation, 97 FileCompressionInformation, 98 FileObjectIdInformation, 99 FileCompletionInformation, 100 FileMoveClusterInformation, 101 FileQuotaInformation, 102 FileReparsePointInformation, 103 FileNetworkOpenInformation, 104 FileAttributeTagInformation, 105 FileTrackingInformation, 106 FileMaximumInformation 109 107 } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; 110 108 111 typedef enum _SECTION_INHERIT 109 typedef enum _FSINFOCLASS { 110 FileFsVolumeInformation = 1, 111 FileFsLabelInformation, 112 FileFsSizeInformation, 113 FileFsDeviceInformation, 114 FileFsAttributeInformation, 115 FileFsControlInformation, 116 FileFsFullSizeInformation, 117 FileFsObjectIdInformation, 118 FileFsMaximumInformation 119 } FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS; 120 121 typedef enum _SECTION_INHERIT 112 122 { 113 114 123 ViewShare = 1, 124 ViewUnmap = 2 115 125 116 126 } SECTION_INHERIT; 117 118 /* 119 127 128 /* 129 placeholder 120 130 */ 121 131 typedef enum _OBJECT_INFORMATION_CLASS 122 132 { 123 133 DunnoTheConstants1 124 134 125 135 } OBJECT_INFORMATION_CLASS, *POBJECT_INFORMATION_CLASS; … … 127 137 128 138 /* 129 * 139 * NtQuerySystemInformation 130 140 */ 131 141 132 142 typedef enum SYSTEM_INFORMATION_CLASS 133 { 134 135 136 137 143 { Unknown1 = 1, 144 Unknown2, 145 Unknown3, 146 Unknown4, 147 SystemPerformanceInformation 138 148 } SYSTEM_INFORMATION_CLASS, *PSYSTEM_INFORMATION_CLASS; 139 149 140 150 /* reading coffee grounds... */ 141 151 typedef struct _THREAD_INFO 142 { DWORDUnknown1[6];143 DWORDThreadID;144 DWORDUnknown2[3];145 DWORDStatus;146 DWORDWaitReason;147 DWORDUnknown3[4];152 { DWORD Unknown1[6]; 153 DWORD ThreadID; 154 DWORD Unknown2[3]; 155 DWORD Status; 156 DWORD WaitReason; 157 DWORD Unknown3[4]; 148 158 } THREAD_INFO, PTHREAD_INFO; 149 159 150 160 typedef struct _VM_COUNTERS_ 151 { 152 153 154 155 156 157 158 159 160 161 161 { ULONG PeakVirtualSize; 162 ULONG VirtualSize; 163 ULONG PageFaultCount; 164 ULONG PeakWorkingSetSize; 165 ULONG WorkingSetSize; 166 ULONG QuotaPeakPagedPoolUsage; 167 ULONG QuotaPagedPoolUsage; 168 ULONG QuotaPeakNonPagedPoolUsage; 169 ULONG QuotaNonPagedPoolUsage; 170 ULONG PagefileUsage; 171 ULONG PeakPagefileUsage; 162 172 } VM_COUNTERS, *PVM_COUNTERS; 163 173 164 174 typedef struct _PROCESS_INFO 165 { DWORD Offset;/* 00 offset to next PROCESS_INFO ok*/166 DWORD ThreadCount;/* 04 number of ThreadInfo member ok */167 DWORDUnknown1[6];168 FILETIME CreationTime;/* 20 */169 DWORDUnknown2[5];170 PWCHAR ProcessName;/* 3c ok */171 DWORDBasePriority;172 DWORD ProcessID;/* 44 ok*/173 DWORDParentProcessID;174 DWORDHandleCount;175 DWORD Unknown3[2];/* 50 */176 ULONGPeakVirtualSize;177 ULONGVirtualSize;178 ULONGPageFaultCount;179 ULONGPeakWorkingSetSize;180 ULONGWorkingSetSize;181 ULONGQuotaPeakPagedPoolUsage;182 ULONGQuotaPagedPoolUsage;183 ULONGQuotaPeakNonPagedPoolUsage;184 ULONGQuotaNonPagedPoolUsage;185 ULONGPagefileUsage;186 ULONGPeakPagefileUsage;187 DWORDPrivateBytes;188 DWORDUnknown6[4];189 THREAD_INFO ati[ANYSIZE_ARRAY];/* 94 size=0x40*/175 { DWORD Offset; /* 00 offset to next PROCESS_INFO ok*/ 176 DWORD ThreadCount; /* 04 number of ThreadInfo member ok */ 177 DWORD Unknown1[6]; 178 FILETIME CreationTime; /* 20 */ 179 DWORD Unknown2[5]; 180 PWCHAR ProcessName; /* 3c ok */ 181 DWORD BasePriority; 182 DWORD ProcessID; /* 44 ok*/ 183 DWORD ParentProcessID; 184 DWORD HandleCount; 185 DWORD Unknown3[2]; /* 50 */ 186 ULONG PeakVirtualSize; 187 ULONG VirtualSize; 188 ULONG PageFaultCount; 189 ULONG PeakWorkingSetSize; 190 ULONG WorkingSetSize; 191 ULONG QuotaPeakPagedPoolUsage; 192 ULONG QuotaPagedPoolUsage; 193 ULONG QuotaPeakNonPagedPoolUsage; 194 ULONG QuotaNonPagedPoolUsage; 195 ULONG PagefileUsage; 196 ULONG PeakPagefileUsage; 197 DWORD PrivateBytes; 198 DWORD Unknown6[4]; 199 THREAD_INFO ati[ANYSIZE_ARRAY]; /* 94 size=0x40*/ 190 200 } PROCESS_INFO, PPROCESS_INFO; 191 201 192 202 NTSTATUS WINAPI NtQuerySystemInformation( 193 194 195 196 197 198 /* 199 * 203 IN SYSTEM_INFORMATION_CLASS SystemInformationClass, 204 OUT PVOID SystemInformation, 205 IN ULONG Length, 206 OUT PULONG ResultLength); 207 208 /* 209 * system configuration 200 210 */ 201 211 … … 203 213 typedef struct _SYSTEM_TIME_ADJUSTMENT 204 214 { 205 ULONGTimeAdjustment;206 BOOLEANTimeAdjustmentDisabled;215 ULONG TimeAdjustment; 216 BOOLEAN TimeAdjustmentDisabled; 207 217 208 218 } SYSTEM_TIME_ADJUSTMENT, *PSYSTEM_TIME_ADJUSTMENT; 209 219 210 typedef struct _SYSTEM_CONFIGURATION_INFO 220 typedef struct _SYSTEM_CONFIGURATION_INFO 211 221 { 212 union 213 { ULONGOemId;214 struct 215 { WORDProcessorArchitecture;216 WORDReserved;217 218 219 ULONGPageSize;220 PVOIDMinimumApplicationAddress;221 PVOIDMaximumApplicationAddress;222 ULONGActiveProcessorMask;223 ULONGNumberOfProcessors;224 ULONGProcessorType;225 ULONGAllocationGranularity;226 WORDProcessorLevel;227 WORDProcessorRevision;222 union 223 { ULONG OemId; 224 struct 225 { WORD ProcessorArchitecture; 226 WORD Reserved; 227 } tag1; 228 } tag2; 229 ULONG PageSize; 230 PVOID MinimumApplicationAddress; 231 PVOID MaximumApplicationAddress; 232 ULONG ActiveProcessorMask; 233 ULONG NumberOfProcessors; 234 ULONG ProcessorType; 235 ULONG AllocationGranularity; 236 WORD ProcessorLevel; 237 WORD ProcessorRevision; 228 238 229 239 } SYSTEM_CONFIGURATION_INFO, *PSYSTEM_CONFIGURATION_INFO; 230 240 231 241 232 typedef struct _SYSTEM_CACHE_INFORMATION 242 typedef struct _SYSTEM_CACHE_INFORMATION 233 243 { 234 ULONGCurrentSize;235 ULONGPeakSize;236 ULONGPageFaultCount;237 ULONGMinimumWorkingSet;238 ULONGMaximumWorkingSet;239 ULONGUnused[4];244 ULONG CurrentSize; 245 ULONG PeakSize; 246 ULONG PageFaultCount; 247 ULONG MinimumWorkingSet; 248 ULONG MaximumWorkingSet; 249 ULONG Unused[4]; 240 250 241 251 } SYSTEM_CACHE_INFORMATION; 242 252 243 253 /* 244 * 254 * NtQueryProcessInformation 245 255 */ 246 256 247 257 /* parameter ProcessInformationClass */ 248 258 249 typedef enum _PROCESSINFOCLASS 250 { 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 259 typedef enum _PROCESSINFOCLASS 260 { ProcessBasicInformation, 261 ProcessQuotaLimits, 262 ProcessIoCounters, 263 ProcessVmCounters, 264 ProcessTimes, 265 ProcessBasePriority, 266 ProcessRaisePriority, 267 ProcessDebugPort, 268 ProcessExceptionPort, 269 ProcessAccessToken, 270 ProcessLdtInformation, 271 ProcessLdtSize, 272 ProcessDefaultHardErrorMode, 273 ProcessIoPortHandlers, 274 ProcessPooledUsageAndLimits, 275 ProcessWorkingSetWatch, 276 ProcessUserModeIOPL, 277 ProcessEnableAlignmentFaultFixup, 278 ProcessPriorityClass, 279 ProcessWx86Information, 280 ProcessHandleCount, 281 ProcessAffinityMask, 282 ProcessPriorityBoost, 283 ProcessDeviceMap, 284 ProcessSessionInformation, 285 ProcessForegroundInformation, 286 ProcessWow64Information, 287 MaxProcessInfoClass 278 288 } PROCESSINFOCLASS; 279 289 280 290 /* parameter ProcessInformation (depending on ProcessInformationClass) */ 281 291 282 typedef struct _PROCESS_BASIC_INFORMATION 283 { DWORDExitStatus;284 DWORDPebBaseAddress;285 DWORDAffinityMask;286 DWORDBasePriority;287 ULONGUniqueProcessId;288 ULONGInheritedFromUniqueProcessId;292 typedef struct _PROCESS_BASIC_INFORMATION 293 { DWORD ExitStatus; 294 DWORD PebBaseAddress; 295 DWORD AffinityMask; 296 DWORD BasePriority; 297 ULONG UniqueProcessId; 298 ULONG InheritedFromUniqueProcessId; 289 299 } PROCESS_BASIC_INFORMATION; 290 300 291 301 NTSTATUS WINAPI NtQueryInformationProcess( 292 293 294 295 296 302 IN HANDLE ProcessHandle, 303 IN PROCESSINFOCLASS ProcessInformationClass, 304 OUT PVOID ProcessInformation, 305 IN ULONG ProcessInformationLength, 306 OUT PULONG ReturnLength); 297 307 298 308 #define NtCurrentProcess() ( (HANDLE) -1 ) 299 309 300 310 /* 301 * 302 */ 303 304 typedef enum _TIMER_TYPE 311 * timer 312 */ 313 314 typedef enum _TIMER_TYPE 305 315 { 306 307 316 NotificationTimer, 317 SynchronizationTimer 308 318 309 319 } TIMER_TYPE; 310 320 311 321 /* 312 * 313 */ 314 322 * token functions 323 */ 324 315 325 NTSTATUS WINAPI NtOpenProcessToken( 316 317 DWORD DesiredAccess, 318 319 326 HANDLE ProcessHandle, 327 DWORD DesiredAccess, 328 HANDLE *TokenHandle); 329 320 330 NTSTATUS WINAPI NtOpenThreadToken( 321 322 DWORD DesiredAccess, 323 324 331 HANDLE ThreadHandle, 332 DWORD DesiredAccess, 333 BOOLEAN OpenAsSelf, 334 HANDLE *TokenHandle); 325 335 326 336 NTSTATUS WINAPI NtAdjustPrivilegesToken( 327 328 329 330 331 332 337 IN HANDLE TokenHandle, 338 IN BOOLEAN DisableAllPrivileges, 339 IN PTOKEN_PRIVILEGES NewState, 340 IN DWORD BufferLength, 341 OUT PTOKEN_PRIVILEGES PreviousState, 342 OUT PDWORD ReturnLength); 333 343 334 344 NTSTATUS WINAPI NtQueryInformationToken( 335 336 DWORD tokeninfoclass, 337 338 339 340 341 /* 342 * 345 HANDLE token, 346 DWORD tokeninfoclass, 347 LPVOID tokeninfo, 348 DWORD tokeninfolength, 349 LPDWORD retlen ); 350 351 /* 352 * sid functions 343 353 */ 344 354 345 355 BOOLEAN WINAPI RtlAllocateAndInitializeSid ( 346 347 348 349 350 351 352 353 354 355 356 357 356 PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, 357 DWORD nSubAuthorityCount, 358 DWORD x3, 359 DWORD x4, 360 DWORD x5, 361 DWORD x6, 362 DWORD x7, 363 DWORD x8, 364 DWORD x9, 365 DWORD x10, 366 PSID pSid); 367 358 368 DWORD WINAPI RtlEqualSid(DWORD x1,DWORD x2); 359 369 DWORD WINAPI RtlFreeSid(DWORD x1); … … 366 376 367 377 /* 368 * 378 * security descriptor functions 369 379 */ 370 380 371 381 NTSTATUS WINAPI RtlCreateSecurityDescriptor( 372 373 382 PSECURITY_DESCRIPTOR lpsd, 383 DWORD rev); 374 384 375 385 NTSTATUS WINAPI RtlValidSecurityDescriptor( 376 386 PSECURITY_DESCRIPTOR SecurityDescriptor); 377 387 378 388 ULONG WINAPI RtlLengthSecurityDescriptor( 379 389 PSECURITY_DESCRIPTOR SecurityDescriptor); 380 390 381 391 NTSTATUS WINAPI RtlGetDaclSecurityDescriptor( 382 383 384 385 392 IN PSECURITY_DESCRIPTOR pSecurityDescriptor, 393 OUT PBOOLEAN lpbDaclPresent, 394 OUT PACL *pDacl, 395 OUT PBOOLEAN lpbDaclDefaulted); 386 396 387 397 NTSTATUS WINAPI RtlSetDaclSecurityDescriptor ( 388 389 390 391 398 PSECURITY_DESCRIPTOR lpsd, 399 BOOLEAN daclpresent, 400 PACL dacl, 401 BOOLEAN dacldefaulted ); 392 402 393 403 NTSTATUS WINAPI RtlGetSaclSecurityDescriptor( 394 395 396 397 404 IN PSECURITY_DESCRIPTOR pSecurityDescriptor, 405 OUT PBOOLEAN lpbSaclPresent, 406 OUT PACL *pSacl, 407 OUT PBOOLEAN lpbSaclDefaulted); 398 408 399 409 NTSTATUS WINAPI RtlSetSaclSecurityDescriptor ( 400 401 402 403 410 PSECURITY_DESCRIPTOR lpsd, 411 BOOLEAN saclpresent, 412 PACL sacl, 413 BOOLEAN sacldefaulted); 404 414 405 415 NTSTATUS WINAPI RtlGetOwnerSecurityDescriptor( 406 407 408 416 PSECURITY_DESCRIPTOR SecurityDescriptor, 417 PSID *Owner, 418 PBOOLEAN OwnerDefaulted); 409 419 410 420 NTSTATUS WINAPI RtlSetOwnerSecurityDescriptor( 411 412 413 421 PSECURITY_DESCRIPTOR lpsd, 422 PSID owner, 423 BOOLEAN ownerdefaulted); 414 424 415 425 NTSTATUS WINAPI RtlSetGroupSecurityDescriptor ( 416 417 418 426 PSECURITY_DESCRIPTOR lpsd, 427 PSID group, 428 BOOLEAN groupdefaulted); 419 429 420 430 NTSTATUS WINAPI RtlGetGroupSecurityDescriptor( 421 422 423 424 425 /* 426 ###### ACL FUNCTIONS######427 431 PSECURITY_DESCRIPTOR SecurityDescriptor, 432 PSID *Group, 433 PBOOLEAN GroupDefaulted); 434 435 /* ############################## 436 ###### ACL FUNCTIONS ###### 437 ############################## 428 438 */ 429 439 … … 431 441 432 442 BOOLEAN WINAPI RtlFirstFreeAce( 433 434 443 PACL acl, 444 PACE_HEADER *x); 435 445 436 446 NTSTATUS WINAPI RtlAddAce( 437 438 439 440 441 442 447 PACL acl, 448 DWORD rev, 449 DWORD xnrofaces, 450 PACE_HEADER acestart, 451 DWORD acelen); 452 443 453 DWORD WINAPI RtlAddAccessAllowedAce(DWORD x1,DWORD x2,DWORD x3,DWORD x4); 444 454 DWORD WINAPI RtlGetAce(PACL pAcl,DWORD dwAceIndex,LPVOID *pAce ); 445 455 446 456 /* 447 * 457 * string functions 448 458 */ 449 459 … … 468 478 469 479 /* 470 * 480 * resource functions 471 481 */ 472 482 473 483 typedef struct _RTL_RWLOCK { 474 CRITICAL_SECTIONrtlCS;475 HANDLEhSharedReleaseSemaphore;476 UINTuSharedWaiters;477 HANDLEhExclusiveReleaseSemaphore;478 UINTuExclusiveWaiters;479 INTiNumberActive;480 HANDLEhOwningThreadId;481 DWORDdwTimeoutBoost;482 PVOIDpDebugInfo;484 CRITICAL_SECTION rtlCS; 485 HANDLE hSharedReleaseSemaphore; 486 UINT uSharedWaiters; 487 HANDLE hExclusiveReleaseSemaphore; 488 UINT uExclusiveWaiters; 489 INT iNumberActive; 490 HANDLE hOwningThreadId; 491 DWORD dwTimeoutBoost; 492 PVOID pDebugInfo; 483 493 } RTL_RWLOCK, *LPRTL_RWLOCK; 484 494 485 495 VOID WINAPI RtlInitializeResource( 486 487 496 LPRTL_RWLOCK); 497 488 498 VOID WINAPI RtlDeleteResource( 489 490 499 LPRTL_RWLOCK); 500 491 501 BYTE WINAPI RtlAcquireResourceExclusive( 492 493 502 LPRTL_RWLOCK, BYTE fWait); 503 494 504 BYTE WINAPI RtlAcquireResourceShared( 495 496 505 LPRTL_RWLOCK, BYTE fWait); 506 497 507 VOID WINAPI RtlReleaseResource( 498 499 508 LPRTL_RWLOCK); 509 500 510 VOID WINAPI RtlDumpResource( 501 502 503 /* 504 505 */ 506 507 typedef struct _TIME_FIELDS 511 LPRTL_RWLOCK); 512 513 /* 514 time functions 515 */ 516 517 typedef struct _TIME_FIELDS 508 518 { CSHORT Year; 509 519 CSHORT Month; … … 519 529 520 530 VOID WINAPI RtlSystemTimeToLocalTime( 521 522 531 IN PLARGE_INTEGER SystemTime, 532 OUT PLARGE_INTEGER LocalTime); 523 533 524 534 VOID WINAPI RtlTimeToTimeFields( 525 526 535 PLARGE_INTEGER liTime, 536 PTIME_FIELDS TimeFields); 527 537 528 538 BOOLEAN WINAPI RtlTimeFieldsToTime( 529 530 531 539 PTIME_FIELDS tfTimeFields, 540 PLARGE_INTEGER Time); 541 532 542 VOID WINAPI RtlTimeToElapsedTimeFields( 533 534 535 543 PLARGE_INTEGER liTime, 544 PTIME_FIELDS TimeFields); 545 536 546 BOOLEAN WINAPI RtlTimeToSecondsSince1980( 537 538 547 LPFILETIME ft, 548 LPDWORD timeret); 539 549 540 550 BOOLEAN WINAPI RtlTimeToSecondsSince1970( 541 542 543 544 /* 545 551 LPFILETIME ft, 552 LPDWORD timeret); 553 554 /* 555 heap functions 546 556 */ 547 557 … … 551 561 552 562 typedef struct 553 { ULONG Length;/* = sizeof(RTL_HEAP_DEFINITION) */554 ULONGUnknown[11];563 { ULONG Length; /* = sizeof(RTL_HEAP_DEFINITION) */ 564 ULONG Unknown[11]; 555 565 } RTL_HEAP_DEFINITION, *PRTL_HEAP_DEFINITION; 556 566 557 567 HANDLE WINAPI RtlCreateHeap( 558 559 560 561 562 563 568 ULONG Flags, 569 PVOID BaseAddress, 570 ULONG SizeToReserve, 571 ULONG SizeToCommit, 572 PVOID Unknown, 573 PRTL_HEAP_DEFINITION Definition); 564 574 565 575 PVOID WINAPI RtlAllocateHeap( 566 567 568 576 HANDLE Heap, 577 ULONG Flags, 578 ULONG Size); 569 579 570 580 571 581 BOOLEAN WINAPI RtlFreeHeap( 572 HANDLE Heap, 573 ULONG Flags, 574 PVOID Address); 575 576 /* 577 * misc 578 */ 579 void __cdecl DbgPrint(LPCSTR fmt,LPVOID args); 580 DWORD NtRaiseException ( DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments,CONST ULONG_PTR *lpArguments); 581 DWORD RtlRaiseException ( DWORD x); 582 HANDLE Heap, 583 ULONG Flags, 584 PVOID Address); 585 586 /* 587 * misc 588 */ 589 void WINAPIV DbgPrint(LPCSTR fmt, ...); 590 void WINAPI NtRaiseException(PEXCEPTION_RECORD,PCONTEXT,BOOL); 591 void WINAPI RtlRaiseException(PEXCEPTION_RECORD); 592 void WINAPI RtlRaiseStatus(NTSTATUS); 593 void WINAPI RtlUnwind(PEXCEPTION_FRAME,LPVOID,PEXCEPTION_RECORD,DWORD); 582 594 VOID WINAPI RtlAcquirePebLock(void); 583 595 VOID WINAPI RtlReleasePebLock(void); … … 591 603 BOOLEAN WINAPI RtlGetNtProductType(LPDWORD type); 592 604 INT WINAPI RtlExtendedLargeIntegerDivide(LARGE_INTEGER dividend, DWORD divisor, LPDWORD rest); 593 long longWINAPI RtlExtendedIntegerMultiply(LARGE_INTEGER factor1,INT factor2);594 DWORD WINAPI RtlFormatCurrentUserKeyPath( DWORD x);605 LARGE_INTEGER WINAPI RtlExtendedIntegerMultiply(LARGE_INTEGER factor1,INT factor2); 606 DWORD WINAPI RtlFormatCurrentUserKeyPath(PUNICODE_STRING String); 595 607 DWORD WINAPI RtlOpenCurrentUser(DWORD x1, DWORD *x2); 596 608 BOOLEAN WINAPI RtlDosPathNameToNtPathName_U( LPWSTR from,PUNICODE_STRING us,DWORD x2,DWORD x3);
Note:
See TracChangeset
for help on using the changeset viewer.