112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
status = RegOpenKeyExW(_hKey, path.UTF16String, options,
securityAndAccessRights, &subKey);
else
status = RegOpenKeyExA(_hKey,
[path cStringWithEncoding: [OFLocale encoding]], options,
securityAndAccessRights, &subKey);
if (status != ERROR_SUCCESS) {
if (status == ERROR_FILE_NOT_FOUND) {
objc_autoreleasePoolPop(pool);
return nil;
}
@throw [OFOpenWindowsRegistryKeyFailedException
exceptionWithRegistryKey: self
path: path
options: options
securityAndAccessRights: securityAndAccessRights
status: status];
}
objc_autoreleasePoolPop(pool);
return [[[OFWindowsRegistryKey alloc] of_initWithHKey: subKey
close: true]
autorelease];
}
|
|
<
<
<
<
<
<
|
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
status = RegOpenKeyExW(_hKey, path.UTF16String, options,
securityAndAccessRights, &subKey);
else
status = RegOpenKeyExA(_hKey,
[path cStringWithEncoding: [OFLocale encoding]], options,
securityAndAccessRights, &subKey);
if (status != ERROR_SUCCESS)
@throw [OFOpenWindowsRegistryKeyFailedException
exceptionWithRegistryKey: self
path: path
options: options
securityAndAccessRights: securityAndAccessRights
status: status];
objc_autoreleasePoolPop(pool);
return [[[OFWindowsRegistryKey alloc] of_initWithHKey: subKey
close: true]
autorelease];
}
|
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
|
- (uint32_t)DWORDForValueNamed: (OFString *)name
{
void *pool = objc_autoreleasePoolPush();
DWORD type, ret;
OFData *data = [self dataForValueNamed: name type: &type];
if (data == nil)
/* TODO: This exception is not ideal. */
@throw [OFUndefinedKeyException exceptionWithObject: self
key: name
value: nil];
if (type != REG_DWORD)
@throw [OFInvalidEncodingException exception];
|
<
|
363
364
365
366
367
368
369
370
371
372
373
374
375
376
|
- (uint32_t)DWORDForValueNamed: (OFString *)name
{
void *pool = objc_autoreleasePoolPush();
DWORD type, ret;
OFData *data = [self dataForValueNamed: name type: &type];
if (data == nil)
@throw [OFUndefinedKeyException exceptionWithObject: self
key: name
value: nil];
if (type != REG_DWORD)
@throw [OFInvalidEncodingException exception];
|
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
|
{
void *pool = objc_autoreleasePoolPush();
DWORD type;
uint64_t ret;
OFData *data = [self dataForValueNamed: name type: &type];
if (data == nil)
/* TODO: This exception is not ideal. */
@throw [OFUndefinedKeyException exceptionWithObject: self
key: name
value: nil];
if (type != REG_QWORD)
@throw [OFInvalidEncodingException exception];
|
<
|
396
397
398
399
400
401
402
403
404
405
406
407
408
409
|
{
void *pool = objc_autoreleasePoolPush();
DWORD type;
uint64_t ret;
OFData *data = [self dataForValueNamed: name type: &type];
if (data == nil)
@throw [OFUndefinedKeyException exceptionWithObject: self
key: name
value: nil];
if (type != REG_QWORD)
@throw [OFInvalidEncodingException exception];
|