База ответов ИНТУИТ

Common Intermediate Language и системное программирование в Microsoft .NET

<<- Назад к вопросам

В данном случае:
ov.Offset = 12345;ov.hEvent = CreateEvent((LPSECURITY_ATTRIBUTES)NULL, TRUE, FALSE, 0);if (   WriteFile( fh, buffer, sizeof(buffer), &dwWritten, &ov ) ||  GetLastError() == ERROR_IO_PENDING) {  GetOverlappedResult( fh, &ov, &dwWritten, TRUE );} else {}
функция GetOverlappedResult проверяет состояние операции и, если она еще не завершена, вызывает функцию:

(Отметьте один правильный вариант ответа.)

Варианты ответа
WaitForSingle
WaitForSingleObjectResult
ForSingleObject
WaitForSingleObject(Верный ответ)
Похожие вопросы
В данном случае:
ov.Offset = 12345;if (  WriteFile( fh, buffer, sizeof(buffer), &dwWritten, &ov ) ||  GetLastError() == ERROR_IO_PENDING) {  while (!GetOverlappedResult(fh, &ov, &dwWritten, FALSE)){}} else {}
Функция GetOverlappedResult проверяет:
Целевая функция FiberProc эпизодически вызывает следующую функцию для переключения выполняемого волокна:
В данном примере:
void make_file (FILE* file, PINPUT_PARAMETERS inP){  make_headers	 		(file, inP);  make_text_section	(file, inP);  make_cli_section 	(file, inP);  make_reloc_section	(file, inP);};
функция make_file вызывает:
В данном примере:
#include <stdio.h>#include <process.h>#include <windows.h>#define THREADS 10#define ASIZE  10000000static LONG   array[ASIZE];unsigned __stdcall ThreadProc( void *param ){  int  i;  for ( i = 0; i < ASIZE; i++ ) array[i]++;  return 0;}int main( void ){  HANDLE  	hThread[THREADS];  unsigned 	dwThread;  int 			i, errs;  for ( i = 0; i < THREADS; i++ )    hThread[i] = (HANDLE)_beginthreadex(      NULL, 0, ThreadProc, NULL, 0, &dwThread    );  WaitForMultipleObjects( THREADS, hThread, TRUE, INFINITE );  for ( i = 0; i < THREADS; i++ ) CloseHandle( hThread[i] );  for ( errs=i=0; i<ASIZE; i++ )    if ( array[i] != THREADS ) errs++;  if ( errs ) printf("Detected %d errors!\n", errs );  return 0;}
несколько потоков увеличивают значение элементов общего массива на:
Диаграмма стека для инструкций sizeof:
Если стандартное разрешение мультимедийного таймера на данном компьютере хуже 5-10 мс, то у функции timeBeginPeriod есть побочный эффект - улучшение разрешения повлияет на работу:
Если инструкция, следующая за инструкцией br, имеет абсолютный адрес next_addr, то адрес перехода rel_addr вычисляется так:
Дан массив инструкций B размера G и массив предложений обработки исключений OP размера Z. На выходе этапа создания дерева блоков мы получаем вспомогательный массив T, каждый элемент которого состоит из следующих полей:
Дан массив инструкций B размера G и массив предложений обработки исключений OP размера Z. На выходе этапа создания дерева блоков их минимальное количество в массиве T равно:
При использовании метода find для поиска элемента в массиве, в случае если элемент найден возвращается: